Burner.tscn 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. [gd_scene load_steps=33 format=3 uid="uid://cbs645wiwmaxq"]
  2. [ext_resource type="Script" uid="uid://clareynx710qb" path="res://Scripts/Classes/Entities/Objects/Burner.gd" id="1_4fveq"]
  3. [ext_resource type="Texture2D" uid="uid://dhk5jdqjqo77p" path="res://Assets/Sprites/Blocks/BurnerFlame.png" id="1_vrk50"]
  4. [ext_resource type="Texture2D" uid="uid://4l2medldwrwh" path="res://Assets/Sprites/Blocks/Burner.png" id="2_4fveq"]
  5. [ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_fsldu"]
  6. [ext_resource type="Script" uid="uid://cnheej0sxmoxg" path="res://Scripts/Parts/PlayerDetection.gd" id="3_sqxap"]
  7. [ext_resource type="JSON" path="res://Assets/Sprites/Blocks/BurnerFlame.json" id="4_m4qew"]
  8. [ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="5_sqxap"]
  9. [ext_resource type="JSON" path="res://Assets/Sprites/Blocks/BurnerBlock.json" id="5_w52fl"]
  10. [ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="7_w52fl"]
  11. [ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="8_oeevx"]
  12. [ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="10_oeevx"]
  13. [sub_resource type="RectangleShape2D" id="RectangleShape2D_amjrr"]
  14. size = Vector2(16, 16)
  15. [sub_resource type="AtlasTexture" id="AtlasTexture_od61c"]
  16. atlas = ExtResource("1_vrk50")
  17. region = Rect2(80, 0, 16, 48)
  18. [sub_resource type="AtlasTexture" id="AtlasTexture_fsldu"]
  19. atlas = ExtResource("1_vrk50")
  20. region = Rect2(64, 0, 16, 48)
  21. [sub_resource type="AtlasTexture" id="AtlasTexture_w52fl"]
  22. atlas = ExtResource("1_vrk50")
  23. region = Rect2(48, 0, 16, 48)
  24. [sub_resource type="AtlasTexture" id="AtlasTexture_oeevx"]
  25. atlas = ExtResource("1_vrk50")
  26. region = Rect2(32, 0, 16, 48)
  27. [sub_resource type="AtlasTexture" id="AtlasTexture_m4qew"]
  28. atlas = ExtResource("1_vrk50")
  29. region = Rect2(16, 0, 16, 48)
  30. [sub_resource type="AtlasTexture" id="AtlasTexture_je1ke"]
  31. atlas = ExtResource("1_vrk50")
  32. region = Rect2(0, 0, 16, 48)
  33. [sub_resource type="AtlasTexture" id="AtlasTexture_liwv0"]
  34. atlas = ExtResource("1_vrk50")
  35. region = Rect2(0, 0, 1, 1)
  36. [sub_resource type="AtlasTexture" id="AtlasTexture_t81wb"]
  37. atlas = ExtResource("1_vrk50")
  38. region = Rect2(64, 0, 16, 48)
  39. [sub_resource type="AtlasTexture" id="AtlasTexture_1yyyj"]
  40. atlas = ExtResource("1_vrk50")
  41. region = Rect2(80, 0, 16, 48)
  42. [sub_resource type="AtlasTexture" id="AtlasTexture_drojf"]
  43. atlas = ExtResource("1_vrk50")
  44. region = Rect2(0, 0, 16, 48)
  45. [sub_resource type="AtlasTexture" id="AtlasTexture_pdqi0"]
  46. atlas = ExtResource("1_vrk50")
  47. region = Rect2(16, 0, 16, 48)
  48. [sub_resource type="AtlasTexture" id="AtlasTexture_ywbh4"]
  49. atlas = ExtResource("1_vrk50")
  50. region = Rect2(32, 0, 16, 48)
  51. [sub_resource type="AtlasTexture" id="AtlasTexture_p2mql"]
  52. atlas = ExtResource("1_vrk50")
  53. region = Rect2(48, 0, 16, 48)
  54. [sub_resource type="AtlasTexture" id="AtlasTexture_seql0"]
  55. atlas = ExtResource("1_vrk50")
  56. region = Rect2(64, 0, 16, 48)
  57. [sub_resource type="AtlasTexture" id="AtlasTexture_5ex0w"]
  58. atlas = ExtResource("1_vrk50")
  59. region = Rect2(80, 0, 16, 48)
  60. [sub_resource type="SpriteFrames" id="SpriteFrames_8axu6"]
  61. animations = [{
  62. "frames": [{
  63. "duration": 1.0,
  64. "texture": SubResource("AtlasTexture_od61c")
  65. }, {
  66. "duration": 1.0,
  67. "texture": SubResource("AtlasTexture_fsldu")
  68. }, {
  69. "duration": 1.0,
  70. "texture": SubResource("AtlasTexture_w52fl")
  71. }, {
  72. "duration": 1.0,
  73. "texture": SubResource("AtlasTexture_oeevx")
  74. }, {
  75. "duration": 1.0,
  76. "texture": SubResource("AtlasTexture_m4qew")
  77. }, {
  78. "duration": 1.0,
  79. "texture": SubResource("AtlasTexture_je1ke")
  80. }, {
  81. "duration": 1.0,
  82. "texture": SubResource("AtlasTexture_liwv0")
  83. }],
  84. "loop": false,
  85. "name": &"Fall",
  86. "speed": 10.0
  87. }, {
  88. "frames": [{
  89. "duration": 1.0,
  90. "texture": SubResource("AtlasTexture_t81wb")
  91. }, {
  92. "duration": 1.0,
  93. "texture": SubResource("AtlasTexture_1yyyj")
  94. }],
  95. "loop": true,
  96. "name": &"Loop",
  97. "speed": 15.0
  98. }, {
  99. "frames": [{
  100. "duration": 1.0,
  101. "texture": SubResource("AtlasTexture_drojf")
  102. }, {
  103. "duration": 1.0,
  104. "texture": SubResource("AtlasTexture_pdqi0")
  105. }, {
  106. "duration": 1.0,
  107. "texture": SubResource("AtlasTexture_ywbh4")
  108. }, {
  109. "duration": 1.0,
  110. "texture": SubResource("AtlasTexture_p2mql")
  111. }, {
  112. "duration": 1.0,
  113. "texture": SubResource("AtlasTexture_seql0")
  114. }, {
  115. "duration": 1.0,
  116. "texture": SubResource("AtlasTexture_5ex0w")
  117. }],
  118. "loop": false,
  119. "name": &"Rise",
  120. "speed": 15.0
  121. }]
  122. [sub_resource type="AtlasTexture" id="AtlasTexture_5jhml"]
  123. atlas = ExtResource("2_4fveq")
  124. region = Rect2(0, 0, 16, 16)
  125. [sub_resource type="RectangleShape2D" id="RectangleShape2D_jssei"]
  126. size = Vector2(8, 32)
  127. [sub_resource type="GDScript" id="GDScript_4fveq"]
  128. script/source = "extends Node
  129. @export var sprite: Node2D = null
  130. func _process(_delta: float) -> void:
  131. $\"..\".global_rotation_degrees = [0, 180, -90, 90][owner.direction]
  132. sprite.global_rotation_degrees = [0, 0, 90, 90][owner.direction]
  133. sprite.flip_v = owner.direction == 1 or owner.direction == 2
  134. "
  135. [sub_resource type="Resource" id="Resource_m4qew"]
  136. script = ExtResource("8_oeevx")
  137. Overworld = SubResource("SpriteFrames_8axu6")
  138. metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
  139. [node name="Burner" type="AnimatableBody2D"]
  140. collision_layer = 6
  141. collision_mask = 0
  142. sync_to_physics = false
  143. script = ExtResource("1_4fveq")
  144. [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
  145. shape = SubResource("RectangleShape2D_amjrr")
  146. [node name="RotationJoint" type="Node2D" parent="."]
  147. physics_interpolation_mode = 2
  148. [node name="Flame" type="AnimatedSprite2D" parent="RotationJoint"]
  149. unique_name_in_owner = true
  150. visible = false
  151. position = Vector2(0, -32)
  152. sprite_frames = SubResource("SpriteFrames_8axu6")
  153. animation = &"Rise"
  154. frame = 5
  155. frame_progress = 1.0
  156. [node name="ResourceSetterNew" type="Node" parent="RotationJoint/Flame" node_paths=PackedStringArray("node_to_affect")]
  157. script = ExtResource("3_fsldu")
  158. node_to_affect = NodePath("..")
  159. property_name = "sprite_frames"
  160. resource_json = ExtResource("4_m4qew")
  161. metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
  162. [node name="RemoteTransform2D" type="RemoteTransform2D" parent="RotationJoint"]
  163. remote_path = NodePath("../Block")
  164. update_rotation = false
  165. update_scale = false
  166. [node name="Block" type="Sprite2D" parent="RotationJoint"]
  167. texture = SubResource("AtlasTexture_5jhml")
  168. [node name="ResourceSetterNew" type="Node" parent="RotationJoint/Block" node_paths=PackedStringArray("node_to_affect")]
  169. script = ExtResource("3_fsldu")
  170. node_to_affect = NodePath("..")
  171. property_name = "texture"
  172. mode = 1
  173. resource_json = ExtResource("5_w52fl")
  174. metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
  175. [node name="PlayerDetection" type="Area2D" parent="RotationJoint"]
  176. script = ExtResource("3_sqxap")
  177. metadata/_custom_type_script = "uid://cnheej0sxmoxg"
  178. [node name="Hitbox" type="CollisionShape2D" parent="RotationJoint/PlayerDetection"]
  179. unique_name_in_owner = true
  180. position = Vector2(0, -32)
  181. shape = SubResource("RectangleShape2D_jssei")
  182. disabled = true
  183. [node name="Timer" type="Timer" parent="."]
  184. wait_time = 3.0
  185. one_shot = true
  186. [node name="Node" type="Node" parent="." node_paths=PackedStringArray("sprite")]
  187. process_mode = 3
  188. script = SubResource("GDScript_4fveq")
  189. sprite = NodePath("../RotationJoint/Block")
  190. [node name="EditorPropertyExposer" type="Node" parent="."]
  191. script = ExtResource("5_sqxap")
  192. properties = Array[String](["direction"])
  193. metadata/_custom_type_script = "uid://ctfbuoxtnnl0q"
  194. [node name="ThemedToJSONConverter" type="Node" parent="."]
  195. script = ExtResource("7_w52fl")
  196. resource = SubResource("Resource_m4qew")
  197. json_file_path = "res://Assets/Sprites/Blocks/BurnerFlame.json"
  198. metadata/_custom_type_script = "uid://cqif1li7otvpl"
  199. [node name="TrackJoint" type="Node" parent="."]
  200. script = ExtResource("10_oeevx")
  201. offset = Vector2(0, 0)
  202. disable_physics = false
  203. metadata/_custom_type_script = "uid://d4a7yp6e55u8t"
  204. [connection signal="player_entered" from="RotationJoint/PlayerDetection" to="." method="damage_player"]
  205. [connection signal="timeout" from="Timer" to="." method="do_cycle"]