昔念
d360a85963
```
...
refactor(fight): 优化战斗系统中的数值计算和逻辑处理
- 将GetProp方法返回类型从int改为alpacadecimal.Decimal,
避免精度丢失问题
- 修改战斗中速度比较逻辑,使用Decimal的Cmp方法进行比较
- 修正BattlePetEntity中属性计算公式,将乘法改为除法
- 调整伤害累加逻辑,修复SumDamage叠加问题
- 更新攻击力和防御力计算,直接使用Decimal数值
- 移除Effect178、Effect501等未使用的技能效果
- 重构回合处理逻辑,调整死亡判断时机和流程
- 添加TrueFirst字段用于正确跟踪实际先手方
```
2026-03-09 20:55:04 +08:00
昔念
d16e079725
```
...
fix(fight): 修复效果持续时间设置错误和命中计算参数类型问题
- 修正Effect461中Duration参数从-1改为1,解决持续时间异常问题
- 删除Effect486文件,移除废弃的效果实现
- 修正processSkillAttack中AttackTimeC参数类型,从int转为正确类型
- 在copySkill中添加Accuracy属性复制,解决技能命中丢失问题
- 修正CalculateRealValue函数stat参数类型从int改为int8
- 修正AttackTimeC和GetAccuracy函数level参数类型从int改为int8
- 优化Get
2026-03-09 19:16:17 +08:00
昔念
994cbb44b8
```
...
ci/woodpecker/push/my-first-workflow Pipeline failed
fix(fight): 修复技能实体属性访问问题
- 修改所有技能实体的ID、Power、CritRate、MustHit、Priority等属性访问方式
从直接访问改为通过XML字段访问,确保数据一致性
- 更新多个boss技能效果处理逻辑中的属性引用路径
- 移除已废弃的effect/486文件
- 在New
2026-03-09 18:49:51 +08:00
昔念
9315fcfa17
```
...
ci/woodpecker/push/my-first-workflow Pipeline failed
refactor(fight): 移除能力操作类型枚举并简化属性设置方法
移除了 info.EnumAbilityOpType 枚举类型及其相关常量定义,
重构了 SetProp 方法调用,不再传递操作类型参数,
通过检查等级正负值来判断是增加还是减少属性,
减少了代码复杂度并统一了属性变更的处理逻辑。
```
2026-03-08 23:24:18 +08:00
xinian
b1ca686e06
refactor: 重构 PVP 匹配逻辑使用模型结构体
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-03-05 11:21:38 +08:00
昔念
4751594ee8
```
...
feat: 更新战斗系统模型结构和Redis消息处理
- 引入gredis依赖用于Redis消息处理
- 将战斗相关的枚举和结构体从info包迁移到model包
- 更新战斗结束原因、攻击值等类型的引用路径
- 添加新的zset工具包到工作区
- 修改Redis消息处理逻辑以正确解析gredis.Message类型
- 在战斗控制器中统一使用model包下的类型定义
2026-03-04 22:47:21 +08:00
昔念
55a5534777
```
...
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(fight_pvp_king): 新增宠物王者对战模式支持
- 添加战斗类型11的处理逻辑,支持单人模式
- 验证宠物类型与对战类型的匹配性
- 根据战斗结果发放相应奖励物品
- 增加ItemAdd接口用于物品添加功能
- 扩展PetInfo结构体增加战斗类型字段
```
2026-03-04 20:21:02 +08:00
昔念
5caa9a1e4f
```
...
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(controller): 增强命令注册逻辑并修复试炼塔关卡限制
- 在命令注册时检查重复方法,如果存在则panic提示错误
- 移除CurrentFreshStage和CurrentStage的默认值设置逻辑
- 添加关卡等级验证,确保用户不能挑战超过最大关卡数的关卡
- 修复试炼之塔和勇者之塔的关卡计算逻辑
fix(item): 修复道具
2026-03-03 19:28:59 +08:00
xinian
8dec37a474
refactor: 重构怪物掉落和闪光处理逻辑
...
ci/woodpecker/push/my-first-workflow Pipeline was successful
移除OgrePetInfo中与物品和闪光相关的冗余代码,将闪光处理逻辑整合到HandleNPCFightSpecial方法中
新增CanGetXUAN和CanGetItem方法用于判断是否获得特殊物品
添加S2C_GET_BOSS_MONSTER的ADD
2026-02-27 14:48:10 +08:00
xinian
a5e378073c
1
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-23 03:56:27 +08:00
昔念
53b18cfd0c
修复大乱斗问题
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-20 09:40:22 +08:00
昔念
7996e19900
修改技能选择实际
ci/woodpecker/push/my-first-workflow Pipeline failed
2026-02-20 00:46:48 +08:00
昔念
4a5a7727b5
```
...
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(boss_fight): 完善宠物捕获和战斗奖励机制
- 在宠物捕获时记录当前地图ID作为CatchMap
- 将经验值奖励改为通过道具系统发放,统一使用ItemAdd方法处理
- 调整EXP奖励的计算方式,移除原有S2C_GET_BOSS_MONSTER中的EXP字段
feat(arena): 优化竞技场对战奖励和EV分配
- 将竞技场胜利奖励的EV值
2026-02-18 22:07:50 +08:00
xinian
d0cf598ced
refactor: 将物品和货币相关字段从uint32改为int64以支持更大数值范围
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-12 04:28:20 +08:00
昔念
32f57732fe
```
...
refactor(common/cool/coolconfig): 修改RPC配置字段类型
将RPC字段从uint16类型更改为string类型的Address字段,
以支持更灵活的地址配置。同时更新了配置初始化逻辑,
从server.rpc改为server.address作为配置键。
```
2026-01-25 03:40:29 +08:00
0a0e1bf8c0
1
2026-01-21 20:46:05 +00:00
昔念
026689f3ed
```
...
feat(cache): 添加复合键缓存操作支持
添加了基于 uint32+string 组合键的缓存操作方法,包括
GetByCompoundKey、SetByCompoundKey、DelByCompoundKey 和
ContainsByCompoundKey 方法,用于处理用户ID和会话ID的组合缓存场景
fix(vscode): 添加 cSpell 配置支持 struc 词汇
refactor(session): 移除过时的会话管理方法
移除了基于单一字符串键的会话管理方法,因为已迁移到使用
复合键的缓存操作方式
```
2026-01-19 18:51:56 +08:00
cde64b1898
```
...
feat(config): 添加服务器screen参数字段
添加OldScreen字段用于存储服务器的screen会话名称
---
fix(fight): 修复攻击值结构体格式
格式化AttackValue结构体字段对齐,并添加Offensive字段用于存储攻击力
---
feat(fight): 计算并存储技能攻击力
在技能计算过程中添加攻击力计算并存储到AttackValue结构体中
---
fix(base): 修正JWT密钥配置
将JWT密钥从
2026-01-09 08:31:30 +08:00
0f524aab85
```
...
fix(fight): 修复战斗命中判断逻辑并移除冗余命中检查
- 修复 NewSel32 中的命中判断,将 Side 字段改为 Hit 字段
- 移除 EffectAttackMiss 中的冗余命中判断逻辑
- 移除 EffectDefeatTrigger 中的重复命中检查
- 移除 EffectPhysicalAttackAddStatus 中的冗余命中判断
- 移除多个效果文件中的重复命中检查逻辑
- 修正 Effect136 中的命中处理逻辑,确保在技能命中时正确触发
- 移除其他多个效果中的重复命中检查代码
```
2026-01-04 21:41:10 +08: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
edee754a22
feat(model): 新增金豆消费、CDK配置、炫彩皮肤及双塔模型,优化物品奖励和BOSS配置
2025-12-21 18:13:54 +00:00
5965c8319a
feat(data): 重构颜色矩阵处理逻辑,将GlowFilter和相关功能迁移到common/data包
2025-12-21 17:18:33 +00: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
4c69e578dd
``` feat(fight): 新增多种技能效果实现(110/125/128/131/145/151),优化状态判断逻辑并重构随机数生成方式
2025-12-11 20:05:00 +00:00
98a3d8e036
feat(fight): 优化战斗中技能信息传递方式
...
将 SkillInfo 结构体改为指针传递,确保每回合技能效果可独立变化。
同时调整了战斗逻辑中关于宠物切换次数的控制逻辑,支持死亡后切换再执行额外动作的流程处理。
2025-12-11 13:31:20 +08:00
1ea4b756f6
```
...
feat(service): 更新地图与战斗信息服务结构及逻辑
- 移除 MapLeave 中对 player.Canmon 的重复设置
- 在 MapList 中增加对 TimeBoss 状态的处理并
2025-12-09 16:52:53 +08:00
43813932c9
```
...
build(go): 升级 Go 版本至 1.20 并更新依赖包
将项目 Go 版本从 1.18 升级至 1.20,并同步更新了相关模块依赖。
同时替换 decimal 库为 alpacadecimal,以提升数值计算精度和性能。
- 升级 Go 模块版本
- 替换 github.com/govalues/decimal 为 github.com/alpacahq/alpacadecimal
- 更新多个间接依赖包版本
- 调整相关代码中 decimal
2025-12-05 00:24:02 +08:00
022dc12461
refactor(decimal): 替换shopspring/decimal为govalues/decimal库
2025-12-04 14:28:42 +00:00
8d7d9da0bf
feat(item): 新增性格道具支持与相关逻辑调整
...
新增对特定性格道具的支持,包括 Nature 和 NatureSet 属性解析,
并优化精灵融合、任务奖励、战斗捕捉等流程中的宠物添加方式。
同时修复部分战斗逻辑及数据结构引用问题。
2025-12-03 22:05:28 +08:00
e4fd9c2e38
fix(fight): 修正空变更导致的潜在逻辑问题
2025-11-30 10:21:57 +00:00
d8718e8eac
```
...
feat(fight): 添加战斗准备完成广播消息
在 ReadyFight 方法中增加对所有玩家的广播,发送玩家准备完成的消息。
新增 S2C_2404 结构体用于通知客户端指定用户已准备完成,
若为野怪则 userID 设置为 0。
```
2025-11-30 01:54:46 +08:00
f90581e0f6
```
...
feat(fight): 优化擂台战斗逻辑与状态管理
- 修改了擂台主人设置逻辑,引入 `Set` 方法统一处理玩家信息更新
- 增加对擂主是否可战斗的判断,防止无效挑战
- 调整连胜计算和广播机制,确保数据一致性
- 修复擂台挑战失败时的状态回滚问题
- 引入错误码替代硬编码返回值,提高代码可读性与维护性
- 统一访问擂台玩家的方式,移除冗余字段
2025-11-28 00:16:51 +08:00
0ea1a24419
feat(fight): 实现 boss 战斗中精灵特性的支持与多个新魂印效果
...
- 在 `fight_boss.go` 中为 Boss 的每只宠物增加了 CatchTime 字段以区分不同精灵,
并修复了技能特效参数解析的问题。
- 新增多个魂印(NewSeIdx)实现,包括:
* 无限 PP、伤害倍率控制、命中屏蔽、属性克制、暴击率调整等。
- 调整了部分已有 NewSeIdx 文件中的方法调用方式,统一使用 `ID().GetCatchTime()`
来判断精灵是否在场。
- 修改了 EffectIDCombiner 的字段访问方式,改为通过 Get/Set 方法操作。
- 优化战斗逻辑,在 NPC 战斗中加入 AI 自动出招机制。
2025-11-26 15:25:10 +08:00
6455455992
feat(fight): 增加Boss精灵特效索引解析与空列表校验
...
在挑战Boss逻辑中,新增对Boss怪物NewSeIdxs字段的解析,将其分割并转换为EffectInfo添加到宠物信息中。同时增加对PetList为空时的错误处理,返回精灵不存在错误码。
refactor(effect): 调整技能属性判断方式及方法命名
将部分战斗效果和技能实体中的Type()方法重命名为GetType(),统一接口调用方式,并修改属性类型比较逻辑,直接通过整型值进行判断,提升代码一致性与可维护性。
fix(xml): 补充地图Boss配置项Id字段
更新地图配置文件中Boss节点缺失的Id属性,确保Boss数据结构完整性和唯一标识正确加载。
chore(input): 增加技能实体非空检查防止panic
在输入处理模块中加入对SelectSkillAction.SkillEntity的空指针检查,避免因未初始化技能导致运行时异常。
2025-11-25 18:25:52 +08:00
28e0addda0
```
...
feat(pet): 添加学习力分配功能并优化相关逻辑
- 新增 PetEVdiy 接口用于自定义宠物学习力分配
- 限制单次学习力分配不超过510,单项不超过255
- 学习力池 EVPool 字段添加到 PlayerInfo 结构体
- 使用 github.com/samber/lo 简化数组求和操作
- 更新 fight_boss 逻辑以正确处理 BOSS 战斗后经验与学习力奖励发放
- 调整任务列表中部分
2025-11-25 00:55:10 +08:00
240c349b8a
fix: 修复空提交问题
2025-11-23 23:38:03 +00:00
1dbd4169e9
feat(xmlres): 更新 BOSS 配置结构并优化字段注释
...
新增多个 BOSS 相关配置字段,包括任务关联、奖励机制与挑战限制等,
增强 BOSS 精灵的可配置性与业务表达能力。同时完善字段注释以对齐 XML
实际使用情况,并保留原有部分字段用于兼容历史配置。
fix(fight): 调整战斗胜利回调执行顺序以确保数据一致性
将战斗结束回调移至广播之前执行,保证在发送战斗结果前已完成所有状态
更新,尤其是针对胜利宠物的信息同步
2025-11-22 22:57:32 +08:00
e54d4bacaa
```
...
feat(fight): 增加战斗模式枚举并重构战斗逻辑判断
- 引入完整的 BattleMode 枚举定义,替代原有的 BattleStatus,明确区分各类战斗场景
- 在多个控制器中替换对旧 Status 字段的依赖,统一使用 Mode 判断战斗状态
- 修复部分函数调用前未检查 FightC 是否为空的问题,增加 ErrBattleEnded 错误返回
- 调整
2025-11-21 02:40:27 +08:00
9f89f9f259
```
...
fix(binary): 修复零值处理导致的结构体打包异常
在 binaryFallback 的 Sizeof 和 Pack 方法中增加对 IsZero 值的判断,
避免空值参与序列化计算引发错误。同时调整了 struc 包相关逻辑以正确
处理空值情况,并打印调试日志辅助排查。
feat(fight): 完善玩家 PVP 对战胜负统计逻辑
修正 PET_MELEE 与 PET_King 模式下胜利归属判定问题,确保只有实际胜出
者才累计胜利次数。此外优化了战斗邀请流程,移除冗余状态控制字段并增强
邀请有效性校验,提升 PvP 流程稳定性。
refactor(pack): 简化数据组包逻辑并提高兼容性
重构 TomeeHeader.Pack 方法,去除反射相关的复杂类型判断,统一使用 struc
进行编码,强化对 nil、interface{} 及多级指针的支持。另外更新了客户端发包
记录日志内容以便追踪调试。
style(code): 规范代码格式并清理无用注释和字段
删除多个文件中的无效或过时注释,如 PlayerID 字段标记废弃、无意义的日志输出等;
同步更新结构体字段命名一致性(如 NonoColor),并对部分函数参数及条件表达式做
可读性优化,整体提升代码整洁度和维护性。
```
2025-11-20 15:19:13 +08:00
c0b09c92c4
```
...
refactor(common): 统一使用 common.TomeeHeader 替代 player.TomeeHeader
将多处
2025-11-19 16:11:02 +08:00
31439b707c
fix: 修复空提交问题
2025-11-19 00:09:12 +00:00
24f2a6d7c8
fix: 修复空提交问题
2025-11-18 23:41:31 +00:00
6831861e0d
fix: 修复空提交问题
2025-11-18 22:16:55 +00:00
7cbd3bb801
修改战斗拷贝
2025-11-15 23:02:46 +00:00
135419a99e
```
...
feat(fight): 添加擂台系统相关功能与协议支持
新增了擂台系统相关的消息结构体和处理逻辑,包括:
- 添加了多个与擂台交互的命令结构体(如 ARENA_SET_OWENR、ARENA_FIGHT_OWENR 等)
- 实现了玩家发送擂台信息的方法 Send_ARENA_GET_INFO
- 在 Space 结构中增加了擂台相关信息及操作方法 Can_ARENA 和 UP_ARENA
- 修复了一个伤害计算公式错误,将乘法修正为除法
- 当
2025-11-15 19:11:23 +08:00
0e1860bdf4
```
...
feat(fight): 实现精灵大乱斗模式并优化对战逻辑
新增大乱斗模式(PET_MELEE)支持,重构原有精灵王之战相关逻辑。
更新战斗初始化流程,添加随机精灵选择机制。
调整玩家匹配与取消邀请接口实现方式。
完善战斗结束处理函数,移除未实现异常抛出。
```
2025-11-15 01:53:51 +08:00
d73eb9eb26
feat(fight): 实现属性变化还原机制并优化属性操作逻辑
...
- 为多个效果(effect_38、effect_45、effect_51、effect_55、effect_56)添加 `Alive` 方法,
用于在效果结束时还原精灵被修改的属性(如 MaxHp、Prop[0]、Prop[1]、PetInfo.Type)。
- 统一将对精灵属性类型的访问由 `PType` 修改为 `PetInfo.Type`,提升代码一致性与可维护性。
- 移除旧的回合开始/结束时手动保存和还原精灵信息的逻辑
2025-11-15 00:15:09 +08:00
a86782b1ea
```text
...
refactor(fight): 重构战斗准备逻辑并优化战斗启动流程
将 ReadyFight 方法拆分为多个职责清晰的子方法:
- buildFightStartInfo: 构建战斗初始信息
- checkBothPlayersReady: 检查PVP双方是否就绪
- handleNPCFightSpecial: 处理NPC战斗特殊逻辑(如可捕捉标记)
- startBattle: 统一启动战斗流程
同时修复部分逻辑顺序问题,增强代码可读性和扩展性。
feat(fight): 新增精灵王挑战协议支持
增加 StartPetWarInboundInfo 结构体用于接收精灵王挑战请求,
为后续实现相关功能提供基础。
fix(effect): 修正多个技能效果数值引用错误
- effect_37: 技能威力计算使用正确参数索引
- effect_50: 固定减伤比例调整为除以2
- effect_65: 正确比较技能分类类型
- effect_68: 致死保护改为锁定剩余1点生命值
- effect_77: 回复目标由敌方改为己方
- effect_93: 固定伤害值直接取参数
refactor(effect): 移除冗余效果类文件
删除 effect_133.go 和 effect_90.go 文件,其功能已被统一条件伤害和倍率系统取代;
移除 effect_74.go、effect_75.go 中重复的状态随机施加逻辑。
refactor(effect): 更新能力操作枚举命名一致性
重命名 AbilityOpType 枚举项名称,去除前缀,提升语义清晰度:
- AbilityOpStealStrengthen → StealStrengthen
- AbilityOpReverse → Reverse
- AbilityOpBounceWeaken → BounceWeaken
chore(fight): 完善 BattlePetEntity 属性初始化逻辑
在创建 BattlePetEntity 时即设置 PType,避免后续多次查询 PetMAP;
移除 Type() 方法中的冗余配置查找逻辑。
fix(skill): 确保必中技能不参与命中率计算
在 AttackTimeC 方法中添加 return 防止必中技能继续执行命中率公式计算。
refactor(fight): 调整战斗回合结束逻辑
进入新回合时允许玩家更换精灵,并提前跳出循环防止多余处理。
style(effect): 更正拼写及变量命名风格
修改 BaseSataus.Switch 方法签名中的参数命名;
更正 Effect58 中 can 字段首字母大写;
2025-11-14 23:09:16 +08:00
004ce51c5e
feat(fight): 调整效果叠加逻辑与精灵属性处理
...
- 将 `MaxStack` 方法重命名为 `CanStack`,并修改其逻辑为布尔值控制是否可叠加
- 更新多个效果文件中的注释和调用方式以适配新的叠加控制方法
- 修复精灵属性类型获取逻辑,增加缓存字段 `PType`
- 修改战斗回合处理流程,优化技能解析顺序和状态比较时机
- 调整状态效果初始化逻辑,确保状态类效果默认允许无限叠加
- 更正伤害类型缺失问题,在固定伤害
2025-11-14 06:14:49 +08:00
d52c6cbb79
```
...
feat(fight): 更新概率判定函数注释并新增状态与属性操作类型
更新 PlayerCaptureContext.Roll 函数注释,明确返回值含义。
新增 PetStatus 枚举值 NULL,表示无效状态。
新增 AbilityOpType.COPY 操作类型,支持复制对手属性值。
```
2025-11-14 04:55:29 +08:00