Integrate Kenney Starter Kit FPS assets + comprehensive test suite
Assets (CC0 license): - 3D models: Blaster gun, walls, platforms, grass, clouds, enemy - Sounds: blaster fire, impacts, footsteps, jumps, weapon change - Sprites: crosshair, hit marker, muzzle flash, skybox, blob shadow - Font: Lilita One Code changes: - weapon_manager.gd: load blaster.glb as gun model (replaces box mesh) - player.tscn: use Kenney sounds (blaster.ogg, enemy_hurt/destroy) and crosshair Test suite (100 unit tests + 4 integration scenarios): - weapon_data.gd: 27 tests — all 6 weapons every stat verified - economy.gd: 19 tests — constants, loss streak, buy thresholds - bomb.gd: 15 tests — state machine, timing constants - round_manager.gd: 10 tests — win conditions, elimination logic - team_manager.gd: 8 tests — auto-balance, team assignment - headless_test_bot.gd: integration bot with movement/idle/rounds scenarios - run_multi_bot.sh: multi-client launcher
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://coy8ilhhws625"
|
||||
path="res://.godot/imported/blaster.ogg-d3e026ec73cb5863a8cf9d03be3d212d.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/kenney/sounds/blaster.ogg"
|
||||
dest_files=["res://.godot/imported/blaster.ogg-d3e026ec73cb5863a8cf9d03be3d212d.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://3eygi220lt35"
|
||||
path="res://.godot/imported/blaster_repeater.ogg-2ecef535eb526b913bdb5771fb6377c0.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/kenney/sounds/blaster_repeater.ogg"
|
||||
dest_files=["res://.godot/imported/blaster_repeater.ogg-2ecef535eb526b913bdb5771fb6377c0.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://ds7ewtniew0v1"
|
||||
path="res://.godot/imported/enemy_attack.ogg-43c31e7dd351ce5293e0648f81efd3a7.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/kenney/sounds/enemy_attack.ogg"
|
||||
dest_files=["res://.godot/imported/enemy_attack.ogg-43c31e7dd351ce5293e0648f81efd3a7.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://c78bqkavn8d03"
|
||||
path="res://.godot/imported/enemy_destroy.ogg-60b675ad05263909287e021dce612f09.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/kenney/sounds/enemy_destroy.ogg"
|
||||
dest_files=["res://.godot/imported/enemy_destroy.ogg-60b675ad05263909287e021dce612f09.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://doqabrtawuom1"
|
||||
path="res://.godot/imported/enemy_hurt.ogg-5be2f1ae18e1b9d67be4430a38ea25f5.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/kenney/sounds/enemy_hurt.ogg"
|
||||
dest_files=["res://.godot/imported/enemy_hurt.ogg-5be2f1ae18e1b9d67be4430a38ea25f5.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bec5ql7h8n0se"
|
||||
path="res://.godot/imported/jump_a.ogg-1551247b3d59cf4f88ae010135c8131f.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/kenney/sounds/jump_a.ogg"
|
||||
dest_files=["res://.godot/imported/jump_a.ogg-1551247b3d59cf4f88ae010135c8131f.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://drqt31l50nlrb"
|
||||
path="res://.godot/imported/jump_b.ogg-838a02d07c99f91b281378cef29a7154.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/kenney/sounds/jump_b.ogg"
|
||||
dest_files=["res://.godot/imported/jump_b.ogg-838a02d07c99f91b281378cef29a7154.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://dk47wp6fdiu7"
|
||||
path="res://.godot/imported/jump_c.ogg-3ac63dadb9b6f4ee201643b709d74c94.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/kenney/sounds/jump_c.ogg"
|
||||
dest_files=["res://.godot/imported/jump_c.ogg-3ac63dadb9b6f4ee201643b709d74c94.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://cspiy48yt8iwq"
|
||||
path="res://.godot/imported/land.ogg-cca217f86e934945bd0611a3e201b213.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/kenney/sounds/land.ogg"
|
||||
dest_files=["res://.godot/imported/land.ogg-cca217f86e934945bd0611a3e201b213.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://b6iufbjbfdfvi"
|
||||
path="res://.godot/imported/walking.ogg-4022b62660deadb239ef7f53462c91a3.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/kenney/sounds/walking.ogg"
|
||||
dest_files=["res://.godot/imported/walking.ogg-4022b62660deadb239ef7f53462c91a3.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://cmuvb47geyclr"
|
||||
path="res://.godot/imported/weapon_change.ogg-b690b85b69f065fba14d5a8e4ad10066.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/kenney/sounds/weapon_change.ogg"
|
||||
dest_files=["res://.godot/imported/weapon_change.ogg-b690b85b69f065fba14d5a8e4ad10066.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Reference in New Issue
Block a user