From 002ffef1e888d0e032d3e7f4c20cd6b71f00c797 Mon Sep 17 00:00:00 2001 From: akshay Date: Sat, 20 Aug 2022 23:02:40 -0400 Subject: [PATCH] Added the item balloons to show on broken machines --- assets/item_balloon/Balloon Border.material | Bin 0 -> 834 bytes assets/item_balloon/Balloon White.material | Bin 0 -> 1821 bytes assets/item_balloon/item_balloon.glb | Bin 0 -> 22316 bytes assets/item_balloon/item_balloon.glb.import | 1065 +++++++++++++++++++ project.godot | 6 + scenes/comm_station.tscn | 5 +- scenes/crafting_station.tscn | 5 +- scenes/hydroponics_station.tscn | 3 +- scenes/item_balloon.tscn | 65 ++ scenes/item_dump.tscn | 22 +- scenes/item_generator.tscn | 3 +- scenes/oven.tscn | 7 +- scenes/player.tscn | 10 +- scenes/rover_station.tscn | 7 +- scripts/item_balloon.gd | 35 + scripts/item_dump.gd | 59 +- 16 files changed, 1240 insertions(+), 52 deletions(-) create mode 100644 assets/item_balloon/Balloon Border.material create mode 100644 assets/item_balloon/Balloon White.material create mode 100644 assets/item_balloon/item_balloon.glb create mode 100644 assets/item_balloon/item_balloon.glb.import create mode 100644 scenes/item_balloon.tscn create mode 100644 scripts/item_balloon.gd diff --git a/assets/item_balloon/Balloon Border.material b/assets/item_balloon/Balloon Border.material new file mode 100644 index 0000000000000000000000000000000000000000..a81d3194fb7127fa04ea5b0680049a563699b1ad GIT binary patch literal 834 zcmV-I1HJrGQ$s@n000005C8x(2LJ#n0{{RhwJ-f(GX@120JdjyH$ZQa4#O}E!!Z1i z6jnipVXd1bl2lu6Mkre&a&LKFgC!~83_=r&U7*RTBiaw9KeUfD{~1aFUI1SJV*sd- zvW!nyHf53vS+EyJ9$Xyix4%I%k!kPPnTH;Xcf;87AW#!o?h?;*rFJi&_~{HQ~%;SsP@* zMyilm$Dz=Y&BgcFt(MzJtw!ztZRKPQ`ZVp~N=~k1q6m&XW!6fD(kd$mS+2^hg0R+;E&?GUAw)K4_%nQvxPbo{KAcE#!NLcL-vbH} zCO$ecDt-z9ev1JmoQ_4c3Q_^YgQ>1{405p3gBzL8!=nSE6gw$lE;0RX=0-S@lv!~+L18p8Hqe?J5!INT8!fGNbK1Gg@1m!OeI zbLz{guH1&)@So7_LLtOR3A^ZL?Cef6+A1FDWGxLxMNmhdV|*~9F8LDnB83PQd5moJ z1hNRo4J0NYA&jR4-CLyQO&eDjkEtY=N|M9yj3mj!ULUryC><{fn9Ll?KG;y7I2&ykZLd9dDFlWs0BL_68gD(~7QB^>Ffb^aC2bA(C^_J^WAp5wKi)-Z zLClqH=n*^9b_09T9M#`agNhGhBw&$p4no(t=L=mj%9WDVkmPf7=*{26h(Xx3PdBAa zL@2ZaXjKR}ICdjm?Y6CyphKeQh;kh_O-F`mU|)3Cv76AuG4ptAwNd3)3HC4_?5e^$ MZS0Wy0#Z{$Lylg22mk;8 literal 0 HcmV?d00001 diff --git a/assets/item_balloon/Balloon White.material b/assets/item_balloon/Balloon White.material new file mode 100644 index 0000000000000000000000000000000000000000..77e4e06d42764354cb6ab100cb0739b6062ffa4a GIT binary patch literal 1821 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 literal 0 HcmV?d00001 diff --git a/assets/item_balloon/item_balloon.glb.import b/assets/item_balloon/item_balloon.glb.import new file mode 100644 index 0000000..01b5af2 --- /dev/null +++ b/assets/item_balloon/item_balloon.glb.import @@ -0,0 +1,1065 @@ +[remap] + +importer="scene" +type="PackedScene" +path="res://.import/item_balloon.glb-ba6ebebceeae44a8836ba3db9043daa3.scn" + +[deps] + +source_file="res://assets/item_balloon/item_balloon.glb" +dest_files=[ "res://.import/item_balloon.glb-ba6ebebceeae44a8836ba3db9043daa3.scn" ] + +[params] + +nodes/root_type="Spatial" +nodes/root_name="Scene Root" +nodes/root_scale=1.0 +nodes/custom_script="" +nodes/storage=0 +nodes/use_legacy_names=false +materials/location=1 +materials/storage=1 +materials/keep_on_reimport=true +meshes/octahedral_compression=true +meshes/compress=4286 +meshes/ensure_tangents=true +meshes/storage=0 +meshes/light_baking=0 +meshes/lightmap_texel_size=0.1 +skins/use_named_skins=true +external_files/store_in_subdir=false +animation/import=true +animation/fps=15 +animation/filter_script="" +animation/storage=false +animation/keep_custom_tracks=false +animation/optimizer/enabled=true +animation/optimizer/max_linear_error=0.05 +animation/optimizer/max_angular_error=0.01 +animation/optimizer/max_angle=22 +animation/optimizer/remove_unused_tracks=true +animation/clips/amount=0 +animation/clip_1/name="" +animation/clip_1/start_frame=0 +animation/clip_1/end_frame=0 +animation/clip_1/loops=false +animation/clip_2/name="" +animation/clip_2/start_frame=0 +animation/clip_2/end_frame=0 +animation/clip_2/loops=false +animation/clip_3/name="" +animation/clip_3/start_frame=0 +animation/clip_3/end_frame=0 +animation/clip_3/loops=false +animation/clip_4/name="" +animation/clip_4/start_frame=0 +animation/clip_4/end_frame=0 +animation/clip_4/loops=false +animation/clip_5/name="" +animation/clip_5/start_frame=0 +animation/clip_5/end_frame=0 +animation/clip_5/loops=false +animation/clip_6/name="" +animation/clip_6/start_frame=0 +animation/clip_6/end_frame=0 +animation/clip_6/loops=false +animation/clip_7/name="" +animation/clip_7/start_frame=0 +animation/clip_7/end_frame=0 +animation/clip_7/loops=false +animation/clip_8/name="" +animation/clip_8/start_frame=0 +animation/clip_8/end_frame=0 +animation/clip_8/loops=false +animation/clip_9/name="" +animation/clip_9/start_frame=0 +animation/clip_9/end_frame=0 +animation/clip_9/loops=false +animation/clip_10/name="" +animation/clip_10/start_frame=0 +animation/clip_10/end_frame=0 +animation/clip_10/loops=false +animation/clip_11/name="" +animation/clip_11/start_frame=0 +animation/clip_11/end_frame=0 +animation/clip_11/loops=false +animation/clip_12/name="" +animation/clip_12/start_frame=0 +animation/clip_12/end_frame=0 +animation/clip_12/loops=false +animation/clip_13/name="" +animation/clip_13/start_frame=0 +animation/clip_13/end_frame=0 +animation/clip_13/loops=false +animation/clip_14/name="" +animation/clip_14/start_frame=0 +animation/clip_14/end_frame=0 +animation/clip_14/loops=false +animation/clip_15/name="" +animation/clip_15/start_frame=0 +animation/clip_15/end_frame=0 +animation/clip_15/loops=false +animation/clip_16/name="" +animation/clip_16/start_frame=0 +animation/clip_16/end_frame=0 +animation/clip_16/loops=false +animation/clip_17/name="" +animation/clip_17/start_frame=0 +animation/clip_17/end_frame=0 +animation/clip_17/loops=false +animation/clip_18/name="" +animation/clip_18/start_frame=0 +animation/clip_18/end_frame=0 +animation/clip_18/loops=false +animation/clip_19/name="" +animation/clip_19/start_frame=0 +animation/clip_19/end_frame=0 +animation/clip_19/loops=false +animation/clip_20/name="" +animation/clip_20/start_frame=0 +animation/clip_20/end_frame=0 +animation/clip_20/loops=false +animation/clip_21/name="" +animation/clip_21/start_frame=0 +animation/clip_21/end_frame=0 +animation/clip_21/loops=false +animation/clip_22/name="" +animation/clip_22/start_frame=0 +animation/clip_22/end_frame=0 +animation/clip_22/loops=false +animation/clip_23/name="" +animation/clip_23/start_frame=0 +animation/clip_23/end_frame=0 +animation/clip_23/loops=false +animation/clip_24/name="" +animation/clip_24/start_frame=0 +animation/clip_24/end_frame=0 +animation/clip_24/loops=false +animation/clip_25/name="" +animation/clip_25/start_frame=0 +animation/clip_25/end_frame=0 +animation/clip_25/loops=false +animation/clip_26/name="" +animation/clip_26/start_frame=0 +animation/clip_26/end_frame=0 +animation/clip_26/loops=false +animation/clip_27/name="" +animation/clip_27/start_frame=0 +animation/clip_27/end_frame=0 +animation/clip_27/loops=false +animation/clip_28/name="" +animation/clip_28/start_frame=0 +animation/clip_28/end_frame=0 +animation/clip_28/loops=false +animation/clip_29/name="" +animation/clip_29/start_frame=0 +animation/clip_29/end_frame=0 +animation/clip_29/loops=false +animation/clip_30/name="" +animation/clip_30/start_frame=0 +animation/clip_30/end_frame=0 +animation/clip_30/loops=false +animation/clip_31/name="" +animation/clip_31/start_frame=0 +animation/clip_31/end_frame=0 +animation/clip_31/loops=false +animation/clip_32/name="" +animation/clip_32/start_frame=0 +animation/clip_32/end_frame=0 +animation/clip_32/loops=false +animation/clip_33/name="" +animation/clip_33/start_frame=0 +animation/clip_33/end_frame=0 +animation/clip_33/loops=false +animation/clip_34/name="" +animation/clip_34/start_frame=0 +animation/clip_34/end_frame=0 +animation/clip_34/loops=false +animation/clip_35/name="" +animation/clip_35/start_frame=0 +animation/clip_35/end_frame=0 +animation/clip_35/loops=false +animation/clip_36/name="" +animation/clip_36/start_frame=0 +animation/clip_36/end_frame=0 +animation/clip_36/loops=false +animation/clip_37/name="" +animation/clip_37/start_frame=0 +animation/clip_37/end_frame=0 +animation/clip_37/loops=false +animation/clip_38/name="" +animation/clip_38/start_frame=0 +animation/clip_38/end_frame=0 +animation/clip_38/loops=false +animation/clip_39/name="" +animation/clip_39/start_frame=0 +animation/clip_39/end_frame=0 +animation/clip_39/loops=false +animation/clip_40/name="" +animation/clip_40/start_frame=0 +animation/clip_40/end_frame=0 +animation/clip_40/loops=false +animation/clip_41/name="" +animation/clip_41/start_frame=0 +animation/clip_41/end_frame=0 +animation/clip_41/loops=false +animation/clip_42/name="" +animation/clip_42/start_frame=0 +animation/clip_42/end_frame=0 +animation/clip_42/loops=false +animation/clip_43/name="" +animation/clip_43/start_frame=0 +animation/clip_43/end_frame=0 +animation/clip_43/loops=false +animation/clip_44/name="" +animation/clip_44/start_frame=0 +animation/clip_44/end_frame=0 +animation/clip_44/loops=false +animation/clip_45/name="" +animation/clip_45/start_frame=0 +animation/clip_45/end_frame=0 +animation/clip_45/loops=false +animation/clip_46/name="" +animation/clip_46/start_frame=0 +animation/clip_46/end_frame=0 +animation/clip_46/loops=false +animation/clip_47/name="" +animation/clip_47/start_frame=0 +animation/clip_47/end_frame=0 +animation/clip_47/loops=false +animation/clip_48/name="" +animation/clip_48/start_frame=0 +animation/clip_48/end_frame=0 +animation/clip_48/loops=false +animation/clip_49/name="" +animation/clip_49/start_frame=0 +animation/clip_49/end_frame=0 +animation/clip_49/loops=false +animation/clip_50/name="" +animation/clip_50/start_frame=0 +animation/clip_50/end_frame=0 +animation/clip_50/loops=false +animation/clip_51/name="" +animation/clip_51/start_frame=0 +animation/clip_51/end_frame=0 +animation/clip_51/loops=false +animation/clip_52/name="" +animation/clip_52/start_frame=0 +animation/clip_52/end_frame=0 +animation/clip_52/loops=false +animation/clip_53/name="" +animation/clip_53/start_frame=0 +animation/clip_53/end_frame=0 +animation/clip_53/loops=false +animation/clip_54/name="" +animation/clip_54/start_frame=0 +animation/clip_54/end_frame=0 +animation/clip_54/loops=false +animation/clip_55/name="" +animation/clip_55/start_frame=0 +animation/clip_55/end_frame=0 +animation/clip_55/loops=false +animation/clip_56/name="" +animation/clip_56/start_frame=0 +animation/clip_56/end_frame=0 +animation/clip_56/loops=false +animation/clip_57/name="" +animation/clip_57/start_frame=0 +animation/clip_57/end_frame=0 +animation/clip_57/loops=false +animation/clip_58/name="" +animation/clip_58/start_frame=0 +animation/clip_58/end_frame=0 +animation/clip_58/loops=false +animation/clip_59/name="" +animation/clip_59/start_frame=0 +animation/clip_59/end_frame=0 +animation/clip_59/loops=false +animation/clip_60/name="" +animation/clip_60/start_frame=0 +animation/clip_60/end_frame=0 +animation/clip_60/loops=false +animation/clip_61/name="" +animation/clip_61/start_frame=0 +animation/clip_61/end_frame=0 +animation/clip_61/loops=false +animation/clip_62/name="" +animation/clip_62/start_frame=0 +animation/clip_62/end_frame=0 +animation/clip_62/loops=false +animation/clip_63/name="" +animation/clip_63/start_frame=0 +animation/clip_63/end_frame=0 +animation/clip_63/loops=false +animation/clip_64/name="" +animation/clip_64/start_frame=0 +animation/clip_64/end_frame=0 +animation/clip_64/loops=false +animation/clip_65/name="" +animation/clip_65/start_frame=0 +animation/clip_65/end_frame=0 +animation/clip_65/loops=false +animation/clip_66/name="" +animation/clip_66/start_frame=0 +animation/clip_66/end_frame=0 +animation/clip_66/loops=false +animation/clip_67/name="" +animation/clip_67/start_frame=0 +animation/clip_67/end_frame=0 +animation/clip_67/loops=false +animation/clip_68/name="" +animation/clip_68/start_frame=0 +animation/clip_68/end_frame=0 +animation/clip_68/loops=false +animation/clip_69/name="" +animation/clip_69/start_frame=0 +animation/clip_69/end_frame=0 +animation/clip_69/loops=false +animation/clip_70/name="" +animation/clip_70/start_frame=0 +animation/clip_70/end_frame=0 +animation/clip_70/loops=false +animation/clip_71/name="" +animation/clip_71/start_frame=0 +animation/clip_71/end_frame=0 +animation/clip_71/loops=false +animation/clip_72/name="" +animation/clip_72/start_frame=0 +animation/clip_72/end_frame=0 +animation/clip_72/loops=false +animation/clip_73/name="" +animation/clip_73/start_frame=0 +animation/clip_73/end_frame=0 +animation/clip_73/loops=false +animation/clip_74/name="" +animation/clip_74/start_frame=0 +animation/clip_74/end_frame=0 +animation/clip_74/loops=false +animation/clip_75/name="" +animation/clip_75/start_frame=0 +animation/clip_75/end_frame=0 +animation/clip_75/loops=false +animation/clip_76/name="" +animation/clip_76/start_frame=0 +animation/clip_76/end_frame=0 +animation/clip_76/loops=false +animation/clip_77/name="" +animation/clip_77/start_frame=0 +animation/clip_77/end_frame=0 +animation/clip_77/loops=false +animation/clip_78/name="" +animation/clip_78/start_frame=0 +animation/clip_78/end_frame=0 +animation/clip_78/loops=false +animation/clip_79/name="" +animation/clip_79/start_frame=0 +animation/clip_79/end_frame=0 +animation/clip_79/loops=false +animation/clip_80/name="" +animation/clip_80/start_frame=0 +animation/clip_80/end_frame=0 +animation/clip_80/loops=false +animation/clip_81/name="" +animation/clip_81/start_frame=0 +animation/clip_81/end_frame=0 +animation/clip_81/loops=false +animation/clip_82/name="" +animation/clip_82/start_frame=0 +animation/clip_82/end_frame=0 +animation/clip_82/loops=false +animation/clip_83/name="" +animation/clip_83/start_frame=0 +animation/clip_83/end_frame=0 +animation/clip_83/loops=false +animation/clip_84/name="" +animation/clip_84/start_frame=0 +animation/clip_84/end_frame=0 +animation/clip_84/loops=false +animation/clip_85/name="" +animation/clip_85/start_frame=0 +animation/clip_85/end_frame=0 +animation/clip_85/loops=false +animation/clip_86/name="" +animation/clip_86/start_frame=0 +animation/clip_86/end_frame=0 +animation/clip_86/loops=false +animation/clip_87/name="" +animation/clip_87/start_frame=0 +animation/clip_87/end_frame=0 +animation/clip_87/loops=false +animation/clip_88/name="" +animation/clip_88/start_frame=0 +animation/clip_88/end_frame=0 +animation/clip_88/loops=false +animation/clip_89/name="" +animation/clip_89/start_frame=0 +animation/clip_89/end_frame=0 +animation/clip_89/loops=false +animation/clip_90/name="" +animation/clip_90/start_frame=0 +animation/clip_90/end_frame=0 +animation/clip_90/loops=false +animation/clip_91/name="" +animation/clip_91/start_frame=0 +animation/clip_91/end_frame=0 +animation/clip_91/loops=false +animation/clip_92/name="" +animation/clip_92/start_frame=0 +animation/clip_92/end_frame=0 +animation/clip_92/loops=false +animation/clip_93/name="" +animation/clip_93/start_frame=0 +animation/clip_93/end_frame=0 +animation/clip_93/loops=false +animation/clip_94/name="" +animation/clip_94/start_frame=0 +animation/clip_94/end_frame=0 +animation/clip_94/loops=false +animation/clip_95/name="" +animation/clip_95/start_frame=0 +animation/clip_95/end_frame=0 +animation/clip_95/loops=false +animation/clip_96/name="" +animation/clip_96/start_frame=0 +animation/clip_96/end_frame=0 +animation/clip_96/loops=false +animation/clip_97/name="" +animation/clip_97/start_frame=0 +animation/clip_97/end_frame=0 +animation/clip_97/loops=false +animation/clip_98/name="" +animation/clip_98/start_frame=0 +animation/clip_98/end_frame=0 +animation/clip_98/loops=false +animation/clip_99/name="" +animation/clip_99/start_frame=0 +animation/clip_99/end_frame=0 +animation/clip_99/loops=false +animation/clip_100/name="" +animation/clip_100/start_frame=0 +animation/clip_100/end_frame=0 +animation/clip_100/loops=false +animation/clip_101/name="" +animation/clip_101/start_frame=0 +animation/clip_101/end_frame=0 +animation/clip_101/loops=false +animation/clip_102/name="" +animation/clip_102/start_frame=0 +animation/clip_102/end_frame=0 +animation/clip_102/loops=false +animation/clip_103/name="" +animation/clip_103/start_frame=0 +animation/clip_103/end_frame=0 +animation/clip_103/loops=false +animation/clip_104/name="" +animation/clip_104/start_frame=0 +animation/clip_104/end_frame=0 +animation/clip_104/loops=false +animation/clip_105/name="" +animation/clip_105/start_frame=0 +animation/clip_105/end_frame=0 +animation/clip_105/loops=false +animation/clip_106/name="" +animation/clip_106/start_frame=0 +animation/clip_106/end_frame=0 +animation/clip_106/loops=false +animation/clip_107/name="" +animation/clip_107/start_frame=0 +animation/clip_107/end_frame=0 +animation/clip_107/loops=false +animation/clip_108/name="" +animation/clip_108/start_frame=0 +animation/clip_108/end_frame=0 +animation/clip_108/loops=false +animation/clip_109/name="" +animation/clip_109/start_frame=0 +animation/clip_109/end_frame=0 +animation/clip_109/loops=false +animation/clip_110/name="" +animation/clip_110/start_frame=0 +animation/clip_110/end_frame=0 +animation/clip_110/loops=false +animation/clip_111/name="" +animation/clip_111/start_frame=0 +animation/clip_111/end_frame=0 +animation/clip_111/loops=false +animation/clip_112/name="" +animation/clip_112/start_frame=0 +animation/clip_112/end_frame=0 +animation/clip_112/loops=false +animation/clip_113/name="" +animation/clip_113/start_frame=0 +animation/clip_113/end_frame=0 +animation/clip_113/loops=false +animation/clip_114/name="" +animation/clip_114/start_frame=0 +animation/clip_114/end_frame=0 +animation/clip_114/loops=false +animation/clip_115/name="" +animation/clip_115/start_frame=0 +animation/clip_115/end_frame=0 +animation/clip_115/loops=false +animation/clip_116/name="" +animation/clip_116/start_frame=0 +animation/clip_116/end_frame=0 +animation/clip_116/loops=false +animation/clip_117/name="" +animation/clip_117/start_frame=0 +animation/clip_117/end_frame=0 +animation/clip_117/loops=false +animation/clip_118/name="" +animation/clip_118/start_frame=0 +animation/clip_118/end_frame=0 +animation/clip_118/loops=false +animation/clip_119/name="" +animation/clip_119/start_frame=0 +animation/clip_119/end_frame=0 +animation/clip_119/loops=false +animation/clip_120/name="" +animation/clip_120/start_frame=0 +animation/clip_120/end_frame=0 +animation/clip_120/loops=false +animation/clip_121/name="" +animation/clip_121/start_frame=0 +animation/clip_121/end_frame=0 +animation/clip_121/loops=false +animation/clip_122/name="" +animation/clip_122/start_frame=0 +animation/clip_122/end_frame=0 +animation/clip_122/loops=false +animation/clip_123/name="" +animation/clip_123/start_frame=0 +animation/clip_123/end_frame=0 +animation/clip_123/loops=false +animation/clip_124/name="" +animation/clip_124/start_frame=0 +animation/clip_124/end_frame=0 +animation/clip_124/loops=false +animation/clip_125/name="" +animation/clip_125/start_frame=0 +animation/clip_125/end_frame=0 +animation/clip_125/loops=false +animation/clip_126/name="" +animation/clip_126/start_frame=0 +animation/clip_126/end_frame=0 +animation/clip_126/loops=false +animation/clip_127/name="" +animation/clip_127/start_frame=0 +animation/clip_127/end_frame=0 +animation/clip_127/loops=false +animation/clip_128/name="" +animation/clip_128/start_frame=0 +animation/clip_128/end_frame=0 +animation/clip_128/loops=false +animation/clip_129/name="" +animation/clip_129/start_frame=0 +animation/clip_129/end_frame=0 +animation/clip_129/loops=false +animation/clip_130/name="" +animation/clip_130/start_frame=0 +animation/clip_130/end_frame=0 +animation/clip_130/loops=false +animation/clip_131/name="" +animation/clip_131/start_frame=0 +animation/clip_131/end_frame=0 +animation/clip_131/loops=false +animation/clip_132/name="" +animation/clip_132/start_frame=0 +animation/clip_132/end_frame=0 +animation/clip_132/loops=false +animation/clip_133/name="" +animation/clip_133/start_frame=0 +animation/clip_133/end_frame=0 +animation/clip_133/loops=false +animation/clip_134/name="" +animation/clip_134/start_frame=0 +animation/clip_134/end_frame=0 +animation/clip_134/loops=false +animation/clip_135/name="" +animation/clip_135/start_frame=0 +animation/clip_135/end_frame=0 +animation/clip_135/loops=false +animation/clip_136/name="" +animation/clip_136/start_frame=0 +animation/clip_136/end_frame=0 +animation/clip_136/loops=false +animation/clip_137/name="" +animation/clip_137/start_frame=0 +animation/clip_137/end_frame=0 +animation/clip_137/loops=false +animation/clip_138/name="" +animation/clip_138/start_frame=0 +animation/clip_138/end_frame=0 +animation/clip_138/loops=false +animation/clip_139/name="" +animation/clip_139/start_frame=0 +animation/clip_139/end_frame=0 +animation/clip_139/loops=false +animation/clip_140/name="" +animation/clip_140/start_frame=0 +animation/clip_140/end_frame=0 +animation/clip_140/loops=false +animation/clip_141/name="" +animation/clip_141/start_frame=0 +animation/clip_141/end_frame=0 +animation/clip_141/loops=false +animation/clip_142/name="" +animation/clip_142/start_frame=0 +animation/clip_142/end_frame=0 +animation/clip_142/loops=false +animation/clip_143/name="" +animation/clip_143/start_frame=0 +animation/clip_143/end_frame=0 +animation/clip_143/loops=false +animation/clip_144/name="" +animation/clip_144/start_frame=0 +animation/clip_144/end_frame=0 +animation/clip_144/loops=false +animation/clip_145/name="" +animation/clip_145/start_frame=0 +animation/clip_145/end_frame=0 +animation/clip_145/loops=false +animation/clip_146/name="" +animation/clip_146/start_frame=0 +animation/clip_146/end_frame=0 +animation/clip_146/loops=false +animation/clip_147/name="" +animation/clip_147/start_frame=0 +animation/clip_147/end_frame=0 +animation/clip_147/loops=false +animation/clip_148/name="" +animation/clip_148/start_frame=0 +animation/clip_148/end_frame=0 +animation/clip_148/loops=false +animation/clip_149/name="" +animation/clip_149/start_frame=0 +animation/clip_149/end_frame=0 +animation/clip_149/loops=false +animation/clip_150/name="" +animation/clip_150/start_frame=0 +animation/clip_150/end_frame=0 +animation/clip_150/loops=false +animation/clip_151/name="" +animation/clip_151/start_frame=0 +animation/clip_151/end_frame=0 +animation/clip_151/loops=false +animation/clip_152/name="" +animation/clip_152/start_frame=0 +animation/clip_152/end_frame=0 +animation/clip_152/loops=false +animation/clip_153/name="" +animation/clip_153/start_frame=0 +animation/clip_153/end_frame=0 +animation/clip_153/loops=false +animation/clip_154/name="" +animation/clip_154/start_frame=0 +animation/clip_154/end_frame=0 +animation/clip_154/loops=false +animation/clip_155/name="" +animation/clip_155/start_frame=0 +animation/clip_155/end_frame=0 +animation/clip_155/loops=false +animation/clip_156/name="" +animation/clip_156/start_frame=0 +animation/clip_156/end_frame=0 +animation/clip_156/loops=false +animation/clip_157/name="" +animation/clip_157/start_frame=0 +animation/clip_157/end_frame=0 +animation/clip_157/loops=false +animation/clip_158/name="" +animation/clip_158/start_frame=0 +animation/clip_158/end_frame=0 +animation/clip_158/loops=false +animation/clip_159/name="" +animation/clip_159/start_frame=0 +animation/clip_159/end_frame=0 +animation/clip_159/loops=false +animation/clip_160/name="" +animation/clip_160/start_frame=0 +animation/clip_160/end_frame=0 +animation/clip_160/loops=false +animation/clip_161/name="" +animation/clip_161/start_frame=0 +animation/clip_161/end_frame=0 +animation/clip_161/loops=false +animation/clip_162/name="" +animation/clip_162/start_frame=0 +animation/clip_162/end_frame=0 +animation/clip_162/loops=false +animation/clip_163/name="" +animation/clip_163/start_frame=0 +animation/clip_163/end_frame=0 +animation/clip_163/loops=false +animation/clip_164/name="" +animation/clip_164/start_frame=0 +animation/clip_164/end_frame=0 +animation/clip_164/loops=false +animation/clip_165/name="" +animation/clip_165/start_frame=0 +animation/clip_165/end_frame=0 +animation/clip_165/loops=false +animation/clip_166/name="" +animation/clip_166/start_frame=0 +animation/clip_166/end_frame=0 +animation/clip_166/loops=false +animation/clip_167/name="" +animation/clip_167/start_frame=0 +animation/clip_167/end_frame=0 +animation/clip_167/loops=false +animation/clip_168/name="" +animation/clip_168/start_frame=0 +animation/clip_168/end_frame=0 +animation/clip_168/loops=false +animation/clip_169/name="" +animation/clip_169/start_frame=0 +animation/clip_169/end_frame=0 +animation/clip_169/loops=false +animation/clip_170/name="" +animation/clip_170/start_frame=0 +animation/clip_170/end_frame=0 +animation/clip_170/loops=false +animation/clip_171/name="" +animation/clip_171/start_frame=0 +animation/clip_171/end_frame=0 +animation/clip_171/loops=false +animation/clip_172/name="" +animation/clip_172/start_frame=0 +animation/clip_172/end_frame=0 +animation/clip_172/loops=false +animation/clip_173/name="" +animation/clip_173/start_frame=0 +animation/clip_173/end_frame=0 +animation/clip_173/loops=false +animation/clip_174/name="" +animation/clip_174/start_frame=0 +animation/clip_174/end_frame=0 +animation/clip_174/loops=false +animation/clip_175/name="" +animation/clip_175/start_frame=0 +animation/clip_175/end_frame=0 +animation/clip_175/loops=false +animation/clip_176/name="" +animation/clip_176/start_frame=0 +animation/clip_176/end_frame=0 +animation/clip_176/loops=false +animation/clip_177/name="" +animation/clip_177/start_frame=0 +animation/clip_177/end_frame=0 +animation/clip_177/loops=false +animation/clip_178/name="" +animation/clip_178/start_frame=0 +animation/clip_178/end_frame=0 +animation/clip_178/loops=false +animation/clip_179/name="" +animation/clip_179/start_frame=0 +animation/clip_179/end_frame=0 +animation/clip_179/loops=false +animation/clip_180/name="" +animation/clip_180/start_frame=0 +animation/clip_180/end_frame=0 +animation/clip_180/loops=false +animation/clip_181/name="" +animation/clip_181/start_frame=0 +animation/clip_181/end_frame=0 +animation/clip_181/loops=false +animation/clip_182/name="" +animation/clip_182/start_frame=0 +animation/clip_182/end_frame=0 +animation/clip_182/loops=false +animation/clip_183/name="" +animation/clip_183/start_frame=0 +animation/clip_183/end_frame=0 +animation/clip_183/loops=false +animation/clip_184/name="" +animation/clip_184/start_frame=0 +animation/clip_184/end_frame=0 +animation/clip_184/loops=false +animation/clip_185/name="" +animation/clip_185/start_frame=0 +animation/clip_185/end_frame=0 +animation/clip_185/loops=false +animation/clip_186/name="" +animation/clip_186/start_frame=0 +animation/clip_186/end_frame=0 +animation/clip_186/loops=false +animation/clip_187/name="" +animation/clip_187/start_frame=0 +animation/clip_187/end_frame=0 +animation/clip_187/loops=false +animation/clip_188/name="" +animation/clip_188/start_frame=0 +animation/clip_188/end_frame=0 +animation/clip_188/loops=false +animation/clip_189/name="" +animation/clip_189/start_frame=0 +animation/clip_189/end_frame=0 +animation/clip_189/loops=false +animation/clip_190/name="" +animation/clip_190/start_frame=0 +animation/clip_190/end_frame=0 +animation/clip_190/loops=false +animation/clip_191/name="" +animation/clip_191/start_frame=0 +animation/clip_191/end_frame=0 +animation/clip_191/loops=false +animation/clip_192/name="" +animation/clip_192/start_frame=0 +animation/clip_192/end_frame=0 +animation/clip_192/loops=false +animation/clip_193/name="" +animation/clip_193/start_frame=0 +animation/clip_193/end_frame=0 +animation/clip_193/loops=false +animation/clip_194/name="" +animation/clip_194/start_frame=0 +animation/clip_194/end_frame=0 +animation/clip_194/loops=false +animation/clip_195/name="" +animation/clip_195/start_frame=0 +animation/clip_195/end_frame=0 +animation/clip_195/loops=false +animation/clip_196/name="" +animation/clip_196/start_frame=0 +animation/clip_196/end_frame=0 +animation/clip_196/loops=false +animation/clip_197/name="" +animation/clip_197/start_frame=0 +animation/clip_197/end_frame=0 +animation/clip_197/loops=false +animation/clip_198/name="" +animation/clip_198/start_frame=0 +animation/clip_198/end_frame=0 +animation/clip_198/loops=false +animation/clip_199/name="" +animation/clip_199/start_frame=0 +animation/clip_199/end_frame=0 +animation/clip_199/loops=false +animation/clip_200/name="" +animation/clip_200/start_frame=0 +animation/clip_200/end_frame=0 +animation/clip_200/loops=false +animation/clip_201/name="" +animation/clip_201/start_frame=0 +animation/clip_201/end_frame=0 +animation/clip_201/loops=false +animation/clip_202/name="" +animation/clip_202/start_frame=0 +animation/clip_202/end_frame=0 +animation/clip_202/loops=false +animation/clip_203/name="" +animation/clip_203/start_frame=0 +animation/clip_203/end_frame=0 +animation/clip_203/loops=false +animation/clip_204/name="" +animation/clip_204/start_frame=0 +animation/clip_204/end_frame=0 +animation/clip_204/loops=false +animation/clip_205/name="" +animation/clip_205/start_frame=0 +animation/clip_205/end_frame=0 +animation/clip_205/loops=false +animation/clip_206/name="" +animation/clip_206/start_frame=0 +animation/clip_206/end_frame=0 +animation/clip_206/loops=false +animation/clip_207/name="" +animation/clip_207/start_frame=0 +animation/clip_207/end_frame=0 +animation/clip_207/loops=false +animation/clip_208/name="" +animation/clip_208/start_frame=0 +animation/clip_208/end_frame=0 +animation/clip_208/loops=false +animation/clip_209/name="" +animation/clip_209/start_frame=0 +animation/clip_209/end_frame=0 +animation/clip_209/loops=false +animation/clip_210/name="" +animation/clip_210/start_frame=0 +animation/clip_210/end_frame=0 +animation/clip_210/loops=false +animation/clip_211/name="" +animation/clip_211/start_frame=0 +animation/clip_211/end_frame=0 +animation/clip_211/loops=false +animation/clip_212/name="" +animation/clip_212/start_frame=0 +animation/clip_212/end_frame=0 +animation/clip_212/loops=false +animation/clip_213/name="" +animation/clip_213/start_frame=0 +animation/clip_213/end_frame=0 +animation/clip_213/loops=false +animation/clip_214/name="" +animation/clip_214/start_frame=0 +animation/clip_214/end_frame=0 +animation/clip_214/loops=false +animation/clip_215/name="" +animation/clip_215/start_frame=0 +animation/clip_215/end_frame=0 +animation/clip_215/loops=false +animation/clip_216/name="" +animation/clip_216/start_frame=0 +animation/clip_216/end_frame=0 +animation/clip_216/loops=false +animation/clip_217/name="" +animation/clip_217/start_frame=0 +animation/clip_217/end_frame=0 +animation/clip_217/loops=false +animation/clip_218/name="" +animation/clip_218/start_frame=0 +animation/clip_218/end_frame=0 +animation/clip_218/loops=false +animation/clip_219/name="" +animation/clip_219/start_frame=0 +animation/clip_219/end_frame=0 +animation/clip_219/loops=false +animation/clip_220/name="" +animation/clip_220/start_frame=0 +animation/clip_220/end_frame=0 +animation/clip_220/loops=false +animation/clip_221/name="" +animation/clip_221/start_frame=0 +animation/clip_221/end_frame=0 +animation/clip_221/loops=false +animation/clip_222/name="" +animation/clip_222/start_frame=0 +animation/clip_222/end_frame=0 +animation/clip_222/loops=false +animation/clip_223/name="" +animation/clip_223/start_frame=0 +animation/clip_223/end_frame=0 +animation/clip_223/loops=false +animation/clip_224/name="" +animation/clip_224/start_frame=0 +animation/clip_224/end_frame=0 +animation/clip_224/loops=false +animation/clip_225/name="" +animation/clip_225/start_frame=0 +animation/clip_225/end_frame=0 +animation/clip_225/loops=false +animation/clip_226/name="" +animation/clip_226/start_frame=0 +animation/clip_226/end_frame=0 +animation/clip_226/loops=false +animation/clip_227/name="" +animation/clip_227/start_frame=0 +animation/clip_227/end_frame=0 +animation/clip_227/loops=false +animation/clip_228/name="" +animation/clip_228/start_frame=0 +animation/clip_228/end_frame=0 +animation/clip_228/loops=false +animation/clip_229/name="" +animation/clip_229/start_frame=0 +animation/clip_229/end_frame=0 +animation/clip_229/loops=false +animation/clip_230/name="" +animation/clip_230/start_frame=0 +animation/clip_230/end_frame=0 +animation/clip_230/loops=false +animation/clip_231/name="" +animation/clip_231/start_frame=0 +animation/clip_231/end_frame=0 +animation/clip_231/loops=false +animation/clip_232/name="" +animation/clip_232/start_frame=0 +animation/clip_232/end_frame=0 +animation/clip_232/loops=false +animation/clip_233/name="" +animation/clip_233/start_frame=0 +animation/clip_233/end_frame=0 +animation/clip_233/loops=false +animation/clip_234/name="" +animation/clip_234/start_frame=0 +animation/clip_234/end_frame=0 +animation/clip_234/loops=false +animation/clip_235/name="" +animation/clip_235/start_frame=0 +animation/clip_235/end_frame=0 +animation/clip_235/loops=false +animation/clip_236/name="" +animation/clip_236/start_frame=0 +animation/clip_236/end_frame=0 +animation/clip_236/loops=false +animation/clip_237/name="" +animation/clip_237/start_frame=0 +animation/clip_237/end_frame=0 +animation/clip_237/loops=false +animation/clip_238/name="" +animation/clip_238/start_frame=0 +animation/clip_238/end_frame=0 +animation/clip_238/loops=false +animation/clip_239/name="" +animation/clip_239/start_frame=0 +animation/clip_239/end_frame=0 +animation/clip_239/loops=false +animation/clip_240/name="" +animation/clip_240/start_frame=0 +animation/clip_240/end_frame=0 +animation/clip_240/loops=false +animation/clip_241/name="" +animation/clip_241/start_frame=0 +animation/clip_241/end_frame=0 +animation/clip_241/loops=false +animation/clip_242/name="" +animation/clip_242/start_frame=0 +animation/clip_242/end_frame=0 +animation/clip_242/loops=false +animation/clip_243/name="" +animation/clip_243/start_frame=0 +animation/clip_243/end_frame=0 +animation/clip_243/loops=false +animation/clip_244/name="" +animation/clip_244/start_frame=0 +animation/clip_244/end_frame=0 +animation/clip_244/loops=false +animation/clip_245/name="" +animation/clip_245/start_frame=0 +animation/clip_245/end_frame=0 +animation/clip_245/loops=false +animation/clip_246/name="" +animation/clip_246/start_frame=0 +animation/clip_246/end_frame=0 +animation/clip_246/loops=false +animation/clip_247/name="" +animation/clip_247/start_frame=0 +animation/clip_247/end_frame=0 +animation/clip_247/loops=false +animation/clip_248/name="" +animation/clip_248/start_frame=0 +animation/clip_248/end_frame=0 +animation/clip_248/loops=false +animation/clip_249/name="" +animation/clip_249/start_frame=0 +animation/clip_249/end_frame=0 +animation/clip_249/loops=false +animation/clip_250/name="" +animation/clip_250/start_frame=0 +animation/clip_250/end_frame=0 +animation/clip_250/loops=false +animation/clip_251/name="" +animation/clip_251/start_frame=0 +animation/clip_251/end_frame=0 +animation/clip_251/loops=false +animation/clip_252/name="" +animation/clip_252/start_frame=0 +animation/clip_252/end_frame=0 +animation/clip_252/loops=false +animation/clip_253/name="" +animation/clip_253/start_frame=0 +animation/clip_253/end_frame=0 +animation/clip_253/loops=false +animation/clip_254/name="" +animation/clip_254/start_frame=0 +animation/clip_254/end_frame=0 +animation/clip_254/loops=false +animation/clip_255/name="" +animation/clip_255/start_frame=0 +animation/clip_255/end_frame=0 +animation/clip_255/loops=false +animation/clip_256/name="" +animation/clip_256/start_frame=0 +animation/clip_256/end_frame=0 +animation/clip_256/loops=false diff --git a/project.godot b/project.godot index 14494f1..bfbe071 100644 --- a/project.godot +++ b/project.godot @@ -74,6 +74,11 @@ _global_script_classes=[ { "language": "GDScript", "path": "res://scripts/Interface.gd" }, { +"base": "Spatial", +"class": "ItemBalloon", +"language": "GDScript", +"path": "res://scripts/item_balloon.gd" +}, { "base": "Resource", "class": "ItemType", "language": "GDScript", @@ -108,6 +113,7 @@ _global_script_class_icons={ "DialogicUtil": "", "HistoryRow": "", "Interface": "", +"ItemBalloon": "", "ItemType": "", "Recipe": "", "RecipeDB": "", diff --git a/scenes/comm_station.tscn b/scenes/comm_station.tscn index 283fd3c..ba0ec45 100644 --- a/scenes/comm_station.tscn +++ b/scenes/comm_station.tscn @@ -13,10 +13,7 @@ start_broken = true [node name="item_dump" parent="." instance=ExtResource( 1 )] unique_name_in_owner = true -item_type_0 = ExtResource( 4 ) -item_count_0 = 1 -item_type_1 = ExtResource( 5 ) -item_count_1 = 1 +items_required = [ ExtResource( 4 ), ExtResource( 5 ) ] [node name="coin_machine" parent="." instance=ExtResource( 3 )] unique_name_in_owner = true diff --git a/scenes/crafting_station.tscn b/scenes/crafting_station.tscn index ef199eb..5bd3e80 100644 --- a/scenes/crafting_station.tscn +++ b/scenes/crafting_station.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=7 format=2] [ext_resource path="res://scenes/item_holder.tscn" type="PackedScene" id=1] [ext_resource path="res://scripts/crafting_station/crafting_station.gd" type="Script" id=2] @@ -6,7 +6,6 @@ [ext_resource path="res://scenes/item_dump.tscn" type="PackedScene" id=4] [ext_resource path="res://scenes/status_light.tscn" type="PackedScene" id=5] [ext_resource path="res://item_types/crystal.tres" type="Resource" id=6] -[ext_resource path="res://item_types/ore.tres" type="Resource" id=7] [node name="crafting_station" type="Spatial" groups=["damageable"]] script = ExtResource( 2 ) @@ -29,8 +28,6 @@ one_shot = true [node name="item_dump" parent="." instance=ExtResource( 4 )] unique_name_in_owner = true transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.366242, 0, 0 ) -item_type_0 = ExtResource( 7 ) -item_count_0 = 2 [node name="status_light" parent="." instance=ExtResource( 5 )] unique_name_in_owner = true diff --git a/scenes/hydroponics_station.tscn b/scenes/hydroponics_station.tscn index 8c70ee4..63bba8b 100644 --- a/scenes/hydroponics_station.tscn +++ b/scenes/hydroponics_station.tscn @@ -33,8 +33,7 @@ omni_attenuation = 0.933034 [node name="item_dump" parent="." instance=ExtResource( 5 )] unique_name_in_owner = true -item_type_0 = ExtResource( 6 ) -item_count_0 = 1 +items_required = [ ExtResource( 6 ) ] [connection signal="coin_requirement_met" from="coin_machine" to="." method="_on_coin_machine_coin_requirement_met"] [connection signal="item_changed" from="item_holder" to="." method="_on_item_holder_item_changed"] diff --git a/scenes/item_balloon.tscn b/scenes/item_balloon.tscn new file mode 100644 index 0000000..66935fe --- /dev/null +++ b/scenes/item_balloon.tscn @@ -0,0 +1,65 @@ +[gd_scene load_steps=13 format=2] + +[ext_resource path="res://scripts/item_balloon.gd" type="Script" id=1] +[ext_resource path="res://assets/item_balloon/item_balloon.glb" type="PackedScene" id=2] +[ext_resource path="res://scenes/item.tscn" type="PackedScene" id=3] +[ext_resource path="res://item_types/ingot.tres" type="Resource" id=4] + +[sub_resource type="AnimationNodeAnimation" id=1] +animation = "Balloon Bounce" + +[sub_resource type="AnimationNodeAnimation" id=2] +animation = "Balloon Idle" + +[sub_resource type="AnimationNodeAnimation" id=3] +animation = "Balloon Reset" + +[sub_resource type="AnimationNodeStateMachineTransition" id=4] + +[sub_resource type="AnimationNodeStateMachineTransition" id=5] +switch_mode = 2 +auto_advance = true + +[sub_resource type="AnimationNodeStateMachineTransition" id=6] +switch_mode = 2 +auto_advance = true + +[sub_resource type="AnimationNodeStateMachine" id=7] +states/bounce/node = SubResource( 1 ) +states/bounce/position = Vector2( 653, 152.25 ) +states/idle/node = SubResource( 2 ) +states/idle/position = Vector2( 358, 151.875 ) +states/reset/node = SubResource( 3 ) +states/reset/position = Vector2( 495, 279.5 ) +transitions = [ "idle", "bounce", SubResource( 4 ), "bounce", "reset", SubResource( 5 ), "reset", "idle", SubResource( 6 ) ] +start_node = "idle" + +[sub_resource type="AnimationNodeStateMachinePlayback" id=8] + +[node name="item_balloon" instance=ExtResource( 2 )] +script = ExtResource( 1 ) + +[node name="ItemSpawn" type="BoneAttachment" parent="Armature/Skeleton" index="1"] +transform = Transform( -1, 0, -8.74228e-08, -8.96342e-08, 0, 1.0253, 0, 1, 0, 0, -0.013823, 0 ) +bone_name = "Item" + +[node name="attached_item" parent="Armature/Skeleton/ItemSpawn" index="0" instance=ExtResource( 3 )] +unique_name_in_owner = true +transform = Transform( 1, 0, -2.37178e-09, 0, 1, 0, -2.37177e-09, 0, 1.02713, 1.6173e-08, 0, -0.184997 ) +item_type = ExtResource( 4 ) + +[node name="AnimationPlayer" parent="." index="1"] +autoplay = "Balloon Idle" + +[node name="AnimationTree" type="AnimationTree" parent="." index="2"] +unique_name_in_owner = true +tree_root = SubResource( 7 ) +anim_player = NodePath("../AnimationPlayer") +active = true +parameters/playback = SubResource( 8 ) + +[node name="bounce_timer" type="Timer" parent="." index="3"] +unique_name_in_owner = true +one_shot = true + +[connection signal="timeout" from="bounce_timer" to="." method="_on_bounce_timer_timeout"] diff --git a/scenes/item_dump.tscn b/scenes/item_dump.tscn index 2336940..48fc7f2 100644 --- a/scenes/item_dump.tscn +++ b/scenes/item_dump.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=4 format=2] [ext_resource path="res://scripts/item_dump.gd" type="Script" id=1] +[ext_resource path="res://scenes/item_balloon.tscn" type="PackedScene" id=2] [sub_resource type="BoxShape" id=1] @@ -11,3 +12,22 @@ script = ExtResource( 1 ) [node name="CollisionShape" type="CollisionShape" parent="."] shape = SubResource( 1 ) + +[node name="one_item" type="Spatial" parent="."] +unique_name_in_owner = true +transform = Transform( 0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 2.50434, 0 ) + +[node name="one_item_balloon" parent="one_item" instance=ExtResource( 2 )] +unique_name_in_owner = true + +[node name="two_item" type="Spatial" parent="."] +unique_name_in_owner = true +transform = Transform( 0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0.514625, 0 ) + +[node name="two_item_balloon1" parent="two_item" instance=ExtResource( 2 )] +unique_name_in_owner = true +transform = Transform( 0.901009, -0.433801, 0, 0.433801, 0.901009, 0, 0, 0, 1, -1, 2.691, 0 ) + +[node name="two_item_balloon2" parent="two_item" instance=ExtResource( 2 )] +unique_name_in_owner = true +transform = Transform( 0.901009, 0.433801, 0, -0.433801, 0.901009, 0, 0, 0, 1, 1, 2.691, 0 ) diff --git a/scenes/item_generator.tscn b/scenes/item_generator.tscn index fec8c12..1c50caa 100644 --- a/scenes/item_generator.tscn +++ b/scenes/item_generator.tscn @@ -28,8 +28,7 @@ one_shot = true [node name="item_dump" parent="." instance=ExtResource( 4 )] unique_name_in_owner = true -item_type_0 = ExtResource( 6 ) -item_count_0 = 1 +items_required = [ ExtResource( 6 ) ] [node name="status_light" parent="." instance=ExtResource( 5 )] unique_name_in_owner = true diff --git a/scenes/oven.tscn b/scenes/oven.tscn index 4fd00cc..a86acb3 100644 --- a/scenes/oven.tscn +++ b/scenes/oven.tscn @@ -18,12 +18,9 @@ script = ExtResource( 2 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.621351, 0 ) [node name="item_dump" parent="." instance=ExtResource( 4 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.733121, 0 ) +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.117529, 0 ) collision_mask = 0 -item_type_0 = ExtResource( 6 ) -item_count_0 = 1 -item_type_1 = ExtResource( 7 ) -item_count_1 = 1 +items_required = [ ExtResource( 7 ), ExtResource( 6 ) ] [node name="item_holder" parent="." instance=ExtResource( 1 )] unique_name_in_owner = true diff --git a/scenes/player.tscn b/scenes/player.tscn index 5762837..c6052f9 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -509,13 +509,13 @@ xfade_time = 0.1 states/idle/node = SubResource( 12 ) states/idle/position = Vector2( 357, 120.556 ) states/run/node = SubResource( 13 ) -states/run/position = Vector2( 589, 120.926 ) +states/run/position = Vector2( 589, 120.491 ) transitions = [ "idle", "run", SubResource( 14 ), "run", "idle", SubResource( 15 ) ] start_node = "idle" -graph_offset = Vector2( -363, -189 ) +graph_offset = Vector2( -81, -148 ) [sub_resource type="AnimationNodeBlendTree" id=9] -graph_offset = Vector2( -371.661, 122.494 ) +graph_offset = Vector2( -415.444, 83.8956 ) nodes/Activate/node = SubResource( 22 ) nodes/Activate/position = Vector2( 373.333, 200 ) nodes/Animation/node = SubResource( 10 ) @@ -527,7 +527,7 @@ nodes/Blink/position = Vector2( 120, 200 ) nodes/Move/node = SubResource( 16 ) nodes/Move/position = Vector2( -146.667, 200 ) nodes/output/position = Vector2( 586.667, 200 ) -node_connections = [ "output", 0, "Activate", "Activate", 0, "Blink", "Activate", 1, "Animation 2", "Blink", 0, "Move", "Blink", 1, "Animation" ] +node_connections = [ "Blink", 0, "Move", "Blink", 1, "Animation", "Activate", 0, "Blink", "Activate", 1, "Animation 2", "output", 0, "Activate" ] [sub_resource type="AnimationNodeStateMachinePlayback" id=17] @@ -714,7 +714,7 @@ mesh = SubResource( 1 ) skin = SubResource( 2 ) [node name="head_bone" type="BoneAttachment" parent="model_transform/DungMan/Armature/Skeleton" index="1"] -transform = Transform( 1, -2.21304e-16, -1.10964e-17, 1.63982e-18, -0.0426856, 0.999088, -2.21576e-16, -0.999088, -0.0426856, -3.31142e-16, -0.0537476, -1.50833 ) +transform = Transform( 1, -2.215e-16, -8.74829e-18, 1.05956e-18, -0.0346883, 0.999398, -2.21671e-16, -0.999398, -0.0346883, -3.32827e-16, -0.0101955, -1.49897 ) bone_name = "Item" [node name="ItemSpawn" type="Spatial" parent="model_transform/DungMan/Armature/Skeleton/head_bone"] diff --git a/scenes/rover_station.tscn b/scenes/rover_station.tscn index 0a2cbe6..d8a3d7b 100644 --- a/scenes/rover_station.tscn +++ b/scenes/rover_station.tscn @@ -24,11 +24,8 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.02357, 0.126143 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.26269, 0.778543, -0.31761 ) [node name="item_dump" parent="." instance=ExtResource( 4 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 9.53674e-07, 0.993049, 0.0943546 ) -item_type_0 = ExtResource( 11 ) -item_count_0 = 1 -item_type_1 = ExtResource( 5 ) -item_count_1 = 1 +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2.86102e-06, 0.0492492, 0.709089 ) +items_required = [ ExtResource( 5 ), ExtResource( 11 ) ] [node name="game_canvas" type="CanvasLayer" parent="."] layer = 0 diff --git a/scripts/item_balloon.gd b/scripts/item_balloon.gd new file mode 100644 index 0000000..39c1ebc --- /dev/null +++ b/scripts/item_balloon.gd @@ -0,0 +1,35 @@ +extends Spatial + +class_name ItemBalloon + +const ItemScene = preload("res://scenes/item.tscn") + +onready var anim_tree : AnimationTree = $"%AnimationTree" +onready var bounce_timer : Timer = $"%bounce_timer" +onready var attached_item = $"%attached_item" + +var anim_playback : AnimationNodeStateMachinePlayback = null +var is_bouncing : bool = false + +# Called when the node enters the scene tree for the first time. +func _ready(): + anim_playback = anim_tree["parameters/playback"] + anim_playback.travel("idle") + bounce_timer.one_shot = true + +func attach_item(item : Resource): + attached_item.set_item_type(item) + +func bounce(): + if is_bouncing: + return + is_bouncing = true + anim_playback.travel("bounce") + bounce_timer.start(anim_playback.get_current_length()) + +func _on_bounce_timer_timeout(): + pass +# assert(is_bouncing) +# anim_playback.start("Balloon Reset") +# anim_playback.travel("Ballon Idle") +# is_bouncing = false diff --git a/scripts/item_dump.gd b/scripts/item_dump.gd index 3872d66..c019aca 100644 --- a/scripts/item_dump.gd +++ b/scripts/item_dump.gd @@ -2,51 +2,62 @@ extends Spatial signal item_dump_completed signal item_dumped -# Godot is not configurable enough (without great pains) -# to make this look less dumb -export var item_type_0: Resource -export var item_count_0: int -export var item_type_1: Resource -export var item_count_1: int -export var item_type_2: Resource -export var item_count_2: int - -var remaining := {} export var enabled = true +export (Array,Resource) var items_required + +onready var one_item_node : Spatial = $"%one_item" +onready var two_item_node : Spatial = $"%two_item" + +onready var one_item_balloon : ItemBalloon = $"%one_item_balloon" +onready var two_item_balloon1 : ItemBalloon = $"%two_item_balloon1" +onready var two_item_balloon2 : ItemBalloon = $"%two_item_balloon2" + +var items_remaining = [] func _ready(): + assert(items_required.size() <= 2) reset() + update_item_balloons() func reset(): - remaining.clear() - if item_type_0 and item_count_0 > 0: - remaining[item_type_0] = item_count_0 - if item_type_1 and item_count_1 > 0: - remaining[item_type_1] = item_count_1 - if item_type_2 and item_count_2 > 0: - remaining[item_type_2] = item_count_2 + items_remaining.clear() + for item in items_required: + assert(item != null) + items_remaining.push_back(item) func on_player_interact(player) -> bool: if not enabled: return false - if remaining.empty(): + if items_remaining.empty(): return false if not player.has_item(): return false - if not remaining.has(player.item_in_hand.item_type): + if not items_remaining.has(player.item_in_hand.item_type): return false - assert(remaining[player.item_in_hand.item_type] > 0, "remaining dictionary should always erase keys with a value of 0") # Remove the player's item and mark off the item on the remaining list var item = player.drop_item_in_hand() - remaining[item.item_type] -= 1 - if remaining[item.item_type] <= 0: - remaining.erase(item.item_type) + items_remaining.erase(item.item_type) item.queue_free() emit_signal("item_dumped") + update_item_balloons() # Check if everything's been checked off - if remaining.empty(): + if items_remaining.empty(): emit_signal("item_dump_completed") return true + +func update_item_balloons(): + if items_remaining.size() == 0: + one_item_node.visible = false + two_item_node.visible = false + elif items_remaining.size() == 1: + one_item_node.visible = true + two_item_node.visible = false + one_item_balloon.attach_item(items_remaining[0]) + else: + one_item_node.visible = false + two_item_node.visible = true + two_item_balloon1.attach_item(items_remaining[0]) + two_item_balloon2.attach_item(items_remaining[1])