Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
406cf8608d | |||
23b283c97c | |||
fde43cf1d3 | |||
14480dbdb1 | |||
f6346dd30f | |||
cddf7d34e5 | |||
8720e7f88f | |||
029ee17ff5 |
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -10,3 +10,4 @@
|
|||||||
*.gltf filter=lfs diff=lfs merge=lfs -text
|
*.gltf filter=lfs diff=lfs merge=lfs -text
|
||||||
*.res filter=lfs diff=lfs merge=lfs -text
|
*.res filter=lfs diff=lfs merge=lfs -text
|
||||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
assets/props/posters/three_d_design.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
BIN
assets/audio/env/buzzer_correct.wav
(Stored with Git LFS)
vendored
Normal file
BIN
assets/audio/env/buzzer_correct.wav
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
24
assets/audio/env/buzzer_correct.wav.import
vendored
Normal file
24
assets/audio/env/buzzer_correct.wav.import
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://dd8yivlir4hat"
|
||||||
|
path="res://.godot/imported/buzzer_correct.wav-a792e451afd4d65aa55ada1736ad630b.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/audio/env/buzzer_correct.wav"
|
||||||
|
dest_files=["res://.godot/imported/buzzer_correct.wav-a792e451afd4d65aa55ada1736ad630b.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=0
|
BIN
assets/audio/env/buzzer_wrong.wav
(Stored with Git LFS)
vendored
Normal file
BIN
assets/audio/env/buzzer_wrong.wav
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
24
assets/audio/env/buzzer_wrong.wav.import
vendored
Normal file
24
assets/audio/env/buzzer_wrong.wav.import
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://cch7qvsk0gngt"
|
||||||
|
path="res://.godot/imported/buzzer_wrong.wav-14db855656c8913c7c25effa9684a485.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/audio/env/buzzer_wrong.wav"
|
||||||
|
dest_files=["res://.godot/imported/buzzer_wrong.wav-14db855656c8913c7c25effa9684a485.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=0
|
10
assets/audio/env/wage_increase.tres
vendored
Normal file
10
assets/audio/env/wage_increase.tres
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[gd_resource type="AudioStreamRandomizer" load_steps=2 format=3 uid="uid://yy14fup8b4pu"]
|
||||||
|
|
||||||
|
[ext_resource type="AudioStream" uid="uid://dmv0xdrcjlky6" path="res://assets/audio/env/wage_increase.wav" id="1_nscs2"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
playback_mode = 2
|
||||||
|
random_pitch = 1.2
|
||||||
|
streams_count = 1
|
||||||
|
stream_0/stream = ExtResource("1_nscs2")
|
||||||
|
stream_0/weight = 1.0
|
BIN
assets/audio/env/wage_increase.wav
(Stored with Git LFS)
vendored
Normal file
BIN
assets/audio/env/wage_increase.wav
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
24
assets/audio/env/wage_increase.wav.import
vendored
Normal file
24
assets/audio/env/wage_increase.wav.import
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://dmv0xdrcjlky6"
|
||||||
|
path="res://.godot/imported/wage_increase.wav-031fe4c2f0cfc428f033889054664828.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/audio/env/wage_increase.wav"
|
||||||
|
dest_files=["res://.godot/imported/wage_increase.wav-031fe4c2f0cfc428f033889054664828.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=0
|
BIN
assets/audio/env/warehouse_ambiance.wav
(Stored with Git LFS)
vendored
Normal file
BIN
assets/audio/env/warehouse_ambiance.wav
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
24
assets/audio/env/warehouse_ambiance.wav.import
vendored
Normal file
24
assets/audio/env/warehouse_ambiance.wav.import
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://b3xmfa1tt1u0k"
|
||||||
|
path="res://.godot/imported/warehouse_ambiance.wav-41f3daa803086dbfed1a991f6a994c51.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/audio/env/warehouse_ambiance.wav"
|
||||||
|
dest_files=["res://.godot/imported/warehouse_ambiance.wav-41f3daa803086dbfed1a991f6a994c51.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=2
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=0
|
BIN
assets/audio/env/warehouse_quiet.wav
(Stored with Git LFS)
vendored
Normal file
BIN
assets/audio/env/warehouse_quiet.wav
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
24
assets/audio/env/warehouse_quiet.wav.import
vendored
Normal file
24
assets/audio/env/warehouse_quiet.wav.import
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://bfgk3wmo0gm38"
|
||||||
|
path="res://.godot/imported/warehouse_quiet.wav-b576f9d2d1e7c6d350db4a4b4b58a5b2.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/audio/env/warehouse_quiet.wav"
|
||||||
|
dest_files=["res://.godot/imported/warehouse_quiet.wav-b576f9d2d1e7c6d350db4a4b4b58a5b2.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=2
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=0
|
BIN
assets/env/bezos_ball.ico
vendored
BIN
assets/env/bezos_ball.ico
vendored
Binary file not shown.
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 207 KiB |
BIN
assets/env/bezos_thinking.png
(Stored with Git LFS)
vendored
Normal file
BIN
assets/env/bezos_thinking.png
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://d30qiv54t56cq"
|
uid="uid://jwjefk17pc64"
|
||||||
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
|
path="res://.godot/imported/bezos_thinking.png-525eedae57498f83c0a1a61021354627.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://icon.svg"
|
source_file="res://assets/env/bezos_thinking.png"
|
||||||
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
|
dest_files=["res://.godot/imported/bezos_thinking.png-525eedae57498f83c0a1a61021354627.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@ -32,6 +32,3 @@ process/hdr_as_srgb=false
|
|||||||
process/hdr_clamp_exposure=false
|
process/hdr_clamp_exposure=false
|
||||||
process/size_limit=0
|
process/size_limit=0
|
||||||
detect_3d/compress_to=1
|
detect_3d/compress_to=1
|
||||||
svg/scale=1.0
|
|
||||||
editor/scale_with_editor_scale=false
|
|
||||||
editor/convert_colors_with_editor_theme=false
|
|
34
assets/env/env_main.tres
vendored
Normal file
34
assets/env/env_main.tres
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[gd_resource type="Environment" load_steps=6 format=3 uid="uid://wgunkcucx28m"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://disx4eju0ps73" path="res://assets/hdris/empty_warehouse_01_2k.hdr" id="1_pxvi5"]
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_ntjuk"]
|
||||||
|
offsets = PackedFloat32Array(0, 0.0386266, 1)
|
||||||
|
colors = PackedColorArray(0, 0, 0, 1, 0.02, 0.0088, 0.01944, 1, 1, 1, 1, 1)
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_0ld3d"]
|
||||||
|
gradient = SubResource("Gradient_ntjuk")
|
||||||
|
|
||||||
|
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_c8cq0"]
|
||||||
|
panorama = ExtResource("1_pxvi5")
|
||||||
|
|
||||||
|
[sub_resource type="Sky" id="Sky_t2ale"]
|
||||||
|
sky_material = SubResource("PanoramaSkyMaterial_c8cq0")
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
background_mode = 2
|
||||||
|
background_energy_multiplier = 0.4
|
||||||
|
sky = SubResource("Sky_t2ale")
|
||||||
|
ambient_light_source = 3
|
||||||
|
ambient_light_color = Color(1, 1, 1, 1)
|
||||||
|
ambient_light_energy = 0.65
|
||||||
|
reflected_light_source = 2
|
||||||
|
tonemap_mode = 2
|
||||||
|
tonemap_exposure = 1.5
|
||||||
|
ssao_enabled = true
|
||||||
|
ssil_enabled = true
|
||||||
|
ssil_intensity = 2.0
|
||||||
|
glow_enabled = true
|
||||||
|
adjustment_enabled = true
|
||||||
|
adjustment_contrast = 1.5
|
||||||
|
adjustment_color_correction = SubResource("GradientTexture1D_0ld3d")
|
@ -1,7 +1,8 @@
|
|||||||
[gd_resource type="StandardMaterial3D" format=3 uid="uid://c2blaccl48fqs"]
|
[gd_resource type="StandardMaterial3D" format=3 uid="uid://c2blaccl48fqs"]
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
albedo_color = Color(0, 1, 0, 1)
|
metallic_specular = 1.0
|
||||||
|
roughness = 0.0
|
||||||
emission_enabled = true
|
emission_enabled = true
|
||||||
emission = Color(0, 1, 0, 1)
|
emission = Color(0, 5, 0, 1)
|
||||||
emission_energy_multiplier = 5.0
|
emission_energy_multiplier = 16.0
|
||||||
|
BIN
assets/props/posters/three_d_design.png
(Stored with Git LFS)
Normal file
BIN
assets/props/posters/three_d_design.png
(Stored with Git LFS)
Normal file
Binary file not shown.
35
assets/props/posters/three_d_design.png.import
Normal file
35
assets/props/posters/three_d_design.png.import
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://c3uikn1b2sy2u"
|
||||||
|
path.s3tc="res://.godot/imported/three_d_design.png-3f693da7e6e5db023af901c4cb9dc953.s3tc.ctex"
|
||||||
|
metadata={
|
||||||
|
"imported_formats": ["s3tc_bptc"],
|
||||||
|
"vram_texture": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/props/posters/three_d_design.png"
|
||||||
|
dest_files=["res://.godot/imported/three_d_design.png-3f693da7e6e5db023af901c4cb9dc953.s3tc.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=2
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
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/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
|
@ -1,4 +1,4 @@
|
|||||||
[gd_resource type="AudioBusLayout" load_steps=4 format=3 uid="uid://y8ex3sirvm5l"]
|
[gd_resource type="AudioBusLayout" load_steps=5 format=3 uid="uid://y8ex3sirvm5l"]
|
||||||
|
|
||||||
[sub_resource type="AudioEffectReverb" id="AudioEffectReverb_ev1xl"]
|
[sub_resource type="AudioEffectReverb" id="AudioEffectReverb_ev1xl"]
|
||||||
resource_name = "Reverb"
|
resource_name = "Reverb"
|
||||||
@ -18,6 +18,12 @@ band_db/16000_hz = -5.6
|
|||||||
[sub_resource type="AudioEffectReverb" id="AudioEffectReverb_fa1qn"]
|
[sub_resource type="AudioEffectReverb" id="AudioEffectReverb_fa1qn"]
|
||||||
resource_name = "Reverb"
|
resource_name = "Reverb"
|
||||||
|
|
||||||
|
[sub_resource type="AudioEffectCompressor" id="AudioEffectCompressor_vg38f"]
|
||||||
|
resource_name = "Compressor"
|
||||||
|
threshold = -7.0
|
||||||
|
ratio = 18.1
|
||||||
|
gain = 9.2
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
bus/1/name = &"Explosion"
|
bus/1/name = &"Explosion"
|
||||||
bus/1/solo = false
|
bus/1/solo = false
|
||||||
@ -43,3 +49,5 @@ bus/3/mute = false
|
|||||||
bus/3/bypass_fx = false
|
bus/3/bypass_fx = false
|
||||||
bus/3/volume_db = 0.0
|
bus/3/volume_db = 0.0
|
||||||
bus/3/send = &"Master"
|
bus/3/send = &"Master"
|
||||||
|
bus/3/effect/0/effect = SubResource("AudioEffectCompressor_vg38f")
|
||||||
|
bus/3/effect/0/enabled = false
|
||||||
|
@ -38,7 +38,7 @@ application/icon_interpolation=4
|
|||||||
application/file_version=""
|
application/file_version=""
|
||||||
application/product_version=""
|
application/product_version=""
|
||||||
application/company_name=""
|
application/company_name=""
|
||||||
application/product_name=""
|
application/product_name="Armazon"
|
||||||
application/file_description=""
|
application/file_description=""
|
||||||
application/copyright=""
|
application/copyright=""
|
||||||
application/trademarks=""
|
application/trademarks=""
|
||||||
@ -60,3 +60,43 @@ Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorActi
|
|||||||
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||||
Remove-Item -Recurse -Force '{temp_dir}'"
|
Remove-Item -Recurse -Force '{temp_dir}'"
|
||||||
|
|
||||||
|
[preset.1]
|
||||||
|
|
||||||
|
name="Linux/X11"
|
||||||
|
platform="Linux/X11"
|
||||||
|
runnable=true
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path="../../GodotExports/Armazon.x86_64"
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
|
||||||
|
[preset.1.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
debug/export_console_wrapper=1
|
||||||
|
binary_format/embed_pck=true
|
||||||
|
texture_format/bptc=true
|
||||||
|
texture_format/s3tc=true
|
||||||
|
texture_format/etc=false
|
||||||
|
texture_format/etc2=false
|
||||||
|
binary_format/architecture="x86_64"
|
||||||
|
ssh_remote_deploy/enabled=false
|
||||||
|
ssh_remote_deploy/host="user@host_ip"
|
||||||
|
ssh_remote_deploy/port="22"
|
||||||
|
ssh_remote_deploy/extra_args_ssh=""
|
||||||
|
ssh_remote_deploy/extra_args_scp=""
|
||||||
|
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||||
|
export DISPLAY=:0
|
||||||
|
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||||
|
\"{temp_dir}/{exe_name}\" {cmd_args}"
|
||||||
|
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||||
|
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
||||||
|
rm -rf \"{temp_dir}\""
|
||||||
|
1
icon.svg
1
icon.svg
@ -1 +0,0 @@
|
|||||||
<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 813 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H447l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c3 34 55 34 58 0v-86c-3-34-55-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>
|
|
Before Width: | Height: | Size: 950 B |
41
main.gd
41
main.gd
@ -25,7 +25,7 @@ const BOX = preload("res://props/box/box.tscn")
|
|||||||
@export var stun_timer_max: float = 1.0
|
@export var stun_timer_max: float = 1.0
|
||||||
|
|
||||||
@export_group("Props")
|
@export_group("Props")
|
||||||
@export var props: Array[PackedScene] = []
|
@export var spawnlist: SpawnList = preload("res://props/spawnlists/props_vanilla.tres")
|
||||||
|
|
||||||
@onready var conveyor: StaticBody3D = %conveyor
|
@onready var conveyor: StaticBody3D = %conveyor
|
||||||
@onready var box_spawner: Node3D = %box_spawner
|
@onready var box_spawner: Node3D = %box_spawner
|
||||||
@ -51,9 +51,15 @@ func _ready() -> void:
|
|||||||
bezos.visible = false
|
bezos.visible = false
|
||||||
$events/bezos_cooldown.start(randf_range(bezos_cooldown_min, bezos_cooldown_max))
|
$events/bezos_cooldown.start(randf_range(bezos_cooldown_min, bezos_cooldown_max))
|
||||||
#$events/bezos_cooldown.start(2)
|
#$events/bezos_cooldown.start(2)
|
||||||
|
Scoring.reset_score()
|
||||||
get_node('%arm_ik').start()
|
get_node('%arm_ik').start()
|
||||||
CameraRumble.grab.connect(anim_grab)
|
CameraRumble.grab.connect(anim_grab)
|
||||||
|
CameraRumble.nuclear_blast.connect(on_nuclear_blast, CONNECT_ONE_SHOT)
|
||||||
|
|
||||||
|
func on_nuclear_blast():
|
||||||
|
print("Nuclear blast")
|
||||||
|
$audio/ambiance1.stop()
|
||||||
|
$audio/ambiance2.play(randf() * 20.0)
|
||||||
|
|
||||||
func anim_grab():
|
func anim_grab():
|
||||||
animtree.set("parameters/shot_grab/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)
|
animtree.set("parameters/shot_grab/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)
|
||||||
@ -65,7 +71,7 @@ func anim_grab():
|
|||||||
@onready var stun_timer: float = 0
|
@onready var stun_timer: float = 0
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
timer += delta
|
timer += delta
|
||||||
$world/light_parent/light.transform.basis = Basis.from_euler(Vector3(0,cos(timer * PI / 3.7) * 0.1,0))
|
$world/light_parent/light.transform.basis = Basis.from_euler(Vector3(0,cos(timer * PI / 3.9) * 0.2,0))
|
||||||
|
|
||||||
camera.v_offset = (cos(timer * 10) * CameraRumble.rumble) * 0.01
|
camera.v_offset = (cos(timer * 10) * CameraRumble.rumble) * 0.01
|
||||||
CameraRumble.rumble = clampf(CameraRumble.rumble - delta * 10.0, 0, 1000)
|
CameraRumble.rumble = clampf(CameraRumble.rumble - delta * 10.0, 0, 1000)
|
||||||
@ -138,8 +144,8 @@ func _physics_process(delta: float) -> void:
|
|||||||
current_prop = spawn_random_prop(prop_spawn)
|
current_prop = spawn_random_prop(prop_spawn)
|
||||||
|
|
||||||
func spawn_random_prop(parent: Node3D) -> PackageItem:
|
func spawn_random_prop(parent: Node3D) -> PackageItem:
|
||||||
var scn = props.pick_random() as PackedScene
|
var propinfo: PropInfo = spawnlist.spawnlist.pick_random()
|
||||||
var prop: PackageItem = scn.instantiate()
|
var prop: PackageItem = propinfo.prop.instantiate()
|
||||||
parent.add_child(prop)
|
parent.add_child(prop)
|
||||||
return prop
|
return prop
|
||||||
|
|
||||||
@ -153,32 +159,50 @@ func _on_box_entered(body_rid: RID, body: Node3D, body_shape_index: int, local_s
|
|||||||
if body is Package:
|
if body is Package:
|
||||||
if body.counted: return
|
if body.counted: return
|
||||||
body.counted = true
|
body.counted = true
|
||||||
|
|
||||||
|
Scoring.increment_boxes()
|
||||||
|
|
||||||
# print("box has: ", body.items.size())
|
# print("box has: ", body.items.size())
|
||||||
# Ensure package is loaded, but don't penalize overloaded packages (players tend to do that when conveyor is slow)
|
# Ensure package is loaded, but don't penalize overloaded packages (players tend to do that when conveyor is slow)
|
||||||
if not body.items.size() > 0:
|
if not body.items.size() > 0:
|
||||||
do_penalty()
|
do_penalty()
|
||||||
boxes_in_row = 0
|
boxes_in_row = 0
|
||||||
else:
|
else:
|
||||||
|
Scoring.increment_score()
|
||||||
|
%points.text = str(Scoring.score) + " pts"
|
||||||
boxes_in_row += 1
|
boxes_in_row += 1
|
||||||
if boxes_in_row >= bonus_count:
|
if boxes_in_row >= bonus_count:
|
||||||
boxes_in_row = 0
|
boxes_in_row = 0
|
||||||
do_bonus()
|
do_bonus()
|
||||||
|
do_success()
|
||||||
|
|
||||||
for item in body.items:
|
for item in body.items:
|
||||||
item.queue_free()
|
item.queue_free()
|
||||||
body.queue_free()
|
body.queue_free()
|
||||||
|
|
||||||
|
func do_success():
|
||||||
|
$world/box_scoring/light_correct.visible = true
|
||||||
|
$world/box_scoring/light_correct/Timer.start(0.2)
|
||||||
|
$world/box_scoring/buzzer_correct.play()
|
||||||
|
|
||||||
func do_bonus():
|
func do_bonus():
|
||||||
wage += wage_bonus
|
wage += wage_bonus
|
||||||
emit_signal("bonus")
|
emit_signal("bonus")
|
||||||
|
$audio/wage_increase.play()
|
||||||
|
|
||||||
func do_penalty():
|
func do_penalty():
|
||||||
wage -= wage_penalty
|
wage -= wage_penalty
|
||||||
if wage < 0:
|
if wage < 0:
|
||||||
get_tree().quit()
|
#get_tree().quit()
|
||||||
|
get_tree().call_deferred("change_scene_to_file", "res://score_screen.tscn")
|
||||||
|
return
|
||||||
emit_signal("penalty")
|
emit_signal("penalty")
|
||||||
|
|
||||||
func _on_trash(body_rid: RID, body: Node3D, body_shape_index: int, local_shape_index: int) -> void:
|
$world/box_scoring/light_incorrect.visible = true
|
||||||
|
$world/box_scoring/light_incorrect/Timer.start(0.2)
|
||||||
|
$world/box_scoring/buzzer_incorrect.play()
|
||||||
|
|
||||||
|
func _on_trash(_body_rid: RID, body: Node3D, _body_shape_index: int, _local_shape_index: int) -> void:
|
||||||
body.queue_free()
|
body.queue_free()
|
||||||
|
|
||||||
## QUICKTIME EVENT
|
## QUICKTIME EVENT
|
||||||
@ -214,7 +238,8 @@ func quicktime_check():
|
|||||||
prop.touched.emit()
|
prop.touched.emit()
|
||||||
|
|
||||||
if dodge_timer > 0:
|
if dodge_timer > 0:
|
||||||
print("successfull dodge")
|
#print("successfull dodge")
|
||||||
|
pass
|
||||||
else:
|
else:
|
||||||
$audio/oof.play()
|
$audio/oof.play()
|
||||||
stun_timer = stun_timer_max
|
stun_timer = stun_timer_max
|
||||||
|
@ -12,15 +12,17 @@ config_version=5
|
|||||||
|
|
||||||
config/name="Armazon"
|
config/name="Armazon"
|
||||||
config/description="Pack boxes safely and efficiently to maximize customer satisfaction."
|
config/description="Pack boxes safely and efficiently to maximize customer satisfaction."
|
||||||
|
config/version="1.0.0"
|
||||||
run/main_scene="res://main.tscn"
|
run/main_scene="res://main.tscn"
|
||||||
config/features=PackedStringArray("4.2", "Forward Plus")
|
config/features=PackedStringArray("4.2", "Forward Plus")
|
||||||
boot_splash/bg_color=Color(0.384314, 0.133333, 0.121569, 1)
|
boot_splash/bg_color=Color(0.384314, 0.133333, 0.121569, 1)
|
||||||
boot_splash/image="res://assets/env/bezos_ball.png"
|
boot_splash/image="res://assets/env/bezos_ball.png"
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://assets/env/bezos_ball.png"
|
||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
||||||
CameraRumble="*res://scripts/camera_rumble.gd"
|
CameraRumble="*res://scripts/camera_rumble.gd"
|
||||||
|
Scoring="*res://scripts/scoring.gd"
|
||||||
|
|
||||||
[input]
|
[input]
|
||||||
|
|
||||||
@ -47,7 +49,10 @@ fullscreen={
|
|||||||
3d_physics/layer_1="all"
|
3d_physics/layer_1="all"
|
||||||
3d_physics/layer_2="box"
|
3d_physics/layer_2="box"
|
||||||
3d_physics/layer_3="item"
|
3d_physics/layer_3="item"
|
||||||
|
3d_physics/layer_4="terrain"
|
||||||
|
3d_physics/layer_5="prop_physics"
|
||||||
|
|
||||||
[rendering]
|
[rendering]
|
||||||
|
|
||||||
anti_aliasing/quality/msaa_3d=1
|
anti_aliasing/quality/msaa_3d=1
|
||||||
|
environment/defaults/default_environment="res://assets/env/env_main.tres"
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
[gd_scene load_steps=7 format=3 uid="uid://wcv3kkpq0k8d"]
|
[gd_scene load_steps=6 format=3 uid="uid://wcv3kkpq0k8d"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://scripts/packageitem.gd" id="1_qrltu"]
|
[ext_resource type="Script" path="res://scripts/packageitem.gd" id="1_qrltu"]
|
||||||
[ext_resource type="PackedScene" uid="uid://ddqsts05d4e70" path="res://props/explosion/nuke_blast.tscn" id="2_1x4qn"]
|
|
||||||
[ext_resource type="ArrayMesh" uid="uid://dr3cnp6q5d5nu" path="res://assets/props/nuke/nuke.obj" id="4_xhr4y"]
|
[ext_resource type="ArrayMesh" uid="uid://dr3cnp6q5d5nu" path="res://assets/props/nuke/nuke.obj" id="4_xhr4y"]
|
||||||
[ext_resource type="AudioStream" uid="uid://jayxq7lbhlkq" path="res://assets/audio/alarm.wav" id="5_iqgh0"]
|
[ext_resource type="AudioStream" uid="uid://jayxq7lbhlkq" path="res://assets/audio/alarm.wav" id="5_iqgh0"]
|
||||||
[ext_resource type="Material" uid="uid://b0onobnp4eo7n" path="res://assets/props/nuke/mat_nuke.tres" id="5_rovnd"]
|
[ext_resource type="Material" uid="uid://b0onobnp4eo7n" path="res://assets/props/nuke/mat_nuke.tres" id="5_rovnd"]
|
||||||
@ -16,7 +15,6 @@ gravity_scale = 1.2
|
|||||||
max_contacts_reported = 2
|
max_contacts_reported = 2
|
||||||
contact_monitor = true
|
contact_monitor = true
|
||||||
script = ExtResource("1_qrltu")
|
script = ExtResource("1_qrltu")
|
||||||
explosion = ExtResource("2_1x4qn")
|
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||||
mesh = ExtResource("4_xhr4y")
|
mesh = ExtResource("4_xhr4y")
|
||||||
|
@ -11,6 +11,7 @@ falloff_exponent = 2.0
|
|||||||
impulse = 5000
|
impulse = 5000
|
||||||
radius = 10.0
|
radius = 10.0
|
||||||
rumble_amount = 25.0
|
rumble_amount = 25.0
|
||||||
|
nuclear = true
|
||||||
|
|
||||||
[node name="GPUParticles3D" type="GPUParticles3D" parent="."]
|
[node name="GPUParticles3D" type="GPUParticles3D" parent="."]
|
||||||
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0)
|
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0)
|
||||||
|
66
props/items/item_moon.tscn
Normal file
66
props/items/item_moon.tscn
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
[gd_scene load_steps=7 format=3 uid="uid://w3ehjryl0efb"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/packageitem.gd" id="1_qlmmm"]
|
||||||
|
|
||||||
|
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_6fr6a"]
|
||||||
|
rough = true
|
||||||
|
absorbent = true
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gshgp"]
|
||||||
|
emission_enabled = true
|
||||||
|
emission = Color(0.818476, 0.77792, 0.721426, 1)
|
||||||
|
emission_energy_multiplier = 0.3
|
||||||
|
|
||||||
|
[sub_resource type="SphereMesh" id="SphereMesh_355go"]
|
||||||
|
material = SubResource("StandardMaterial3D_gshgp")
|
||||||
|
radius = 0.15
|
||||||
|
height = 0.3
|
||||||
|
|
||||||
|
[sub_resource type="SphereShape3D" id="SphereShape3D_4koj6"]
|
||||||
|
radius = 2.75
|
||||||
|
|
||||||
|
[sub_resource type="SphereShape3D" id="SphereShape3D_54whn"]
|
||||||
|
radius = 0.15
|
||||||
|
|
||||||
|
[node name="ItemMoon" type="RigidBody3D"]
|
||||||
|
collision_layer = 4
|
||||||
|
collision_mask = 10
|
||||||
|
collision_priority = 2.0
|
||||||
|
mass = 500.0
|
||||||
|
physics_material_override = SubResource("PhysicsMaterial_6fr6a")
|
||||||
|
gravity_scale = 0.01
|
||||||
|
max_contacts_reported = 2
|
||||||
|
contact_monitor = true
|
||||||
|
linear_velocity = Vector3(0, -2, 0)
|
||||||
|
linear_damp_mode = 1
|
||||||
|
linear_damp = 10.0
|
||||||
|
script = ExtResource("1_qlmmm")
|
||||||
|
has_prop_physics = false
|
||||||
|
|
||||||
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||||
|
mesh = SubResource("SphereMesh_355go")
|
||||||
|
|
||||||
|
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||||
|
light_energy = 0.5
|
||||||
|
light_negative = true
|
||||||
|
distance_fade_enabled = true
|
||||||
|
distance_fade_begin = 4.0
|
||||||
|
distance_fade_length = 5.0
|
||||||
|
|
||||||
|
[node name="gravity_field" type="Area3D" parent="."]
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 16
|
||||||
|
input_ray_pickable = false
|
||||||
|
priority = 1
|
||||||
|
gravity_space_override = 1
|
||||||
|
gravity_point = true
|
||||||
|
gravity_point_unit_distance = 1.0
|
||||||
|
gravity_point_center = Vector3(0, 0, 0)
|
||||||
|
gravity_direction = Vector3(0, 0, 0)
|
||||||
|
gravity = 3.33
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="gravity_field"]
|
||||||
|
shape = SubResource("SphereShape3D_4koj6")
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||||
|
shape = SubResource("SphereShape3D_54whn")
|
5
props/prop_scripts/item_moon.gd
Normal file
5
props/prop_scripts/item_moon.gd
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
extends PackageItem
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
print("POS: ", global_position, "\t\tvelo: ", linear_velocity)
|
11
props/propinfo/propinfo_anvil.tres
Normal file
11
props/propinfo/propinfo_anvil.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://bjhxhdkt5ieq3"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://b30yr3jq1bycl" path="res://props/items/item_anvil.tscn" id="1_xdche"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_ykvr2"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_ykvr2")
|
||||||
|
name = "Anvil"
|
||||||
|
description = "Just make sure your hand is always above it"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_xdche")
|
11
props/propinfo/propinfo_bagel.tres
Normal file
11
props/propinfo/propinfo_bagel.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://6jqmmojbwpc7"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://12takpx3tv5l" path="res://props/items/item_bagel.tscn" id="1_6or65"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_8awy0"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_8awy0")
|
||||||
|
name = "Bagel"
|
||||||
|
description = "https://youtu.be/yo_vI2eoRuk"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_6or65")
|
11
props/propinfo/propinfo_bananana.tres
Normal file
11
props/propinfo/propinfo_bananana.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://ha11uefhiahj"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dkrnww4871lqb" path="res://props/items/item_bananana.tscn" id="1_hrnws"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_htdt2"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_htdt2")
|
||||||
|
name = "Bananananana"
|
||||||
|
description = "Ea t"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_hrnws")
|
11
props/propinfo/propinfo_bean.tres
Normal file
11
props/propinfo/propinfo_bean.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://biiob121j7ov8"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://c11xj7mywm8rf" path="res://props/items/item_bean.tscn" id="1_43krm"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_gmegh"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_gmegh")
|
||||||
|
name = "Bean"
|
||||||
|
description = "The shades are hot-glued on"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_43krm")
|
11
props/propinfo/propinfo_bloaf.tres
Normal file
11
props/propinfo/propinfo_bloaf.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://caqayvsnig7al"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_j8jpx"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://boo1j06sv5yjm" path="res://props/items/item_bloaf.tscn" id="1_l8ki6"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_j8jpx")
|
||||||
|
name = "Bread Loaf"
|
||||||
|
description = "After extensive research and testing, we decided that this was, in-fact, the optimal shape for packing bread"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_l8ki6")
|
11
props/propinfo/propinfo_bucket.tres
Normal file
11
props/propinfo/propinfo_bucket.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://2xn7vrfe4wb0"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://csba3vko1iq71" path="res://props/items/item_bucket.tscn" id="1_cpirk"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_f1py0"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_f1py0")
|
||||||
|
name = "Bucket"
|
||||||
|
description = "Dear God"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_cpirk")
|
11
props/propinfo/propinfo_burger.tres
Normal file
11
props/propinfo/propinfo_burger.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://cbl1wtccbnj8v"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_jo374"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://tvcdw7mklvsl" path="res://props/items/item_burger.tscn" id="1_usdo6"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_jo374")
|
||||||
|
name = "Burger"
|
||||||
|
description = "Burger is made of mud to preserve freshness"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_usdo6")
|
11
props/propinfo/propinfo_cat.tres
Normal file
11
props/propinfo/propinfo_cat.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://dte536hmvykmk"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_1qmlv"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://d1mhxpdh486hr" path="res://props/items/item_cat.tscn" id="1_67hqm"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_1qmlv")
|
||||||
|
name = "Cat"
|
||||||
|
description = "Okay seriously wtf is this thing"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_67hqm")
|
11
props/propinfo/propinfo_chair.tres
Normal file
11
props/propinfo/propinfo_chair.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://d1txn8rcj3rka"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://5x0xil816wg3" path="res://props/items/item_chair.tscn" id="1_3ysd3"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_i3xl5"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_i3xl5")
|
||||||
|
name = "Chair"
|
||||||
|
description = "Take a seat."
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_3ysd3")
|
11
props/propinfo/propinfo_cone.tres
Normal file
11
props/propinfo/propinfo_cone.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://b8flly7quyy8d"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_410v7"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://b1lwr13r7dy3d" path="res://props/items/item_cone.tscn" id="1_mmlt3"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_410v7")
|
||||||
|
name = "Prop"
|
||||||
|
description = "Prop description"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_mmlt3")
|
11
props/propinfo/propinfo_cylinder.tres
Normal file
11
props/propinfo/propinfo_cylinder.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://jnwx37xvk0ug"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_73exn"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://752pj3dweh48" path="res://props/items/item_cylinder.tscn" id="1_ybfhd"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_73exn")
|
||||||
|
name = "Good Cylinders™ Standard-Issue Grey Cylinder"
|
||||||
|
description = "This literally cost us 10¢"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_ybfhd")
|
11
props/propinfo/propinfo_fish.tres
Normal file
11
props/propinfo/propinfo_fish.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://c2qoonw18e155"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_jwex6"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dk6t7f80k4oy8" path="res://props/items/item_fish.tscn" id="1_knmt2"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_jwex6")
|
||||||
|
name = "Fresh? Fish?"
|
||||||
|
description = "Would"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_knmt2")
|
11
props/propinfo/propinfo_five.tres
Normal file
11
props/propinfo/propinfo_five.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://cldo1m7f5sjpb"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://x3v5bs08trt0" path="res://props/items/item_five.tscn" id="1_ut71s"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_vjyp8"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_vjyp8")
|
||||||
|
name = "5"
|
||||||
|
description = "5"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_ut71s")
|
11
props/propinfo/propinfo_gun.tres
Normal file
11
props/propinfo/propinfo_gun.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://mvd0w4j551hr"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_4rb6b"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cvyn0aqnktraw" path="res://props/items/item_gun.tscn" id="1_bl8o0"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_4rb6b")
|
||||||
|
name = "Gun"
|
||||||
|
description = "Shipped pre-loaded and with the safety off, so you can use it with no hassle"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_bl8o0")
|
11
props/propinfo/propinfo_lemonade.tres
Normal file
11
props/propinfo/propinfo_lemonade.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://c4jxcaxrn1mxr"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dgf2johp1nob7" path="res://props/bombs/item_lemonade.tscn" id="1_ofvjt"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_r3lrr"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_r3lrr")
|
||||||
|
name = "Lemonade"
|
||||||
|
description = "I DON'T WANT YOUR DAMN LEMONS"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_ofvjt")
|
11
props/propinfo/propinfo_malk.tres
Normal file
11
props/propinfo/propinfo_malk.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://bmqpamfrmlc5e"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_egq40"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://hoiv06m0w6lw" path="res://props/items/item_malk.tscn" id="1_vlvs3"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_egq40")
|
||||||
|
name = "CD Milk"
|
||||||
|
description = "The latest household commodity in liquid media"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_vlvs3")
|
11
props/propinfo/propinfo_metalrod.tres
Normal file
11
props/propinfo/propinfo_metalrod.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://4gbumey8uvui"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dypmkc8m7p7af" path="res://props/items/item_metalrod.tscn" id="1_4shnp"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_7iy8n"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_7iy8n")
|
||||||
|
name = "Metal Pipe"
|
||||||
|
description = "Trust me, it gets WAY funnier after the 26th time"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_4shnp")
|
11
props/propinfo/propinfo_moai.tres
Normal file
11
props/propinfo/propinfo_moai.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://c7glpav7te6i8"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_ii0w7"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bcy6n71n62h5o" path="res://props/items/item_moai.tscn" id="1_j5yps"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_ii0w7")
|
||||||
|
name = "Ancient Carved Stone"
|
||||||
|
description = "what did they mean by this..."
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_j5yps")
|
11
props/propinfo/propinfo_moon.tres
Normal file
11
props/propinfo/propinfo_moon.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://bmya2lb0deun4"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_brwfd"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://w3ehjryl0efb" path="res://props/items/item_moon.tscn" id="1_gton6"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_brwfd")
|
||||||
|
name = "The Moon"
|
||||||
|
description = "It's slightly moldy from being handled without space gloves"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_gton6")
|
11
props/propinfo/propinfo_nuke.tres
Normal file
11
props/propinfo/propinfo_nuke.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://die5vnwi43a0y"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://wcv3kkpq0k8d" path="res://props/bombs/item_nuke.tscn" id="1_46qvd"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_gxdeh"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_gxdeh")
|
||||||
|
name = "Atomic Bomb"
|
||||||
|
description = "Comes pre-armed with plutonium"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_46qvd")
|
11
props/propinfo/propinfo_pipebomb.tres
Normal file
11
props/propinfo/propinfo_pipebomb.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://dfnoose1iaccl"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dh10j4qwu6gmo" path="res://props/bombs/item_pipebomb.tscn" id="1_0lury"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_3ukin"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_3ukin")
|
||||||
|
name = "Pipe Bomb"
|
||||||
|
description = "Useful"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_0lury")
|
11
props/propinfo/propinfo_pizzahut.tres
Normal file
11
props/propinfo/propinfo_pizzahut.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://djipn0xemredj"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://ds6wtux7vaaia" path="res://props/items/item_pizzahut.tscn" id="1_jssv1"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_sdtgs"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_sdtgs")
|
||||||
|
name = "Pizza Hut"
|
||||||
|
description = "Combination Taco Bell and Pizza Hut"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_jssv1")
|
11
props/propinfo/propinfo_redarrow.tres
Normal file
11
props/propinfo/propinfo_redarrow.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://b7l5oshgyj4d8"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_a08yc"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://ba13afk2ubd6j" path="res://props/items/item_redarrow.tscn" id="1_g018b"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_a08yc")
|
||||||
|
name = "→"
|
||||||
|
description = "see i'm pointing to it on my screen right now"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_g018b")
|
11
props/propinfo/propinfo_rock.tres
Normal file
11
props/propinfo/propinfo_rock.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://b843uo8k0ltpq"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_f0djw"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bx8ujp23n33t8" path="res://props/items/item_rock.tscn" id="1_r8ghr"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_f0djw")
|
||||||
|
name = "Five Minute Rock"
|
||||||
|
description = "And you're making it take LONGER with how SLOW YOU'RE PACKING it"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_r8ghr")
|
11
props/propinfo/propinfo_shmaple.tres
Normal file
11
props/propinfo/propinfo_shmaple.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://b3urvtn6jgffj"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_a47sx"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://ckrf64kt1nvna" path="res://props/items/item_shmaple.tscn" id="1_jjpi6"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_a47sx")
|
||||||
|
name = "Shmamploo"
|
||||||
|
description = "Intensive dissolving fluid. Kid safe."
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_jjpi6")
|
11
props/propinfo/propinfo_shroom.tres
Normal file
11
props/propinfo/propinfo_shroom.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://djqx46s0ip4gh"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_1p8yt"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://0ddfb2i4b03d" path="res://props/items/item_shroom.tscn" id="1_dmfoh"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_1p8yt")
|
||||||
|
name = "Mushroom"
|
||||||
|
description = "m u s h r o o m"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_dmfoh")
|
11
props/propinfo/propinfo_skeleton.tres
Normal file
11
props/propinfo/propinfo_skeleton.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://0wf7sqtd5o1y"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_oq157"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://ddley72a8vmq2" path="res://props/items/item_skeleton.tscn" id="1_ublsl"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_oq157")
|
||||||
|
name = "Skeleton Arm"
|
||||||
|
description = "Okay but seriously, this is badass"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_ublsl")
|
11
props/propinfo/propinfo_umbrella.tres
Normal file
11
props/propinfo/propinfo_umbrella.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://cn8s8ilhah8e0"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dpe7cw4bye1to" path="res://props/items/item_umbrella.tscn" id="1_kt3ae"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_myikc"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_myikc")
|
||||||
|
name = "Umbrella"
|
||||||
|
description = "It's raining... somewhere else"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_kt3ae")
|
11
props/propinfo/propinfo_worm.tres
Normal file
11
props/propinfo/propinfo_worm.tres
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_resource type="Resource" script_class="PropInfo" load_steps=3 format=3 uid="uid://fob61eoh8udf"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/propinfo.gd" id="1_7xj2g"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cugp3qcnsxajf" path="res://props/items/item_worm.tscn" id="1_dgbxq"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_7xj2g")
|
||||||
|
name = "Worm"
|
||||||
|
description = "Waaaay better at packing boxes than you, slowpoke"
|
||||||
|
spawn_weight = 1.0
|
||||||
|
prop = ExtResource("1_dgbxq")
|
13
props/shelves/shelf.gd
Normal file
13
props/shelves/shelf.gd
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
extends RigidBody3D
|
||||||
|
|
||||||
|
func detonate():
|
||||||
|
var blast: Explosion = preload("res://props/explosion/explosion.tscn").instantiate()
|
||||||
|
get_parent().add_child(blast)
|
||||||
|
blast.global_transform = global_transform
|
||||||
|
queue_free()
|
||||||
|
|
||||||
|
func _on_body_entered(body: Node) -> void:
|
||||||
|
if body.name == "conveyor":
|
||||||
|
$Timer.start()
|
||||||
|
call_deferred("set_contact_monitor", false)
|
||||||
|
body_entered.disconnect(_on_body_entered)
|
@ -1,6 +1,7 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://bdccq5y56ruro"]
|
[gd_scene load_steps=5 format=3 uid="uid://bdccq5y56ruro"]
|
||||||
|
|
||||||
[ext_resource type="ArrayMesh" uid="uid://cl4vvh1y3i7a" path="res://assets/props/blake3/Shelves.obj" id="1_bh5mi"]
|
[ext_resource type="ArrayMesh" uid="uid://cl4vvh1y3i7a" path="res://assets/props/blake3/Shelves.obj" id="1_bh5mi"]
|
||||||
|
[ext_resource type="Script" path="res://props/shelves/shelf.gd" id="1_by2ku"]
|
||||||
[ext_resource type="Material" uid="uid://dlcqn8a0dycmj" path="res://assets/props/blake3/mat_blake3.tres" id="2_2kntf"]
|
[ext_resource type="Material" uid="uid://dlcqn8a0dycmj" path="res://assets/props/blake3/mat_blake3.tres" id="2_2kntf"]
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_da465"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_da465"]
|
||||||
@ -9,6 +10,9 @@ size = Vector3(3.02141, 4.27834, 0.811)
|
|||||||
[node name="Shelf" type="RigidBody3D"]
|
[node name="Shelf" type="RigidBody3D"]
|
||||||
collision_mask = 9
|
collision_mask = 9
|
||||||
mass = 100.0
|
mass = 100.0
|
||||||
|
max_contacts_reported = 4
|
||||||
|
contact_monitor = true
|
||||||
|
script = ExtResource("1_by2ku")
|
||||||
|
|
||||||
[node name="Shelves" type="MeshInstance3D" parent="."]
|
[node name="Shelves" type="MeshInstance3D" parent="."]
|
||||||
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0)
|
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0)
|
||||||
@ -19,3 +23,9 @@ surface_material_override/0 = ExtResource("2_2kntf")
|
|||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.15317, -0.005)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.15317, -0.005)
|
||||||
shape = SubResource("BoxShape3D_da465")
|
shape = SubResource("BoxShape3D_da465")
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="."]
|
||||||
|
wait_time = 10.0
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||||
|
[connection signal="timeout" from="Timer" to="." method="detonate"]
|
||||||
|
13
props/spawnlists/props_debug.tres
Normal file
13
props/spawnlists/props_debug.tres
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[gd_resource type="Resource" script_class="SpawnList" load_steps=8 format=3 uid="uid://cj03kcritq6yg"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/spawnlist.gd" id="1_f0qsa"]
|
||||||
|
[ext_resource type="Resource" uid="uid://bmya2lb0deun4" path="res://props/propinfo/propinfo_moon.tres" id="2_y08ma"]
|
||||||
|
[ext_resource type="Resource" uid="uid://jnwx37xvk0ug" path="res://props/propinfo/propinfo_cylinder.tres" id="12_ucmsf"]
|
||||||
|
[ext_resource type="Resource" uid="uid://cldo1m7f5sjpb" path="res://props/propinfo/propinfo_five.tres" id="14_wkybk"]
|
||||||
|
[ext_resource type="Resource" uid="uid://mvd0w4j551hr" path="res://props/propinfo/propinfo_gun.tres" id="15_hedd7"]
|
||||||
|
[ext_resource type="Resource" uid="uid://c7glpav7te6i8" path="res://props/propinfo/propinfo_moai.tres" id="19_drrre"]
|
||||||
|
[ext_resource type="Resource" uid="uid://0wf7sqtd5o1y" path="res://props/propinfo/propinfo_skeleton.tres" id="27_ubbpf"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_f0qsa")
|
||||||
|
spawnlist = Array[Resource("res://scripts/spawning/propinfo.gd")]([ExtResource("2_y08ma"), ExtResource("19_drrre"), ExtResource("12_ucmsf"), ExtResource("27_ubbpf"), ExtResource("15_hedd7"), ExtResource("14_wkybk")])
|
35
props/spawnlists/props_vanilla.tres
Normal file
35
props/spawnlists/props_vanilla.tres
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
[gd_resource type="Resource" script_class="SpawnList" load_steps=30 format=3 uid="uid://di730irs7s1kw"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scripts/spawning/spawnlist.gd" id="1_u3wvi"]
|
||||||
|
[ext_resource type="Resource" uid="uid://bjhxhdkt5ieq3" path="res://props/propinfo/propinfo_anvil.tres" id="2_6xy4d"]
|
||||||
|
[ext_resource type="Resource" uid="uid://6jqmmojbwpc7" path="res://props/propinfo/propinfo_bagel.tres" id="3_mwh8e"]
|
||||||
|
[ext_resource type="Resource" uid="uid://ha11uefhiahj" path="res://props/propinfo/propinfo_bananana.tres" id="4_8oc3o"]
|
||||||
|
[ext_resource type="Resource" uid="uid://biiob121j7ov8" path="res://props/propinfo/propinfo_bean.tres" id="5_4ipxa"]
|
||||||
|
[ext_resource type="Resource" uid="uid://caqayvsnig7al" path="res://props/propinfo/propinfo_bloaf.tres" id="6_46o2v"]
|
||||||
|
[ext_resource type="Resource" uid="uid://2xn7vrfe4wb0" path="res://props/propinfo/propinfo_bucket.tres" id="7_jl2iv"]
|
||||||
|
[ext_resource type="Resource" uid="uid://cbl1wtccbnj8v" path="res://props/propinfo/propinfo_burger.tres" id="8_08828"]
|
||||||
|
[ext_resource type="Resource" uid="uid://dte536hmvykmk" path="res://props/propinfo/propinfo_cat.tres" id="9_ma711"]
|
||||||
|
[ext_resource type="Resource" uid="uid://d1txn8rcj3rka" path="res://props/propinfo/propinfo_chair.tres" id="10_gemkv"]
|
||||||
|
[ext_resource type="Resource" uid="uid://b8flly7quyy8d" path="res://props/propinfo/propinfo_cone.tres" id="11_31mvk"]
|
||||||
|
[ext_resource type="Resource" uid="uid://jnwx37xvk0ug" path="res://props/propinfo/propinfo_cylinder.tres" id="12_1fnem"]
|
||||||
|
[ext_resource type="Resource" uid="uid://c2qoonw18e155" path="res://props/propinfo/propinfo_fish.tres" id="13_j8qoa"]
|
||||||
|
[ext_resource type="Resource" uid="uid://cldo1m7f5sjpb" path="res://props/propinfo/propinfo_five.tres" id="14_l8mx3"]
|
||||||
|
[ext_resource type="Resource" uid="uid://mvd0w4j551hr" path="res://props/propinfo/propinfo_gun.tres" id="15_exete"]
|
||||||
|
[ext_resource type="Resource" uid="uid://c4jxcaxrn1mxr" path="res://props/propinfo/propinfo_lemonade.tres" id="16_6lbqn"]
|
||||||
|
[ext_resource type="Resource" uid="uid://bmqpamfrmlc5e" path="res://props/propinfo/propinfo_malk.tres" id="17_c6lg6"]
|
||||||
|
[ext_resource type="Resource" uid="uid://4gbumey8uvui" path="res://props/propinfo/propinfo_metalrod.tres" id="18_1sdy4"]
|
||||||
|
[ext_resource type="Resource" uid="uid://c7glpav7te6i8" path="res://props/propinfo/propinfo_moai.tres" id="19_n0cxb"]
|
||||||
|
[ext_resource type="Resource" uid="uid://die5vnwi43a0y" path="res://props/propinfo/propinfo_nuke.tres" id="20_hm6pv"]
|
||||||
|
[ext_resource type="Resource" uid="uid://dfnoose1iaccl" path="res://props/propinfo/propinfo_pipebomb.tres" id="21_tiard"]
|
||||||
|
[ext_resource type="Resource" uid="uid://djipn0xemredj" path="res://props/propinfo/propinfo_pizzahut.tres" id="22_reyr4"]
|
||||||
|
[ext_resource type="Resource" uid="uid://b7l5oshgyj4d8" path="res://props/propinfo/propinfo_redarrow.tres" id="23_vpfu3"]
|
||||||
|
[ext_resource type="Resource" uid="uid://b843uo8k0ltpq" path="res://props/propinfo/propinfo_rock.tres" id="24_kts05"]
|
||||||
|
[ext_resource type="Resource" uid="uid://b3urvtn6jgffj" path="res://props/propinfo/propinfo_shmaple.tres" id="25_wbxu6"]
|
||||||
|
[ext_resource type="Resource" uid="uid://djqx46s0ip4gh" path="res://props/propinfo/propinfo_shroom.tres" id="26_wyvse"]
|
||||||
|
[ext_resource type="Resource" uid="uid://0wf7sqtd5o1y" path="res://props/propinfo/propinfo_skeleton.tres" id="27_lkbi1"]
|
||||||
|
[ext_resource type="Resource" uid="uid://cn8s8ilhah8e0" path="res://props/propinfo/propinfo_umbrella.tres" id="28_dbkrt"]
|
||||||
|
[ext_resource type="Resource" uid="uid://fob61eoh8udf" path="res://props/propinfo/propinfo_worm.tres" id="29_6oivx"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_u3wvi")
|
||||||
|
spawnlist = Array[Resource("res://scripts/spawning/propinfo.gd")]([ExtResource("2_6xy4d"), ExtResource("3_mwh8e"), ExtResource("4_8oc3o"), ExtResource("5_4ipxa"), ExtResource("6_46o2v"), ExtResource("7_jl2iv"), ExtResource("8_08828"), ExtResource("9_ma711"), ExtResource("10_gemkv"), ExtResource("11_31mvk"), ExtResource("12_1fnem"), ExtResource("13_j8qoa"), ExtResource("14_l8mx3"), ExtResource("15_exete"), ExtResource("16_6lbqn"), ExtResource("17_c6lg6"), ExtResource("18_1sdy4"), ExtResource("19_n0cxb"), ExtResource("20_hm6pv"), ExtResource("21_tiard"), ExtResource("22_reyr4"), ExtResource("23_vpfu3"), ExtResource("24_kts05"), ExtResource("25_wbxu6"), ExtResource("26_wyvse"), ExtResource("27_lkbi1"), ExtResource("28_dbkrt"), ExtResource("29_6oivx")])
|
15
readme.md
15
readme.md
@ -1,11 +1,10 @@
|
|||||||
# Armazon
|
# Armazon
|
||||||
As a Nile packaging employee, ensuring customer satisfaction is key. Box customer packages safely and efficiently. Don't dilly-dally, or your pay will be docked accordingly.
|
You are an arm working for Nile Shipping and Products. Pack boxes safely and efficiently, while avoiding your abusive manager.
|
||||||
|
|
||||||
Made in a joint effort between Blake Edwards, Matt Schuler, and Alan O'Cull for the 2024 Global Game Jam.
|
Made in a joint effort between Blake Edwards, Matt Schuler, and Alan O'Cull for the 2024 Global Game Jam. Theme was "Make Me Laugh."
|
||||||
|
|
||||||
## TODO
|
## Controls
|
||||||
Props to rescale:
|
- Left click and drag to move props
|
||||||
- Fish
|
- Spacebar to dodge
|
||||||
- Bread
|
- Escape to exit
|
||||||
- Lead Pipe
|
- F11 for fullscreen
|
||||||
- Ball Character
|
|
||||||
|
9
score_screen.gd
Normal file
9
score_screen.gd
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
%score.text = str(Scoring.score) + " pts"
|
||||||
|
%boxes.text = str(Scoring.boxes_passed) + " boxes"
|
||||||
|
func _on_retry_pressed() -> void:
|
||||||
|
get_tree().change_scene_to_file("res://main.tscn")
|
||||||
|
func _on_quit_pressed() -> void:
|
||||||
|
get_tree().quit()
|
94
score_screen.tscn
Normal file
94
score_screen.tscn
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
[gd_scene load_steps=4 format=3 uid="uid://bdhrrm2akjpth"]
|
||||||
|
|
||||||
|
[ext_resource type="Theme" uid="uid://bh1i8c8v60go0" path="res://ui_theme.tres" id="1_3k18l"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://jwjefk17pc64" path="res://assets/env/bezos_thinking.png" id="1_iu6ib"]
|
||||||
|
[ext_resource type="Script" path="res://score_screen.gd" id="2_ijyl7"]
|
||||||
|
|
||||||
|
[node name="ScoreScreen" type="Control"]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme = ExtResource("1_3k18l")
|
||||||
|
script = ExtResource("2_ijyl7")
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
color = Color(0.0901961, 0, 0.0666667, 1)
|
||||||
|
|
||||||
|
[node name="TextureRect2" type="TextureRect" parent="."]
|
||||||
|
self_modulate = Color(1, 0.78, 0.78, 0.176)
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = -1
|
||||||
|
anchor_left = 0.05
|
||||||
|
anchor_top = -0.1
|
||||||
|
anchor_right = 0.4
|
||||||
|
anchor_bottom = 0.3
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
rotation = 0.354302
|
||||||
|
texture = ExtResource("1_iu6ib")
|
||||||
|
expand_mode = 1
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
texture = ExtResource("1_iu6ib")
|
||||||
|
expand_mode = 1
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "you were fired lol"
|
||||||
|
|
||||||
|
[node name="score" type="Label" parent="VBoxContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0.905882, 0.858824, 0.376471, 1)
|
||||||
|
text = "0 pts"
|
||||||
|
|
||||||
|
[node name="boxes" type="Label" parent="VBoxContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
text = "0 boxes"
|
||||||
|
|
||||||
|
[node name="VBoxContainer2" type="VBoxContainer" parent="."]
|
||||||
|
modulate = Color(5, 5, 5, 1)
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
alignment = 2
|
||||||
|
|
||||||
|
[node name="retry" type="Button" parent="VBoxContainer2"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 8
|
||||||
|
text = "they still need me"
|
||||||
|
|
||||||
|
[node name="quit" type="Button" parent="VBoxContainer2"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 8
|
||||||
|
text = "bye"
|
||||||
|
|
||||||
|
[connection signal="pressed" from="VBoxContainer2/retry" to="." method="_on_retry_pressed"]
|
||||||
|
[connection signal="pressed" from="VBoxContainer2/quit" to="." method="_on_quit_pressed"]
|
@ -1,6 +1,7 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
signal grab()
|
signal grab()
|
||||||
|
signal nuclear_blast()
|
||||||
|
|
||||||
@onready var rumble: float = 0
|
@onready var rumble: float = 0
|
||||||
@onready var holding: bool = false
|
@onready var holding: bool = false
|
||||||
|
@ -20,6 +20,7 @@ class_name Explosion
|
|||||||
@onready var blast_visual: CSGSphere3D = null
|
@onready var blast_visual: CSGSphere3D = null
|
||||||
|
|
||||||
@export var rumble_amount: float = 10
|
@export var rumble_amount: float = 10
|
||||||
|
@export var nuclear: bool = false
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
if Engine.is_editor_hint():
|
if Engine.is_editor_hint():
|
||||||
@ -60,6 +61,8 @@ func _ready() -> void:
|
|||||||
var t = $light.create_tween()
|
var t = $light.create_tween()
|
||||||
t.tween_property($light,'light_energy',0,0.6)
|
t.tween_property($light,'light_energy',0,0.6)
|
||||||
CameraRumble.rumble += rumble_amount
|
CameraRumble.rumble += rumble_amount
|
||||||
|
if nuclear:
|
||||||
|
CameraRumble.emit_signal("nuclear_blast")
|
||||||
|
|
||||||
func _exit_tree() -> void:
|
func _exit_tree() -> void:
|
||||||
if not Engine.is_editor_hint():
|
if not Engine.is_editor_hint():
|
||||||
@ -108,8 +111,9 @@ func _physics_process(_delta: float) -> void:
|
|||||||
var hitPos: Vector3 = rayRes.get("position")
|
var hitPos: Vector3 = rayRes.get("position")
|
||||||
var factor: float = falloff(ray_params.from.distance_to(rayRes.get("position")))
|
var factor: float = falloff(ray_params.from.distance_to(rayRes.get("position")))
|
||||||
|
|
||||||
var bodyState = PhysicsServer3D.body_get_direct_state(rid)
|
var bodyState: PhysicsDirectBodyState3D = PhysicsServer3D.body_get_direct_state(rid)
|
||||||
if is_instance_valid(bodyState):
|
if is_instance_valid(bodyState):
|
||||||
|
bodyState.sleeping = false # Force objects to wake up
|
||||||
bodyState.apply_impulse(dir * impulse, hitPos - pos)
|
bodyState.apply_impulse(dir * impulse, hitPos - pos)
|
||||||
|
|
||||||
func falloff(dist: float) -> float:
|
func falloff(dist: float) -> float:
|
||||||
|
@ -9,14 +9,23 @@ signal collide(time: float)
|
|||||||
@onready var last_position: Array[Vector3] = []
|
@onready var last_position: Array[Vector3] = []
|
||||||
@onready var last_collision_count: int = 0
|
@onready var last_collision_count: int = 0
|
||||||
|
|
||||||
@export var explosion: PackedScene
|
@export var explosion: PackedScene = preload("res://props/explosion/nuke_blast.tscn")
|
||||||
|
@export var has_prop_physics: bool = true
|
||||||
|
@onready var random_explosion_delay: float = -1.0
|
||||||
|
const RANDOM_EXPLOSION_CHANCE: float = 1.0 / 50.0
|
||||||
|
|
||||||
func _init() -> void:
|
func _init() -> void:
|
||||||
freeze_mode = RigidBody3D.FREEZE_MODE_STATIC
|
freeze_mode = RigidBody3D.FREEZE_MODE_STATIC
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
pass
|
set_collision_layer_value(5,has_prop_physics)
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
|
if random_explosion_delay > 0:
|
||||||
|
random_explosion_delay -= delta
|
||||||
|
if random_explosion_delay <= 0:
|
||||||
|
detonate()
|
||||||
|
return
|
||||||
|
|
||||||
if held:
|
if held:
|
||||||
global_transform.origin = CameraRumble.get_mouse_pos()
|
global_transform.origin = CameraRumble.get_mouse_pos()
|
||||||
last_position.push_front(global_position)
|
last_position.push_front(global_position)
|
||||||
@ -38,6 +47,10 @@ func _input_event(camera: Camera3D, event: InputEvent, position: Vector3, normal
|
|||||||
|
|
||||||
func pickup():
|
func pickup():
|
||||||
if held: return
|
if held: return
|
||||||
|
|
||||||
|
if randf() < RANDOM_EXPLOSION_CHANCE:
|
||||||
|
random_explosion_delay = randf_range(0.05,5.0)
|
||||||
|
|
||||||
#freeze = true
|
#freeze = true
|
||||||
CameraRumble.emit_signal("grab")
|
CameraRumble.emit_signal("grab")
|
||||||
CameraRumble.holding = true
|
CameraRumble.holding = true
|
||||||
|
12
scripts/scoring.gd
Normal file
12
scripts/scoring.gd
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
@onready var score: int = 0
|
||||||
|
@onready var boxes_passed: int = 0
|
||||||
|
|
||||||
|
func reset_score():
|
||||||
|
score = 0
|
||||||
|
boxes_passed = 0
|
||||||
|
func increment_boxes():
|
||||||
|
boxes_passed += 1
|
||||||
|
func increment_score():
|
||||||
|
score += 1
|
7
scripts/spawning/propinfo.gd
Normal file
7
scripts/spawning/propinfo.gd
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
extends Resource
|
||||||
|
class_name PropInfo
|
||||||
|
|
||||||
|
@export var name: String = "Prop"
|
||||||
|
@export_multiline var description: String = "Prop description"
|
||||||
|
@export_range(0.01,5.0,0.01) var spawn_weight: float = 1.0
|
||||||
|
@export var prop: PackedScene = null
|
4
scripts/spawning/spawnlist.gd
Normal file
4
scripts/spawning/spawnlist.gd
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
extends Resource
|
||||||
|
class_name SpawnList
|
||||||
|
|
||||||
|
@export var spawnlist: Array[PropInfo]
|
@ -5,3 +5,7 @@
|
|||||||
[resource]
|
[resource]
|
||||||
default_font = ExtResource("1_4bf7c")
|
default_font = ExtResource("1_4bf7c")
|
||||||
default_font_size = 48
|
default_font_size = 48
|
||||||
|
Label/colors/font_shadow_color = Color(0, 0, 0, 0.807843)
|
||||||
|
Label/constants/shadow_offset_x = 2
|
||||||
|
Label/constants/shadow_offset_y = 2
|
||||||
|
Label/constants/shadow_outline_size = 16
|
||||||
|
Loading…
Reference in New Issue
Block a user