Commit Graph

64 Commits

Author SHA1 Message Date
昔念
6f51a2e349 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-04-15 00:07:36 +08:00
xinian
5a44154d30 feat: 添加地图节点匹配和战斗等级上限 2026-04-06 05:24:14 +08:00
xinian
c021b40fbe feat: 增强踢人逻辑与BOSS脚本支持
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
优化踢人超时处理和僵尸连接清理,支持BOSS动作脚本并增加测试,修复事件匹配与战斗循环中的并发问题。
2026-04-05 21:59:22 +08:00
昔念
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
昔念
5995f0670c ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(game): 实现扭蛋系统批量物品添加功能并优化地图逻辑

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

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

- 为EnterMap、LeaveMap、GetMapPlayerList等方法添加中文注释
- 统一地图相关的命名规范,如enter
2026-04-01 20:10:29 +08:00
昔念
1b6586aedc ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(space): 添加地图模型配置支持并优化BOSS信息结构

添加MapModel字段到MapBossInfo结构体中,用于存储更完整的BOSS模型数据,
修改初始化逻辑从新的MapModel服务获取数据,并更新HP恢复逻辑使用新模型数据。

同时优化MapNode配置表结构,移除冗余字段并调整数据查询逻辑,
将IsBroadcast字段类型改为uint32以
2026-04-01 06:27:03 +08:00
昔念
e7098e3777 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(space): 更新地图BOSS生成逻辑并优化天气变化处理

- 修改GetMapPlayerList方法中BOSS信息发送方式为调用GenBoss方法
- 注释掉Space结构体中的IsChange字段,不再使用该标志位
- 调整GenBoss方法参数,添加isfrist参数用于区分首次调用
- 重构定时任务中的GenBoss调用逻辑,改为匿名函数包装广播消息
- 移除GenBoss
2026-03-18 01:22:14 +08:00
昔念
042a48088d 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-03-08 01:23:28 +08:00
昔念
ecd63bdea5 ```
fix(space): 修复地图节点配置序列化问题并调整时间间隔

- 为MapBossInfo结构体的Config字段添加`struc:"skip"`标签,
解决配置信息序列化时的问题

- 将Space.Next方法的时间间隔从分钟级别调整为秒级别,
修改随机时间范围为10-30秒,便于测试和调试
```
2026-03-08 01:23:06 +08:00
xinian
7bb0ef856a feat: 新增战斗效果并优化boss逻辑
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-03-07 09:55:06 +08:00
昔念
a192ffa6bc ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(space): 更新空间信息结构支持事件配置

- 替换天气字段为事件配置结构体
- 添加事件匹配逻辑验证天气和时间范围
- 实现事件驱动的BOSS显示控制机制
- 引入Event类型用于管理活动配置
```
2026-03-07 01:30:04 +08:00
昔念
ef7595a218 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
fix(fight): 移除调试打印语句并修复宠物类型验证逻辑

移除了PetKing函数中的调试打印语句,确保不再输出调试信息到控制台。
同时保持了宠物类型验证的核心逻辑不变。

fix(fight): 修正boss技能伤害计算公式

修改了NewSel323的OnSkill方法中伤害计算的公式,
将原来的百分比计算方式调整为正确的血量差值计算方式。

feat(space): 调整空间定时器间隔时间

将Space.Next方法的时间间隔从6-30秒大幅增加到10-30分钟,
以适应实际的游戏节奏需求。

refactor(config): 更新宠物基础配置模型结构

移除了PetBaseConfig中Hp字段的not null约束,
使配置更加灵活。

feat(config): 扩展地图坑位配置支持新功能

为map_pit配置添加了MustTask必做任务字段和DropItemIds掉落物ID列表,
同时为item和pet服务增加了列表查询操作的等值过滤支持。
```
2026-03-06 23:49:20 +08:00
昔念
103bc0c232 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(gameplay): 实现空间掉落物品系统

- 在Space结构体中添加DropItemIds字段存储掉落物品配置
- 添加GetDrop方法用于随机获取掉落物品
- 将战斗怪物掉落逻辑从地图服务改为使用空间服务
- 修复屏幕会话中断信号配置为^C

BREAKING CHANGE: 掉落物品逻辑从地图服务迁
2026-03-03 14:04:41 +08:00
昔念
d4551a8c35 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
refactor(space): 重构空间初始化逻辑并修复变量作用域问题

- 将tips和pits的初始化移到循环外部,避免重复创建
- 修复Name赋值位置,确保在正确时机设置空间名称
- 添加条件判断ret.Super != 0,优化性能
- 调整代码结构,提高可读性和维护性
- 移除注释掉的无用代码
```
2026-03-03 01:07:30 +08:00
昔念
79d4343cdc ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(common/cool): 更新GetClient函数支持端口参数

更新GetClient函数签名以接收端口参数,并修改客户端映射键的计算方式,
添加GetClientOnly函数用于仅通过uid获取客户端。

fix(common/rpc): 修复RPC调用中的客户端获取方法

将GetClient调用替换为GetClientOnly,确保正确的客户端获取逻辑。

refactor(logic/controller): 重命名Port字段为UID并优化道具列表处理

将Controller结构体中的Port字段重命名为UID以更好地反映其用途,
优化GetUserItemList函数中道具列表的初始化和填充逻辑。

perf(logic): 调整性能分析web服务启动位置

将PprofWeb服务从全局启动移至调试模式下启动,优化服务配置。

refactor(logic/server): 更新服务器UID生成逻辑

修改Maincontroller的UID字段设置方式,使用服务器ID和端口组合生成唯一标识。

refactor(logic/service/player): 移除未使用的导入并优化怪物生成

移除未使用的service导入,优化怪物生成逻辑中的地图数据访问。

feat(logic/service/space): 添加PitS缓存映射并重构空间初始化

添加新的PitS字段
2026-03-02 23:59:15 +08:00
xinian
7a12aa44eb feat: 添加Go开发工具并重构空间服务初始化逻辑
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
在Dockerfile中添加多个Go开发工具
将空间服务的初始化逻辑从GetSpace方法提取到独立的init方法
优化代码结构并修复导入顺序
2026-03-01 13:47:56 +08:00
xinian
6758483ab2 fix: 修复获取地图数据时可能的空指针异常
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-03-01 11:47:39 +08:00
xinian
9b344d3753 feat: 重构地图热度信息并添加地图提示功能
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
将地图热度信息从简单的计数器改为包含提示信息的结构体
添加矿物、BOSS、宠物和掉落等提示信息的收集功能
优化地图进入和离开时的计数逻辑
2026-03-01 10:44:31 +08:00
xinian
ad43fc8173 refactor: 优化地图节点数据获取逻辑
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
将获取地图Boss信息的过滤逻辑从循环中移至GetDataB方法
2026-02-27 11:06:03 +08:00
xinian
7ceb2fb3d6 refactor: 重构怪物生成和天气处理逻辑
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
将怪物捕捉处理逻辑移至OgrePetInfo结构体
提取天气和Boss生成逻辑为独立方法
移除未使用的导入和冗余代码
2026-02-26 13:38:57 +08:00
昔念
f7e5880092 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(space): 添加天气变化调试日志并优化地图节点配置

- 在天气变化时添加调试打印语句,便于追踪空间天气变化情况
- 重构地图节点模型,将NodeID重命名为TriggerID以更好地表达其用途
- 添加触发器ID字段用于区分精灵和NPC,支持高ID控制NPC逻辑
- 更新注释说明剧情相关配置的重构计划,通过NPC节点判断类型
- 调整地图怪信息结构体初始化逻辑,直接使用TriggerID作为ID
```
2026-02-25 22:47:16 +08:00
昔念
6af88365c2 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(fight_boss): 重构Boss战斗逻辑并修复捕捉功能

- 移除未使用的taskID和canCapture变量
- 简化Boss数据获取逻辑,移除注释掉的旧代码
- 更新捕捉机制使用bosinfo[0].IsCapture
2026-02-25 19:46:31 +08:00
昔念
dc4835f14c ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(common/utils): 添加时间范围检查工具函数

添加了 IsCurrentTimeInRange 函数用于判断当前时间是否在指定的 HH:MM
时间区间内,支持当前日期的时间比较功能。

refactor(logic/controller): 重构 Boss 挑战逻辑并集成配置服务

- 集成 service 模块替代原有硬编码逻辑
- 重构 PlayerFightBoss 方法,使用新的配置数据结构
- 移除已废弃的 processMonID 函数和相关注释代码

refactor(logic/space): 优化地图 Boss 信息管理和天气系统

- 更新地图 Boss 数据
2026-02-25 19:05:50 +08:00
xinian
467890a60b 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-24 00:12:50 +08:00
昔念
f6b583575a 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-20 22:39:04 +08:00
1
53be2cb776 修改 2026-01-23 14:59:15 +00: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
1
1d830ea808 "refactor(map): 优化地图怪物刷新逻辑并调整天气系统实现" 2025-12-16 08:35:22 +00:00
2ab7f59667 ```
feat(socket): 统一使用 glog.Info 替代 glog.Infof

将 ServerEvent.go 中的 glog.Infof 更改为 glog.Info,以统一日志输出方式并减少格式化开销。

feat(controller): 优化宠物经验设置逻辑与错误码返回

在 SetPetExp 方法中提前返回结果,并修正最终返回的错误码为 ErrSystemError。同时规范化注释格式。

feat(space): 支持天气地图判断与动态天气 BOSS 刷新

引入 lo 包用于查找
2025-12-13 18:35:17 +08:00
1
cedb02faf7 ``feat(item): 新增物品出售价格属性(SellPrice)并实现物品出售功能,优化宠物面板计算和时区判断逻辑`` 2025-12-12 19:10:09 +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
1
c2d37648b3 feat(space): 重构地图信息获取逻辑,添加天气系统和BOSS定时任务 2025-12-09 16:14:47 +00:00
1ea4b756f6 ```
feat(service): 更新地图与战斗信息服务结构及逻辑

- 移除 MapLeave 中对 player.Canmon 的重复设置
- 在 MapList 中增加对 TimeBoss 状态的处理并
2025-12-09 16:52:53 +08:00
f6a305de77 ```
feat(fight): 添加 BOSS 战斗逻辑与地图交互功能

- 在 fight_boss.go 中增加对 BOSS 血量是否为 0 的判断,避免无效赋值
- 在 map.go 中移除旧的测试代码,并将 Canmon 状态设置移至 MapList 方法中
- 新增 Attack_Boss 接口方法用于处理玩家攻击 BOSS 请求
- 修改 MapBossInfo 结构体字段类型
2025-12-09 14:52:55 +08:00
f90581e0f6 ```
feat(fight): 优化擂台战斗逻辑与状态管理

- 修改了擂台主人设置逻辑,引入 `Set` 方法统一处理玩家信息更新
- 增加对擂主是否可战斗的判断,防止无效挑战
- 调整连胜计算和广播机制,确保数据一致性
- 修复擂台挑战失败时的状态回滚问题
- 引入错误码替代硬编码返回值,提高代码可读性与维护性
- 统一访问擂台玩家的方式,移除冗余字段
2025-11-28 00:16:51 +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
105c6f5a23 ```
fix(fight): 修复战斗逻辑中的一些潜在问题

- 在 `fight_leitai.go` 中增加玩家是否可以战斗的判断,避免非法挑战
- 注释掉部分冗余的日志打印与广播调用,并调整了擂台状态更新逻辑
- 修正 `effect_62.go` 中镇魂歌效果持续时间的处理方式,引入独立计数器 `duy`
- 优化随机精灵生成逻辑,确保 CatchTime 正确设置
- 增加对数据库操作错误的 panic 处理,提高代码健壮性
- 调整部分结构体指针传递,统一返回结构体指针以避免拷贝问题
- 移除未使用的导入包和调试日志,清理无用代码
```
2025-11-20 21:37:37 +08:00
c0b09c92c4 ```
refactor(common): 统一使用 common.TomeeHeader 替代 player.TomeeHeader

将多处
2025-11-19 16:11:02 +08:00
1
31439b707c fix: 修复空提交问题 2025-11-19 00:09:12 +00:00
1
24f2a6d7c8 fix: 修复空提交问题 2025-11-18 23:41:31 +00:00
1
6831861e0d fix: 修复空提交问题 2025-11-18 22:16:55 +00:00
1
6c32a5d7ac 修改广播逻辑 2025-11-18 20:52:04 +00:00
1
27de997f92 fix: 修复空提交问题 2025-11-17 17:36:24 +00:00
1
795503856c fix: 修复空提交问题 2025-11-17 15:31:23 +00:00
1
5dbff2411c 重构 2025-11-16 20:30:17 +00:00
0a8ef3d555 feat(fight_boss): 新增怪物ID处理逻辑,支持随机选择与过滤空值
新增 `processMonID` 函数用于处理 BOSS 战斗中怪物 ID 的字符串分割、
过滤空值,并在多个 ID 中随机选取一个。优化新手任务 BOSS 战逻辑,
使其更灵活地适配不同的配置输入。

---

refactor(map): 使用 ants 协程池优化地图进出逻辑并移除无用导入

将原本通过
2025-11-16 11:56:57 +08:00
1
88cd1affe4 修复战斗 2025-11-15 22:17:43 +00:00
1
4a4806fd82 补全技能效果 2025-11-15 14:23:52 +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