diff --git a/artifacts/radiation_import.log b/artifacts/radiation_import.log new file mode 100644 index 0000000..8f6fa1a --- /dev/null +++ b/artifacts/radiation_import.log @@ -0,0 +1,46 @@ +Godot Engine v4.7.2.stable.official.ed1daf0bf - https://godotengine.org + +[ 0% ] first_scan_filesystem | Started Project initialization (5 steps) +[ 0% ] first_scan_filesystem | Scanning file structure... +[ 16% ] first_scan_filesystem | Loading global class names... +[ 33% ] first_scan_filesystem | Verifying GDExtensions... +[ 50% ] first_scan_filesystem | Creating autoload scripts... +[ 66% ] first_scan_filesystem | Initializing plugins... +Godot MCP Toolkit v1.0.3 — by NPGameDev · npgamedev.com +[MCPExtensions] Hot-reload watcher active +[MCPServer] port: scanning 6550-6560 (default) +[MCPServer] session token written to user://addons/godot_mcp_toolkit/project_instance_32cc2271ac67/mcp_token +[MCPServer] listening on 127.0.0.1:6551 +[MCPRegistry] registered c:/users/tomek/documents/godot/randoloot on port 6551 +[ 83% ] first_scan_filesystem | Starting file scan... +[ DONE ] first_scan_filesystem + +[ 0% ] update_scripts_classes | Started Registering global classes... (4 steps) +[ 0% ] update_scripts_classes | WeaponAudio +[ 20% ] update_scripts_classes |  +[ 40% ] update_scripts_classes |  +[ 60% ] update_scripts_classes |  +[ DONE ] update_scripts_classes + +[ 0% ] reimport | Started (Re)Importing Assets (1 steps) +[ 0% ] reimport | Preparing files to reimport... +[ 0% ] reimport | Executing pre-reimport operations... +[ 0% ] reimport | radiation.mp3 +[ 50% ] reimport | Finalizing Asset Import... +[ DONE ] reimport + +[ 0% ] reimport | Started (Re)Importing Assets (1 steps) +[ 0% ] reimport | Executing post-reimport operations... +[ DONE ] reimport + +[ 0% ] loading_editor_layout | Started Loading editor (5 steps) +[ 0% ] loading_editor_layout | Loading editor layout... +[ 16% ] loading_editor_layout | Loading docks... +[ 33% ] loading_editor_layout | Reopening scenes... +[ 50% ] loading_editor_layout | Loading central editor layout... +[ 66% ] loading_editor_layout | Loading plugin window layout... +[ 83% ] loading_editor_layout | Editor layout ready. +[ DONE ] loading_editor_layout + +[MCPServer] stopped +[MCPRegistry] deregistered c:/users/tomek/documents/godot/randoloot diff --git a/artifacts/radiation_import_errors.log b/artifacts/radiation_import_errors.log new file mode 100644 index 0000000..e69de29 diff --git a/assets/sounds/effects/radiation.mp3 b/assets/sounds/effects/radiation.mp3 new file mode 100644 index 0000000..32eef03 Binary files /dev/null and b/assets/sounds/effects/radiation.mp3 differ diff --git a/assets/sounds/effects/radiation.mp3.import b/assets/sounds/effects/radiation.mp3.import new file mode 100644 index 0000000..f5a2e08 --- /dev/null +++ b/assets/sounds/effects/radiation.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://xvk4gbt3m8jk" +path="res://.godot/imported/radiation.mp3-702854fbc0298ea0549de8d1ea05ab90.mp3str" + +[deps] + +source_file="res://assets/sounds/effects/radiation.mp3" +dest_files=["res://.godot/imported/radiation.mp3-702854fbc0298ea0549de8d1ea05ab90.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/resources/items/gamma_cannon.tres b/resources/items/gamma_cannon.tres index 7e72f5c..389adca 100644 --- a/resources/items/gamma_cannon.tres +++ b/resources/items/gamma_cannon.tres @@ -14,7 +14,7 @@ stat_suffix = " DMG" weapon_kind = 4 fire_interval = 0.8 projectile_speed = 430.0 -weapon_range = 400.0 +weapon_range = 300.0 damage_lower_roll_min = 10 damage_lower_roll_max = 14 damage_spread_roll_min = 4 diff --git a/scripts/game/weapon_audio.gd b/scripts/game/weapon_audio.gd index e24326f..e655115 100644 --- a/scripts/game/weapon_audio.gd +++ b/scripts/game/weapon_audio.gd @@ -2,7 +2,7 @@ extends RefCounted class_name WeaponAudio const SOUND_PATHS := { - ItemDefinition.WeaponKind.GAMMA: "res://assets/sounds/effects/plasma.mp3", + ItemDefinition.WeaponKind.GAMMA: "res://assets/sounds/effects/radiation.mp3", ItemDefinition.WeaponKind.PLASMA: "res://assets/sounds/effects/plasma.mp3", ItemDefinition.WeaponKind.MACHINE_GUN: "res://assets/sounds/effects/machine_gun.mp3", ItemDefinition.WeaponKind.LASER: "res://assets/sounds/effects/laser.mp3", diff --git a/scripts/levels/level_balance.gd b/scripts/levels/level_balance.gd index 8b7a8d0..dc5494b 100644 --- a/scripts/levels/level_balance.gd +++ b/scripts/levels/level_balance.gd @@ -1,7 +1,7 @@ extends RefCounted const MAX_LEVEL := 1000 -const COUNT_POINTS := [Vector2(1, 5), Vector2(10, 10), Vector2(50, 18), Vector2(100, 23), Vector2(250, 29), Vector2(500, 34), Vector2(1000, 40)] +const COUNT_POINTS := [Vector2(1, 11), Vector2(10, 11), Vector2(15, 11), Vector2(50, 18), Vector2(100, 23), Vector2(250, 29), Vector2(500, 34), Vector2(1000, 40)] const ELITES_PER_LEVEL := 2 static func enemy_count(level: int) -> int: diff --git a/tests/levels/enemy_tiers_test.gd b/tests/levels/enemy_tiers_test.gd index ab98f1a..a9fb11b 100644 --- a/tests/levels/enemy_tiers_test.gd +++ b/tests/levels/enemy_tiers_test.gd @@ -5,6 +5,10 @@ const GENERATOR := preload("res://scripts/levels/system_generator.gd") const ENEMY := preload("res://scenes/game/enemy_ship.tscn") func _ready() -> void: + assert(BALANCE.enemy_tiers(1).count(0) == 8) + assert(preload("res://resources/items/gamma_cannon.tres").weapon_range == 300.0) + for level in range(2, 1001): + assert(BALANCE.enemy_count(level) >= BALANCE.enemy_count(level - 1)) for level in range(1, 1001): var tiers := BALANCE.enemy_tiers(level) assert(tiers.count(1) == 2 and tiers.count(2) == 1) diff --git a/tests/levels/system_generation_test.gd b/tests/levels/system_generation_test.gd index 1d06472..a203db1 100644 --- a/tests/levels/system_generation_test.gd +++ b/tests/levels/system_generation_test.gd @@ -59,8 +59,7 @@ func _ready() -> void: assert(absf(position.x) <= 2380 and absf(position.y) <= 1580) for other_index in range(index + 1, enemies.size()): assert(position.distance_to(enemies[other_index]["position"]) >= GENERATOR.ENEMY_MIN_SEPARATION) - if level <= 10: - assert(enemies[index]["tier"] == (2 if index == 0 else 0)) + assert(enemies[index]["tier"] == BALANCE.enemy_tiers(level)[index]) assert(observed_counts.size() == 5) assert(observed_ship_types.size() == GENERATOR.ALIEN_SHIPS.TEXTURES.size()) print("SYSTEM_GENERATION_TEST: PASS (420 layouts, deterministic retries, planets, safe spawn and level balance 1–1000)")