Commit Graph

204 Commits

Author SHA1 Message Date
1
ac2b1101ef 30s无响应放弃出手 2025-10-07 08:39:18 +00:00
864078f577 ```
feat(fight): 优化回合技能处理逻辑并修复技能备份问题

重构 enterturn 函数中技能备份与恢复逻辑,确保每个攻击动作的技能
状态能正确还原。同时调整战斗技能创建流程,移除无效技能ID判断,
增强日志记录,提升代码可维护性与健壮性。

fix(socket): 移除 syslog 前缀,统一服务器启动日志格式
```
2025-10-05 23:51:37 +08:00
f847386b7c feat(fight): 优化技能命中逻辑与效果触发流程
重构了技能攻击处理逻辑,调整了命中判断和效果应用的顺序。
新增 `Calculate_Pre` 接口方法用于实现无视类效果。
修复技能是否命中的判断逻辑,确保效果命中状态正确传递。
清理上回合缓存的效果数据,保证每回合初始状态干净。
统一使用 `IsFirst` 方法判断先后手,提升代码一致性。
完善玩家离线时的数据保存顺序,避免重复操作。
更新依赖模块版本信息。
2025-10-05 00:29:22 +08:00
ed01ddedc3 踢人逻辑修改,先保存数据 2025-10-03 20:20:17 +08:00
1
5627458311 修改战斗 2025-09-30 10:40:36 +00:00
1
23fdd9e968 Merge branch 'main' of https://github.com/72wo/blazing 2025-09-30 10:34:41 +00:00
3aa0362cfe 1提交 2025-09-30 18:32:15 +08:00
91d0d29ec9 战斗修改 2025-09-29 02:40:35 +08:00
1
f422604526 refactor(fight): 调整技能效果解析位置,确保在技能使用条件判断后执行 2025-09-28 12:45:04 +00:00
1
00144109dd 1 2025-09-28 08:13:42 +00:00
6eb244b73f ```
feat(rpc): 优化 RPC 客户端地址配置逻辑

- 将 RPC 地址从硬编码改为通过 service 动态获取
- 修改端口常量名称 rpcaddr 为 rpcport,提升语义清晰度
- 调整客户端连接逻辑以支持动态 IP 和端口拼接

fix(fight): 修复技能命中与闪避逻辑执行顺序

- 调整战斗中技能攻击流程,确保命中率和闪避计算正确应用
- 更新 effect 接口定义,增强技能使用前后的控制节点
- 增加伤害计算过程中的多阶段触发机制(加法、乘法、减法等)

feat(config): 更新数据库及 Redis 配置信息

- 修改 PostgreSQL 用户名、密码和数据库名
- 更新 Redis 访问密码
- 调整服务器 IP 获取方式,区分测试环境与生产环境

chore(vscode): 优化调试配置 console 输出设置

- 在 launch.json 中为调试配置增加 integratedTerminal 控制台选项
- 统一逻辑服务启动参数格式

chore(gitignore): 忽略特定平台编译产物

- 添加针对 Linux 平台的 logic 和 login 模块编译文件忽略规则
```
2025-09-28 01:58:42 +08:00
1
08d8ab3ed9 refactor(fight/effect): 重构技能效果处理逻辑,统一使用DamageZone结构管理伤害值,新增Effect20疲惫效果和先/后手威力翻倍效果 2025-09-26 21:15:58 +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
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
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
805fe8ec8d fix(fight): 修复技能效果获取逻辑并调整伤害计算方式
-
2025-09-24 19:46:42 +08:00
9b078d7820 fix(fight): 修复技能效果添加逻辑并优化效果管理
- 修改 `AddEffect` 方法,使用 `EffectID` 包装技能效果,并避免重复添加
- 将 `Effects` 类型从 `[]Effect` 改为 `*utils.OrderedMap[int, Effect]` 以提升查找和管理效率
- 移除 `Effect` 接口中的 `ID()` 方法,改由 `EffectID` 结构体维护
- 增加 `GetSkillEffect` 和 `GetDamageEffect` 方法返回带 ID 的效果结构
- 更新 `CancelTurn` 和 `Exec` 方法以适配新的数据结构
- 初始化 `Effects` 为 `OrderedMap` 实例,确保容器正确创建
2025-09-24 19:22:46 +08: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
5ccb1121f9 refactor(fight/effect): 新增技能属性前后处理逻辑,实现深拷贝恢复机制并优化OnSkill方法 2025-09-23 23:25:49 +00:00
1
aa8ba39ff3 refactor(fight/effect): 优化技能伤害计算逻辑,添加威力计算注释并实现OnSkillPP方法 2025-09-23 22:30:01 +00:00
1
6dc3c68774 refactor(fight/effect): 重构效果失效逻辑,统一使用NotALive方法并优化效果叠加处理 2025-09-23 22:20:52 +00:00
1
1ec9d46b23 refactor(fight/effect): 重构回合开始逻辑,移除PlayerI.GetAction接口并将行动逻辑移至Input.GetAction方法,新增EffectStatus处理战斗状态效果 2025-09-23 20:53:47 +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
a524e651aa refactor(fight/effect): 重构效果获取逻辑,将deepcopy操作移至Input结构体方法中并优化效果处理流程 2025-09-23 17:57:27 +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
47fd6da6b2 refactor(fight): 重构战斗结束逻辑,统一使用Over方法处理逃跑、掉线和超时情况 2025-09-23 16:42:10 +00:00
ea1148039e ```
refactor(login): 重构登录重置逻辑,使用 defer 替代 goroutine

将每日任务重置逻辑从 goroutine 改为 defer 执行,确保在函数结束时正确重置任务状态。
同时将 TaskInfo 中的 Info 字段重命名为 Data,保持结构一致性。

refactor(task): 统一任务数据字段名为 Data

将 task 相关结构体中的 Info 字段统一
2025-09-23 13:24:40 +08:00
1
9ffe6abe31 refactor(fight): 简化enterturn方法,移除initAttackers无用参数sattack 2025-09-21 17:18:51 +00:00
1
6e38877d52 refactor(fight): 简化initAttackers方法参数,移除无用参数sattack 2025-09-21 17:18:22 +00:00
1
9ebe4173a5 refactor(fight): 优化战斗胜利判断逻辑,移除冗余代码并修正日志格式 2025-09-21 17:17:12 +00:00
1
afb31bd79b feat(pet): 重构宠物属性计算与技能学习逻辑,优化代码结构 2025-09-21 17:01:31 +00:00
1
691cfc878b feat(capture): 重构捕捉系统,实现状态倍率计算和保底机制 2025-09-21 14:56:37 +00:00
9c25ccc214 ```
feat(fight): 实现玩家间战斗邀请与处理功能

新增战斗邀请与处理逻辑,包括邀请发送、邀请接受/拒绝流程。
添加战斗模式支持(1v1 和 6v6)及相关数据结构定义。
优化玩家战斗准备逻辑,完善战斗初始化流程。
修复玩家离线保存数据时的空指针问题。
调整战斗相关枚举类型,统一管理战斗模式。
完善邀请战斗消息结构体及通信协议。
```
2025-09-20 00:17:29 +08:00
1
d9a98515f1 feat(fight): 优化战斗回合处理逻辑,简化技能选择分支判断 2025-09-19 07:34:19 +00:00
1
b72230bb40 feat(fight): 优化精灵切换广播逻辑并清理切换队列 2025-09-19 06:59:30 +00:00
1
6900c66cb0 feat(fight): 优化精灵切换逻辑并添加切换动作队列 2025-09-19 06:58:42 +00:00
a2eb88e9d3 修改战斗系统 2025-09-19 00:29:55 +08:00
60a8be8b48 feat(fight): 优化战斗属性计算和技能命中逻辑
- 更新了战斗中属性比较和技能命中的计算方式
- 调整了属性提升和状态效果的处理逻辑
- 优化了属性值的计算方法,确保结果至少为1
- 修改了技能准确性的计算公式
2025-09-17 00:50:37 +08:00
a33f108f98 refactor(fight): 重构战斗模块逻辑
- 修改 BattleAction.Compare 方法,使其成为 FightC 类的成员方法
- 移除未使用的 action.go 文件
- 在 BattlePetEntity 中添加 Input 字段,用于处理战斗输入
- 为 Compare 方法添加 TODO 注释,提示后续需完成的速度计算逻辑
2025-09-16 23:58:03 +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