diff --git a/game/core/status_container.gd b/game/core/status_container.gd index cac4f904..4a40a1c5 100644 --- a/game/core/status_container.gd +++ b/game/core/status_container.gd @@ -60,7 +60,7 @@ func _apply_open(effect_id: String, owner_key: String, source: Dictionary, durat var dur: int = int(row.duration_settlements) if duration_override < 1 else duration_override var snap := _grant_snapshot(row, source) var bucket: Array[Dictionary] = _bucket_of(owner_key) - var hit: Dictionary = {} + var hit: Dictionary[Variant, Variant] = {} for inst in bucket: if inst.effect_id == effect_id: hit = inst diff --git a/game/data/schemas/meta_tree_table.gd b/game/data/schemas/meta_tree_table.gd index 352264c7..4d91f524 100644 --- a/game/data/schemas/meta_tree_table.gd +++ b/game/data/schemas/meta_tree_table.gd @@ -132,14 +132,14 @@ func _validate_one_rule_key_params(nid: String, fx_key: String, rk: String, para errs.append({"category": "domain", "message": "%s %s.%s 缺参数(规则键值须为参数字典——零缺省)" % [nid, fx_key, rk]}) return errs var params: Dictionary[Variant, Variant] = params_v - var expect: Dictionary = RULE_KEY_PARAMS[rk] + var expect: Dictionary[Variant, Variant] = RULE_KEY_PARAMS[rk] for pk in params.keys(): if not expect.has(String(pk)): errs.append({"category": "domain", "message": "%s %s.%s 多参数: %s(参数域表封闭)" % [nid, fx_key, rk, String(pk)]}) elif not (params[pk] is int): errs.append({"category": "domain", "message": "%s %s.%s.%s 越域(须 int)" % [nid, fx_key, rk, String(pk)]}) else: - var dom: Array = expect[String(pk)] + var dom: Array[Variant] = expect[String(pk)] var v := int(params[pk]) if v < int(dom[0]) or v > int(dom[1]): errs.append({"category": "domain", "message": "%s %s.%s.%s 越域 [%d,%d]: %d" % [nid, fx_key, rk, String(pk), int(dom[0]), int(dom[1]), v]})