diff --git a/assets/item_balloon/Balloon Border.material b/assets/item_balloon/Balloon Border.material new file mode 100644 index 0000000..a81d319 Binary files /dev/null and b/assets/item_balloon/Balloon Border.material differ diff --git a/assets/item_balloon/Balloon White.material b/assets/item_balloon/Balloon White.material new file mode 100644 index 0000000..77e4e06 Binary files /dev/null and b/assets/item_balloon/Balloon White.material differ diff --git a/assets/item_balloon/item_balloon.glb b/assets/item_balloon/item_balloon.glb new file mode 100644 index 0000000..8e96cf4 Binary files /dev/null and b/assets/item_balloon/item_balloon.glb differ 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])