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]}) diff --git a/tools/run_all_gates.sh b/tools/run_all_gates.sh index b2ad7363..6e867e36 100755 --- a/tools/run_all_gates.sh +++ b/tools/run_all_gates.sh @@ -364,7 +364,7 @@ gate_unit() { # run_all 是 --script 模式,退出码为唯一判据;分 local k for k in $(seq 1 "$_shards"); do ( cd "$REPO" && "$GODOT" --headless --path "$(gate_game_path "$GAME")" --script res://tests/run_all.gd \ - -- "${_user_args[@]}" "--shard=$k" "--shard-count=$_shards" ) \ + -- ${_user_args[@]:+"${_user_args[@]}"} "--shard=$k" "--shard-count=$_shards" ) \ >"$STAMP_DIR/unit_shard_$k.log" 2>&1 & _pids+=($!) done