P7.9: fix headless export — resolve Resource class_name ordering + duplicate RoundManager + simulation stub API
- Fix dead code in server_main.gd (unreachable lag compensation print) - Remove WeaponData type hints from weapon_server.gd (Resource class_name in Node scripts = headless fail) - Use preload() instead of WeaponData class_name in weapon_definitions.gd for const refs - Lazy-init WEAPONS dict (const can't reference preload members) - Remove duplicate class_name RoundManager from server/scripts/round/round_manager.gd - Remove DamageProcessor type hints from round/round_manager.gd and bomb_objective.gd - Add start()/stop()/can_tick()/tick()/spawn_entity()/despawn_entity() to simulation_server_stub.gd - Fix get_world_3d() → get_tree().root.world_3d in weapon_server.gd Node context - Fix var data := → var data = for untyped WeaponDefinitions.get_weapon() returns - Clean export cache and verify server starts with zero parse errors
This commit is contained in:
@@ -117,7 +117,7 @@ func buy_request(weapon_id: String) -> void:
|
||||
## Process a buy request (also callable directly from server-side code).
|
||||
func _process_buy_request(player_id: int, weapon_id: String) -> void:
|
||||
# ── 1. Validate weapon exists ──
|
||||
var weapon_data: WeaponData = WeaponDefinitions.get_weapon(weapon_id)
|
||||
var weapon_data = WeaponDefinitions.get_weapon(weapon_id) # WeaponData — untyped for headless
|
||||
if weapon_data == null:
|
||||
purchase_denied.emit(player_id, weapon_id, "unknown_weapon")
|
||||
_send_buy_denied(player_id, "Unknown weapon: \"%s\"" % weapon_id)
|
||||
@@ -194,7 +194,7 @@ func get_affordable_weapons(player_id: int) -> Array[Dictionary]:
|
||||
for wid in EconomyManager.WEAPON_COSTS.keys():
|
||||
var cost: int = EconomyManager.WEAPON_COSTS[wid]
|
||||
if money >= cost:
|
||||
var data: WeaponData = WeaponDefinitions.get_weapon(wid)
|
||||
var data = WeaponDefinitions.get_weapon(wid) # WeaponData — untyped for headless
|
||||
affordable.append({
|
||||
"weapon_id": wid,
|
||||
"display_name": data.display_name if data else wid,
|
||||
|
||||
Reference in New Issue
Block a user