 joywayerandClaude Opus 4.8
|
fe1d1f690f
|
feat(resist): EnemyManager 元素抗性加载+命中查表;enemies.json Fast 种子抗火弱冰
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-24 11:51:53 +08:00 |
|
 joywayerandClaude Opus 4.8
|
23644bb40b
|
feat(iframe): PlayerStats.take_damage 时间戳门控无敌窗口 + 复活 PLAYER_DAMAGED emit;移除死订阅
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-24 09:18:54 +08:00 |
|
 joywayerandClaude Opus 4.8
|
daf34ac1bb
|
feat(iframe): balance.json 增 player_iframe_sec 键 + SettingsManager 访问器(默认0.5s)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-24 09:15:48 +08:00 |
|
 joywayerandClaude Opus 4.8
|
2a7658e0e3
|
fix(hot-path): 回退 query_circle 复用缓冲优化——存在重入覆写 bug
上个提交 35c1742 让 query_circle 复用成员 _query_result 缓冲,实测有重入缺陷:
GDScript 的 PackedArray 返回值是活引用别名(非写时复制副本),当调用方遍历返回
的 hits 期间触发嵌套 query_circle(命中→SpellEvaluator.execute_sub 的区域法术),
嵌套调用的 clear()+append 会就地覆写外层正在遍历的同一缓冲,导致碰撞遍历读到错误
实体 ID。编辑器内已复现:外层期望 [10,20,30],重入后实得 [10,88]。
原优化仅省约 0.064ms/帧(帧预算 ~0.4%),不值得为其做跨 4 处调用点的 out 参数
+ 各自持久缓冲的重入安全改造,故回退为每次新建数组。
BulletManager 无冷数据命中快路径无重入问题,保留。
并加注释说明此处禁止复用缓冲的原因。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-23 16:35:31 +08:00 |
|
 joywayerandClaude Opus 4.8
|
35c1742b4c
|
perf(hot-path): SpatialGrid.query_circle 复用结果缓冲 + BulletManager 无冷数据命中快路径
纯 GDScript 层零成本优化(不引入 C#/C++,遵循「先测量后优化」):
- spatial_grid.gd: query_circle 改用持久成员 _query_result(clear()+append 就地填充后返回),
避免每次调用(每帧 1500+ 次)新建 PackedInt32Array。经引擎实测 ~11% 提速、逐点校验
2000 次查询结果与原实现完全一致;CoW 语义保证嵌套查询(命中→SpellEvaluator 区域查询)
不破坏调用方正在遍历的旧结果。
- bullet_manager.gd: _check_collision 命中处理为无冷数据的普通子弹加快路径,
避免 _bullet_contexts.get(bullet_idx, {}) 每次命中都分配空字典默认值 + 5 次字典查。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-23 16:13:33 +08:00 |
|
joywayer
|
95e5587049
|
fix(boss): HUD 阶段提示改 tr(STATUS_BOSS_PHASE)+4语言 .po;register_boss 未知 boss_type push_error
|
2026-07-23 11:07:52 +08:00 |
|
joywayer
|
f8efdc639d
|
fix(boss): 防玩家死亡致命一击重入 —— EnemyBulletManager._swap_and_pop 负数守卫 + BossManager 循环内失效键跳过
|
2026-07-23 10:54:29 +08:00 |
|
joywayer
|
aa516bcb50
|
feat(boss): wave_manager 接入 BossManager(移除旧内联阶段逻辑)+ combat_manager 重置敌弹/Boss
|
2026-07-23 10:22:25 +08:00 |
|
joywayer
|
af535f1ed0
|
feat(boss): 位移/蓄力/近战招式 dash/charge_up/melee(三段式+前摇预警+接管移动)
|
2026-07-23 10:17:18 +08:00 |
|
joywayer
|
c566eb16a0
|
feat(boss): 瞬时远程弹幕招式 ring/spread/aimed/spiral(经 EnemyBulletManager 发射)
|
2026-07-23 10:12:21 +08:00 |
|
joywayer
|
f8b05551e2
|
feat(boss): BossManager 阶段状态机+漂移移动+进阶召唤+BOSS_PHASE_CHANGED/KILLED(招式骨架)
|
2026-07-23 10:06:28 +08:00 |
|
joywayer
|
531706ba62
|
feat(boss): EnemyManager 外部驱动移动接口(register/unregister_external_mover + set_entity_pos + 跳过)
|
2026-07-23 10:00:14 +08:00 |
|
joywayer
|
f5d94a52f0
|
feat(boss): 新增 EnemyBulletManager 敌方子弹子系统(SoA 池 + vs 玩家碰撞)
|
2026-07-23 09:49:32 +08:00 |
|
joywayer
|
29d387aebc
|
feat(boss): 事件常量 BOSS_PHASE_CHANGED=29 / BOSS_KILLED=30 + 目录同步
|
2026-07-23 09:43:44 +08:00 |
|
joywayer
|
b55e6eaadf
|
feat(mana): 魔力虹吸多来源(Core base + 卡组 meta.mana_leech 求和,换杖重算)
|
2026-07-21 15:16:37 +08:00 |
|
joywayer
|
a57348a9f7
|
feat(mana): PlayerStats mana_heat/leech+gain_mana/spend_hp_cost+击杀回蓝;SpellContext hp_cost_accum
|
2026-07-21 15:10:54 +08:00 |
|
joywayer
|
7025f283f8
|
feat(mana): balance.json mana_heat/infinite_spells 配置 + SettingsManager getters
|
2026-07-21 15:09:28 +08:00 |
|
joywayer
|
3ebbcc2f34
|
修改配置
|
2026-07-21 12:06:10 +08:00 |
|
 joywayerandClaude Opus 4.8
|
958d53636c
|
refactor(meta): aether_for_wave 取 maxi 容忍无序阈值表(复审建议,编辑器手填更稳)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-21 11:58:11 +08:00 |
|
joywayer
|
7682480a5f
|
feat(meta): 商店池按 unlock_cost/已解锁门控(_available_pool)
|
2026-07-21 11:45:32 +08:00 |
|
joywayer
|
d6f4f2b5a6
|
feat(meta): 碎片奖励阈值表(balance.json)+aether_for_wave+清除数据钩子
|
2026-07-21 11:43:28 +08:00 |
|
joywayer
|
e8d0c06440
|
feat(meta): MetaProgress autoload(碎片+已解锁+持久化 user://meta.json)
|
2026-07-21 11:42:18 +08:00 |
|
joywayer
|
17aaad3589
|
feat(mana): PlayerStats 蓝池状态 + spend/regen/set_pool + reset 置满
|
2026-07-20 16:26:12 +08:00 |
|
joywayer
|
94a78d1a4c
|
feat(mana): CoreDefinition 加 base_mana_max/regen + cores.json 数据
|
2026-07-20 16:24:36 +08:00 |
|
 joywayerandClaude Opus 4.8
|
dc05eeada7
|
fix: 修复审计发现的 3 个潜在 bug(CoreFeatureTag / pierce / Deck 防呆)
1. CoreFeatureTag 位运算串扰:feature_tags 实为单选枚举(游戏设计器 core_tab
以 OptionButton 下标写入),但 spell_evaluator 用位与 `&` 判定,非 2 的幂
常量会串扰(如 3 & 1 = 1 误判持久内存)。改为 `==` 相等判定,常量值保持
与设计器下标一致;补充注释说明单选语义与未来多选(位标志)的迁移路径。
2. modifier_pierce_plus 空操作:MODIFIER 携带的 pierce 从未生效(可购买无效)。
新增 CastStats.pierce_add,_apply_modifier 累加,_push_projectile 叠加到
ACTION 自带 pierce。穿透修正现在生效。
3. 战前 Deck 防呆缺失:可带无 ACTION 卡组进战斗。新增
CombatManager.has_castable_action();商店"下一波"按钮校验,无 ACTION 时
显示警告并阻止进入(新增 SHOP_NEED_ACTION i18n 键,zh_CN/zh_TW/en/ja)。
静态审查通过;因本机无 Godot CLI 未经运行时验证,需在编辑器 play_scene 验收。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-20 14:46:41 +08:00 |
|
joywayer
|
7bcc0026e0
|
初次提交
|
2026-07-20 10:56:52 +08:00 |
|