From 406cf8608df7b1aec9999ed193808b41b6ef339f Mon Sep 17 00:00:00 2001 From: alan Date: Tue, 23 Jul 2024 00:15:56 -0400 Subject: [PATCH] Add prop info for spawnlists, add the moon --- main.gd | 8 +- main.tscn | 193 ++++++++++++-------------- project.godot | 2 + props/items/item_moon.tscn | 66 +++++++++ props/prop_scripts/item_moon.gd | 5 + props/propinfo/propinfo_anvil.tres | 11 ++ props/propinfo/propinfo_bagel.tres | 11 ++ props/propinfo/propinfo_bananana.tres | 11 ++ props/propinfo/propinfo_bean.tres | 11 ++ props/propinfo/propinfo_bloaf.tres | 11 ++ props/propinfo/propinfo_bucket.tres | 11 ++ props/propinfo/propinfo_burger.tres | 11 ++ props/propinfo/propinfo_cat.tres | 11 ++ props/propinfo/propinfo_chair.tres | 11 ++ props/propinfo/propinfo_cone.tres | 11 ++ props/propinfo/propinfo_cylinder.tres | 11 ++ props/propinfo/propinfo_fish.tres | 11 ++ props/propinfo/propinfo_five.tres | 11 ++ props/propinfo/propinfo_gun.tres | 11 ++ props/propinfo/propinfo_lemonade.tres | 11 ++ props/propinfo/propinfo_malk.tres | 11 ++ props/propinfo/propinfo_metalrod.tres | 11 ++ props/propinfo/propinfo_moai.tres | 11 ++ props/propinfo/propinfo_moon.tres | 11 ++ props/propinfo/propinfo_nuke.tres | 11 ++ props/propinfo/propinfo_pipebomb.tres | 11 ++ props/propinfo/propinfo_pizzahut.tres | 11 ++ props/propinfo/propinfo_redarrow.tres | 11 ++ props/propinfo/propinfo_rock.tres | 11 ++ props/propinfo/propinfo_shmaple.tres | 11 ++ props/propinfo/propinfo_shroom.tres | 11 ++ props/propinfo/propinfo_skeleton.tres | 11 ++ props/propinfo/propinfo_umbrella.tres | 11 ++ props/propinfo/propinfo_worm.tres | 11 ++ props/spawnlists/props_debug.tres | 13 ++ props/spawnlists/props_vanilla.tres | 35 +++++ scripts/packageitem.gd | 3 +- scripts/spawning/propinfo.gd | 7 + scripts/spawning/spawnlist.gd | 4 + 39 files changed, 542 insertions(+), 113 deletions(-) create mode 100644 props/items/item_moon.tscn create mode 100644 props/prop_scripts/item_moon.gd create mode 100644 props/propinfo/propinfo_anvil.tres create mode 100644 props/propinfo/propinfo_bagel.tres create mode 100644 props/propinfo/propinfo_bananana.tres create mode 100644 props/propinfo/propinfo_bean.tres create mode 100644 props/propinfo/propinfo_bloaf.tres create mode 100644 props/propinfo/propinfo_bucket.tres create mode 100644 props/propinfo/propinfo_burger.tres create mode 100644 props/propinfo/propinfo_cat.tres create mode 100644 props/propinfo/propinfo_chair.tres create mode 100644 props/propinfo/propinfo_cone.tres create mode 100644 props/propinfo/propinfo_cylinder.tres create mode 100644 props/propinfo/propinfo_fish.tres create mode 100644 props/propinfo/propinfo_five.tres create mode 100644 props/propinfo/propinfo_gun.tres create mode 100644 props/propinfo/propinfo_lemonade.tres create mode 100644 props/propinfo/propinfo_malk.tres create mode 100644 props/propinfo/propinfo_metalrod.tres create mode 100644 props/propinfo/propinfo_moai.tres create mode 100644 props/propinfo/propinfo_moon.tres create mode 100644 props/propinfo/propinfo_nuke.tres create mode 100644 props/propinfo/propinfo_pipebomb.tres create mode 100644 props/propinfo/propinfo_pizzahut.tres create mode 100644 props/propinfo/propinfo_redarrow.tres create mode 100644 props/propinfo/propinfo_rock.tres create mode 100644 props/propinfo/propinfo_shmaple.tres create mode 100644 props/propinfo/propinfo_shroom.tres create mode 100644 props/propinfo/propinfo_skeleton.tres create mode 100644 props/propinfo/propinfo_umbrella.tres create mode 100644 props/propinfo/propinfo_worm.tres create mode 100644 props/spawnlists/props_debug.tres create mode 100644 props/spawnlists/props_vanilla.tres create mode 100644 scripts/spawning/propinfo.gd create mode 100644 scripts/spawning/spawnlist.gd diff --git a/main.gd b/main.gd index a542334..f8059a3 100644 --- a/main.gd +++ b/main.gd @@ -25,7 +25,7 @@ const BOX = preload("res://props/box/box.tscn") @export var stun_timer_max: float = 1.0 @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 box_spawner: Node3D = %box_spawner @@ -144,8 +144,8 @@ func _physics_process(delta: float) -> void: current_prop = spawn_random_prop(prop_spawn) func spawn_random_prop(parent: Node3D) -> PackageItem: - var scn = props.pick_random() as PackedScene - var prop: PackageItem = scn.instantiate() + var propinfo: PropInfo = spawnlist.spawnlist.pick_random() + var prop: PackageItem = propinfo.prop.instantiate() parent.add_child(prop) return prop @@ -202,7 +202,7 @@ func do_penalty(): $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: +func _on_trash(_body_rid: RID, body: Node3D, _body_shape_index: int, _local_shape_index: int) -> void: body.queue_free() ## QUICKTIME EVENT diff --git a/main.tscn b/main.tscn index 103f965..ce1d492 100644 --- a/main.tscn +++ b/main.tscn @@ -1,48 +1,21 @@ -[gd_scene load_steps=74 format=3 uid="uid://d2ftoqr7ydi38"] +[gd_scene load_steps=47 format=3 uid="uid://d2ftoqr7ydi38"] [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="PackedScene" uid="uid://ckrf64kt1nvna" path="res://props/items/item_shmaple.tscn" id="3_0p7ep"] +[ext_resource type="Resource" uid="uid://cj03kcritq6yg" path="res://props/spawnlists/props_debug.tres" id="2_ku4fk"] [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://dh10j4qwu6gmo" path="res://props/bombs/item_pipebomb.tscn" id="4_q3svp"] -[ext_resource type="PackedScene" uid="uid://752pj3dweh48" path="res://props/items/item_cylinder.tscn" id="5_10etc"] -[ext_resource type="PackedScene" uid="uid://ddley72a8vmq2" path="res://props/items/item_skeleton.tscn" id="5_f0m4i"] -[ext_resource type="PackedScene" uid="uid://cvyn0aqnktraw" path="res://props/items/item_gun.tscn" id="6_ewe5p"] -[ext_resource type="PackedScene" uid="uid://boo1j06sv5yjm" path="res://props/items/item_bloaf.tscn" id="7_cklkr"] [ext_resource type="Theme" uid="uid://bh1i8c8v60go0" path="res://ui_theme.tres" id="7_lu4fk"] -[ext_resource type="PackedScene" uid="uid://cugp3qcnsxajf" path="res://props/items/item_worm.tscn" id="8_42wdm"] -[ext_resource type="PackedScene" uid="uid://0ddfb2i4b03d" path="res://props/items/item_shroom.tscn" id="9_4rk7e"] -[ext_resource type="PackedScene" uid="uid://dgf2johp1nob7" path="res://props/bombs/item_lemonade.tscn" id="10_leqcn"] -[ext_resource type="PackedScene" uid="uid://b30yr3jq1bycl" path="res://props/items/item_anvil.tscn" id="12_p73dv"] -[ext_resource type="PackedScene" uid="uid://c11xj7mywm8rf" path="res://props/items/item_bean.tscn" id="13_nq742"] [ext_resource type="Texture2D" uid="uid://2ljjhuakbwik" path="res://assets/props/posters/hang_in_there.png" id="14_icb2l"] -[ext_resource type="PackedScene" uid="uid://csba3vko1iq71" path="res://props/items/item_bucket.tscn" id="14_l633d"] -[ext_resource type="PackedScene" uid="uid://b1lwr13r7dy3d" path="res://props/items/item_cone.tscn" id="15_bp6n0"] [ext_resource type="ArrayMesh" uid="uid://bi5ue5qolx6q" path="res://assets/env/Belt.obj" id="15_fmwtt"] -[ext_resource type="PackedScene" uid="uid://hoiv06m0w6lw" path="res://props/items/item_malk.tscn" id="16_74hdu"] [ext_resource type="ArrayMesh" uid="uid://ekxy2bpvf8gj" path="res://assets/env/Dropper.obj" id="16_qtjwl"] [ext_resource type="Material" uid="uid://bl6qumqtgrqxj" path="res://assets/env/mat_fenviron.tres" id="16_w1we4"] [ext_resource type="Material" uid="uid://bhc47d2tr2fjw" path="res://assets/env/shademat_conveyor.tres" id="17_cy31d"] -[ext_resource type="PackedScene" uid="uid://dpe7cw4bye1to" path="res://props/items/item_umbrella.tscn" id="17_e01y6"] [ext_resource type="Material" uid="uid://rv2bta46k6wx" path="res://assets/env/shademat_conveyor_backwards.tres" id="17_ebjy5"] [ext_resource type="ArrayMesh" uid="uid://dpd1yfvyrlxe0" path="res://assets/env/Holder.obj" id="18_3d0an"] -[ext_resource type="PackedScene" uid="uid://dk6t7f80k4oy8" path="res://props/items/item_fish.tscn" id="18_hyqlx"] -[ext_resource type="PackedScene" uid="uid://x3v5bs08trt0" path="res://props/items/item_five.tscn" id="19_1r1sj"] [ext_resource type="PackedScene" uid="uid://bbehwglxp8p1h" path="res://assets/bezos/Armondo.glb" id="19_u7cg4"] [ext_resource type="Material" uid="uid://ec5xeabxgwt1" path="res://assets/bezos/mat_armondo.tres" id="20_7dsa8"] -[ext_resource type="PackedScene" uid="uid://bx8ujp23n33t8" path="res://props/items/item_rock.tscn" id="20_ybgxr"] -[ext_resource type="PackedScene" uid="uid://ds6wtux7vaaia" path="res://props/items/item_pizzahut.tscn" id="21_drv5j"] -[ext_resource type="PackedScene" uid="uid://wcv3kkpq0k8d" path="res://props/bombs/item_nuke.tscn" id="22_pbe20"] -[ext_resource type="PackedScene" uid="uid://dypmkc8m7p7af" path="res://props/items/item_metalrod.tscn" id="23_1q770"] -[ext_resource type="PackedScene" uid="uid://ba13afk2ubd6j" path="res://props/items/item_redarrow.tscn" id="24_dtyx2"] [ext_resource type="AnimationNodeBlendTree" uid="uid://d6dhhh60rnqu" path="res://assets/bezos/anims/animtree_armondo.tres" id="25_asp1p"] -[ext_resource type="PackedScene" uid="uid://5x0xil816wg3" path="res://props/items/item_chair.tscn" id="25_h6bdm"] -[ext_resource type="PackedScene" uid="uid://tvcdw7mklvsl" path="res://props/items/item_burger.tscn" id="26_ovai3"] -[ext_resource type="PackedScene" uid="uid://12takpx3tv5l" path="res://props/items/item_bagel.tscn" id="27_6t37l"] -[ext_resource type="PackedScene" uid="uid://dkrnww4871lqb" path="res://props/items/item_bananana.tscn" id="28_1k7c2"] [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="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"] @@ -127,7 +100,7 @@ dodge_timer_max = 0.8 rock_throw_time = 1.2 bezos_descent_max = 2.0 stun_timer_max = 2.0 -props = Array[PackedScene]([ExtResource("9_4rk7e"), ExtResource("10_leqcn"), ExtResource("4_q3svp"), ExtResource("7_cklkr"), ExtResource("4_1o3cd"), ExtResource("5_10etc"), ExtResource("6_ewe5p"), ExtResource("3_0p7ep"), ExtResource("5_f0m4i"), ExtResource("8_42wdm"), ExtResource("12_p73dv"), ExtResource("13_nq742"), ExtResource("14_l633d"), ExtResource("15_bp6n0"), ExtResource("16_74hdu"), ExtResource("17_e01y6"), ExtResource("18_hyqlx"), ExtResource("19_1r1sj"), ExtResource("20_ybgxr"), ExtResource("21_drv5j"), ExtResource("22_pbe20"), ExtResource("23_1q770"), ExtResource("24_dtyx2"), ExtResource("25_h6bdm"), ExtResource("26_ovai3"), ExtResource("27_6t37l"), ExtResource("28_1k7c2"), ExtResource("29_4lhsd")]) +spawnlist = ExtResource("2_ku4fk") [node name="world" type="Node3D" parent="."] @@ -178,31 +151,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/scale = Vector3(0.731301, 0.731302, 0.731301) bones/4/rotation = Quaternion(0.0791671, 0.591145, 0.0117835, 0.802584) -bones/5/rotation = Quaternion(-0.0690499, 0.0321579, 0.0537201, 0.995647) -bones/6/rotation = Quaternion(0.0634101, -0.0225083, -0.00934045, 0.99769) -bones/7/rotation = Quaternion(0.0133002, 0.00668974, -0.00129743, 0.999888) -bones/8/rotation = Quaternion(0.0118635, 0.837683, 0.54092, 0.0745109) +bones/5/rotation = Quaternion(0.12981, 0.0421745, 0.0462748, 0.98956) +bones/6/rotation = Quaternion(0.190193, -0.0235156, -0.00639185, 0.981444) +bones/7/rotation = Quaternion(0.140773, 0.00646948, -0.00214084, 0.990018) +bones/8/rotation = Quaternion(0.0323062, 0.91104, 0.403599, 0.0779107) bones/8/scale = Vector3(1, 1, 1) -bones/9/rotation = Quaternion(-0.00786665, -0.0176032, -0.00365246, 0.999807) -bones/10/rotation = Quaternion(-0.21074, -0.00107545, -0.0161872, 0.977408) +bones/9/rotation = Quaternion(0.228294, -0.00804299, -0.00171739, 0.973558) +bones/10/rotation = Quaternion(0.0258697, -0.00486522, -0.0154744, 0.999534) bones/10/scale = Vector3(1, 1, 1) bones/11/rotation = Quaternion(0.00106178, 0.584364, -0.0154954, 0.811343) -bones/12/rotation = Quaternion(0.00560127, 0.0198778, 0.0258844, 0.999452) -bones/13/rotation = Quaternion(0.0340933, -0.0363497, 0.035833, 0.998114) +bones/12/rotation = Quaternion(0.153693, 0.0234952, 0.022652, 0.98758) +bones/13/rotation = Quaternion(0.128826, -0.0327782, 0.0391273, 0.990353) bones/13/scale = Vector3(1, 1, 1) -bones/14/rotation = Quaternion(-0.0124681, -0.00638985, -0.0114332, 0.999837) +bones/14/rotation = Quaternion(0.082639, -0.00744765, -0.0107743, 0.996494) bones/15/rotation = Quaternion(-0.0611887, 0.573124, -0.0421539, 0.816093) -bones/16/rotation = Quaternion(0.0555606, -0.0204201, 0.0347819, 0.99764) +bones/16/rotation = Quaternion(0.113474, -0.0183632, 0.0359101, 0.992722) bones/16/scale = Vector3(1, 1, 1) -bones/17/rotation = Quaternion(0.0636162, -0.00481813, 0.0308465, 0.997486) +bones/17/rotation = Quaternion(0.100642, -0.00366829, 0.0310042, 0.994433) bones/17/scale = Vector3(1, 1, 1) -bones/18/rotation = Quaternion(0.034724, -0.0288498, 0.0250646, 0.998666) +bones/18/rotation = Quaternion(0.0718126, -0.0278984, 0.0261194, 0.996686) bones/18/scale = Vector3(1, 1, 1) bones/19/rotation = Quaternion(-0.15484, 0.544614, -0.0238322, 0.823925) -bones/20/rotation = Quaternion(0.159809, -0.0109371, 0.0188627, 0.986907) -bones/21/rotation = Quaternion(0.0694898, 0.000137163, -0.0269251, 0.997219) +bones/20/rotation = Quaternion(0.142611, -0.0112637, 0.0186693, 0.989539) +bones/21/rotation = Quaternion(0.0687504, 0.000157135, -0.0269247, 0.99727) bones/21/scale = Vector3(1, 1, 1) -bones/22/rotation = Quaternion(0.0714892, -0.0126917, 0.0704044, 0.994873) +bones/22/rotation = Quaternion(0.070752, -0.0127439, 0.0703947, 0.994925) bones/22/scale = Vector3(1, 1, 1) [node name="Main_Body" parent="world/Armondo/rig/Skeleton3D" index="0"] @@ -326,6 +299,7 @@ layers = 3 mesh = SubResource("PlaneMesh_x602s") [node name="level" type="StaticBody3D" parent="world/env"] +collision_layer = 9 [node name="floor" type="CollisionShape3D" parent="world/env/level"] shape = SubResource("WorldBoundaryShape3D_hpa7d") @@ -347,6 +321,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.26339e-07, 0, 3.55485) shape = SubResource("WorldBoundaryShape3D_25vmt") [node name="left_wall" type="StaticBody3D" parent="world/env"] +collision_layer = 9 [node name="left_wall2" type="CollisionShape3D" parent="world/env/left_wall"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -1) @@ -397,6 +372,7 @@ surface_material_override/1 = ExtResource("17_ebjy5") [node name="conveyor" type="StaticBody3D" parent="world"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.192684, 0.961295) +collision_layer = 9 [node name="CollisionShape3D" type="CollisionShape3D" parent="world/conveyor"] shape = SubResource("BoxShape3D_xf4t7") @@ -435,6 +411,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 1, 1) [node name="prop_holster" type="StaticBody3D" parent="world"] transform = Transform3D(0.837089, 0, -0.547067, 0, 1, 0, 0.547067, 0, 0.837089, 1.88628, 0.914329, -0.307288) +collision_layer = 9 [node name="Holder" type="MeshInstance3D" parent="world/prop_holster"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0621396, 0) @@ -521,99 +498,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/scale = Vector3(0.979536, 1.0413, 0.981311) bones/30/rotation = Quaternion(0.024349, 0.587802, 0.0762459, 0.805036) -bones/31/rotation = Quaternion(0.244948, 0.0452141, 0.0247447, 0.968165) -bones/32/rotation = Quaternion(0.136796, -0.0204448, 0.00539789, 0.990374) +bones/31/rotation = Quaternion(-0.041519, 0.0362729, 0.0366176, 0.997807) +bones/32/rotation = Quaternion(-0.0491705, -0.0210914, 0.00151396, 0.998567) bones/32/scale = Vector3(1, 1, 1) -bones/33/rotation = Quaternion(0.186011, 0.00533115, -0.0091017, 0.982491) -bones/34/rotation = Quaternion(-0.0927597, 0.747448, 0.344791, 0.56021) -bones/35/rotation = Quaternion(0.235827, -0.00773125, -0.00910526, 0.971722) -bones/36/rotation = Quaternion(0.0366054, 0.00352538, 0.0261319, 0.998982) -bones/37/rotation = Quaternion(0.244948, 0.0452141, 0.0247447, 0.968165) -bones/38/rotation = Quaternion(0.136796, -0.0204448, 0.00539789, 0.990374) +bones/33/rotation = Quaternion(0.000652688, 0.0069258, -0.00795537, 0.999944) +bones/34/rotation = Quaternion(-0.196693, 0.681406, 0.466623, 0.528452) +bones/35/rotation = Quaternion(-0.0202559, -0.016006, -0.011003, 0.999606) +bones/36/rotation = Quaternion(-0.219946, -0.00327136, 0.0261638, 0.975156) +bones/37/rotation = Quaternion(-0.041519, 0.0362729, 0.0366176, 0.997807) +bones/38/rotation = Quaternion(-0.0491705, -0.0210914, 0.00151396, 0.998567) bones/38/scale = Vector3(1, 1, 1) -bones/39/rotation = Quaternion(0.186011, 0.00533115, -0.0091017, 0.982491) -bones/40/rotation = Quaternion(0.244948, 0.0452142, 0.0247442, 0.968165) -bones/40/scale = Vector3(1, 0.891478, 1) -bones/41/rotation = Quaternion(-0.0927597, 0.747448, 0.344791, 0.56021) -bones/42/rotation = Quaternion(0.235827, -0.00773125, -0.00910526, 0.971722) -bones/43/rotation = Quaternion(0.0366054, 0.00352538, 0.0261319, 0.998982) -bones/44/rotation = Quaternion(-0.0900197, 0.742979, 0.345517, 0.566125) -bones/44/scale = Vector3(1, 0.923681, 1) -bones/46/rotation = Quaternion(0.244949, 0.0452129, 0.0247446, 0.968165) +bones/39/rotation = Quaternion(0.000652688, 0.0069258, -0.00795537, 0.999944) +bones/40/rotation = Quaternion(-0.0415188, 0.036273, 0.0366179, 0.997807) +bones/40/scale = Vector3(1.00026, 1.01018, 1.00026) +bones/41/rotation = Quaternion(-0.196693, 0.681406, 0.466623, 0.528452) +bones/42/rotation = Quaternion(-0.0202559, -0.016006, -0.011003, 0.999606) +bones/43/rotation = Quaternion(-0.219946, -0.00327136, 0.0261638, 0.975156) +bones/44/rotation = Quaternion(-0.187886, 0.671352, 0.470238, 0.541167) +bones/44/scale = Vector3(1.00308, 1.08822, 1.00308) +bones/46/rotation = Quaternion(-0.0415179, 0.0362717, 0.0366179, 0.997808) bones/46/scale = Vector3(1, 1, 1) -bones/48/rotation = Quaternion(0.136797, -0.0204465, 0.00539836, 0.990373) +bones/48/rotation = Quaternion(-0.0491696, -0.0210928, 0.00151443, 0.998567) bones/48/scale = Vector3(1, 1, 1) -bones/50/rotation = Quaternion(0.186009, 0.00533318, -0.009101, 0.982491) +bones/50/rotation = Quaternion(0.000651214, 0.00692786, -0.00795459, 0.999944) bones/50/scale = Vector3(1, 1, 1) -bones/52/rotation = Quaternion(-0.0755315, -3.7495e-08, 0.997143, -6.09255e-09) +bones/52/rotation = Quaternion(-0.0755315, -6.31509e-08, 0.997143, 5.92496e-09) bones/52/scale = Vector3(1, 1, 1) -bones/55/rotation = Quaternion(0.244948, 0.0452141, 0.0247447, 0.968165) -bones/56/rotation = Quaternion(-0.0900192, 0.742978, 0.345517, 0.566125) -bones/58/rotation = Quaternion(0.235747, -2.23394e-05, -0.0109752, 0.971752) +bones/55/rotation = Quaternion(-0.041519, 0.0362729, 0.0366176, 0.997807) +bones/56/rotation = Quaternion(-0.187886, 0.671352, 0.470239, 0.541167) +bones/58/rotation = Quaternion(-0.0204589, 0.00278362, -0.0106164, 0.999731) bones/58/scale = Vector3(1, 1, 1) -bones/60/rotation = Quaternion(0.036605, 0.00352259, 0.0261329, 0.998982) +bones/60/rotation = Quaternion(-0.219946, -0.00327384, 0.0261652, 0.975156) bones/62/rotation = Quaternion(0.884812, 3.32611e-06, 0.465948, -1.29939e-06) -bones/65/rotation = Quaternion(-0.0927597, 0.747448, 0.344791, 0.56021) +bones/65/rotation = Quaternion(-0.196693, 0.681406, 0.466623, 0.528452) bones/66/rotation = Quaternion(-0.0150627, 0.584674, 0.0037911, 0.811119) -bones/67/rotation = Quaternion(0.1771, 0.0239646, 0.0217141, 0.983661) +bones/67/rotation = Quaternion(-0.091802, 0.0173015, 0.0273212, 0.995252) bones/67/scale = Vector3(1, 1, 1) -bones/68/rotation = Quaternion(0.187496, -0.032106, 0.0280099, 0.981341) +bones/68/rotation = Quaternion(0.0152734, -0.0364592, 0.0220459, 0.998975) bones/68/scale = Vector3(1, 1, 1) -bones/69/rotation = Quaternion(0.202894, -0.0124219, -0.0424082, 0.978203) -bones/70/rotation = Quaternion(0.1771, 0.0239646, 0.0217141, 0.983661) +bones/69/rotation = Quaternion(0.0309819, -0.00491401, -0.0439169, 0.998543) +bones/70/rotation = Quaternion(-0.091802, 0.0173015, 0.0273212, 0.995252) bones/70/scale = Vector3(1, 1, 1) -bones/71/rotation = Quaternion(0.187496, -0.032106, 0.0280099, 0.981341) +bones/71/rotation = Quaternion(0.0152734, -0.0364592, 0.0220459, 0.998975) bones/71/scale = Vector3(1, 1, 1) -bones/72/rotation = Quaternion(0.202894, -0.0124219, -0.0424082, 0.978203) -bones/73/rotation = Quaternion(0.177101, 0.0239646, 0.0217139, 0.983661) -bones/73/scale = Vector3(1, 0.898766, 1) -bones/75/rotation = Quaternion(0.177101, 0.0239637, 0.0217139, 0.983661) +bones/72/rotation = Quaternion(0.0309819, -0.00491401, -0.0439169, 0.998543) +bones/73/rotation = Quaternion(-0.0918022, 0.0173015, 0.0273212, 0.995252) +bones/73/scale = Vector3(1, 1.00922, 1) +bones/75/rotation = Quaternion(-0.0918013, 0.0173007, 0.0273211, 0.995252) bones/75/scale = Vector3(1, 1, 1) -bones/77/rotation = Quaternion(0.187498, -0.0321081, 0.0280096, 0.98134) +bones/77/rotation = Quaternion(0.0152755, -0.0364614, 0.0220463, 0.998975) bones/77/scale = Vector3(1, 1, 1) -bones/79/rotation = Quaternion(0.202897, -0.0124249, -0.0424096, 0.978202) +bones/79/rotation = Quaternion(0.0309846, -0.00491724, -0.0439178, 0.998542) bones/80/rotation = Quaternion(-3.08873e-06, 3.24659e-06, 8.01869e-07, 1) -bones/81/rotation = Quaternion(0.028989, 6.84399e-09, 0.99958, -8.75007e-09) +bones/81/rotation = Quaternion(0.028989, -8.77124e-10, 0.99958, -1.2185e-08) bones/81/scale = Vector3(1, 1, 1) -bones/84/rotation = Quaternion(0.1771, 0.0239646, 0.0217141, 0.983661) +bones/84/rotation = Quaternion(-0.091802, 0.0173015, 0.0273212, 0.995252) bones/84/scale = Vector3(1, 1, 1) bones/85/rotation = Quaternion(-0.0536367, 0.572428, -0.051421, 0.816581) bones/85/scale = Vector3(1, 1, 1) -bones/86/rotation = Quaternion(0.139253, -0.0174097, 0.0364866, 0.989431) -bones/87/rotation = Quaternion(0.16135, -0.00332467, 0.0160009, 0.986762) -bones/88/rotation = Quaternion(0.178734, -0.0280967, -0.00789475, 0.983464) -bones/89/rotation = Quaternion(0.139253, -0.0174097, 0.0364866, 0.989431) -bones/90/rotation = Quaternion(0.16135, -0.00332467, 0.0160009, 0.986762) -bones/91/rotation = Quaternion(0.178734, -0.0280967, -0.00789475, 0.983464) -bones/92/rotation = Quaternion(0.139254, -0.0174098, 0.0364865, 0.989431) -bones/92/scale = Vector3(1, 0.915846, 1) -bones/94/rotation = Quaternion(0.139254, -0.01741, 0.0364869, 0.989431) +bones/86/rotation = Quaternion(-0.0776463, -0.0248765, 0.0318672, 0.996161) +bones/87/rotation = Quaternion(0.0224969, -0.00551847, 0.0153825, 0.999613) +bones/88/rotation = Quaternion(0.0401708, -0.0267255, -0.0117264, 0.998766) +bones/89/rotation = Quaternion(-0.0776463, -0.0248765, 0.0318672, 0.996161) +bones/90/rotation = Quaternion(0.0224969, -0.00551847, 0.0153825, 0.999613) +bones/91/rotation = Quaternion(0.0401708, -0.0267255, -0.0117264, 0.998766) +bones/92/rotation = Quaternion(-0.0776466, -0.0248765, 0.0318672, 0.996161) +bones/92/scale = Vector3(1, 1.0047, 1) +bones/94/rotation = Quaternion(-0.0776463, -0.0248769, 0.0318676, 0.996161) bones/95/rotation = Quaternion(-2.952e-07, 2.49594e-07, -2.64961e-07, 1) -bones/96/rotation = Quaternion(0.161351, -0.00332557, 0.0160003, 0.986762) -bones/98/rotation = Quaternion(0.178731, -0.028094, -0.0078932, 0.983465) +bones/96/rotation = Quaternion(0.0224981, -0.00551926, 0.015382, 0.999613) +bones/98/rotation = Quaternion(0.0401683, -0.0267226, -0.011725, 0.998767) bones/98/scale = Vector3(1, 1, 1) -bones/100/rotation = Quaternion(0.135625, -8.19752e-08, 0.99076, 5.91375e-09) -bones/103/rotation = Quaternion(0.139253, -0.0174097, 0.0364866, 0.989431) +bones/100/rotation = Quaternion(0.135625, -8.85514e-08, 0.99076, 7.1788e-09) +bones/103/rotation = Quaternion(-0.0776463, -0.0248765, 0.0318672, 0.996161) bones/104/rotation = Quaternion(-0.0646238, 0.533247, -0.142714, 0.831327) bones/104/scale = Vector3(1, 1, 1) -bones/105/rotation = Quaternion(0.0606757, -0.00668967, 0.0599587, 0.996333) -bones/106/rotation = Quaternion(0.116406, -0.00241084, -0.0382639, 0.992462) +bones/105/rotation = Quaternion(-0.0943645, -0.0158951, 0.0581991, 0.993708) +bones/106/rotation = Quaternion(0.000628301, 0.00203925, -0.0382863, 0.999265) bones/106/scale = Vector3(1, 1, 1) -bones/107/rotation = Quaternion(0.179092, -0.00686661, 0.0334775, 0.983239) -bones/108/rotation = Quaternion(0.0606757, -0.00668967, 0.0599587, 0.996333) -bones/109/rotation = Quaternion(0.116406, -0.00241084, -0.0382639, 0.992462) +bones/107/rotation = Quaternion(0.063961, -0.0106992, 0.0324574, 0.997367) +bones/108/rotation = Quaternion(-0.0943645, -0.0158951, 0.0581991, 0.993708) +bones/109/rotation = Quaternion(0.000628301, 0.00203925, -0.0382863, 0.999265) bones/109/scale = Vector3(1, 1, 1) -bones/110/rotation = Quaternion(0.179092, -0.00686661, 0.0334775, 0.983239) -bones/111/rotation = Quaternion(0.0606756, -0.00668966, 0.0599585, 0.996333) -bones/111/scale = Vector3(1, 0.927209, 1) +bones/110/rotation = Quaternion(0.063961, -0.0106992, 0.0324574, 0.997367) +bones/111/rotation = Quaternion(-0.0943647, -0.0158951, 0.0581991, 0.993708) +bones/111/scale = Vector3(1.01331, 1.00114, 1.01331) bones/112/rotation = Quaternion(2.7474e-08, 3.72529e-09, -1.86265e-09, 1) -bones/113/rotation = Quaternion(0.0606761, -0.00669001, 0.0599586, 0.996333) +bones/113/rotation = Quaternion(-0.0943643, -0.0158955, 0.058199, 0.993708) bones/113/scale = Vector3(1, 1, 1) -bones/115/rotation = Quaternion(0.116409, -0.00241311, -0.0382654, 0.992461) -bones/117/rotation = Quaternion(0.179089, -0.00686362, 0.0334774, 0.983239) +bones/115/rotation = Quaternion(0.000631217, 0.00203682, -0.0382872, 0.999265) +bones/117/rotation = Quaternion(0.0639573, -0.0106963, 0.0324567, 0.997367) 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/122/rotation = Quaternion(0.0606757, -0.00668967, 0.0599587, 0.996333) +bones/122/rotation = Quaternion(-0.0943645, -0.0158951, 0.0581991, 0.993708) bones/123/rotation = Quaternion(-0.0646238, 0.533247, -0.142714, 0.831327) bones/123/scale = Vector3(1, 1, 1) bones/124/rotation = Quaternion(0.707107, 0, 0, 0.707107) diff --git a/project.godot b/project.godot index 6079c74..b2b98c2 100644 --- a/project.godot +++ b/project.godot @@ -49,6 +49,8 @@ fullscreen={ 3d_physics/layer_1="all" 3d_physics/layer_2="box" 3d_physics/layer_3="item" +3d_physics/layer_4="terrain" +3d_physics/layer_5="prop_physics" [rendering] diff --git a/props/items/item_moon.tscn b/props/items/item_moon.tscn new file mode 100644 index 0000000..b698d9e --- /dev/null +++ b/props/items/item_moon.tscn @@ -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") diff --git a/props/prop_scripts/item_moon.gd b/props/prop_scripts/item_moon.gd new file mode 100644 index 0000000..a38d797 --- /dev/null +++ b/props/prop_scripts/item_moon.gd @@ -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) diff --git a/props/propinfo/propinfo_anvil.tres b/props/propinfo/propinfo_anvil.tres new file mode 100644 index 0000000..0e88167 --- /dev/null +++ b/props/propinfo/propinfo_anvil.tres @@ -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") diff --git a/props/propinfo/propinfo_bagel.tres b/props/propinfo/propinfo_bagel.tres new file mode 100644 index 0000000..7ef9cc6 --- /dev/null +++ b/props/propinfo/propinfo_bagel.tres @@ -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") diff --git a/props/propinfo/propinfo_bananana.tres b/props/propinfo/propinfo_bananana.tres new file mode 100644 index 0000000..64f7b35 --- /dev/null +++ b/props/propinfo/propinfo_bananana.tres @@ -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") diff --git a/props/propinfo/propinfo_bean.tres b/props/propinfo/propinfo_bean.tres new file mode 100644 index 0000000..8dcdda3 --- /dev/null +++ b/props/propinfo/propinfo_bean.tres @@ -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") diff --git a/props/propinfo/propinfo_bloaf.tres b/props/propinfo/propinfo_bloaf.tres new file mode 100644 index 0000000..7d1df05 --- /dev/null +++ b/props/propinfo/propinfo_bloaf.tres @@ -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") diff --git a/props/propinfo/propinfo_bucket.tres b/props/propinfo/propinfo_bucket.tres new file mode 100644 index 0000000..9afe9b0 --- /dev/null +++ b/props/propinfo/propinfo_bucket.tres @@ -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") diff --git a/props/propinfo/propinfo_burger.tres b/props/propinfo/propinfo_burger.tres new file mode 100644 index 0000000..8bf4902 --- /dev/null +++ b/props/propinfo/propinfo_burger.tres @@ -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") diff --git a/props/propinfo/propinfo_cat.tres b/props/propinfo/propinfo_cat.tres new file mode 100644 index 0000000..eeec637 --- /dev/null +++ b/props/propinfo/propinfo_cat.tres @@ -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") diff --git a/props/propinfo/propinfo_chair.tres b/props/propinfo/propinfo_chair.tres new file mode 100644 index 0000000..71b701b --- /dev/null +++ b/props/propinfo/propinfo_chair.tres @@ -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") diff --git a/props/propinfo/propinfo_cone.tres b/props/propinfo/propinfo_cone.tres new file mode 100644 index 0000000..eb531ff --- /dev/null +++ b/props/propinfo/propinfo_cone.tres @@ -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") diff --git a/props/propinfo/propinfo_cylinder.tres b/props/propinfo/propinfo_cylinder.tres new file mode 100644 index 0000000..4bf5dbf --- /dev/null +++ b/props/propinfo/propinfo_cylinder.tres @@ -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") diff --git a/props/propinfo/propinfo_fish.tres b/props/propinfo/propinfo_fish.tres new file mode 100644 index 0000000..612866f --- /dev/null +++ b/props/propinfo/propinfo_fish.tres @@ -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") diff --git a/props/propinfo/propinfo_five.tres b/props/propinfo/propinfo_five.tres new file mode 100644 index 0000000..51ee627 --- /dev/null +++ b/props/propinfo/propinfo_five.tres @@ -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") diff --git a/props/propinfo/propinfo_gun.tres b/props/propinfo/propinfo_gun.tres new file mode 100644 index 0000000..f7b1133 --- /dev/null +++ b/props/propinfo/propinfo_gun.tres @@ -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") diff --git a/props/propinfo/propinfo_lemonade.tres b/props/propinfo/propinfo_lemonade.tres new file mode 100644 index 0000000..fb67c1d --- /dev/null +++ b/props/propinfo/propinfo_lemonade.tres @@ -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") diff --git a/props/propinfo/propinfo_malk.tres b/props/propinfo/propinfo_malk.tres new file mode 100644 index 0000000..74d45e3 --- /dev/null +++ b/props/propinfo/propinfo_malk.tres @@ -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") diff --git a/props/propinfo/propinfo_metalrod.tres b/props/propinfo/propinfo_metalrod.tres new file mode 100644 index 0000000..f7d308f --- /dev/null +++ b/props/propinfo/propinfo_metalrod.tres @@ -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") diff --git a/props/propinfo/propinfo_moai.tres b/props/propinfo/propinfo_moai.tres new file mode 100644 index 0000000..e5c7ffc --- /dev/null +++ b/props/propinfo/propinfo_moai.tres @@ -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") diff --git a/props/propinfo/propinfo_moon.tres b/props/propinfo/propinfo_moon.tres new file mode 100644 index 0000000..9fa4533 --- /dev/null +++ b/props/propinfo/propinfo_moon.tres @@ -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") diff --git a/props/propinfo/propinfo_nuke.tres b/props/propinfo/propinfo_nuke.tres new file mode 100644 index 0000000..677e3f4 --- /dev/null +++ b/props/propinfo/propinfo_nuke.tres @@ -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") diff --git a/props/propinfo/propinfo_pipebomb.tres b/props/propinfo/propinfo_pipebomb.tres new file mode 100644 index 0000000..18b67ab --- /dev/null +++ b/props/propinfo/propinfo_pipebomb.tres @@ -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") diff --git a/props/propinfo/propinfo_pizzahut.tres b/props/propinfo/propinfo_pizzahut.tres new file mode 100644 index 0000000..2bb318f --- /dev/null +++ b/props/propinfo/propinfo_pizzahut.tres @@ -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") diff --git a/props/propinfo/propinfo_redarrow.tres b/props/propinfo/propinfo_redarrow.tres new file mode 100644 index 0000000..7af0104 --- /dev/null +++ b/props/propinfo/propinfo_redarrow.tres @@ -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") diff --git a/props/propinfo/propinfo_rock.tres b/props/propinfo/propinfo_rock.tres new file mode 100644 index 0000000..51f92ba --- /dev/null +++ b/props/propinfo/propinfo_rock.tres @@ -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") diff --git a/props/propinfo/propinfo_shmaple.tres b/props/propinfo/propinfo_shmaple.tres new file mode 100644 index 0000000..2110e1d --- /dev/null +++ b/props/propinfo/propinfo_shmaple.tres @@ -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") diff --git a/props/propinfo/propinfo_shroom.tres b/props/propinfo/propinfo_shroom.tres new file mode 100644 index 0000000..bb0eb8f --- /dev/null +++ b/props/propinfo/propinfo_shroom.tres @@ -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") diff --git a/props/propinfo/propinfo_skeleton.tres b/props/propinfo/propinfo_skeleton.tres new file mode 100644 index 0000000..2f7986d --- /dev/null +++ b/props/propinfo/propinfo_skeleton.tres @@ -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") diff --git a/props/propinfo/propinfo_umbrella.tres b/props/propinfo/propinfo_umbrella.tres new file mode 100644 index 0000000..9a96e93 --- /dev/null +++ b/props/propinfo/propinfo_umbrella.tres @@ -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") diff --git a/props/propinfo/propinfo_worm.tres b/props/propinfo/propinfo_worm.tres new file mode 100644 index 0000000..1e1d048 --- /dev/null +++ b/props/propinfo/propinfo_worm.tres @@ -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") diff --git a/props/spawnlists/props_debug.tres b/props/spawnlists/props_debug.tres new file mode 100644 index 0000000..f00644f --- /dev/null +++ b/props/spawnlists/props_debug.tres @@ -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")]) diff --git a/props/spawnlists/props_vanilla.tres b/props/spawnlists/props_vanilla.tres new file mode 100644 index 0000000..97079b1 --- /dev/null +++ b/props/spawnlists/props_vanilla.tres @@ -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")]) diff --git a/scripts/packageitem.gd b/scripts/packageitem.gd index 23ad15f..ff8ced5 100644 --- a/scripts/packageitem.gd +++ b/scripts/packageitem.gd @@ -10,13 +10,14 @@ signal collide(time: float) @onready var last_collision_count: int = 0 @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: freeze_mode = RigidBody3D.FREEZE_MODE_STATIC func _ready() -> void: - pass + set_collision_layer_value(5,has_prop_physics) func _physics_process(delta): if random_explosion_delay > 0: diff --git a/scripts/spawning/propinfo.gd b/scripts/spawning/propinfo.gd new file mode 100644 index 0000000..108af3c --- /dev/null +++ b/scripts/spawning/propinfo.gd @@ -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 diff --git a/scripts/spawning/spawnlist.gd b/scripts/spawning/spawnlist.gd new file mode 100644 index 0000000..fde0913 --- /dev/null +++ b/scripts/spawning/spawnlist.gd @@ -0,0 +1,4 @@ +extends Resource +class_name SpawnList + +@export var spawnlist: Array[PropInfo]