armazon balance pass

This commit is contained in:
Alan O'Cull 2024-04-03 19:24:04 -04:00
parent f6346dd30f
commit 14480dbdb1
15 changed files with 326 additions and 126 deletions

1
.gitattributes vendored
View File

@ -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/env/bezos_thinking.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

34
assets/env/bezos_thinking.png.import vendored Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://jwjefk17pc64"
path="res://.godot/imported/bezos_thinking.png-525eedae57498f83c0a1a61021354627.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/env/bezos_thinking.png"
dest_files=["res://.godot/imported/bezos_thinking.png-525eedae57498f83c0a1a61021354627.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
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=1

34
assets/env/env_main.tres vendored Normal file
View 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")

View File

@ -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

15
main.gd
View File

@ -51,7 +51,7 @@ 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)
@ -65,7 +65,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)
@ -153,12 +153,17 @@ 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
@ -174,8 +179,10 @@ func do_bonus():
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: func _on_trash(body_rid: RID, body: Node3D, body_shape_index: int, local_shape_index: int) -> void:

198
main.tscn
View File

@ -1,8 +1,7 @@
[gd_scene load_steps=88 format=3 uid="uid://d2ftoqr7ydi38"] [gd_scene load_steps=83 format=3 uid="uid://d2ftoqr7ydi38"]
[ext_resource type="Script" path="res://main.gd" id="1_bcqi1"] [ext_resource type="Script" path="res://main.gd" id="1_bcqi1"]
[ext_resource type="Material" uid="uid://cgkuu3oelkm7o" path="res://assets/materials/garage_floor/mat_floor.tres" id="2_c6dsy"] [ext_resource type="Material" uid="uid://cgkuu3oelkm7o" path="res://assets/materials/garage_floor/mat_floor.tres" id="2_c6dsy"]
[ext_resource type="Texture2D" uid="uid://disx4eju0ps73" path="res://assets/hdris/empty_warehouse_01_2k.hdr" id="2_qo7bc"]
[ext_resource type="PackedScene" uid="uid://ckrf64kt1nvna" path="res://props/items/item_shmaple.tscn" id="3_0p7ep"] [ext_resource type="PackedScene" uid="uid://ckrf64kt1nvna" path="res://props/items/item_shmaple.tscn" id="3_0p7ep"]
[ext_resource type="Material" uid="uid://c4wkwwdrebxbc" path="res://assets/materials/concrete_wall_007/mat_concrete.tres" id="3_4b4gd"] [ext_resource type="Material" uid="uid://c4wkwwdrebxbc" path="res://assets/materials/concrete_wall_007/mat_concrete.tres" id="3_4b4gd"]
[ext_resource type="PackedScene" uid="uid://d1mhxpdh486hr" path="res://props/items/item_cat.tscn" id="4_1o3cd"] [ext_resource type="PackedScene" uid="uid://d1mhxpdh486hr" path="res://props/items/item_cat.tscn" id="4_1o3cd"]
@ -50,6 +49,7 @@
[ext_resource type="ArrayMesh" uid="uid://24u0n6xn4p2d" path="res://assets/bezos/bezoball_low_final.obj" id="28_2lg2m"] [ext_resource type="ArrayMesh" uid="uid://24u0n6xn4p2d" path="res://assets/bezos/bezoball_low_final.obj" id="28_2lg2m"]
[ext_resource type="PackedScene" uid="uid://bcy6n71n62h5o" path="res://props/items/item_moai.tscn" id="29_4lhsd"] [ext_resource type="PackedScene" uid="uid://bcy6n71n62h5o" path="res://props/items/item_moai.tscn" id="29_4lhsd"]
[ext_resource type="Material" uid="uid://ce1j2h75mnkc5" path="res://assets/bezos/mat_bezos.tres" id="29_hasci"] [ext_resource type="Material" uid="uid://ce1j2h75mnkc5" path="res://assets/bezos/mat_bezos.tres" id="29_hasci"]
[ext_resource type="Environment" uid="uid://wgunkcucx28m" path="res://assets/env/env_main.tres" id="30_1njbs"]
[ext_resource type="Texture2D" uid="uid://xd0o421fvato" path="res://assets/env/logo.png" id="30_cprtx"] [ext_resource type="Texture2D" uid="uid://xd0o421fvato" path="res://assets/env/logo.png" id="30_cprtx"]
[ext_resource type="PackedScene" uid="uid://d3w07g7udw5ig" path="res://assets/bezos/BALLZ.glb" id="36_w1osm"] [ext_resource type="PackedScene" uid="uid://d3w07g7udw5ig" path="res://assets/bezos/BALLZ.glb" id="36_w1osm"]
[ext_resource type="PackedScene" uid="uid://bdccq5y56ruro" path="res://props/shelves/shelf.tscn" id="38_f3pj2"] [ext_resource type="PackedScene" uid="uid://bdccq5y56ruro" path="res://props/shelves/shelf.tscn" id="38_f3pj2"]
@ -57,37 +57,6 @@
[ext_resource type="Texture2D" uid="uid://c3uikn1b2sy2u" path="res://assets/props/posters/three_d_design.png" id="43_lq48c"] [ext_resource type="Texture2D" uid="uid://c3uikn1b2sy2u" path="res://assets/props/posters/three_d_design.png" id="43_lq48c"]
[ext_resource type="Material" uid="uid://bdk2p7q54ftfv" path="res://assets/props/blake3/mat_arrow.tres" id="53_slbh8"] [ext_resource type="Material" uid="uid://bdk2p7q54ftfv" path="res://assets/props/blake3/mat_arrow.tres" id="53_slbh8"]
[sub_resource type="Gradient" id="Gradient_qqc4q"]
colors = PackedColorArray(0.08, 0.0608, 0.0752, 1, 1, 1, 1, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_y6d2o"]
gradient = SubResource("Gradient_qqc4q")
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_c8cq0"]
panorama = ExtResource("2_qo7bc")
[sub_resource type="Sky" id="Sky_t2ale"]
sky_material = SubResource("PanoramaSkyMaterial_c8cq0")
[sub_resource type="Environment" id="Environment_cpfbt"]
background_mode = 2
background_energy_multiplier = 0.69
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 = 3
tonemap_exposure = 0.84
tonemap_white = 0.9
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_y6d2o")
[sub_resource type="AnimationLibrary" id="AnimationLibrary_nadsl"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_nadsl"]
_data = { _data = {
"GRAB": ExtResource("20_mcvde"), "GRAB": ExtResource("20_mcvde"),
@ -5284,7 +5253,6 @@ fadein_time = 0.05
fadeout_time = 0.05 fadeout_time = 0.05
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_c1xvk"] [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_c1xvk"]
graph_offset = Vector2(-436.818, 45.2727)
nodes/Animation/node = SubResource("AnimationNodeAnimation_fnfd8") nodes/Animation/node = SubResource("AnimationNodeAnimation_fnfd8")
nodes/Animation/position = Vector2(-200, 140) nodes/Animation/position = Vector2(-200, 140)
"nodes/Animation 2/node" = SubResource("AnimationNodeAnimation_xsp1s") "nodes/Animation 2/node" = SubResource("AnimationNodeAnimation_xsp1s")
@ -5296,6 +5264,7 @@ node_connections = [&"output", 0, &"shot_attack", &"shot_attack", 0, &"Animation
[node name="main" type="Node"] [node name="main" type="Node"]
script = ExtResource("1_bcqi1") script = ExtResource("1_bcqi1")
wage_penalty = 0.1 wage_penalty = 0.1
bonus_count = 5
conveyor_speed = 0.7 conveyor_speed = 0.7
convery_accel = 0.008 convery_accel = 0.008
prop_spawn_dist = 1.3 prop_spawn_dist = 1.3
@ -5308,7 +5277,7 @@ props = Array[PackedScene]([ExtResource("9_4rk7e"), ExtResource("10_leqcn"), Ext
[node name="world" type="Node3D" parent="."] [node name="world" type="Node3D" parent="."]
[node name="WorldEnvironment" type="WorldEnvironment" parent="world"] [node name="WorldEnvironment" type="WorldEnvironment" parent="world"]
environment = SubResource("Environment_cpfbt") environment = ExtResource("30_1njbs")
[node name="ReflectionProbe" type="ReflectionProbe" parent="world"] [node name="ReflectionProbe" type="ReflectionProbe" parent="world"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.84619, -5.64636) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.84619, -5.64636)
@ -5318,13 +5287,14 @@ enable_shadows = true
[node name="SpotLight3D" type="SpotLight3D" parent="world"] [node name="SpotLight3D" type="SpotLight3D" parent="world"]
transform = Transform3D(1, 0, 0, 0, 0.934733, 0.355352, 0, -0.355352, 0.934733, 0, 2.68605, 3.51837) transform = Transform3D(1, 0, 0, 0, 0.934733, 0.355352, 0, -0.355352, 0.934733, 0, 2.68605, 3.51837)
light_color = Color(1, 0.968627, 0.87451, 1)
light_energy = 2.823 light_energy = 2.823
spot_range = 6.13117 spot_range = 6.13117
spot_angle = 46.1437 spot_angle = 46.1437
[node name="SpotLight3D2" type="SpotLight3D" parent="world"] [node name="SpotLight3D2" type="SpotLight3D" parent="world"]
transform = Transform3D(1, 0, 0, 0, 0.0595678, 0.998224, 0, -0.998224, 0.0595678, 0, 10.1873, -9.5967) transform = Transform3D(1, 0, 0, 0, 0.0595678, 0.998224, 0, -0.998224, 0.0595678, 0, 10.1873, -9.5967)
light_color = Color(1, 0.101961, 0.101961, 1) light_color = Color(0.909804, 0.435294, 0.490196, 1)
light_energy = 2.823 light_energy = 2.823
spot_range = 25.4229 spot_range = 25.4229
spot_attenuation = 0.732043 spot_attenuation = 0.732043
@ -5353,31 +5323,31 @@ bones/2/scale = Vector3(1.01115, 1.01115, 1.01115)
bones/3/rotation = Quaternion(0.52569, 0.289474, 0.105462, 0.792927) bones/3/rotation = Quaternion(0.52569, 0.289474, 0.105462, 0.792927)
bones/3/scale = Vector3(0.731301, 0.731302, 0.731301) bones/3/scale = Vector3(0.731301, 0.731302, 0.731301)
bones/4/rotation = Quaternion(0.0791671, 0.591145, 0.0117835, 0.802584) bones/4/rotation = Quaternion(0.0791671, 0.591145, 0.0117835, 0.802584)
bones/5/rotation = Quaternion(0.064732, 0.0390538, 0.0489371, 0.995937) bones/5/rotation = Quaternion(-0.0903072, 0.0310028, 0.0543948, 0.993944)
bones/6/rotation = Quaternion(0.148653, -0.0232256, -0.00737725, 0.988589) bones/6/rotation = Quaternion(0.049692, -0.0223779, -0.00964877, 0.998467)
bones/7/rotation = Quaternion(0.0989149, 0.0065539, -0.00186614, 0.995073) bones/7/rotation = Quaternion(-0.000442635, 0.00670694, -0.00120541, 0.999977)
bones/8/rotation = Quaternion(0.0288045, 0.899182, 0.429723, 0.0773259) bones/8/rotation = Quaternion(0.0105259, 0.832582, 0.548796, 0.0742895)
bones/8/scale = Vector3(1, 1, 1) bones/8/scale = Vector3(1, 1, 1)
bones/9/rotation = Quaternion(0.185325, -0.00979528, -0.00172842, 0.982627) bones/9/rotation = Quaternion(-0.022277, -0.0181709, -0.00391638, 0.999579)
bones/10/rotation = Quaternion(-0.0180491, -0.00418089, -0.015674, 0.999706) bones/10/rotation = Quaternion(-0.224809, -0.000841959, -0.0162008, 0.974268)
bones/10/scale = Vector3(1, 1, 1) bones/10/scale = Vector3(1, 1, 1)
bones/11/rotation = Quaternion(0.00106178, 0.584364, -0.0154954, 0.811343) bones/11/rotation = Quaternion(0.00106178, 0.584364, -0.0154954, 0.811343)
bones/12/rotation = Quaternion(0.0801393, 0.0217532, 0.0243296, 0.996249) bones/12/rotation = Quaternion(-0.0181948, 0.0192559, 0.0263502, 0.999302)
bones/13/rotation = Quaternion(0.081645, -0.0345996, 0.0375262, 0.995354) bones/13/rotation = Quaternion(0.0188626, -0.0368921, 0.0352742, 0.998518)
bones/13/scale = Vector3(1, 1, 1) bones/13/scale = Vector3(1, 1, 1)
bones/14/rotation = Quaternion(0.0352186, -0.00692762, -0.011116, 0.999294) bones/14/rotation = Quaternion(-0.0277198, -0.00621473, -0.0115299, 0.99953)
bones/15/rotation = Quaternion(-0.0611887, 0.573124, -0.0421539, 0.816093) bones/15/rotation = Quaternion(-0.0611887, 0.573124, -0.0421539, 0.816093)
bones/16/rotation = Quaternion(0.0383101, -0.0210182, 0.0344236, 0.998452) bones/16/rotation = Quaternion(0.0281207, -0.0213683, 0.0342076, 0.998791)
bones/16/scale = Vector3(1, 1, 1) bones/16/scale = Vector3(1, 1, 1)
bones/17/rotation = Quaternion(0.0526036, -0.00515821, 0.0307915, 0.998127) bones/17/rotation = Quaternion(0.0460958, -0.00535888, 0.0307568, 0.998449)
bones/17/scale = Vector3(1, 1, 1) bones/17/scale = Vector3(1, 1, 1)
bones/18/rotation = Quaternion(0.0236998, -0.0291246, 0.0247448, 0.998988) bones/18/rotation = Quaternion(0.0171871, -0.0292853, 0.0245545, 0.999122)
bones/18/scale = Vector3(1, 1, 1) bones/18/scale = Vector3(1, 1, 1)
bones/19/rotation = Quaternion(-0.15484, 0.544614, -0.0238322, 0.823925) bones/19/rotation = Quaternion(-0.15484, 0.544614, -0.0238322, 0.823925)
bones/20/rotation = Quaternion(0.0676451, -0.0126384, 0.0177676, 0.997471) bones/20/rotation = Quaternion(0.134667, -0.0114131, 0.0185782, 0.990651)
bones/21/rotation = Quaternion(0.0206376, 0.00145362, -0.0268861, 0.999424) bones/21/rotation = Quaternion(0.051579, 0.000620392, -0.0269184, 0.998306)
bones/21/scale = Vector3(1, 1, 1) bones/21/scale = Vector3(1, 1, 1)
bones/22/rotation = Quaternion(0.0227498, -0.0161194, 0.0696991, 0.997178) bones/22/rotation = Quaternion(0.0536204, -0.0139533, 0.0701654, 0.995996)
bones/22/scale = Vector3(1, 1, 1) bones/22/scale = Vector3(1, 1, 1)
[node name="Main_Body" parent="world/Armondo/rig/Skeleton3D" index="0"] [node name="Main_Body" parent="world/Armondo/rig/Skeleton3D" index="0"]
@ -5699,99 +5669,99 @@ bones/28/scale = Vector3(1.00001, 0.999972, 1.00001)
bones/29/rotation = Quaternion(0.137653, 0.129111, 0.0826848, 0.978542) bones/29/rotation = Quaternion(0.137653, 0.129111, 0.0826848, 0.978542)
bones/29/scale = Vector3(0.979536, 1.0413, 0.981311) bones/29/scale = Vector3(0.979536, 1.0413, 0.981311)
bones/30/rotation = Quaternion(0.024349, 0.587802, 0.0762459, 0.805036) bones/30/rotation = Quaternion(0.024349, 0.587802, 0.0762459, 0.805036)
bones/31/rotation = Quaternion(0.242057, 0.04514, 0.0248795, 0.968892) bones/31/rotation = Quaternion(-0.0246638, 0.0368861, 0.036, 0.998366)
bones/32/rotation = Quaternion(0.134875, -0.0204553, 0.00535819, 0.990637) bones/32/rotation = Quaternion(-0.0426769, -0.021081, 0.00165063, 0.998865)
bones/32/scale = Vector3(1, 1, 1) bones/32/scale = Vector3(1, 1, 1)
bones/33/rotation = Quaternion(0.184105, 0.0053488, -0.00909135, 0.98285) bones/33/rotation = Quaternion(0.0071547, 0.00687393, -0.00799986, 0.999919)
bones/34/rotation = Quaternion(-0.0932649, 0.747185, 0.345414, 0.560095) bones/34/rotation = Quaternion(-0.188124, 0.687709, 0.457229, 0.531608)
bones/35/rotation = Quaternion(0.234566, -0.00777299, -0.00910263, 0.972026) bones/35/rotation = Quaternion(0.00742151, -0.0149808, -0.0105665, 0.999804)
bones/36/rotation = Quaternion(0.035309, 0.00349147, 0.0261364, 0.999029) bones/36/rotation = Quaternion(-0.192855, -0.00254549, 0.0262442, 0.980873)
bones/37/rotation = Quaternion(0.242057, 0.04514, 0.0248795, 0.968892) bones/37/rotation = Quaternion(-0.0246638, 0.0368861, 0.036, 0.998366)
bones/38/rotation = Quaternion(0.134875, -0.0204553, 0.00535819, 0.990637) bones/38/rotation = Quaternion(-0.0426769, -0.021081, 0.00165063, 0.998865)
bones/38/scale = Vector3(1, 1, 1) bones/38/scale = Vector3(1, 1, 1)
bones/39/rotation = Quaternion(0.184105, 0.0053488, -0.00909135, 0.98285) bones/39/rotation = Quaternion(0.0071547, 0.00687393, -0.00799986, 0.999919)
bones/40/rotation = Quaternion(0.242057, 0.0451401, 0.024879, 0.968892) bones/40/rotation = Quaternion(-0.0246637, 0.0368861, 0.0360001, 0.998366)
bones/40/scale = Vector3(1, 0.892713, 1) bones/40/scale = Vector3(1.00283, 1.00604, 1.00283)
bones/41/rotation = Quaternion(-0.0932649, 0.747185, 0.345414, 0.560095) bones/41/rotation = Quaternion(-0.188124, 0.687709, 0.457229, 0.531608)
bones/42/rotation = Quaternion(0.234566, -0.00777299, -0.00910263, 0.972026) bones/42/rotation = Quaternion(0.00742151, -0.0149808, -0.0105665, 0.999804)
bones/43/rotation = Quaternion(0.035309, 0.00349147, 0.0261364, 0.999029) bones/43/rotation = Quaternion(-0.192855, -0.00254549, 0.0262442, 0.980873)
bones/44/rotation = Quaternion(-0.0905008, 0.742685, 0.346148, 0.566048) bones/44/rotation = Quaternion(-0.180105, 0.678315, 0.460448, 0.543543)
bones/44/scale = Vector3(1, 0.924507, 1) bones/44/scale = Vector3(1.0052, 1.07059, 1.0052)
bones/46/rotation = Quaternion(0.242058, 0.0451389, 0.0248794, 0.968892) bones/46/rotation = Quaternion(-0.0246627, 0.0368848, 0.0360002, 0.998366)
bones/46/scale = Vector3(1, 1, 1) bones/46/scale = Vector3(1, 1, 1)
bones/48/rotation = Quaternion(0.134876, -0.0204569, 0.0053587, 0.990637) bones/48/rotation = Quaternion(-0.0426757, -0.0210825, 0.00165154, 0.998865)
bones/48/scale = Vector3(1, 1, 1) bones/48/scale = Vector3(1, 1, 1)
bones/50/rotation = Quaternion(0.184104, 0.00535082, -0.00909065, 0.98285) bones/50/rotation = Quaternion(0.00715301, 0.00687601, -0.00799946, 0.999919)
bones/50/scale = Vector3(1, 1, 1) bones/50/scale = Vector3(1, 1, 1)
bones/52/rotation = Quaternion(-0.0755315, -3.70286e-08, 0.997143, -2.85504e-09) bones/52/rotation = Quaternion(-0.0755315, -5.20828e-08, 0.997143, 3.94743e-09)
bones/52/scale = Vector3(1, 1, 1) bones/52/scale = Vector3(1, 1, 1)
bones/55/rotation = Quaternion(0.242057, 0.04514, 0.0248795, 0.968892) bones/55/rotation = Quaternion(-0.0246638, 0.0368861, 0.036, 0.998366)
bones/56/rotation = Quaternion(-0.0905002, 0.742684, 0.346148, 0.566049) bones/56/rotation = Quaternion(-0.180104, 0.678315, 0.460448, 0.543543)
bones/58/rotation = Quaternion(0.234486, -8.09892e-06, -0.0109752, 0.972058) bones/58/rotation = Quaternion(0.0072362, 0.00248854, -0.0106894, 0.999914)
bones/58/scale = Vector3(1, 1, 1) bones/58/scale = Vector3(1, 1, 1)
bones/60/rotation = Quaternion(0.0353086, 0.00348867, 0.0261374, 0.999029) bones/60/rotation = Quaternion(-0.192855, -0.00254796, 0.0262458, 0.980873)
bones/62/rotation = Quaternion(0.884812, 3.32611e-06, 0.465948, -1.29939e-06) bones/62/rotation = Quaternion(0.884812, 3.32611e-06, 0.465948, -1.29939e-06)
bones/65/rotation = Quaternion(-0.0932649, 0.747185, 0.345414, 0.560095) bones/65/rotation = Quaternion(-0.188124, 0.687709, 0.457229, 0.531608)
bones/66/rotation = Quaternion(-0.0150627, 0.584674, 0.0037911, 0.811119) bones/66/rotation = Quaternion(-0.0150627, 0.584674, 0.0037911, 0.811119)
bones/67/rotation = Quaternion(0.173028, 0.0238745, 0.0218131, 0.984386) bones/67/rotation = Quaternion(-0.0896548, 0.0173604, 0.0272837, 0.995448)
bones/67/scale = Vector3(1, 1, 1) bones/67/scale = Vector3(1, 1, 1)
bones/68/rotation = Quaternion(0.184869, -0.0321809, 0.0279238, 0.981839) bones/68/rotation = Quaternion(0.0143723, -0.0364791, 0.0220131, 0.998989)
bones/68/scale = Vector3(1, 1, 1) bones/68/scale = Vector3(1, 1, 1)
bones/69/rotation = Quaternion(0.200275, -0.0123083, -0.0424413, 0.978743) bones/69/rotation = Quaternion(0.0300815, -0.00487437, -0.0439214, 0.99857)
bones/70/rotation = Quaternion(0.173028, 0.0238745, 0.0218131, 0.984386) bones/70/rotation = Quaternion(-0.0896548, 0.0173604, 0.0272837, 0.995448)
bones/70/scale = Vector3(1, 1, 1) bones/70/scale = Vector3(1, 1, 1)
bones/71/rotation = Quaternion(0.184869, -0.0321809, 0.0279238, 0.981839) bones/71/rotation = Quaternion(0.0143723, -0.0364791, 0.0220131, 0.998989)
bones/71/scale = Vector3(1, 1, 1) bones/71/scale = Vector3(1, 1, 1)
bones/72/rotation = Quaternion(0.200275, -0.0123083, -0.0424413, 0.978743) bones/72/rotation = Quaternion(0.0300815, -0.00487437, -0.0439214, 0.99857)
bones/73/rotation = Quaternion(0.173028, 0.0238745, 0.0218129, 0.984386) bones/73/rotation = Quaternion(-0.089655, 0.0173604, 0.0272839, 0.995448)
bones/73/scale = Vector3(1, 0.90047, 1) bones/73/scale = Vector3(1.00138, 1.00979, 1.00138)
bones/75/rotation = Quaternion(0.173029, 0.0238736, 0.0218129, 0.984386) bones/75/rotation = Quaternion(-0.0896541, 0.0173595, 0.0272837, 0.995448)
bones/75/scale = Vector3(1, 1, 1) bones/75/scale = Vector3(1, 1, 1)
bones/77/rotation = Quaternion(0.184871, -0.032183, 0.0279235, 0.981839) bones/77/rotation = Quaternion(0.0143746, -0.0364812, 0.0220134, 0.998988)
bones/77/scale = Vector3(1, 1, 1) bones/77/scale = Vector3(1, 1, 1)
bones/79/rotation = Quaternion(0.200278, -0.0123113, -0.0424427, 0.978742) bones/79/rotation = Quaternion(0.0300841, -0.00487762, -0.0439222, 0.99857)
bones/80/rotation = Quaternion(-3.08873e-06, 3.24659e-06, 8.01869e-07, 1) bones/80/rotation = Quaternion(-3.08873e-06, 3.24659e-06, 8.01869e-07, 1)
bones/81/rotation = Quaternion(0.028989, 8.18805e-09, 0.99958, -5.23975e-09) bones/81/rotation = Quaternion(0.028989, -1.06754e-08, 0.99958, 1.15049e-09)
bones/81/scale = Vector3(1, 1, 1) bones/81/scale = Vector3(1, 1, 1)
bones/84/rotation = Quaternion(0.173028, 0.0238745, 0.0218131, 0.984386) bones/84/rotation = Quaternion(-0.0896548, 0.0173604, 0.0272837, 0.995448)
bones/84/scale = Vector3(1, 1, 1) bones/84/scale = Vector3(1, 1, 1)
bones/85/rotation = Quaternion(-0.0536367, 0.572428, -0.051421, 0.816581) bones/85/rotation = Quaternion(-0.0536367, 0.572428, -0.051421, 0.816581)
bones/85/scale = Vector3(1, 1, 1) bones/85/scale = Vector3(1, 1, 1)
bones/86/rotation = Quaternion(0.13415, -0.0175976, 0.0363963, 0.990136) bones/86/rotation = Quaternion(-0.0904533, -0.0252843, 0.0315446, 0.99508)
bones/87/rotation = Quaternion(0.158084, -0.0033776, 0.0159898, 0.98729) bones/87/rotation = Quaternion(0.0137011, -0.00565363, 0.0153334, 0.999773)
bones/88/rotation = Quaternion(0.175479, -0.0280704, -0.00798769, 0.984051) bones/88/rotation = Quaternion(0.0313818, -0.0266214, -0.011961, 0.999081)
bones/89/rotation = Quaternion(0.13415, -0.0175976, 0.0363963, 0.990136) bones/89/rotation = Quaternion(-0.0904533, -0.0252843, 0.0315446, 0.99508)
bones/90/rotation = Quaternion(0.158084, -0.0033776, 0.0159898, 0.98729) bones/90/rotation = Quaternion(0.0137011, -0.00565363, 0.0153334, 0.999773)
bones/91/rotation = Quaternion(0.175479, -0.0280704, -0.00798769, 0.984051) bones/91/rotation = Quaternion(0.0313818, -0.0266214, -0.011961, 0.999081)
bones/92/rotation = Quaternion(0.13415, -0.0175977, 0.0363962, 0.990136) bones/92/rotation = Quaternion(-0.0904533, -0.0252844, 0.0315446, 0.99508)
bones/92/scale = Vector3(1, 0.917952, 1) bones/92/scale = Vector3(1.00026, 1.01031, 1.00026)
bones/94/rotation = Quaternion(0.134151, -0.0175979, 0.0363966, 0.990136) bones/94/rotation = Quaternion(-0.090453, -0.0252847, 0.0315449, 0.99508)
bones/95/rotation = Quaternion(-2.952e-07, 2.49594e-07, -2.64961e-07, 1) bones/95/rotation = Quaternion(-2.952e-07, 2.49594e-07, -2.64961e-07, 1)
bones/96/rotation = Quaternion(0.158085, -0.0033785, 0.0159892, 0.98729) bones/96/rotation = Quaternion(0.013702, -0.0056544, 0.0153329, 0.999773)
bones/98/rotation = Quaternion(0.175476, -0.0280677, -0.00798612, 0.984051) bones/98/rotation = Quaternion(0.031379, -0.0266184, -0.0119597, 0.999082)
bones/98/scale = Vector3(1, 1, 1) bones/98/scale = Vector3(1, 1, 1)
bones/100/rotation = Quaternion(0.135625, -8.17917e-08, 0.99076, 5.94618e-09) bones/100/rotation = Quaternion(0.135625, -9.16855e-08, 0.99076, 6.60679e-09)
bones/103/rotation = Quaternion(0.13415, -0.0175976, 0.0363963, 0.990136) bones/103/rotation = Quaternion(-0.0904533, -0.0252843, 0.0315446, 0.99508)
bones/104/rotation = Quaternion(-0.0646238, 0.533247, -0.142714, 0.831327) bones/104/rotation = Quaternion(-0.0646238, 0.533247, -0.142714, 0.831327)
bones/104/scale = Vector3(1, 1, 1) bones/104/scale = Vector3(1, 1, 1)
bones/105/rotation = Quaternion(0.0551059, -0.0070247, 0.0599204, 0.996656) bones/105/rotation = Quaternion(-0.126982, -0.0177998, 0.0576449, 0.990069)
bones/106/rotation = Quaternion(0.112857, -0.00227401, -0.0382723, 0.992871) bones/106/rotation = Quaternion(-0.017219, 0.0027228, -0.0382435, 0.999116)
bones/106/scale = Vector3(1, 1, 1) bones/106/scale = Vector3(1, 1, 1)
bones/107/rotation = Quaternion(0.175576, -0.00698625, 0.0334527, 0.983873) bones/107/rotation = Quaternion(0.0461369, -0.0112772, 0.0322609, 0.99835)
bones/108/rotation = Quaternion(0.0551059, -0.0070247, 0.0599204, 0.996656) bones/108/rotation = Quaternion(-0.126982, -0.0177998, 0.0576449, 0.990069)
bones/109/rotation = Quaternion(0.112857, -0.00227401, -0.0382723, 0.992871) bones/109/rotation = Quaternion(-0.017219, 0.0027228, -0.0382435, 0.999116)
bones/109/scale = Vector3(1, 1, 1) bones/109/scale = Vector3(1, 1, 1)
bones/110/rotation = Quaternion(0.175576, -0.00698625, 0.0334527, 0.983873) bones/110/rotation = Quaternion(0.0461369, -0.0112772, 0.0322609, 0.99835)
bones/111/rotation = Quaternion(0.0551059, -0.00702469, 0.0599202, 0.996656) bones/111/rotation = Quaternion(-0.126982, -0.0177998, 0.0576451, 0.990069)
bones/111/scale = Vector3(1, 0.929485, 1) bones/111/scale = Vector3(1.00965, 1.01251, 1.00965)
bones/112/rotation = Quaternion(2.7474e-08, 3.72529e-09, -1.86265e-09, 1) bones/112/rotation = Quaternion(2.7474e-08, 3.72529e-09, -1.86265e-09, 1)
bones/113/rotation = Quaternion(0.0551063, -0.00702504, 0.0599202, 0.996656) bones/113/rotation = Quaternion(-0.126982, -0.0178002, 0.057645, 0.990069)
bones/113/scale = Vector3(1, 1, 1) bones/113/scale = Vector3(1, 1, 1)
bones/115/rotation = Quaternion(0.11286, -0.00227629, -0.0382738, 0.992871) bones/115/rotation = Quaternion(-0.0172165, 0.00272035, -0.0382448, 0.999116)
bones/117/rotation = Quaternion(0.175572, -0.00698327, 0.0334527, 0.983873) bones/117/rotation = Quaternion(0.0461334, -0.0112743, 0.0322605, 0.998351)
bones/118/rotation = Quaternion(3.45754e-06, -3.00538e-06, 5.0338e-07, 1) bones/118/rotation = Quaternion(3.45754e-06, -3.00538e-06, 5.0338e-07, 1)
bones/119/rotation = Quaternion(0.164736, 2.91293e-07, 0.986338, 7.60808e-07) bones/119/rotation = Quaternion(0.164736, 2.91293e-07, 0.986338, 7.60808e-07)
bones/122/rotation = Quaternion(0.0551059, -0.0070247, 0.0599204, 0.996656) bones/122/rotation = Quaternion(-0.126982, -0.0177998, 0.0576449, 0.990069)
bones/123/rotation = Quaternion(-0.0646238, 0.533247, -0.142714, 0.831327) bones/123/rotation = Quaternion(-0.0646238, 0.533247, -0.142714, 0.831327)
bones/123/scale = Vector3(1, 1, 1) bones/123/scale = Vector3(1, 1, 1)
bones/124/rotation = Quaternion(0.707107, 0, 0, 0.707107) bones/124/rotation = Quaternion(0.707107, 0, 0, 0.707107)

View File

@ -21,6 +21,7 @@ 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]
@ -51,3 +52,4 @@ fullscreen={
[rendering] [rendering]
anti_aliasing/quality/msaa_3d=1 anti_aliasing/quality/msaa_3d=1
environment/defaults/default_environment="res://assets/env/env_main.tres"

View File

@ -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")

13
props/shelves/shelf.gd Normal file
View 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)

View File

@ -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"]

9
score_screen.gd Normal file
View 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
View 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"]

View File

@ -9,7 +9,9 @@ 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")
@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
@ -17,6 +19,12 @@ func _ready() -> void:
pass pass
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 +46,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
View 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