Commit Graph

75 Commits

Author SHA1 Message Date
7a8be1c23a feat(element): 优化元素计算器并发安全与缓存机制
- 使用 sync.Map 替代 map+锁,提升并发读写性能
- 预加载所有元素组合,避免运行时重复创建
- 攻击系数计算结果加入缓存,提高查询效率
- 完善缓存键命名与错误处理机制
- 调整元素组合字符串展示格式,增强可读性

fix(item): 修复购买物品时价格为0仍扣除金币的问题

- 在购买逻辑中增加对物品价格是否为0的判断
- 防止免费物品被误扣金币
2025-11-02 23:52:06 +08:00
2678cd9685 fix(session): 调整会话保存时长为1小时
将会话保存时长从24小时调整为1小时,以提高会话安全性。

feat(socket): 添加强制踢出功能

在QuitSelf方法中增加强制踢出参数,当参数不为0时强制踢出所有玩家。
2025-10-26 15:12:29 +08:00
18378a3ab6 feat(logic): 添加玩家外观与聊天功能并优化宠物生成逻辑
- 在 `logic/controller/item.go` 中添加了更换玩家服装后广播结果的逻辑
- 在 `logic/controller/user.go` 中新增多个控制器方法:
  - `Aimat`:瞄准操作处理
  - `Chat`:支持消息发送及过滤
  - `ChangePlayerColor`:修改玩家颜色并扣除金币
  - `ChangePlayerDoodle`:更改玩家涂鸦并扣费
  - `ChangeNONOColor`:改变 NONO 颜色
- 移动宠物信息生成函数 `GenPetInfo` 至 `modules/blazing/model/pet.go` 并重构其实现
- 更新 `logic/service/player/pet.go` 和相关引用以适应新结构
-
2025-10-24 00:31:38 +08:00
9739598df2 ```
feat(xml): 更新任务配置结构以支持新能量节点解析

将原先的 TalkCount 和 TalkEntry 结构替换为 TalkRoot 和 Energy,
以适配新的 XML 配置格式。同时更新了相关引用代码以确保类型一致性。

refactor(item): 优化物品添加方法支持可变参数传入

调整 ItemAdd 方法签名,从接收数组改为接收可变参数,
提升调用灵活性,并同步修改控制器中对物品添加逻辑的处理方式。

feat(login): 修复每日重置逻辑并引入 gtime 时间管理

修正登录时每日任务重置区间错误(400~100 改为 400~500),
并改用 gtime.Now().Time 提供更准确的时间戳记录与比较,
同时增强挖矿次数等
2025-10-23 01:02:19 +08:00
b90bceafd9 ```
feat(xmlres): 添加任务数据加载与初始化逻辑

在 xmlres 包中新增 TaskMap 用于存储任务数据,并在 initfile 函数中
加载 task.xml 文件内容。同时调整 login 控制器中的任务重置逻辑,根据
任务类型每日重置任务状态。修复 pet 控制器释放宠物时的数据更新问题。
战斗系统中增加 Effect 的 OnMiss 回调处理,并修正状态效果映射关系。
修复 PVP 邀
2025-10-20 23:59:49 +08:00
1
31c7687036 ``refactor(pet): 提取宠物基础属性计算逻辑到GetBasic方法,优化经验计算流程`` 2025-10-17 21:38:24 +00: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
1245471129 refactor(fight/xmlres): 重构效果参数处理逻辑,新增JSON解析支持并优化战斗伤害计算 2025-09-23 17:34:58 +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
1
981da549c7 feat(fight): 新增玩家特效配置并优化精灵特效生成逻辑 2025-09-19 06:25:09 +00:00
a2eb88e9d3 修改战斗系统 2025-09-19 00:29:55 +08:00
e111e08638 战斗切精灵失效bug待修复 2025-09-07 05:58:47 +08:00
7d48e9ab64 refactor(fight): 重构战斗系统
- 优化了技能解析和存储逻辑
- 重构了战斗流程和回合结算机制
- 调整了数据结构以提高性能
- 移除了未使用的代码和注释
2025-09-04 23:57:22 +08:00
621a9d3858 refactor(socket): 重构 socket 模块
- 移除 common/data/socket 目录下的大部分文件
- 新增 service 目录,将 Player 和 Conn 结构体移至该目录
- 更新 LogicClient 中的方法签名,使用 service 包的类型
- 重构 Controller 中的方法,适应新的 service 包结构
2025-09-04 02:00:57 +08:00
5c6f35b1da refactor(common): 重构宠物相关数据结构和命名
- 将 PetMM 结构体重命名为 PetInfo,更准确地反映其用途
- 更新了相关文件中的结构体引用和变量命名
- 优化了部分代码的格式和注释
2025-09-03 02:09:43 +08:00
c42e392efe refactor(fight): 重构战斗系统
- 移除 Player 结构中的 IsFighting 字段,使用 FightID 替代
- 优化 Move 结构,重新排序字段并添加注释
- 修改 EffectNode 和相关结构,统一使用 Ctx 字段名称
- 重构 Battle 和 BattlePetEntity 结构,简化属性并优化布局
- 更新战斗逻辑,调整效果应用和回合处理机制
2025-09-03 00:37:05 +08:00
39893e4df9 refactor(fight): 重构战斗模块
- 移除未使用的结构体和接口
- 优化战斗准备和邀请逻辑
- 调整玩家和怪物信息的处理方式
- 更新战斗相关的数据结构
- 重构战斗模式和邀请相关代码
2025-09-02 00:45:29 +08:00
1
334d0e136c refactor(task): 重构任务系统数据结构和处理逻辑 2025-08-31 08:42:53 +00:00
3668f3c5b9 feat(pet): 新增宠物功能和相关数据结构
- 新增宠物配置和自然属性配置的 XML 解析
- 实现宠物信息生成和属性计算逻辑
- 添加宠物数据库模型和相关服务
- 更新登录和任务完成逻辑,支持宠物相关操作
2025-08-31 00:27:07 +08:00
75e428f62e refactor(blazing): 重构任务系统并优化相关功能
- 重构了任务系统的数据结构和执行逻辑
- 优化了地图加载和怪物刷新机制
- 改进了宠物系统的基础架构
- 调整了玩家信息和背包的处理方式
- 统一了数据访问层的接口和实现
2025-08-30 21:59:52 +08:00
7b5ec208fc refactor(socket): 重构 ClientData 结构体并优化相关逻辑
- 简化 ClientData 结构体,移除不必要的方法
- 优化 Player 结构体,调整 Conn 类型
- 更新 wscodec.go 中的 Conn 结构体
- 删除未使用的 XML 相关文件和代码
- 调整 ServerEvent 和 controller 中的相关逻辑
2025-08-30 00:36:08 +08:00
1
406d9129b0 登录退出完善 2025-08-28 21:57:30 +00:00
1
79361e68cd 重构 2025-08-28 21:35:56 +00:00
1
02c0582fe5 每日任务添加 2025-08-28 17:13:54 +00:00
1
a2fe2515d2 feat(fight): 实现玩家对战邀请功能及PVP模式处理 2025-08-27 05:10:10 +00:00
1
be5a0e144f "refactor(socket): 添加玩家断开连接时的登录状态标记并优化刷怪逻辑" 2025-08-25 18:10:45 +00:00
038a5f13da refactor(fight): 重构战斗模块
- 优化了数据结构和类型定义,提高了代码的可读性和可维护性
- 移除了未使用的代码和冗余的结构体字段
- 重新组织了代码文件,提高了模块化程度
- 为后续的战斗逻辑实现和优化奠定了坚实的基础
2025-08-25 16:26:56 +08:00
5ba81e2f90 refactor(fight): 重构战斗相关代码
- 移除未使用的战斗模式枚举和相关代码
- 更新 BurnEffect 结构,增加生命周期管理
- 删除多余的 Skill 结构和 Effect 相关代码
- 调整 NoteReadyToFightInfo 结构的位置
2025-08-25 04:23:32 +08:00
081f990110 refactor(assets): 重构资产同步流程并添加宠物相关功能
- 移除了资产同步到私有 B 仓库的工作流
- 在玩家结构中添加了 IsFighting 字段
- 新增了宠物信息相关功能和数据结构
- 优化了地图进入和怪物刷新逻辑
- 调整了玩家登录和地图数据发送流程
- 重构了部分代码以提高可维护性和性能
2025-08-24 17:33:19 +08:00
b6164f3b9e feat(logic): 实现地图刷怪功能并优化数据库查询
- 在玩家结构中添加 StopChan 通道,用于停止刷怪协程
- 优化 MapEnter 和 MapLeave 函数,支持刷怪功能
- 新增 spawnMonsters 函数实现具体刷怪逻辑
- 优化多个模块的数据库查询语句,提高查询效率
- 调整 PlayerService 中的 Reg 函数,优化数据插入操作
2025-08-23 17:44:12 +08:00
10eed9418c refactor(common): 重构 Conn 实体并优化地图进入逻辑
- 优化 Conn 实体的 SendPack 方法,提高代码复用性
- 添加 goja 模块到 go.work 文件
- 重构地图进入逻辑,增加玩家广播和刷怪功能
- 调整 OutInfo 结构中的 Vip 和 Viped 字段类型
- 简化 MonsterRefresh 结构体定义
2025-08-18 00:38:14 +08:00
9a6587a2da refactor(logic): 重构登录和地图相关逻辑
- 更新 Player 结构体,添加 Nick 字段
- 修改 ErrorCode 类型从 uint32 改为 int32
- 优化 SocketHandler 处理逻辑
- 重构 Controller 中的 Login 和地图相关方法
- 更新地图服务中的 MapIn 和 MapOut 方法
- 调整空间服务中的 Hot 和 Walk 方法
2025-08-17 21:55:15 +08:00
1
a02de8a4b4 feat(map): 更新地图配置和物品数据,优化XML文件结构 2025-08-16 02:53:18 +00:00
1
caa901d208 feat(model): 新增地图配置、BOSS数据和怪物刷新模块 2025-08-16 02:39:25 +00:00
5e277defb7 feat(map): 实现地图加载和玩家进入地图功能
- 在 Player 结构中添加 MapId 字段,用于记录当前所在地图 ID
- 新增地图配置解析功能,支持从 XML 文件中读取地图信息
- 实现玩家进入地图的逻辑,包括设置玩家位置和广播通知
- 更新登录逻辑,在玩家登录时自动进入默认地图
- 重构地图相关的数据结构和接口,为后续地图功能扩展做准备
2025-08-15 22:44:28 +08:00
dd76919578 refactor: 更新资产路径和依赖
- 修改资产路径:从 'common/data/xml/assets/**' 改为 'public/assets/**'
- 更新 go.mod 文件,添加新依赖:
  - github.com/cespare/xxhash/v2
  - github.com/dgryski/go-rendezvous
  - github.com/go-redis/redis/v8
  - github.com/yitter/idgenerator-go
- 删除 assets 目录下的 XML 文件
2025-08-15 19:24:02 +08:00
1
917fc30f97 "为Player结构添加Context支持并优化登录信息字段命名" 2025-08-11 08:01:59 +00:00
1
d075ec0676 清理代码注释和优化返回值处理 2025-08-11 07:25:18 +00:00
b7cb3effc6 Update and rename test to test.xml 2025-08-11 12:41:38 +08:00
f6f4b945d6 Create test 2025-08-11 12:09:06 +08:00
575560454
627f42b5e3 "feat(assets): 新增游戏对话和地图配置XML资源文件" 2025-08-11 04:02:29 +00:00
0016be7ad0 feat(common): 重构 share 包并添加缓存扫描功能
- 移除了 sessionManager 结构体和相关方法
- 新增 cacheStore 结构体的 Scan 方法,用于扫描匹配模式的键
- 新增 cacheStore 结构体的 MGet 方法,用于批量获取多个键的值
- 优化了代码结构,提高了缓存操作的灵活性和效率
2025-08-09 22:29:41 +08:00
1
10b86ba97e feat(element): 重构元素克制计算器,支持全17种属性及56种双属性组合,新增缓存和并发安全机制 2025-08-06 19:58:53 +00:00
61fa63f3b2 refactor: 删除 Element 组件的实现
删除了 common/data/Element/main.go 文件,该文件包含了 Element 组件的完整实现。这个组件用于计算不同属性之间的相克关系,包括单属性和双属性的计算逻辑。

移除的原因可能是:
- 该组件可能已经不再使用
- 可能有更高效的实现方式
- 为了简化项目结构,移除未使用的代码

如果需要恢复该功能,可以从历史提交中找回该文件并重新添加
2025-08-06 19:37:51 +08:00
1
723d7b8ce4 feat(element): 新增元素属性克制计算器实现,支持单双属性组合计算 2025-08-06 00:02:14 +00:00
1
a9dfe6aac5 "refactor(player): 添加错误检查方法并迁移任务测试代码到独立文件" 2025-08-05 23:49:31 +00:00
1
5d2b48ccc0 refactor(logging): 统一使用自定义Loger替代g.Log()日志记录 2025-07-26 03:48:06 +00:00
1
dcc5ef047c "refactor(logging): 移除调试打印语句,使用gf日志框架记录错误信息" 2025-07-26 03:15:58 +00:00
1
459a779591 "refactor(network): 重构连接处理逻辑,使用自定义Conn类型替代gnet.Conn依赖" 2025-07-26 02:14:54 +00:00