Commit Graph

52 Commits

Author SHA1 Message Date
b258a81bb8 1 2025-10-11 01:01:36 +08:00
1
b93a4dd1a2 技能实现 2025-10-05 07:13:43 +00:00
f847386b7c feat(fight): 优化技能命中逻辑与效果触发流程
重构了技能攻击处理逻辑,调整了命中判断和效果应用的顺序。
新增 `Calculate_Pre` 接口方法用于实现无视类效果。
修复技能是否命中的判断逻辑,确保效果命中状态正确传递。
清理上回合缓存的效果数据,保证每回合初始状态干净。
统一使用 `IsFirst` 方法判断先后手,提升代码一致性。
完善玩家离线时的数据保存顺序,避免重复操作。
更新依赖模块版本信息。
2025-10-05 00:29:22 +08:00
ed01ddedc3 踢人逻辑修改,先保存数据 2025-10-03 20:20:17 +08:00
91d0d29ec9 战斗修改 2025-09-29 02:40:35 +08:00
1
08d8ab3ed9 refactor(fight/effect): 重构技能效果处理逻辑,统一使用DamageZone结构管理伤害值,新增Effect20疲惫效果和先/后手威力翻倍效果 2025-09-26 21:15:58 +00:00
1
d46849a020 refactor(fight/effect): 重构能力操作类型枚举命名,统一使用大写形式(ADD/SUB/COPY/RESET)并更新相关调用点 2025-09-26 18:39:59 +00:00
c52c409ffc feat(player): 新增玩家累计经验查询接口
新增 PlayerExp 控制器方法,用于返回玩家的累计经验值。同时调整了经验池字段类型为 uint32 并修复相关使用逻辑。

feat(pet): 实现宠物经验增加与升级逻辑

在 Player 结构体中新增 AddPetExp 方法,支持宠物经验增长、自动升级及进化判断。升级后会重新计算面板属性并推送更新包。

feat(fight): 重构战斗伤害计算与效果系统

引入 DamageZone 和 EnumDamageType 类型,统一红伤处理流程;移除旧有的 Pet/Skill/Prop 属性获取临时修改机制,改为直接访问真实属性。更新多个技能效果实现以适配新结构。

refactor(effect): 优化技能效果初始化和生命周期方法

统一技能效果初始化方式,明确各阶段回调函数职责,如 PreActionStart、PreAttacked 等。删除已废弃的属性修改钩子函数,并更新状态类效果实现。

refactor(input): 移除 deepcopy 依赖并替换为 go-deepcopy

将原先使用的 mohae/deepcopy 替换为 barkimedes/go-deepcopy,用于战斗节点中的 effect 拷贝逻辑,提升性能和安全性。

refactor(model): 调整玩家信息字段类型

将 PlayerInfo 中的 GoldBean 字段由 int32 改为 uint32,ExpPool 字段由 int64 改为 uint32,确保数据类型一致性与合理性。

feat(nono): 增加 Nono 跟随/收回协议结构定义

新增 NonoFollowOrHomeInInfo 和 NonoFollowOutInfo 结构体,用于处理 Nono 宠物的跟随与收回操作指令。

chore(deps): 添加 go-deepcopy 依赖

在 go.mod 中引入 github.com/barkimedes/go-deepcopy 依赖库,用于替代原有的 deepcopy 工具。
2025-09-26 13:33:55 +08:00
1
728f3a52d6 refactor(fight/effect): 重构伤害处理逻辑,统一使用DamageZone管理伤害值并优化Effect接口,移除过时方法 2025-09-26 02:09:33 +00:00
1
6a3a8ba20f refactor(fight/effect): 重构伤害计算逻辑,移除Effect0中的最大伤害限制并优化伤害传递机制,新增BeforeAttacked触发点 2025-09-25 20:34:33 +00:00
1
a2aaf7fff8 refactor(fight/effect): 重构技能命中处理逻辑,统一使用OnHit/OnMiss接口并新增Effect85偷取强化效果 2025-09-25 18:13:16 +00:00
1
b62f956371 refactor(fight/effect): 重构属性操作逻辑,新增AbilityOpType枚举并优化SetProp方法,支持多种能力操作类型 2025-09-25 17:15:06 +00:00
1
3f37ce63de refactor(fight): 重构战斗模式与状态枚举,新增加载进度功能并优化战斗初始化逻辑 2025-09-25 14:51:11 +00:00
07c08b767b feat(fight): 重构技能和受击触发逻辑,统一命名规范
- 将 `OnHit`、`AfterHit` 等方法重命名为 `AfterSkill` 和 `Attacked`,统一触发时机命名
- 调整 `BeforeSkill` 与 `PreSkill` 的职责,明确技能前处理逻辑
- 修改 `UseSkill` 为 `CanSkill`,增强语义清晰度
- 补充精灵切换时的触发方法 `OnSwitchOut` 与 `OnOwnerSwitchIn`
- 修复战斗中属性拷贝逻辑及状态持续回合计算的安全检查
- 增加捕获精灵后的日志输出,便于调试追踪
- 完善默认伤害效果节点的初始化逻辑
2025-09-25 13:07:56 +08:00
1
d9d47b8d21 refactor(fight/effect): 封装Effect2的BeforeSkill逻辑到Prop回调中,确保正确获取敌方防御属性 2025-09-24 23:14:27 +00:00
1
e7ac3991c3 refactor(fight/effect): 修正Effect2初始化错误,将误用的Effect9改为Effect2 2025-09-24 22:30:58 +00:00
1
be61dd253d refactor(fight/effect): 实现Effect2的BeforeSkill逻辑,当对方体力低于1/2时技能威力加倍 2025-09-24 22:29:19 +00:00
1
2d187e4474 refactor(fight/effect): 实现Effect9的BeforeSkill逻辑,新增Min泛型函数并优化效果叠加处理 2025-09-24 22:20:59 +00:00
1
1bccc4a2da refactor(fight/effect): 实现伤害计算加区和乘区逻辑,优化精灵切换效果清除机制 2025-09-24 21:39:57 +00:00
1
a4b2e5da9e refactor(fight/effect): 重构技能威力计算逻辑,优化暴击判定方式并新增BeforeSkill接口 2025-09-24 20:51:42 +00:00
1
726a2d6cb5 refactor(fight/effect): 实现精灵切换相关触发接口并优化效果持续时间处理 2025-09-24 20:17:44 +00:00
1
5a8d84ed40 refactor(fight/effect): 重构效果触发时机处理,统一命中前/后接口并移除冗余方法 2025-09-24 20:01:12 +00:00
1
3314c11b48 refactor(fight/effect): 重构效果命中处理逻辑,统一Hit接口并优化效果触发时机 2025-09-24 19:47:01 +00:00
1
29d485fde5 refactor(fight/effect): 重构效果触发机制,统一OnHit接口并优化伤害结算流程 2025-09-24 18:53:54 +00:00
1
266a328159 refactor(fight/effect): 统一效果初始化接口,重构效果类型管理并优化参数传递逻辑 2025-09-24 16:36:32 +00:00
0a1da7d035 ```
refactor(effectarg): 移动EffectArgs初始化逻辑

将EffectArgs的初始化从effectarg.go中的init函数移动到file.go的initfile函数中,
确保在使用前正确加载配置并初始化映射。

refactor(login): 更新Login方法中的Person调用

修改Login方法中对Person函数的调用,传递UserID参数以获取正确的用户信息。

refactor(user): 统一使用Person方法替代PersonOther

在UserSimInfo和UserMoreInfo方法中,将原先调用的PersonOther方法统一替换为
Person方法,保持代码一致性。

refactor(effect_damage): 简化属性获取和伤害计算逻辑

移除deepcopy相关逻辑,简化Effect0的OnSkill方法中的属性获取和伤害计算流程,
直接通过输入参数进行计算。

refactor(fightc): 优化玩家输入处理和战斗逻辑

更新GetInputByPlayer方法中的玩家判断逻辑,使用UserID比较代替对象比较;
在initplayer中添加InitAttackValue调用;
修复battleLoop中打印语句的格式问题;
调整技能攻击处理流程,增加SkillUseEnd回调调用。

refactor(attr): 改进属性获取方法和伤害计算逻辑

将GetProp方法重命名为Prop,并支持传入对方输入参数;
更新CalculatePower方法签名,使用Input类型代替BattlePetEntity;
在属性获取和伤害计算中正确处理双方属性影响。

refactor(playeraction): 简化技能使用逻辑

简化UseSkill方法中获取当前宠物信息的逻辑,去除冗余的条件判断;
在找到对应技能后添加break语句,提高执行效率。

refactor(reg): 更新Person方法实现

合并Person和PersonOther方法为统一的Person方法;
在数据库查询失败时添加错误处理,避免潜在的空指针异常。
```
2025-09-24 12:40:13 +08:00
1
06ea93a317 refactor(fight/effect): 重构属性获取逻辑,将深拷贝恢复机制移至GetProp回调并优化OnSkill伤害计算流程 2025-09-23 23:48:22 +00:00
1
c42199a578 refactor(fight/effect): 将属性处理逻辑提取至Input.GetProp方法,优化OnSkill方法并移除冗余代码 2025-09-23 23:35:53 +00:00
1
ee73bff7d4 refactor(fight/effect): 添加威力计算TODO注释并优化OnSkill方法输入处理 2025-09-23 23:28:22 +00:00
1
5ccb1121f9 refactor(fight/effect): 新增技能属性前后处理逻辑,实现深拷贝恢复机制并优化OnSkill方法 2025-09-23 23:25:49 +00:00
1
2855c3e773 refactor(fight/effect): 重构SetArgs方法为可变参数形式,优化Effect62参数设置逻辑并同步更新Effect接口定义 2025-09-23 23:05:23 +00:00
1
6dc3c68774 refactor(fight/effect): 重构效果失效逻辑,统一使用NotALive方法并优化效果叠加处理 2025-09-23 22:20:52 +00:00
1
023b937d49 refactor(fight/effect): 新增EffectStatus.UseSkill方法并清理AI_player中无用代码 2025-09-23 21:01:30 +00:00
1
1ec9d46b23 refactor(fight/effect): 重构回合开始逻辑,移除PlayerI.GetAction接口并将行动逻辑移至Input.GetAction方法,新增EffectStatus处理战斗状态效果 2025-09-23 20:53:47 +00:00
1
fb89a67edb refactor(fight/input): 将Prop方法重命名为SetProp以明确其设置属性功能,并同步更新effect_4_5.go中的调用 2025-09-23 19:50:11 +00:00
1
61bab92921 refactor(fight/input): 将Death方法移至attr.go文件,新增Prop方法处理属性变更并优化效果实现 2025-09-23 19:49:17 +00:00
1
9296f47605 refactor(fight/effect): 重构Effect62技能结束逻辑,修复隐藏状态判断并新增死亡处理 2025-09-23 19:38:08 +00:00
1
fb55f18a39 refactor(fight/effect): 重构SkillUseEnd方法签名,统一添加input参数并优化属性提升逻辑 2025-09-23 19:28:19 +00:00
1
908d36b126 refactor(fight/effect): 重构回合结束逻辑,将伤害计算移至TurnEnd方法并优化血量更新流程 2025-09-23 19:11:03 +00:00
1
5a023ccd1c refactor(fight/effect): 重构技能伤害计算逻辑,将伤害处理移至Effect0.OnSkill方法并优化效果调用流程 2025-09-23 18:35:23 +00:00
1
82d4b4bb59 refactor(fight/effect): 统一效果索引从0开始,调整循环范围和伤害效果初始化 2025-09-23 17:42:41 +00:00
1
1245471129 refactor(fight/xmlres): 重构效果参数处理逻辑,新增JSON解析支持并优化战斗伤害计算 2025-09-23 17:34:58 +00:00
1
be1816be8d refactor(fight): 重构伤害效果初始化逻辑,分离状态效果与伤害效果注册 2025-09-22 04:47:12 +00:00
60a8be8b48 feat(fight): 优化战斗属性计算和技能命中逻辑
- 更新了战斗中属性比较和技能命中的计算方式
- 调整了属性提升和状态效果的处理逻辑
- 优化了属性值的计算方法,确保结果至少为1
- 修改了技能准确性的计算公式
2025-09-17 00:50:37 +08:00
72e6b8c706 refactor(fight): 重构战斗系统效果处理逻辑
- 移除 Effect0 基类效果
- 调整 Input 结构,删除未使用的属性
- 优化 Effect 接口,增加 GetMaxStack 方法
- 重构效果初始化逻辑,支持不同类型效果的初始化
- 优化效果的添加和移除操作
- 调整宠物效果信息结构,合并参数
2025-09-16 22:51:22 +08:00
8cee54ad8f refactor(fight): 重构效果相关逻辑
- 修改 Effect 接口,增加 NotALive 方法
- 更新 EffectNode 结构,添加 NotALive 字段和 NotALive 方法
- 调整 Input 结构,使用 NotALive 方法处理效果消失逻辑
- 重构 PetEffectInfo 结构,修改
2025-09-15 22:45:04 +08:00
d9f09aa96a refactor(fight): 重构战斗系统
- 重构了 BattleSkillEntity 结构,改名为 SkillEntity
- 优化了 Input 结构,移除了冗余的 Effect 容器
- 调整了 Effect 接口,增加了 SetInput 和 Alive 方法
- 重构了战斗逻辑中的技能使用和效果处理流程
- 优化了代码结构,提高了可读性和可维护性
2025-09-15 00:40:19 +08:00
906bad9e21 refactor(fight): 重构战斗效果和技能初始化逻辑
- 将 InitEffect 重命名为 InitSkillEffect,用于初始化技能效果
- 修改技能效果的 ID,避免和普通效果 ID 冲突
- 优化战斗循环逻辑,增加战斗结束的判断条件
- 调整输入结构,移除未使用的属性和状态容器
- 重构技能解析和攻击处理逻辑,提高代码可读性和维护性
2025-09-14 19:59:58 +08:00
929b0c9006 refactor(fight): 重构战斗系统效果和技能逻辑
- 移除了未使用的 Effect0 基类效果
- 优化了技能施放和效果执行的逻辑
- 调整了命中和闪避的计算方式
-
2025-09-14 16:56:31 +08:00
93ae004683 refactor(fight): 重构战斗逻辑和数据结构
- 重构了 Input 结构体和相关方法,新增 NewInput 函数
- 优化了 NodeManager 结构体和 Exec 方法的实现
- 调整了 FightC 结构体和 enterturn 方法的逻辑
- 修改了 BattleSkillEntity 结构体,移除了冗余字段
- 更新了 EffectNode 中的相关方法,使其适应新的逻辑
2025-09-14 04:48:38 +08:00