fix: 装备属性面板避让逻辑 + 多项功能更新

- item_tooltip_view.gd: 新增 avoid_rect 属性,tooltip 与装备窗口重叠时自动推到左侧
- inventory_ui.gd: 悬停装备时传入窗口矩形作为避让区域
- 包含其他累积的功能开发和测试文件
This commit is contained in:
shen
2026-09-21 16:38:59 -07:00
parent 1522a8a1a1
commit c93894313a
5498 changed files with 4558004 additions and 1442 deletions
+20
View File
@@ -48,6 +48,12 @@ func _reset(g: RefCounted) -> void:
g.is_fishing = false
g.is_using_skill = false
g.can_act = true
g.polymorphed = false
g.wearing_dress = false
g.holding_pickaxe = false
g.horse_can_use = true
g.graphic_can_use = true
g.guild_war_active = false
g.private_shop_open = false
g.level_limit = true
g.cooltime_check = true
@@ -99,6 +105,10 @@ func _run() -> void:
# 公会技 151 -> 路由
if st.has(151) and st.is_guild_skill(151):
_ck(g.click_skill_slot(151).code == "GUILD_ROUTED", "(a) 公会技 -> GUILD_ROUTED")
if st.has(152) and st.is_guild_skill(152):
_ck(g.use_guild_skill(152).code == "ONLY_FOR_GUILD_WAR", "公会战限定技能在非公会战 -> ONLY_FOR_GUILD_WAR")
g.guild_war_active = true
_ck(g.use_guild_skill(152).ok, "公会战限定技能在公会战 -> 可进入独立施放链")
# 被动技 121 -> 静默挡下
if st.has(121) and st.is_passive(121):
var r := g.click_skill_slot(121)
@@ -114,6 +124,16 @@ func _run() -> void:
_ck(g.can_use_skill().code == "OBSERVER", "(b) 观战 -> OBSERVER")
_reset(g); g.can_act = false
_ck(g.can_use_skill().code == "CANNOT_ACT", "(b) 死亡/晕眩/击退 -> CANNOT_ACT")
_reset(g); g.polymorphed = true
_ck(g.can_use_skill().code == "POLYMORPHED", "(b) 变身 -> POLYMORPHED")
_reset(g); g.wearing_dress = true
_ck(g.can_use_skill().code == "WEARING_DRESS", "(b) 婚礼礼服 -> WEARING_DRESS")
_reset(g); g.holding_pickaxe = true
_ck(g.can_use_skill().code == "HOLDING_PICKAXE", "(b) 手持矿镐 -> HOLDING_PICKAXE")
_reset(g); g.horse_can_use = false
_ck(g.can_use_skill().code == "HORSE_CANNOT_USE", "(b) 坐骑动作门 -> HORSE_CANNOT_USE")
_reset(g); g.graphic_can_use = false
_ck(g.can_use_skill().code == "GRAPHIC_CANNOT_USE", "(b) 图形动作门 -> GRAPHIC_CANNOT_USE")
_reset(g); g.mounting = true # 无骑乘术(skills 里 109 只有 level 1 / grade 0)
_ck(g.can_use_skill().code == "NO_RIDING_SKILL", "(b) 骑乘缺骑乘术 -> NO_RIDING_SKILL")
_reset(g); g.mounting = true