Commit Graph

42 Commits

Author SHA1 Message Date
昔念
f810a2ae86 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(pet): 宠物系统重构和功能增强

- 修复战斗boss中effect ID索引错误问题
- 实现宠物仓库和背包管理功能
- 添加宠物列表排序保存功能
- 重构宠物备份列表同步逻辑
- 优化宠物释放和获取逻辑
- 添加宠物背包仓库切换功能
- 修复地图模型广播信息结构问题
- 调整宠物特效数据库查询逻辑
```
2026-04-02 07:49:49 +08:00
昔念
3a13bcc99c ```
feat(game): 实现扭蛋系统批量物品添加功能并优化地图逻辑

- 新增ItemAddBatch方法用于批量添加物品,支持普通道具和特殊道具的分别处理
- 优化扭蛋游戏玩法中的物品添加逻辑,使用新的批量接口提升性能
- 在扭蛋机器人命令中实现完整的物品检查和批量添加流程

refactor(map): 重构地图控制器代码结构并添加注释

- 为EnterMap、LeaveMap、GetMapPlayerList等方法添加中文注释
- 统一地图相关的命名规范,如enter map替换进入地图
- 调整地图玩家列表中BOSS广播命令ID,2021和2022进行对调

refactor(boss): 重构定时BOSS代码并优化注释

- 将原有的中文注释改为英文注释,统一代码风格
- 简化TimeBossRule结构体定义和相关配置
- 优化定时任务注册逻辑,去除冗余的注释和变量

refactor(space): 清理地图空间服务代码注释

- 移除多余的中文注释和说明文字
- 统一代码格式,移除不必要的空行和注释
- 保持原有的天气系统和地图刷怪逻辑不变

fix(role): 修复系统角色权限查询逻辑

- 修改BaseSysRoleService中的查询条件,正确处理管理员权限
- 使用Extend方法替代Where进行复杂的权限判断逻辑
- 确保超级管理员可以访问所有角色,其他用户受限于权限范围

refactor(dict): 添加字典服务批量查询方法

- 新增GetMaxMap方法用于批量获取物品最大持有上限
- 优化数据库查询,减少多次单个查询的开销
- 支持一次请求多个物品的最大数量限制

fix(player): 修复玩家信息保存异常处理

- 将panic方式改为错误日志记录,避免程序崩溃
- 优化Save方法的重试逻辑,统一错误处理方式
- 在本地文件回退时记录详细错误信息

feat(robot): 扩展扭蛋机器人功能

- 添加用户验证和角色创建检查
- 实现批量扭蛋的完整逻辑,支持1-10次抽取
- 集成物品数量检查和批量添加功能
```
2026-04-02 02:33:05 +08:00
昔念
10af34fdad ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
refactor(controller): 移除独立的服务模块并将结构体定义内联到控制器中

移除了 egg、leiyi、pet 和 systemtime 独立服务包中的结构体定义,
将所有 C2S 和 S2C 结构体直接定义在相应的控制器文件中,同时更新了
导入路径和服务调用方式,统一使用 common.TomeeHeader 并优化了代码组织结构。

BREAKING CHANGE: 结构体定义从独立的服务包移动到控制器文件内部
2026-03-04 02:24:25 +08:00
昔念
4a5a7727b5 ```
All checks were successful
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
昔念
24c413030f 实装大乱斗经验
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-14 04:27:57 +08:00
昔念
06b77d598e 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-14 03:05:51 +08:00
xinian
d0cf598ced refactor: 将物品和货币相关字段从uint32改为int64以支持更大数值范围
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-12 04:28:20 +08:00
xinian
a5485de510 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-10 22:09:15 +08:00
昔念
d6f8e9dbf7 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
refactor(.woodpecker): 移除全局配置变量并优化SSH连接设置

移除了全局配置变量,改用YAML锚点引用方式统一管理SSH连接参数,
提高配置的可维护性并减少重复代码
2026-01-30 22:18:44 +08:00
1
5ef922278a ``` feat(pet): 重构宠物繁殖系统,添加蛋孵化功能 2026-01-20 22:08:36 +00:00
昔念
fcb55d3a46 ```
refactor(controller): 替换BossCompletedTask为专用方法名

在战斗控制器中将p.BossCompletedTask替换为p.SptCompletedTask,
以及在塔沃控制器中将BossCompletedTask相关调用替换为TawerCompletedTask,
以更好地区分不同的任务完成逻辑。

---

fix(item_use): 添加nil检查防止程序崩溃

在处理神经元道具时,增加对oldPet对象的nil检查,
如果为空则返回系统错误码,避免程序出现
2026-01-20 04:40:36 +08: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
昔念
08ebf849eb ```
feat(pet): 添加宠物收集功能和称号系统

- 实现了宠物收集任务状态查询功能
- 新增Collect方法处理宠物收集逻辑,包括类型验证和ID合法性检查
- 创建validTypeIDMap映射表统一管理合法的类型ID集合
- 重构任务状态判断逻辑,基于model.Completion状态进行判断

refactor(map): 统一玩家信息结构体

- 将OutInfo重命名为SimpleInfo并添加Title字段
- 更新EnterMap方法的返回类型为SimpleInfo
- 修改space包中的UserInfo映射类型为SimpleInfo

feat(task): 集成称号奖励到任务系统

- 在PlayerInfo结构体中添加Title字段
- 扩展TaskConfig模型支持称号奖励配置
- 更新用户信息服务处理用户名大小写转换

refactor(space): 优化空间服务数据结构

- 更新GetInfo方法返回SimpleInfo切片
- 调整UserInfo CsMap泛型类型参数
- 修改ListMapPlayerOutboundInfo中Player数组类型

style(login): 规范化用户名输入处理

- 登录时将用户名转换为小写进行比较
- 使用strings.EqualFold进行大小
2026-01-17 00:47:41 +08:00
a62b94446a ```
feat(pet): 添加精灵进化功能并优化融合系统

- 新增PetELV方法实现精灵进化功能,支持分支进化选择
- 添加进化相关的数据结构定义
- 实现进化材料检查和扣除逻辑
- 优化宠物融合失败处理机制

fix(fight): 修复战斗系统和效果计算问题

- 修复NewSeIdx_11和effect_60中的伤害计算逻辑
- 修复战斗状态判断条件,避免非PVP模式下的错误处理
- 优化战斗回合处理流程,修复效果缓存清空时机
- 修复effect_69
2026-01-03 01:35:32 +08:00
1
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
6368e2f2e9 feat(room): 增加房间宠物信息获取逻辑并优化展示条件
新增 Controller.RoomPetInfo 方法用于获取指定用户的房间宠物详细信息,
同时修复了宠物展示时可能因空数据导致的问题。在设置房间宠物展示和
处理房间装饰时增加对 CatchTime 和 ID
2025-12-13 23:52:16 +08:00
f73c11e571 ```
feat(pet): 实现精灵融合功能并优化相关数据结构

- 新增精灵融合主服务和材料服务,支持根据主副精灵ID查询融合结果
- 调整融合接口参数结构,将物品字段统一为数组形式
- 修改融合材料模型字段类型,提升数据一致性
- 重构融合配置相关逻辑,移除旧融合配置模型及服务
- 增加特性随机选择逻辑,确保融合产物具备有效特性
- 添加材料合法性校验,防止非法材料参与融合
```
2025-12-02 03:59:28 +08:00
f76587f952 feat(pet): 实现精灵融合功能并优化相关逻辑
新增精灵融合接口及处理逻辑,支持主副精灵融合生成新精灵,并消耗金币与材料。
同时调整了战斗技能选择流程、修复地图热度统计安全问题以及完善宠物删除机制。

- 添加 `PetFusion` 控制器方法实现融合核心逻辑
- 新增 `C2S_PetFusion` 和 `PetFusionInfo` 结构体用于通信
- 修正战斗中技能随机选取后立即返回的问题
- 修复太空站进入/离开时对地图热度的并发访问风险
-
2025-11-26 01:33:48 +08:00
40d72790ff feat(xmlres): 实装性格重塑,实装性格指定
fix(fight): 使用模型层方法生成精灵信息
refactor(controller): 移除冗余变量与内联XML读取逻辑
refactor(pet): 重构经验更新与进化逻辑
refactor(item): 校验并扣减使用道具数量
feat(item): 新增金豆购买商品协议结构体
feat(user): 迁移角色服装变更逻辑至user控制器
feat(pet): 增加技能排序协议定义
refactor(utils): 移除未使用的工具函数引用
chore(config): 更新地图怪物配置信息

详细变更内容包括:
- 在`xmlres/file.go`中初始化`GoldProductMap`并加载相关配置。
- 将`GenPetInfo`方法从玩家服务迁移至`model`包以统一管理。
- 合并部分不必要的局部变量声明,并优化XML资源加载方式。
- 拆分精灵升级与进化方法,明确调用职责。
- 在战斗和治疗等操作前增加货币校验及扣除逻辑。
- 补充金豆购买相关的客户端/服务端通信结构体。
- 调整技能选择逻辑避免潜在索引越界问题。
- 更新部分注释说明和代码结构以提升可维护性。
2025-11-25 12:29:50 +08:00
147758c5ae fix(fight_boss): 调整Boss捕捉逻辑位置以确保正确执行
将Boss捕捉率获取逻辑从循环外移至循环内,确保在处理Boss宠物信息之后再进行捕捉率赋值。

feat(pet): 新增协议结构体定义用于学习力相关操作

新增C2S_9756与S2C_9756结构体,支持学习力相关的客户端请求与服务端响应处理。
2025-11-25 02:35:36 +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
50232339d9 ```
refactor(rpc): 更新结构体标签以跳过特定字段序列化

将多个结构体中的 `struc:"[0]pad"` 标签更改为 `struc:"skip"`,
以避免在序列化过程中处理不必要的填充字段。同时新增放生与领回相关逻辑,
并完善部分控制器函数和消息结构定义。
```
2025-11-24 11:56:20 +08:00
c0b09c92c4 ```
refactor(common): 统一使用 common.TomeeHeader 替代 player.TomeeHeader

将多处
2025-11-19 16:11:02 +08:00
1
6c32a5d7ac 修改广播逻辑 2025-11-18 20:52:04 +00:00
6979b7018d ```
feat(space): 替换并发安全map实现以提升性能

将原来基于`utils.ConcurrentMap`的玩家存储结构替换为
`github.com/mhmtszr/concurrent-swiss-map`提供的`CsMap`,
以获得更高效的并发读写能力。

同时修改了相关API调用方式:
- `Set` 改为 `Store`
- `Remove` 改为 `Delete`
- `IterCb` 改为 `Range`,并支持提前终止迭代
- `Items()` 不再使用

此外,调整了部分业务逻辑中对玩家列表遍历的方式,
确保在发送网络包后及时跳出循环,避免不必要的操作。

新增战斗类型处理函数`PET_King`用于处理宠物王相关的
战斗请求,并修复了`PET_MELEE`方法中的逻辑问题。

更新了go.mod和go.sum引入新的依赖库。
```
2025-11-15 15:22:58 +08:00
da9286d3d8 ```
feat(fight): 调整技能效果命中逻辑与回合开始处理

- 修改了技能效果命中的判定顺序,确保暴击计算在效果添加之前执行
- 修复了回合开始时敌我双方状态结算的上下文错误
- 优化了效果缓存初始化逻辑,避免重复添加相同效果
- 增加了效果去重判断,防止完全相同的效果被重复添加
- 调整了战斗循环中结束逻辑的位置,确保广播和通道关闭正确执行
- 更新了部分日志提示信息,使其更符合实际业务含义
- 移除了部分无用代码和注释,提高
2025-11-11 01:10:26 +08:00
cad3ad6913 ```
feat(pet): 新增宠物驳船列表功能并调整数据类型

新增 Controller 方法 PetBargeList 用于处理宠物驳船列表请求,
并修改 PetBargeListInboundInfo 和 PetBargeListInfo 中部分字段的数据类型
从 uint64 调整为 uint32。同时新增 PetBargeListOutboundInfo 结构体
用于响应数据的封装。
```
2025-11-08 01:12:53 +08:00
06cd6199b0 ```
fix(fight): 修复战斗逻辑中技能解析和优先级判断的问题

调整了战斗回合开始前的技能解析逻辑,确保即使攻击被放弃也能正确施加效果。
修复了技能优先级相同时的速度比较逻辑,避免错误的角色交换。
优化了临时变量的使用,提高代码可读性。

fix(socket): 修复TCP连接处理中的类型断言问题

在处理TCP连接时增加类型断言检查,防止因上下文类型不匹配导致的panic。

fix(effect): 修正默认持续回合数的随机范围

将随机持续回合数从
2025-11-08 00:47:45 +08:00
1
df6606b021 修改底层map 2025-10-10 04:49:23 +00:00
91d0d29ec9 战斗修改 2025-09-29 02:40:35 +08: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
bb9b0510ce refactor: 清理代码注释,移除Java相关注解和冗余描述 2025-09-21 08:07:17 +00:00
5e01837f78 refactor(logic): 重构逻辑层代码
- 移除未使用的 SocketHandler_Tomee.go、ai.go、effect_1.go 文件
- 更新 player 包名引用,替换原 service 包
- 调整 TomeeHeader 和相关处理逻辑至 player 包
- 更新各控制器中的 Player 引用为 player 包中的类型
- 移除冗余的 GetPlayer 方法,使用新逻辑
2025-09-14 01:35:16 +08:00
70386fbbe8 feat(pet): 实现精灵首发功能
- 新增 PetFirst 方法用于设置精灵为首发
- 添加 PetDefaultInboundInfo 和 PetDefaultOutboundInfo 结构体用于处理精灵首发请求和响应
- 实现了将指定精灵移动到宠物列表首位的逻辑
- 返回结果中包含首发设置成功或失败的标志
2025-09-12 19:21:39 +08:00
53df18c1e1 feat(item): 添加物品相关功能并优化任务和宠物逻辑
- 新增物品检查和添加功能
- 优化任务重置和完成逻辑
- 改进宠物信息获取和展示
- 调整玩家登录和保存机制
2025-09-11 01:07:00 +08:00
621a9d3858 refactor(socket): 重构 socket 模块
- 移除 common/data/socket 目录下的大部分文件
- 新增 service 目录,将 Player 和 Conn 结构体移至该目录
- 更新 LogicClient 中的方法签名,使用 service 包的类型
- 重构 Controller 中的方法,适应新的 service 包结构
2025-09-04 02:00:57 +08:00
0dbb7d9a8d refactor(pet): 重构精灵信息获取逻辑并丰富精灵简要信息
- 使用 copier 库简化精灵信息复制过程
- 在 PetShortInfo 结构体中添加更多精灵属性:
  - ID
  - Level
  - SkinID
  - Shiny
- 优化 GetPetList 函数返回值结构
2025-09-01 01:31:42 +08:00
4b5c6ce129 refactor(logic): 重构战斗相关逻辑和数据结构
- 优化了 FightPetInfo 和 AttackValue 结构体,使用更合理的数据类型
- 重新定义了战斗流程中的各种消息结构体
- 改进了宠物信息生成和计算逻辑
- 重构了宠物相关服务和控制器方法
- 优化了数据库操作,提高了代码的可读性和维护性
2025-09-01 01:03:46 +08:00
1
ab7df82bae 修改部分代码 2025-08-31 06:53:42 +00:00
75e428f62e refactor(blazing): 重构任务系统并优化相关功能
- 重构了任务系统的数据结构和执行逻辑
- 优化了地图加载和怪物刷新机制
- 改进了宠物系统的基础架构
- 调整了玩家信息和背包的处理方式
- 统一了数据访问层的接口和实现
2025-08-30 21:59:52 +08:00
081f990110 refactor(assets): 重构资产同步流程并添加宠物相关功能
- 移除了资产同步到私有 B 仓库的工作流
- 在玩家结构中添加了 IsFighting 字段
- 新增了宠物信息相关功能和数据结构
- 优化了地图进入和怪物刷新逻辑
- 调整了玩家登录和地图数据发送流程
- 重构了部分代码以提高可维护性和性能
2025-08-24 17:33:19 +08:00