|
|
8983222dcb
|
```
refactor(logic): 重构服务器启动逻辑与任务状态管理
- 移除了 `gcmd` 包在 controller 中的直接使用,改为通过参数传递端口和服务器类型
- 统一使用 `GetTask` 和 `SetTask` 方法替代直接访问 `TaskList` 数组,提升代码可维护性
- 修改了战斗逻辑中部分调试打印语句,并优化战斗循环结束日志输出
- 调整了新手玩家初始化流程,默认完成新手任务4
- 更新了数据库模型字段及结构定义,如增加 `max_ts` 字段、扩展 `TaskList` 长度等
- 改进了宠物添加逻辑,采用 SQL 方式确保捕捉时间唯一递增
- 清理了无用或注释掉的旧代码块
|
2025-12-08 17:03:43 +08:00 |
|
|
|
7005c1047f
|
```
feat(fight_boss): 更新BOSS战斗效果逻辑以使用新的服务接口
将原来直接访问xmlres.EffectMAP获取效果信息的方式,
替换为通过service.NewEffectService().Args方法获取EID与参数,
提高代码解耦性与可维护性。
refactor(item_buy): 调整金币商品购买时的价格计算逻辑
修复购买金币商品时价格未正确乘以100的问题,
确保消耗金币数量准确无
|
2025-12-08 00:17:04 +08:00 |
|
|
|
294cb2e3fd
|
feat(login): 重构登录逻辑并迁移每日重置功能到 Personself 方法
将原本在 Controller.Login 中处理的每日重置逻辑(如电池、任务等)迁移到
service.Info.Personself 方法中,并移除对 gtime.Now().Time 的旧引用。同时更新了
相关的时间判断函数 IsToday,使其支持 *gtime.Time 类型。
此外,清理无用导入包,优化日志打印方式,并修复部分结构体字段定义与使用问题。
|
2025-12-07 19:23:44 +08:00 |
|
|
|
eef702e25a
|
fix(petuse): 注释掉 CalculatePetPane 调用以修复宠物面板计算问题
在初始化过程中临时注释掉 CalculatePetPane 方法调用,
以解决当前版本中宠物面板数据计算异常的问题。
此更改属于临时
|
2025-12-07 02:54:58 +08:00 |
|
|
|
3817fc1861
|
feat(item): 优化宠物道具使用逻辑与个体值处理
- 在获取用户物品列表时,过滤掉数量为0的物品
- 调整部分宠物道具ID判断条件,并修复神经元道具特殊处理逻辑
- 使用 DeepCopy 方式拷贝宠物数据,避免引用问题
- 移除冗余 copier 包引用,统一在需要处进行深拷贝操作
- 增加对宠物个体值(Dv)的操作边界检查,防止溢出
- 重构基因重组道具逻辑,调用封装
|
2025-12-07 02:50:35 +08:00 |
|
|
|
004eec219c
|
feat(item): 添加 NatureProbs 字段并优化宠物道具使用逻辑
- 在 `Item` 结构体中新增 `NatureProbs` 字段,用于支持性格概率配置
- 重构 `ItemUsePet` 控制器方法,引入处理器注册机制统一管理道具效果
- 修复神经元相关道具的特殊处理逻辑,增强代码可维护性
- 调整 `S2C_USE_PET_ITEM_OUT_OF_FIGHT` 响应结构体,增加技能列表长度字段
- 修改 `ResetNature` 方法命名及判断条件,提升语义清晰度与健壮性
- 新增 `PetInfo_One_Unscoped` 查询方法以支持软删除数据访问
- 实
|
2025-12-07 01:43:12 +08:00 |
|
|
|
35c89215f7
|
```
feat(player): 重构玩家金币系统,使用BaseSysUserService管理金币
将玩家金币逻辑从PlayerInfo中移除,改为通过BaseSysUserService进行统一管理。
新增了金币的获取与设置方法,支持以分为单位的精确计算。
调整了登录时用户服务的初始化逻辑,确保User字段正确赋值。
fix(pet): 修复宠物性格道具使用逻辑错误
更新了多个性格相关道具的处理方式,包括新增的性格转换道具范围。
修正了性格随机与指定逻辑,避免越界问题并增强可维护性。
feat(fight): 战斗初始化时恢复宠物状态
在战斗初始化阶段调用宠物治愈方法,确保战斗开始前宠物处于健康状态。
feat(admin): 调整管理员会话获取接口参数类型
修改GetPerson方法传入参数为uint32类型,提高数据一致性与安全性。
refactor(model): 移除PlayerInfo中的GoldBean字段
金币字段不再存储于PlayerInfo结构体中,转而由BaseSysUser模块统一管理。
```
|
2025-12-06 23:59:00 +08:00 |
|
|
|
91690658b5
|
feat(boss-effect): 统一处理参数类型转换,提升数值比较与运算准确性
对多个 boss 技能效果文件中的参数调用进行了统一调整,将原先直接使用 `e.Args()[index]` 的地方,
改为通过 `e.Args()[index].IntPart()` 或 `e.Args()[index]` 进行类型转换后再参与逻辑判断或数值计算。
同时修正了部分 HP 比较方式,由整型比较转为 decimal
|
2025-12-06 15:11:42 +08:00 |
|
|
|
3803f0a11d
|
```
fix(.gitignore): 添加login-linux-amd64到忽略列表
将新生成的login-linux-amd64可执行文件添加到.gitignore文件中,
避免将其提交到版本控制系统。
```
|
2025-12-06 01:42:55 +08:00 |
|
|
|
852ba53350
|
```
fix(pet): 修复宠物融合与删除逻辑中的数据访问问题
- 在 PET_FUSION 控制器中注释掉调试代码并修正融合时使用的捕获时间参数
- 优化 player 模块中 Pet_del 方法的切片删除逻辑,避免潜在的数据竞争
- 修复 fight loop 中对手宠物列表的错误引用
- 调整数据库查询条件,将 id 字段从关键字搜索移至精确匹配字段
- 宠物服务中添加插入失败时的重试机制,并默认 free 状态为 1
```
|
2025-12-06 01:41:38 +08:00 |
|
|
|
da31ad3ebe
|
fix(pet): 修复宠物技能列表长度检查问题
|
2025-12-05 10:04:23 +00:00 |
|
|
|
d2059034a6
|
```
build(vscode): 更新 VS Code 构建任务配置
优化了 `.vscode/tasks.json` 中的构建任务结构,去除多余空行并统一格式,
提升可读性和维护性。同时在 `.gitignore` 中新增忽略项
`public/logic-linux-amd64`,避免将编译产物提交到版本控制中。
```
|
2025-12-05 01:11:20 +08:00 |
|
|
|
269256a861
|
feat(common): 添加无锁并发工具包依赖
新增 lockfree-1.1.3 工具包到 go.work 文件中,为项目提供无锁并发数据结构支持,
提升高并发场景下的性能表现。
|
2025-12-05 00:36:28 +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 |
|
|
|
b1748d1428
|
fix(pet): 修复空变更导致的潜在逻辑问题
|
2025-12-04 03:55:38 +00:00 |
|
|
|
166fbad07f
|
```
feat(pet): 调整宠物融合逻辑以支持等级加成
在宠物融合过程中引入主副宠物等级之和作为随机因子,
并使用 decimal 库进行浮点数计算以提高精度。
调整概率判断逻辑,使融合结果更符合设计预期。
```
|
2025-12-04 02:32:31 +08:00 |
|
|
|
08b7553388
|
feat(xmlres): 优化配置加载与字段指针处理
- 将部分全局配置变量调整为局部加载,减少内存占用
- 修改 Item 结构体中 Nature 和 NatureSet 字段为指针类型,支持空值判断
- 更新使用点逻辑以适配指针字段,避免解析错误
- 移除未使用的配置引用及旧控制器文件
|
2025-12-04 02:11:51 +08:00 |
|
|
|
9c172d4ff7
|
fix(common): 更新查询操作字段注释并调整错误码
更新 `common/cool/service.go` 中 `QueryOp` 结构体字段的注释,明确 `FieldEQ` 和 `KeyWordField` 的用途。
同时修改玩家物品添加逻辑中的错误码,从 `ErrBaseItemTypeLimit` 改为 `ErrSystemError200007`。
在 `modules/blazing/service/item.go` 中为分页查询添加 `KeyWordField` 配置,支持按 `player_id` 搜索。
注释掉 `modules/blazing/service/pet_fusion
|
2025-12-04 01:33:37 +08:00 |
|
|
|
f8ba7988d0
|
```
feat(pet): 优化宠物融合错误码并记录原始捕获时间
- 将宠物融合过程中的错误码从 ErrSystemBusy 细分为多个更具体的错误码,
如 ErrPokemonNotFusionReady、ErrPokemonNotFusionReady2 等,便于问题定位。
- 在融合成功后,新增记录主宠的旧捕捉时间(OldCatchTime)字段。
- 调整战斗捕捉逻辑,使用对手玩家的第一个宠物信息进行添加,并重置战斗结束原因。
refactor(service): 移除未使用的管理员会话结构体字段和清理部分冗余代码
- 注释掉 base_sys_user.go
|
2025-12-04 00:26:49 +08:00 |
|
|
|
8d7d9da0bf
|
feat(item): 新增性格道具支持与相关逻辑调整
新增对特定性格道具的支持,包括 Nature 和 NatureSet 属性解析,
并优化精灵融合、任务奖励、战斗捕捉等流程中的宠物添加方式。
同时修复部分战斗逻辑及数据结构引用问题。
|
2025-12-03 22:05:28 +08:00 |
|
|
|
e694848c0d
|
fix(fight): 修正空变更导致的潜在逻辑问题
|
2025-12-02 02:50:20 +00:00 |
|
|
|
b000747536
|
```
feat(logic/controller): 修改Boss战中宠物昵称显示逻辑
将Boss战中宠物昵称的显示方式从默认名称改为Boss配置中的自定义名称,
注释掉原有的默认名称赋值逻辑,优先使用Boss配置中的名称字段。
```
|
2025-12-02 04:20:07 +08:00 |
|
|
|
f73c11e571
|
```
feat(pet): 实现精灵融合功能并优化相关数据结构
- 新增精灵融合主服务和材料服务,支持根据主副精灵ID查询融合结果
- 调整融合接口参数结构,将物品字段统一为数组形式
- 修改融合材料模型字段类型,提升数据一致性
- 重构融合配置相关逻辑,移除旧融合配置模型及服务
- 增加特性随机选择逻辑,确保融合产物具备有效特性
- 添加材料合法性校验,防止非法材料参与融合
```
|
2025-12-02 03:59:28 +08:00 |
|
|
|
aad1e2f44c
|
feat(fight): 添加战斗前状态检查与经验获取限制判断
- 在挑战BOSS和野外怪物战斗前,增加 CanFight 状态检查,防止非法战斗
- 修复战斗胜利后经验与物品发放逻辑,增加 CanGetExp 判断避免重复获取
- 优化战斗中精灵切换逻辑与相关伤害效果处理,确保死亡标记正确设置
- 修正战斗轮次中被动切换行为及技能执行顺序问题
- 移除无用的管理员会话控制器和宠物融合模型代码
- 调整战斗输入结构体中的 Switch 类型为 Map 以提高查找效率
- 修复战斗中精灵存活判定条件,
|
2025-12-01 23:31:48 +08:00 |
|
|
|
6d54efbbf6
|
```
fix(fight): 修复NPC战斗逻辑和玩家宠物初始化问题
修复了在与NPC战斗时AI玩家技能释放的逻辑错误,确保AI能够正确获取行动。
同时修正了玩家参战宠物的CatchTime生成方式,避免数据冲突。
此外,移除了大乱斗模式中不必要的延迟逻辑,并添加了战斗开始与结束的调试日志输出。
```
|
2025-12-01 01:45:19 +08:00 |
|
|
|
e4fd9c2e38
|
fix(fight): 修正空变更导致的潜在逻辑问题
|
2025-11-30 10:21:57 +00:00 |
|
|
|
1938346e89
|
fix(fight): 修正空变更导致的潜在逻辑问题
|
2025-11-30 04:57:48 +00:00 |
|
|
|
c55a1fd5fb
|
fix(fight): 修正空变更导致的潜在逻辑问题
|
2025-11-30 02:31:08 +00:00 |
|
|
|
d8718e8eac
|
```
feat(fight): 添加战斗准备完成广播消息
在 ReadyFight 方法中增加对所有玩家的广播,发送玩家准备完成的消息。
新增 S2C_2404 结构体用于通知客户端指定用户已准备完成,
若为野怪则 userID 设置为 0。
```
|
2025-11-30 01:54:46 +08:00 |
|
|
|
bdfff799dd
|
```
feat(boss): 更新NewSeIdx_6.go中技能触发条件判断逻辑
将原本基于元素类型的判断改为基于技能分类的判断,
并修改了函数名Damage_Lock_ex为Action_end_ex以更准确反映其用途。
注释中也将“普通属性”修正为“物理攻击”,使描述更加清晰明确。
```
|
2025-11-29 23:31:37 +08:00 |
|
|
|
11f6817d62
|
feat(fight): 优化战斗逻辑与精灵切换流程
- 在多个战斗控制器方法中添加 defer 调用,确保战斗操作正确延迟执行
- 修改 ChangePet 方法返回值类型,增强接口一致性
- 修复战斗准备阶段逻辑,重构战斗开始信息构建过程
- 移除冗余广播调用,调整 PVE 战斗初始化流程
- 更新 README 中的 pprof 命令地址并完善项目介绍部分
fix(effect): 修复效果叠加逻辑与ID解析问题
- 效果叠加时默认增加一层,而非直接相加参数
- 修正 EffectIDCombiner 类型、CatchTime 的掩码偏移计算错误
- 添加重复效果日志输出,便于调试追踪
feat(boss): 完善BOSS特性实现逻辑
- 修正 NewSel17 特性
|
2025-11-29 19:26:56 +08:00 |
|
|
|
f1c75abde6
|
Merge branch 'main' of github.com:72wo/blazing
|
2025-11-28 00:16:57 +08:00 |
|
|
|
f90581e0f6
|
```
feat(fight): 优化擂台战斗逻辑与状态管理
- 修改了擂台主人设置逻辑,引入 `Set` 方法统一处理玩家信息更新
- 增加对擂主是否可战斗的判断,防止无效挑战
- 调整连胜计算和广播机制,确保数据一致性
- 修复擂台挑战失败时的状态回滚问题
- 引入错误码替代硬编码返回值,提高代码可读性与维护性
- 统一访问擂台玩家的方式,移除冗余字段
|
2025-11-28 00:16:51 +08:00 |
|
|
|
cb58c312bc
|
fix(fight): 修正空变更导致的潜在逻辑问题
|
2025-11-27 12:05:21 +00:00 |
|
|
|
279f5d9d39
|
fix(fight): 修正空变更导致的潜在逻辑问题
|
2025-11-27 11:11:13 +00:00 |
|
|
|
aa87e1c55a
|
fix(fight): 修正空变更导致的潜在逻辑问题
|
2025-11-27 10:58:30 +00:00 |
|
|
|
914e203d8b
|
fix(fight): 修正Boss战捕捉逻辑执行顺序问题
|
2025-11-27 06:54:35 +00:00 |
|
|
|
0ab1a85d17
|
```
feat(blazing): 更新怪物刷新规则模型结构
重构 monster_refresh.go 中的 MonsterRefresh 模型,调整字段定义以支持更灵活的刷新配置。
新增 MapID、MinLevel、MaxLevel、FixPos 和 Script 字段,用于支持地图和等级相关的刷新逻辑。
保留部分异色相关字段并标记为待定,便于后续决定是否移除。
新增 MonsterRefreshEX 结构体扩展 MonsterRefresh 并支持数组形式的 MonsterID 和 ShinyID。
修改注释内容以准确反映当前字段含义与用途。
同时修正 dict_info.go 中查询条件错误,将 type in (?) 更正
|
2025-11-27 01:23:12 +08:00 |
|
|
|
5a9c37e852
|
feat(effect): 实现多个新技能效果逻辑
- 新增 NewSel12 效果:实现特定条件下增加属性的功能
- 新增 NewSel36 效果:实现按回合轮换属性顺序出招的去血逻辑
- 修改 NewSel37 效果:限制仅对红伤生效
- 修改 NewSel39 和 NewSel40 效果:方法名从 Damage_Floor 改为 Damage_DIV_ex
- 新增 NewSel44 效果:实现重生逻辑,恢复
|
2025-11-26 23:09:20 +08:00 |
|
|
|
f15f08189f
|
feat(effect): 实现多个新技能效果逻辑
新增了多个宠物战斗中的技能效果实现,包括伤害反弹、必杀技增强、先手权调整、
回复机制以及特殊条件触发逻辑。同时修复了部分技能判断条件与执行顺序问题,
优化了 AI 在 NPC 战斗中的行为表现,并完善了相关配置文件内容。
|
2025-11-26 18:39:23 +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 |
|
|
|
f76587f952
|
feat(pet): 实现精灵融合功能并优化相关逻辑
新增精灵融合接口及处理逻辑,支持主副精灵融合生成新精灵,并消耗金币与材料。
同时调整了战斗技能选择流程、修复地图热度统计安全问题以及完善宠物删除机制。
- 添加 `PetFusion` 控制器方法实现融合核心逻辑
- 新增 `C2S_PetFusion` 和 `PetFusionInfo` 结构体用于通信
- 修正战斗中技能随机选取后立即返回的问题
- 修复太空站进入/离开时对地图热度的并发访问风险
-
|
2025-11-26 01:33:48 +08:00 |
|
|
|
f682abe537
|
```
feat(item): 优化购买金币商品逻辑并完善宠物属性计算
- 购买金币商品时增加失败回滚机制,确保扣除金币与实际获得物品一致
- 使用 `CalculatePetPane` 替代 `Update` 方法以正确刷新宠物面板数据
- 精简地图热度统计逻辑,移除并发安全库依赖,改用普通 map 配合原子操作
- 移除 Space 结构体中冗余的 SuperValue 字段,直接通过 map 统计地图人数
- 更新地图配置文件中的怪物分布信息,调整部分怪物等级和数量配置
```
|
2025-11-25 21:10:52 +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 |
|
|
|
3e1887c7b8
|
```
feat(broadcast): 添加全服广播功能并完善相关逻辑
新增 Broadcast 结构体及 Server 的 Broadcast 方法,用于实现全服广播消息,
并在 RPC 客户端中增加对应接口。同时在 fight 模块中添加聊天信息结构体和处理逻辑。
refactor(pet_skill): 优化宠物技能设置逻辑
修复宠物技能替换判断条件错误的问题,并调整相关逻辑顺序以提高代码可读性与健壮性。
feat(chat): 实现战斗内聊天功能
新增战斗中的聊天指令结构体 ChatInfo 和对应的控制器方法 FightChat,
支持玩家在战斗中发送聊天消息。
refactor(item_buy): 调整金币购买道具的扣费方式
将原直接比较金币数量改为调用
|
2025-11-25 16:36:55 +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 |
|