完善客户端功能并同步差距文档
This commit is contained in:
@@ -163,3 +163,46 @@ func _run() -> void:
|
||||
_ck(em4._eff([9, 0, 0, 0], 0, [{"vnum": 5}], 0) == 9, "_eff: parts 非 0 优先")
|
||||
_ck(em4._eff([0, 0, 0, 0], 0, [{"vnum": 5}], 0) == 5, "_eff: parts 0 -> 装备槽")
|
||||
_ck(em4._eff([], 1, [{"vnum": 1}, {"vnum": 2}], 1) == 2, "_eff: 无 parts -> 装备槽")
|
||||
|
||||
# §4.1 修改 4:动物 / 怪物时装(shape 100-103)遮挡武器 + 头发
|
||||
var em5: Node = EquipModel.new()
|
||||
get_root().add_child(em5)
|
||||
em5.setup(fc, il, func() -> Node: return model, assets)
|
||||
em5.main_getter = func() -> int: return 1000
|
||||
em5.armor_shape_of = func(v: int) -> int: return 101 if v == 88888 else v
|
||||
fc.equip[4] = {"vnum": 19, "count": 1, "wear": 4} # 有武器
|
||||
fc.equip[10] = {"vnum": 19, "count": 1, "wear": 10} # 有盾
|
||||
fc.main_parts = [88888, 0, 0, 5] # parts[ARMOR] -> shape 101
|
||||
model.weapon_gr2 = "x"; model.shield_gr2 = "x"; model.hair_gr2 = "x"
|
||||
em5._last_weapon_vnum = -1; em5._last_shield_vnum = -1
|
||||
em5._last_body_vnum = -1; em5._last_head_vnum = -2
|
||||
em5.refresh()
|
||||
_ck(model.weapon_gr2 == "", "动物时装 -> weapon_gr2 清空 (%s)" % model.weapon_gr2)
|
||||
_ck(model.shield_gr2 == "", "动物时装 -> shield_gr2 清空 (%s)" % model.shield_gr2)
|
||||
_ck(model.hair_gr2 == "", "动物时装 -> hair_gr2 清空 (%s)" % model.hair_gr2)
|
||||
# 脱下动物时装 -> 武器恢复解析(资产里 00010.gr2 可能不存在,至少不再是遮挡态)
|
||||
fc.main_parts = [0, 0, 0, 5]
|
||||
em5._last_weapon_vnum = -999; em5._last_shield_vnum = -999
|
||||
em5._last_body_vnum = -1; em5._last_head_vnum = -2
|
||||
em5.refresh()
|
||||
_ck(model.weapon_gr2 == "" or model.weapon_gr2.ends_with("00010.gr2"),
|
||||
"脱时装 -> weapon 重新解析 (%s)" % model.weapon_gr2)
|
||||
|
||||
# 婚纱(shape 201)遮挡武器,但头发保留;捧花例外
|
||||
var em6: Node = EquipModel.new()
|
||||
get_root().add_child(em6)
|
||||
em6.setup(fc, il, func() -> Node: return model, assets)
|
||||
em6.main_getter = func() -> int: return 1000
|
||||
em6.armor_shape_of = func(v: int) -> int: return 201 if v == 99999 else v
|
||||
fc.equip[4] = {"vnum": 19, "count": 1, "wear": 4}
|
||||
fc.main_parts = [99999, 0, 0, 5]
|
||||
model.weapon_gr2 = "x"; model.hair_gr2 = "x"
|
||||
em6._last_weapon_vnum = -1; em6._last_body_vnum = -1; em6._last_head_vnum = -2
|
||||
em6.refresh()
|
||||
_ck(model.weapon_gr2 == "", "婚纱 + 剑 -> weapon_gr2 清空")
|
||||
_ck(model.hair_gr2 != "", "婚纱 -> 头发保留 (%s)" % model.hair_gr2)
|
||||
# 换捧花(vnum 50201)-> 武器恢复
|
||||
fc.main_parts = [99999, 50201, 0, 5]
|
||||
em6._last_weapon_vnum = -999; em6._last_body_vnum = -1; em6._last_head_vnum = -2
|
||||
em6.refresh()
|
||||
_ck(em6._last_weapon_vnum == 50201, "婚纱 + 捧花 -> 武器 vnum 保留 (%d)" % em6._last_weapon_vnum)
|
||||
|
||||
Reference in New Issue
Block a user