193 Commits

Author SHA1 Message Date
133b237cb8 优化 [_属性调整_宠物]
1、扩展类型:攻速、暴击率、移速、力量、敏捷、耐力、智力、精神,(抗性暂时不用,后续在看)
2、对于宠物的移动速度我们在TargetedMovementGenerator的DoUpdate和GetVelocity做处理,其他都是使用了CustomPetModScript钩子
3、对于CritRatePct暴击率加成,未完成,后续看
2025-08-16 01:17:49 +08:00
2fe2e330de 移除 _技能_骑术改变速度,没啥用 2025-08-15 22:06:23 +08:00
628d5c6773 修正 [__sm外观变更]
1、使用新建npc_morph_vendor类对NPC访问外观变更菜单
2、添加spell.dbc带虚拟类型  4,-- SPELL_AURA_DUMMY  的技能对变更技能的支撑
3、菜单项限制10项,以免内容过多服务端崩溃
4、移除FunctionCollection 中常量,移入到Morph.h中
2025-08-15 22:05:29 +08:00
5a68921443 修正[当进行近战伤害时],
1、错误的将非[地图调整]和[生物调整]内部没有的也加入伤害修改
2、宠物不应用自定义生物伤害修改
2025-08-15 17:37:26 +08:00
23ecb652d6 添加 生物召唤物体验证,设置了错误物体提示信息 2025-08-15 17:36:10 +08:00
b5c1e54660 添加CustomPetModScript宠物属性调整脚本注册,修改宠物血量用 2025-08-15 17:33:15 +08:00
7e25fae861 修改C_MeleeDmg和C_SpellDmgMod初始值为0,避免其他地方判断错误 2025-08-15 17:31:18 +08:00
b84de0c602 StatSystem.cpp移除GetHpMod,在PetMod.cpp中用钩子方式处理血量 2025-08-15 17:28:45 +08:00
9e39645838 核心代码中优化-[属性调整_宠物]法术伤害相关逻辑
7个职业spell相关CalculateSPAmount函数中添加GetSpAddPct获取法术伤害修改

死亡骑士 - 2个函数
spell_dk_pet_scaling::CalculateSPAmount - 石像鬼宠物
spell_dk_army_of_the_dead_passive::CalculateSPAmount - 亡灵军团食尸鬼 spell_dk.cpp

德鲁伊
spell_dru_treant_scaling::CalculateSPAmount - 树人召唤物 spell_druid.cpp

猎人
spell_hun_generic_scaling::CalculateSPAmount - 猎人宠物 spell_hunter.cpp

法师
spell_mage_pet_scaling::CalculateSPAmount - 水元素 spell_mage.cpp

牧师 (Priest)
spell_pri_shadowfiend_scaling::CalculateSPAmount - 暗影魔 spell_priest.cpp

萨满 - 2个函数
spell_sha_feral_spirit_scaling::CalculateSPAmount - 野性狼魂 spell_shaman.cpp
spell_sha_fire_elemental_scaling::CalculateSPAmount - 火元素 spell_shaman.cpp

术士 - 2个函数
spell_warl_generic_scaling::CalculateSPAmount - 常规宠物 spell_warlock.cpp
spell_warl_infernal_scaling::CalculateSPAmount - 地狱火 spell_warlock.cpp
2025-08-15 17:22:48 +08:00
ee418fa6f4 遗漏一处OnCustomSummon钩子移除 2025-08-14 21:00:02 +08:00
48a36cd260 优化[自定义AI_物体]
1、扩展更多类型
2、添加param3和param4字段,作为条件扩展
2025-08-14 20:59:38 +08:00
604f8cd01f 移除自定义OnCustomSummon召唤逻辑后调用钩子,并没有使用到 2025-08-14 20:57:02 +08:00
74df244836 修正[自定义AI_物体]
1、去除PlayerScript方式、使用AllGameObjectScript
2、使用unordered_map按entry分组存储,提高查找效率
2025-08-14 14:50:58 +08:00
c084a36878 将[模板_随机技能组]功能独立出来 2025-08-14 11:24:03 +08:00
7b6e27c422 修正[自定义AI_生物]
1、增加CustomCreatureHook-动态分配AI生物脚本;
2、去掉“移动范围”,修改为“逃跑”;
3、添加md和说明文档
2025-08-13 23:51:06 +08:00
1ad0565da2 优化[属性调整_生物]性能
1、移除CreautreModVec,使用三级哈希表利用FindTemplate快速查询
2、增加 OnModCustomRespawn 自定义钩子,处理生物刷新时的属性应用
2025-08-13 23:33:11 +08:00
b96a351035 调整物品不允许被附魔时输出过多的消息 2025-08-13 23:25:36 +08:00
2cd5fffe0a 取消一些错误eluna依赖 2025-08-13 23:25:05 +08:00
efc3989fd2 修改[自定义AI_触发器]
1、添加TriggerMode,检查触发器重复次数检测;
2、扩展TriggerTemplate,增加更多字段,支持更多类型(触发器类型:1-传送, 2-下马, 3-光环, 4-变身, 5-施法, 6-召唤, 7-任务, 8-声音, 9-天气, 10-重置, 11-物品, 12-伤害治疗)
2025-08-13 23:20:16 +08:00
124404961f 修正[_自定义ai_触发器]功能
1、大量优化代码,确保功能正常使用,并且优化了性能
2、添加 mod_TriggerScript.conf.dist 配置文件
2025-08-07 19:50:33 +08:00
44e6af3ba4 移除 [地图自动换装] 功能,感觉没啥意义 2025-08-07 01:10:52 +08:00
9f109a4615 修正[_生物伤害奖励]功能
1、完善SendDamPHStdAndPH函数
2、把SendDamPHStdAndPH函数中添加物品函数AddItem修改为RewItem,因为当背包满了之后之后在AddItem中核心代码有一处英文输出,不希望修改这个核心代码,不方便同步
2、添加SM_CustomCreatureDamageScript类处理生物伤害和击杀流程
3、修改数据库中的“排行弹窗”字段为“排行显示数量”,这样更加符合逻辑
2025-08-07 01:02:35 +08:00
c10cffa38f 修正[_物品_附魔提取与覆盖]
1、读取附魔条目从PROP_ENCHANTMENT_SLOT_0修改为PERM_ENCHANTMENT_SLOT,以读取所有附魔槽位
2、修改spell_extract_enchant_all类中的提取逻辑,保持槽位对应关系
3、移除了DestroyItem,不要立马删除物品,因为世界中可能还在调用该物品,所以后台会造成通讯报错,改用更安全的移除方式RemoveItem
4、在spell_override_enchant类中,附魔目标物品的时候修改了不需要目标物品有附魔槽位,
5、移除所有 RandomEnchantVec 随机附魔相关代码
2025-08-06 22:30:16 +08:00
f7a532aec9 添加 ResetDayLimitItemScript 以重置 [重置_物品_每日上限] 状态 2025-08-06 21:07:34 +08:00
61eacc9c67 去除幻化残留信息 2025-08-06 21:06:28 +08:00
4bcd88cb39 1、取消徽章掉落方式
2、修复 [物品_当装备时] 添加钩子调用
2025-08-05 20:14:53 +08:00
9d78e40b9f 优化修正[物品禁止附魔] 2025-08-05 20:13:39 +08:00
33eee28f32 取消几处没用日志和错误注释 2025-08-05 20:11:07 +08:00
bbabdb031c 不在追踪 核心记录.xlsx 文件 2025-08-03 00:43:21 +08:00
2fe88146b0 两处%u修改{} 2025-08-03 00:38:09 +08:00
dd32e5086c 将技能修改相关加载移入到LoadAll()函数中 2025-08-03 00:37:29 +08:00
7b3fbe30eb 在StoreNewItem函数中添加“每日限制”,因为没有物品添加之前的钩子,还不如这样直接添加简便一点 2025-08-03 00:36:19 +08:00
31ec20d0eb 移除在背包中获得属性功能中一处无意义的代码:每日限制无用 2025-08-03 00:34:58 +08:00
8433682ae3 增加仿官方60版[符文系统] 2025-08-02 12:56:04 +08:00
85140bb360 修正 _属性调整_宠物 修改核心相关属性处理 2025-07-25 15:31:25 +08:00
acc66870f5 斗气点通讯取消需求模板检查 sReq->Check 2025-07-25 15:28:13 +08:00
c743eac3c2 修正[_属性调整_区域平衡光环]
1、优化UpdateAura函数逻辑
2、添加Mod_ZoneAuraAllMapScript脚本实现地图更新
2025-07-24 15:03:41 +08:00
c619160211 修复[地图装备控制]日志显示错误 2025-07-23 22:48:16 +08:00
d08b8ff2e8 优化[_坐骑_预览与售卖]功能,正常显示菜单层级关系 2025-07-23 22:47:43 +08:00
cdbbcd8db3 优化[_坐骑_使用区域]
1、在DataLoader中移除[_坐骑_使用区域]相关逻辑代码,并添加新文件MountRestriction使用独立模块运行;
2、核心文件Spell.cpp中集成必要的坐骑骑乘条件检查
2025-07-23 22:46:12 +08:00
02d00d153e 优化属性调整_地图
1、优化修改整体逻辑
2、移除装备控制
3、移除自动换装
4、增加 HasMapModification 检查指定地图是否有属性调整配置
5、属性调整_生物功能 中修改为 HasMapModification
2025-07-22 23:27:09 +08:00
b537e30b9c 自动换装增加Mod_PlayerEquipmentScript独立控制脚本 2025-07-22 23:23:20 +08:00
244f383b96 修改收藏系统一处名称中文SpellName
移除收藏系统加载LoadCollectionConfigs,在rlall中集成加载
2025-07-22 23:22:47 +08:00
5de3172309 从[属性调整_地图]中单独移出[_地图装备控制]功能,测试正常 2025-07-22 23:21:27 +08:00
f02db675ee 移除 [_副本_挑战模式] 中设置副本难度的代码,适应副本难度控制更多的地图属性
player->SetDungeonDifficulty(Difficulty(BIND_INSTANCE_DIFF));
player->SetRaidDifficulty(Difficulty(BIND_INSTANCE_DIFF))
2025-07-17 16:06:53 +08:00
74774554f7 优化副本闯关模式系统
修改内容:
* 使用unordered_map替代vector提升查询性能
* 修复SummonedCreatureDies中的逻辑错误
* 添加线程安全保护(mutex)
* 修复关卡验证错误,调整逻辑顺序
* 完成所有关卡后改为离开副本选项

技术改进:
- Stage类数据结构优化
- 完善错误处理和日志记录
- 修复状态管理bug

解决问题:
- 修复完成所有关卡后的状态处理
- 提升系统稳定性和性能
2025-07-17 12:49:36 +08:00
d72e531f5b 优化: 使用两阶段处理避免ResetInstance中的迭代器失效
- 先收集需要解绑的实例ID,再批量处理
- 避免迭代过程中修改容器导致的迭代器失效问题
- 提升性能,减少重复遍历
2025-07-17 00:41:40 +08:00
0b8b83258c 修正[副本_死亡传送]
1、添加InstanceDieTelePlayerScript脚本来执行玩家死亡时传送逻辑
2、InstanceMap::CannotEnter中添加Unique来绕过副本进入限制
3、MapMgr::CreateMap中添加Unique来允许多个队伍进入同一个副本实例
2025-07-16 17:28:19 +08:00
de68aa4dc1 在线假人中load加载错误问题,修改为CharacterDatabase 2025-07-16 17:15:05 +08:00
2d101ed937 取消一些日志输出 2025-07-16 14:20:53 +08:00