conforms file names to consistant standard

This commit is contained in:
2026-02-21 04:24:04 +11:00
parent 6b67dd9755
commit 5a4ad8633a
1991 changed files with 3836 additions and 7976 deletions

View File

@@ -0,0 +1,12 @@
[gd_resource type="ShaderMaterial" format=3 uid="uid://b7bnfiwxvih3a"]
[ext_resource type="Shader" uid="uid://dq04j2s5foo2f" path="res://shaders/wiggly_model.gdshader" id="1_xk86o"]
[ext_resource type="Texture2D" uid="uid://dtdp1y7dvcook" path="res://scenes/boom_box/tex_boom_box_speaker.png" id="2_8bqku"]
[resource]
render_priority = 0
shader = ExtResource("1_xk86o")
shader_parameter/albedo = ExtResource("2_8bqku")
shader_parameter/jitter_z_coordinate = true
shader_parameter/jitter_depth_independent = true
shader_parameter/alpha_scissor = 1.0

Binary file not shown.

View File

@@ -0,0 +1,59 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://ca1y03riauk7v"
path="res://.godot/imported/mdl_boom_box.glb-2bdf94ac121d2badd92b33bbe527a91a.scn"
[deps]
source_file="res://scenes/boom_box/mdl_boom_box.glb"
dest_files=["res://.godot/imported/mdl_boom_box.glb-2bdf94ac121d2badd92b33bbe527a91a.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=false
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"@MATERIAL:1": {
"use_external/enabled": true,
"use_external/path": "uid://cjvmf0bl70x6q"
},
"Material.001": {
"use_external/enabled": true,
"use_external/fallback_path": "res://scenes/boom_box/mat_boom_box_speaker.tres",
"use_external/path": "uid://b7bnfiwxvih3a"
},
"Material.002": {
"use_external/enabled": true,
"use_external/fallback_path": "res://materials/metal_2/metal2.tres",
"use_external/path": "uid://cjvmf0bl70x6q"
}
}
}
gltf/naming_version=2
gltf/embedded_image_handling=0

View File

@@ -0,0 +1,75 @@
[gd_scene format=3 uid="uid://1b2ikdanl66b"]
[ext_resource type="Script" uid="uid://bivtfdl3p1brv" path="res://scenes/boom_box/scr_boom_box.gd" id="1_qft15"]
[ext_resource type="Script" uid="uid://dkfswql8ui0bt" path="res://scripts/interact_button.gd" id="4_eavi1"]
[ext_resource type="PackedScene" uid="uid://ca1y03riauk7v" path="res://scenes/boom_box/mdl_boom_box.glb" id="5_8jpsw"]
[ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://audio/aud_shot.wav" id="5_m033a"]
[sub_resource type="BoxShape3D" id="BoxShape3D_0ebt5"]
size = Vector3(3.00441, 0.9920776, 1.2781768)
[sub_resource type="BoxShape3D" id="BoxShape3D_ikdwj"]
size = Vector3(0.8920957, 1.1780555, 0.653507)
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_73g2w"]
random_pitch = 1.1
streams_count = 1
stream_0/stream = ExtResource("5_m033a")
[sub_resource type="BoxShape3D" id="BoxShape3D_21y4o"]
size = Vector3(3.1602442, 1.6259993, 1.007927)
[node name="CardPrinter" type="StaticBody3D" unique_id=459800869 node_paths=PackedStringArray("button", "button_collider")]
script = ExtResource("1_qft15")
button = NodePath("StaticBody3D")
button_collider = NodePath("StaticBody3D/CollisionShape3D2")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=30960146]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0007226467, 0.47737724, 0.562555)
shape = SubResource("BoxShape3D_0ebt5")
[node name="boombox" parent="." unique_id=1990632876 instance=ExtResource("5_8jpsw")]
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.03968942, 1.5274034, 0.27377868)
[node name="StaticBody3D" type="StaticBody3D" parent="." unique_id=427437411]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.847404, 0.610684)
collision_layer = 16
collision_mask = 0
script = ExtResource("4_eavi1")
press_cost = 1
[node name="CollisionShape3D2" type="CollisionShape3D" parent="StaticBody3D" unique_id=914833676]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.11519222, 0.80499697, 0.5172301)
shape = SubResource("BoxShape3D_ikdwj")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="StaticBody3D" unique_id=2125771228]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.578748, -0.587001)
stream = SubResource("AudioStreamRandomizer_73g2w")
volume_db = -6.5
bus = &"SFX"
[node name="CSGBox3D3" type="CSGBox3D" parent="." unique_id=1739651585]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.83318865, 0.5436785)
size = Vector3(3.01, 0.275, 1.3083398)
[node name="CSGBox3D4" type="CSGBox3D" parent="." unique_id=1331903082]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2236495, 0.46450287, 0.9188268)
size = Vector3(0.355, 1, 0.37)
[node name="CSGBox3D5" type="CSGBox3D" parent="." unique_id=792536346]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2526929, 0.46450287, 0.9501231)
size = Vector3(0.355, 1, 0.37)
[node name="CSGBox3D6" type="CSGBox3D" parent="." unique_id=924404615]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2410457, 0.46450287, 0.15670347)
size = Vector3(0.355, 1, 0.37)
[node name="CSGBox3D7" type="CSGBox3D" parent="." unique_id=1351624555]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2410758, 0.46450287, 0.1566062)
size = Vector3(0.355, 1, 0.37)
[node name="CollisionShape3D2" type="CollisionShape3D" parent="." unique_id=1288587195]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0032413006, 1.7864776, 0.59116006)
shape = SubResource("BoxShape3D_21y4o")
[connection signal="button_interacted" from="StaticBody3D" to="." method="_on_static_body_3d_button_interacted"]

View File

@@ -0,0 +1,78 @@
class_name BoomBox extends StaticBody3D
@export var button: InteractButton
@export var button_collider: CollisionShape3D
@export var cassette_selection_menu: PackedScene
var cassettes_generated: int = 0
var reply_player: Hero
var spawned_cassettes: Array[CassetteItem] = []
func _ready() -> void:
button.hover_text = tr("PROMPT_RADIO_INTERACT")
func generate_rarity() -> int:
var weight_total: int = 0
for rarity: String in Data.Rarity:
weight_total += Data.rarity_weights[rarity]
var generated_rarity: int = NoiseRandom.randi_in_range(4 * cassettes_generated, 0, weight_total)
cassettes_generated += 1
var decided_rarity: int = 0
for rarity: String in Data.Rarity:
weight_total -= Data.rarity_weights[rarity]
if generated_rarity >= weight_total:
decided_rarity = Data.Rarity[rarity]
break
return decided_rarity
func find_cassettes(role: Cassette.Role, rarity: Data.Rarity, allowed_cassettes: Array[Cassette]) -> void:
var decided_rarity: int = rarity
if rarity == null:
decided_rarity = generate_rarity()
var cassette_choices: Array[Cassette] = allowed_cassettes
if !cassette_choices:
cassette_choices = Cassette.get_role_cassettes(role)
var cassettes: Array[Cassette] = []
var valid_cassettes_found: bool = false
var testing_rarity: int = decided_rarity
while !valid_cassettes_found:
for cassette: Cassette in cassette_choices:
if cassette.rarity == testing_rarity:
cassettes.append(cassette)
if cassettes.size() != 0:
valid_cassettes_found = true
testing_rarity -= 1
if testing_rarity < 0:
testing_rarity = 4
if testing_rarity == decided_rarity:
print("This character doesn't have any cassettes!")
return
var menu: ChooseCassetteScreen = cassette_selection_menu.instantiate() as ChooseCassetteScreen
menu.add_cassettes(cassettes)
menu.cassette_chosen.connect(output_cassette)
reply_player.pause()
reply_player.hud.add_child(menu)
func output_cassette(cassette: Cassette) -> void:
reply_player.add_cassette(cassette)
reply_player.unpause()
reply_player = null
button_collider.disabled = false
$StaticBody3D/AudioStreamPlayer3D.play()
func _on_static_body_3d_button_interacted(_value: int, reply: Hero) -> void:
reply_player = reply
if reply.blank_cassettes >= 1:
reply.blank_cassettes -= 1
else:
return
button_collider.disabled = true
$StaticBody3D/AudioStreamPlayer3D.play()
find_cassettes(reply.hero_class.role, reply.game_manager.level_config.waves[reply.game_manager.wave - 1].station, reply.game_manager.level_config.allowed_cassettes)

View File

@@ -0,0 +1 @@
uid://bivtfdl3p1brv

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,44 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dtdp1y7dvcook"
path.s3tc="res://.godot/imported/tex_boom_box_speaker.png-f3b3d36032c5939cbe8904e586d3ecdf.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "77c6adf66e10f09a997e096353d67627"
}
[deps]
source_file="res://scenes/boom_box/tex_boom_box_speaker.png"
dest_files=["res://.godot/imported/tex_boom_box_speaker.png-f3b3d36032c5939cbe8904e586d3ecdf.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0