Commit Graph

400 Commits

Author SHA1 Message Date
1
f770ccc06f ```feat(fight): 新增战斗效果60/699/700并优化宠物物品使用逻辑 2025-12-30 15:04:21 +00:00
c9bc4be244 ```
feat: 添加ItemInfo结构体并重构抽蛋和任务系统

- 在common/data/color.go中添加ItemInfo结构体用于表示发放物品的信息
- 在common/utils/tomap.go中添加RandomSlice泛型函数用于从切片中随机选取元素
- 重构action_egg.go中的EggGamePlay功能,实现抽蛋逻辑和物品发放
- 更新fight_boss.go中使用新的ItemInfo结构体替换旧的model.ItemInfo
- 修改user_talk.go中获取物品数量的逻辑
- 更新user_task.go中任务完成逻辑使用新的ItemInfo结构体
- 在egg.go中更新抽蛋结果结构体使用ItemInfo
- 更新战斗奖励结构体使用ItemInfo
- 在player.go中添加学习力道具处理逻辑
- 重构任务系统使用新的ItemInfo结构体
- 移除旧的model.ItemInfo定义
- 更新宠物奖励配置模型添加成长值等字段
- 实现GetEgg方法用于获取扭蛋奖励
- 修复宠物融合材料服务中的道具验证逻辑
```
2025-12-26 20:38:08 +08:00
fd4c494530 ```
refactor(fight): 重构战斗状态效果系统

- 重命名BaseStatus.Switch方法为SwitchOut以提高语义清晰度
- 修改ParasiticSeed结构体继承关系,从BaseStatus改为EffectNode
- 添加Status字段用于存储状态类型枚举
- 修复战斗循环中血量计算逻辑,使用Min替代Max确保血量不超过上限
- 完善PetSwitch逻辑,确保我方单位下场时状态正确失效

fix(fight): 修复战斗播报和切换逻辑

- 在战斗回合信息中添加技能
2025-12-26 03:51:24 +08:00
143e02de77 ```
feat(fight): 实现精灵切换时的出战和下场触发机制

- 新增SwitchOut接口方法用于精灵下场时触发
- 重命名Switch为SwitchIn用于精灵出战时触发
- 在战斗流程中添加精灵下场时的广播调用
- 修改EffectDefeatTrigger等效果的切换逻辑

refactor(effects): 优化战斗效果的切换处理逻辑

- 修改Effect147和Effect148的触发条件判断逻辑
-
2025-12-25 20:49:54 +08:00
164e70519f ```
refactor(cool): 修复Logger变量名拼写错误

将全局Logger变量从Loger修正为Logger,统一日志实例命名规范,
确保所有模块中日志记录的一致性。

BREAKING CHANGE: 全局日志实例变量名从Loger改为Logger
```
2025-12-25 12:14:04 +08:00
ff199e339f 1 2025-12-24 19:17:39 +08:00
d9112c1510 ```
refactor(controller): 重构控制器函数命名和代码注释

- 重命名 EGG 函数为 EggGamePlay,更新宠物生成逻辑
- 重命名 Leiyi 函数为 GetLeiyiTrainStatus
- 重命名 Cacthpet 函数为 CatchPet,添加详细函数注释
- 为 ArenaSetOwner、ArenaFightOwner、ArenaGetInfo、ArenaUpfight、ArenaOwnerAcce
  等擂台相关函数添加注释前缀
- 重命名 PETKing 函数为 PetKing
- 重命名 FRESH_CHOICE_FIGHT_LEVEL 函数为 FreshChoiceFightLevel,添加详细参数说明
- 重命名 BuyMItem 函数为 BuyMultipleItems
- 重命名 ITEM_SALE 函数为 ItemSale,优化代码结构
- 重命名 UserItemList 函数为 GetUserItemList,重命名 ItemUsePet 为 UsePetItemOutOfFight
 添加 ResetNature 函数注释
- 重命名 COMMEND_ONLINE 函数为 GetServerOnline
- 重命名 Login 函数,优化变量命名
- 重命名 MapEnter 为 EnterMap,MapHot 为 GetMapHot,MapLeave 为 LeaveMap
  MapList 为 GetMapPlayerList,Attack_Boss 为 AttackBoss
- 为 GetNonoInfo 函数添加注释前缀
- 重命名 IS_COLLECT 函数为 IsCollect
- 重命名 PetEVdiy 函数为 PetEVDiy,添加详细注释
- 为 GetPetInfo、GetPetList、GetPetReleaseList、PetReleaseToWarehouse、
  PetRetrieveFromWarehouse、TogglePetBagWarehouse、PlayerShowPet、
  PetOneCure、PetFirst、GetPetBargeList 等宠物相关函数添加注释
- 重命名 SetPetSkill 为 SetPetSkill,SkillSort 为 SortPetSkills
- 重命名 BUY_FITMENT 为 BuyFitment,添加函数注释
```
2025-12-24 19:03:49 +08:00
502d497dce ```
refactor(controller): 重构控制器函数命名和代码注释

- 重命名 EGG 函数为 EggGamePlay,更新宠物生成逻辑
- 重命名 Leiyi 函数为 GetLeiyiTrainStatus
- 重命名 Cacthpet 函数为 CatchPet,添加详细函数注释
- 为 ArenaSetOwner、ArenaFightOwner、ArenaGetInfo、ArenaUpfight、ArenaOwnerAcce
  等擂台相关函数添加注释前缀
- 重命名 PETKing 函数为 PetKing
- 重命名 FRESH_CHOICE_FIGHT_LEVEL 函数为 FreshChoiceFightLevel,添加详细参数说明
- 重命名 BuyMItem 函数为 BuyMultipleItems
- 重命名 ITEM_S
2025-12-24 19:03:11 +08:00
1
839d02b17f "fix(logic): 修复宠物技能学习校验逻辑并移除冗余战斗效果字段" 2025-12-23 13:53:34 +00:00
8505bfd4e3 fix(logic/service/fight/boss): 修复 NewSeIdx_32 技能逻辑判断条件
增加对技能实体的多个判空和属性检查,确保在技能实体为 nil、类型为状态类技能、
攻击时间为 0 或不作用于敌方时,直接返回 true,避免后续逻辑异常。
2025-12-22 18:41:39 +08:00
1
edee754a22 feat(model): 新增金豆消费、CDK配置、炫彩皮肤及双塔模型,优化物品奖励和BOSS配置 2025-12-21 18:13:54 +00:00
1
5965c8319a feat(data): 重构颜色矩阵处理逻辑,将GlowFilter和相关功能迁移到common/data包 2025-12-21 17:18:33 +00:00
90fdb49b92 ```
feat(logic): 新增减少最大生命值效果并优化属性同步逻辑

新增了减少最大生命值的效果实现(opTypeMaxHP),并在 EffectPropSyncReverse
结构体中增加了对目标宠物属性的处理逻辑。同时重构了属性同步与反转相关代码,
改进了效果激活
2025-12-19 21:12:45 +08:00
96b5dbb425 feat(fight): 重构属性同步与反转效果逻辑
统一处理效果45、51、55、56的属性同步与反转逻辑,优化代码结构并提高可维护性。新增通用效果结构体 `EffectPropSyncReverse` 和操作类型定义,集中管理不同属性操作行为。

fix(controller): 修复玩家离开地图逻辑错误

修正 `FRESH_LEAVE_FIGHT_LEVEL` 接口中 defer 调用为进入地图,并发送角色信息包给客户端以确保状态一致。

feat(effect): 新增天敌机制核心逻辑占位

在 `NewSel14` 效果中添加 `Turn_Start` 方法,实现若遇到天敌则害怕多回合的核心逻辑框架。

chore(config): 更新Boss配置怪物ID及血量

调整Boss ID为2的怪物配置,替换原有Monster ID并设置血量为10,用于测试或平衡调整。

refactor(fight): 优化战斗循环和精灵切换逻辑

整理战斗主循环中的血量赋值语句格式,调整精灵切换时变量顺序以避免潜在问题,并修复死亡标记逻辑。

refactor(node): 恢复BoolisFalse方法实现

取消注释 `BoolisFalse` 方法内容,恢复其正常功能以便其他模块正确判断布尔条件。

style(logic): 格式化代码空行和缩进

清理多余空行,对齐导入语句与其他代码块格式,增强整体代码可读性。

debug(effect): 增加烧伤伤害调试打印

在持续伤害效果中加入println语句,输出实际造成的真实伤害数值便于排查问题。
2025-12-18 23:57:17 +08:00
1
fb835a017f 1 2025-12-18 13:10:40 +00:00
1
002c855e47 feat(fight): 新增试炼之塔和勇者之塔地图切换功能,优化战斗效果处理逻辑 2025-12-18 10:57:59 +00:00
1
def1808590 "fix(fight): 优化效果恢复逻辑,增加持续时间检查并修复回合结束效果递减" 2025-12-18 07:19:38 +00:00
1
1f9a4960ce "fix(fight/boss): 简化NewSeIdx_12特殊技能伤害判定逻辑,移除概率检查" 2025-12-18 05:12:53 +00:00
1
4a7add91f6 refactor(fight): 将Effect_Lost重命名为EffectCache以优化效果缓存逻辑 2025-12-18 04:40:58 +00:00
1
f1af9894cd "refactor(fight): 重构战斗效果处理逻辑,将效果恢复和反应操作封装到Input结构体" 2025-12-18 03:54:45 +00:00
ae616ac848 feat(boss): 实现 boss 特殊技能逻辑增强
- 新增 NewSeIdx_12 技能:受到特殊攻击时提升指定 battle_lv 等级,可配置最大触发次数
- 新增 NewSeIdx_16 技能:根据 HP 减少量动态提升指定 battle_lv 等级,每损失 1/8 最大 HP 提升一级
- 新增 NewSeIdx_26 技能:预留 Turn_Start 接口以支持回合开始时的逻辑处理
- 在 EffectNode 中增加命中日志输出,便于调试效果触发情况
2025-12-18 00:32:47 +08:00
1
8e52b26251 fix(fight/boss): 修正NewSeIdx_12特殊技能伤害 2025-12-17 02:33:59 +00:00
59c4ff6b93 fix(fight): 实现无限PP值效果并修复Effect46伤害逻辑
- 在NewSeIdx_10中添加Turn_Start方法以实现每回合恢复PP值
- 修复Effect46中伤害计算与存活判断的顺序问题
- 调整部分代码结构,移除无用math包引用及注释内容
2025-12-17 01:44:54 +08:00
24d312ab90 ```
feat(player): 调整金币相关数据类型及计算逻辑

将金币相关的浮点数类型改为整型,避免精度问题。
- 修改 `BuyGoldItem` 中价格计算方式,使用 `float64` 转换以提高精度
- 更新玩家金币时传入 `int64` 类型,并统一单位为分
- 数据库字段 `goldbean` 类型由 `money` 改为 `bigint`
- 调整伤害区域逻辑,修复红色伤害类型处理流程
```
2025-12-17 00:05:03 +08:00
1
fdd3609de4 "fix(fight/boss): 修正65号技能伤害计算逻辑并添加红色伤害类型检查" 2025-12-16 12:52:44 +00:00
1
a3e8e4dd19 fix(fight): 恢复NPC死切动作处理逻辑并注释掉对手动作获取 2025-12-16 07:42:45 +00:00
1
a5502a76bb "refactor(melee): 修改BOSS颜色字段类型并优化JSON解析处理" 2025-12-16 07:06:53 +00:00
1
49b4c8cf2a refactor(item): 统一物品操作接口并优化金币处理逻辑 2025-12-16 06:54:27 +00:00
39dc79f706 ```
feat(xml): 添加进化配置映射并更新错误码提示

- 在 `common/data/xmlres/file.go` 中添加 EVOLVMAP 用于加载进化配置
- 更新多个控制器中的金币不足错误码,统一使用骄阳余额不足错误码 `ErrSunDouInsufficient10016`
- 修改战斗逻辑中 AI 动作触发机制,并优化战斗流程
- 增加对融合材料合法性的校验
- 调整战斗动作通道缓冲区大小以提升并发处理能力
- 更新 XML 配置
2025-12-16 02:50:10 +08:00
597bd7b9d5 fix(logic/service/fight): 初始化玩家时正确设置宠物最大生命值
当宠物的 Hp 字段不为零时,现在会正确地将该值赋给宠物的 MaxHp 属性。这确保了
宠物的最大生命值得到正确初始化,避免了可能的游戏逻辑错误。
2025-12-15 15:09:06 +08:00
937f97fe83 ```
feat(go): 升级 Go 版本至 1.20

统一将所有模块的 Go 版本从 1.18 或 1.19 升级到 1.20,以使用最新的语言特性和性能改进。

feat(service): 新增乱斗服务默认宠物生成逻辑

在 fight 模块中调用新的 MELEEService.Def() 方法来生成初始对战宠物,
并根据配置
2025-12-15 14:26:24 +08:00
d2467363e8 feat(effect): 新增回合结束计数逻辑并调整伤害处理流程
在 Effect46 中新增 `Turn_End` 方法用于回合结束时增加计数器,并移除了原有在
`Damage_DIV_ex` 方法中重复的自增操作,以确保逻辑清晰且统一。

---

fix(monster): 调整异色宠物生成规则及捕获概率

测试服环境下强制开启异色宠物生成,并将原捕获概率由 30% 调整为 1%,提升
稀有精灵
2025-12-15 04:02:03 +08:00
3f059c71fa feat(pet): 更新宠物生成逻辑以支持异色属性
- 修改 `GenPetInfo` 函数签名,将 `shinyid` 参数调整为 `[]GlowFilter` 类型,并移动其位置
- 在多个控制器中更新调用 `GenPetInfo` 的地方,适配新的参数顺序和类型
- 引入 `GlowFilter` 结构用于描述异色效果,并在 `OgrePetInfo` 中添加相关字段
- 新增 `GenerateNormalizedColorMatrix` 工具函数用于生成颜色矩阵
- 调整宠物生成时对异色信息的初始化
2025-12-14 19:23:26 +08:00
4b604669e4 feat(pet): 更新精灵闪光信息结构以支持更丰富的光晕效果
将 Shiny 字段从单一 uint32 值扩展为 GlowFilter 结构体数组及相关长度字段,
用于表示更复杂的闪光视觉效果。同时调整相关序列化标签及保留字段布局。

- 修改 PetInfo、PetShortInfo、ReadyFightPetInfo 等结构体中的 Shiny 表示方式
- 添加 ShinyLen 和 ShinyInfo 字段,并配置 json 与 struc 序列化选项
- 调整部分结构体中 Reserved 字段为数组形式以优化空间布局
- 更新 copier.Copy 为 copier.CopyWithOption 并启用深拷贝逻辑
- 微调经验升级顺序以确保数据一致性
- 修正地图BOSS信息判断条件并清理无用导入和注释代码
2025-12-14 05:34:39 +08:00
fe89620efb ```
feat(item): 出售物品后减少背包中对应物品数量

在处理物品出售逻辑时,增加调用 SubItem 方法以正确扣减玩家背包中的物品数量。

feat(map): 玩家离开地图时重置 Canmon 标志位

通过 atomic.StoreUint32 将玩家的 Canmon 状态设置为 0,确保线程安全。

fix(pet): 调整宠物经验增加逻辑并修复技能学习问题

重构 AddPetExp 方法逻辑,优化升级流程、技能学习机制,并修正经验显示
2025-12-13 21:47:07 +08:00
1
75bcbb89c5 ```fix(fight): 修复效果104状态触发逻辑,添加can标志控制首次触发 2025-12-12 13:49:50 +00:00
1
32c61f37bd ```feat(fight): 新增无视双防效果566实现,优化战斗过程中宠物信息保存逻辑 2025-12-11 20:20:39 +00:00
1
4c69e578dd ``` feat(fight): 新增多种技能效果实现(110/125/128/131/145/151),优化状态判断逻辑并重构随机数生成方式 2025-12-11 20:05:00 +00:00
1
5ca43fe21f ``` refactor(fight): 重构状态效果初始化逻辑,统一使用InitEffect方法并内置随机持续回合 2025-12-11 19:12:54 +00:00
1
cbf9b1039f Merge branch 'main' of https://github.com/72wo/blazing 2025-12-11 14:02:45 +00:00
1
29ddbdd7e6 ``` feat(fight): 新增状态类技能效果104和109,重构特效类型枚举并优化技能效果实现 2025-12-11 13:58:24 +00:00
7b73a59f31 fix(logic/service/fight/effect): 修复技能实体为空时的空指针异常
在 effect_32.go 的 Action_start 方法中添加了对 SkillEntity 是否为 nil 的检查,
避免在技能实体不存在的情况下访问其属性导致程序崩溃。
2025-12-11 13:39:19 +08:00
98a3d8e036 feat(fight): 优化战斗中技能信息传递方式
将 SkillInfo 结构体改为指针传递,确保每回合技能效果可独立变化。
同时调整了战斗逻辑中关于宠物切换次数的控制逻辑,支持死亡后切换再执行额外动作的流程处理。
2025-12-11 13:31:20 +08:00
5b804d07db ```
feat(fight): 实现主动切换宠物逻辑并优化相关结构体字段

- 在 `ActiveSwitchAction` 中新增 `Cid` 字段用于标识要切换的宠物 ID
- 调整 `ChangePet` 方法逻辑,移除旧有输入处理,改为在 loop 中统一处理
- 更新 `collectPlayerActions` 方法以正确设置当前宠物及发送指令
- 优化 `PetInfo` 结构体字段标签,去除冗余描述,并重命名部分字段提升可读性
- 增加 `ExtSkin` 字段支持记录可用皮肤信息
- 移除玩家信息中的 `LastResetTime` 注释字段
```
2025-12-11 12:16:32 +08:00
49b9e938f5 ```
refactor(controller): 优化控制器初始化与命令解析逻辑

- 重构 getCmd 和 ParseCmdTag
2025-12-11 10:32:39 +08:00
1
6b534adc07 ``` feat(fight): 新增战斗回合Hook机制,实现特定条件下强制结束战斗和随机出手逻辑 2025-12-10 18:37:32 +00:00
1
f6043fd9b9 ``` fix(fight): 重构切换动作逻辑,将CanChange改为状态值并优化切换条件检查 2025-12-10 16:42:23 +00:00
1
e30f0b7860 ``` fix(fight): 修复精灵切换逻辑,移除HP检查仅保留CanChange条件 2025-12-10 16:07:35 +00:00
1
2187d84663 ``` refactor(fight): 重构精灵切换逻辑,将切换效果处理移至回合收集阶段并优化闪光字段结构 2025-12-10 16:03:45 +00:00
fa9ed83279 ```
fix(space): 修复天气系统与Boss信息广播逻辑

- 调整 `fight/loop.go` 中被动切换逻辑的判断顺序,确保 `CanChange` 状态正确重置
- 优化 `space/fixboos.go` 中 Boss 信息结构体的初始化方式,避免空值问题
- 重构 `space/in_out.go` 中天气变化逻辑,使用更合理的随机策略并调整时间单位
- 简化 `space/space.go` 中地图实例创建流程,移除不必要的原子操作和冗余字段
```
2025-12-10 11:59:32 +08:00