Explosion.tscn 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. [gd_scene load_steps=22 format=3 uid="uid://clbvyne1cr8gp"]
  2. [ext_resource type="Script" uid="uid://ritdlvkpyjd4" path="res://Scripts/Classes/Entities/Objects/Explosion.gd" id="1_aklik"]
  3. [ext_resource type="Texture2D" uid="uid://brjkrkihadwnj" path="res://Assets/Sprites/Particles/FireballExplosion.png" id="2_4aiuq"]
  4. [ext_resource type="Texture2D" uid="uid://byy3k1pdrp77" path="res://Assets/Sprites/Particles/Smoke.png" id="3_dvv3e"]
  5. [ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="4_hjivi"]
  6. [ext_resource type="AudioStream" uid="uid://d12v455mw8uvu" path="res://Assets/Audio/SFX/Cannon.wav" id="5_8imqq"]
  7. [sub_resource type="AtlasTexture" id="AtlasTexture_vnd2t"]
  8. atlas = ExtResource("2_4aiuq")
  9. region = Rect2(0, 0, 18, 18)
  10. [sub_resource type="AtlasTexture" id="AtlasTexture_axqny"]
  11. atlas = ExtResource("2_4aiuq")
  12. region = Rect2(18, 0, 18, 18)
  13. [sub_resource type="AtlasTexture" id="AtlasTexture_vk8m3"]
  14. atlas = ExtResource("2_4aiuq")
  15. region = Rect2(36, 0, 18, 18)
  16. [sub_resource type="AtlasTexture" id="AtlasTexture_vewww"]
  17. atlas = ExtResource("2_4aiuq")
  18. region = Rect2(54, 0, 18, 18)
  19. [sub_resource type="AtlasTexture" id="AtlasTexture_o5yus"]
  20. atlas = ExtResource("2_4aiuq")
  21. region = Rect2(0, 0, 1, 1)
  22. [sub_resource type="SpriteFrames" id="SpriteFrames_h02ee"]
  23. animations = [{
  24. "frames": [{
  25. "duration": 1.0,
  26. "texture": SubResource("AtlasTexture_vnd2t")
  27. }, {
  28. "duration": 1.0,
  29. "texture": SubResource("AtlasTexture_axqny")
  30. }, {
  31. "duration": 1.0,
  32. "texture": SubResource("AtlasTexture_vk8m3")
  33. }, {
  34. "duration": 1.0,
  35. "texture": SubResource("AtlasTexture_vewww")
  36. }, {
  37. "duration": 1.0,
  38. "texture": SubResource("AtlasTexture_o5yus")
  39. }],
  40. "loop": false,
  41. "name": &"default",
  42. "speed": 20.0
  43. }]
  44. [sub_resource type="AtlasTexture" id="AtlasTexture_4hp3l"]
  45. atlas = ExtResource("3_dvv3e")
  46. region = Rect2(0, 0, 16, 16)
  47. [sub_resource type="AtlasTexture" id="AtlasTexture_g2rj1"]
  48. atlas = ExtResource("3_dvv3e")
  49. region = Rect2(16, 0, 16, 16)
  50. [sub_resource type="AtlasTexture" id="AtlasTexture_ccfgr"]
  51. atlas = ExtResource("3_dvv3e")
  52. region = Rect2(32, 0, 16, 16)
  53. [sub_resource type="AtlasTexture" id="AtlasTexture_ei4ln"]
  54. atlas = ExtResource("3_dvv3e")
  55. region = Rect2(48, 0, 16, 16)
  56. [sub_resource type="AtlasTexture" id="AtlasTexture_4umcr"]
  57. atlas = ExtResource("3_dvv3e")
  58. region = Rect2(64, 0, 16, 16)
  59. [sub_resource type="SpriteFrames" id="SpriteFrames_pd384"]
  60. animations = [{
  61. "frames": [{
  62. "duration": 1.0,
  63. "texture": SubResource("AtlasTexture_4hp3l")
  64. }, {
  65. "duration": 1.0,
  66. "texture": SubResource("AtlasTexture_g2rj1")
  67. }, {
  68. "duration": 1.0,
  69. "texture": SubResource("AtlasTexture_ccfgr")
  70. }, {
  71. "duration": 1.0,
  72. "texture": SubResource("AtlasTexture_ei4ln")
  73. }, {
  74. "duration": 1.0,
  75. "texture": SubResource("AtlasTexture_4umcr")
  76. }],
  77. "loop": false,
  78. "name": &"default",
  79. "speed": 10.0
  80. }]
  81. [sub_resource type="Animation" id="Animation_vrsgy"]
  82. resource_name = "Go"
  83. tracks/0/type = "value"
  84. tracks/0/imported = false
  85. tracks/0/enabled = true
  86. tracks/0/path = NodePath("CloudTL:position")
  87. tracks/0/interp = 2
  88. tracks/0/loop_wrap = true
  89. tracks/0/keys = {
  90. "times": PackedFloat32Array(0, 1),
  91. "transitions": PackedFloat32Array(1, 1),
  92. "update": 0,
  93. "values": [Vector2(-8, -8), Vector2(-40, -40)]
  94. }
  95. tracks/1/type = "value"
  96. tracks/1/imported = false
  97. tracks/1/enabled = true
  98. tracks/1/path = NodePath("CloudTR:position")
  99. tracks/1/interp = 2
  100. tracks/1/loop_wrap = true
  101. tracks/1/keys = {
  102. "times": PackedFloat32Array(0, 1),
  103. "transitions": PackedFloat32Array(1, 1),
  104. "update": 0,
  105. "values": [Vector2(8, -8), Vector2(40, -40)]
  106. }
  107. tracks/2/type = "value"
  108. tracks/2/imported = false
  109. tracks/2/enabled = true
  110. tracks/2/path = NodePath("CloudBR:position")
  111. tracks/2/interp = 2
  112. tracks/2/loop_wrap = true
  113. tracks/2/keys = {
  114. "times": PackedFloat32Array(0, 1),
  115. "transitions": PackedFloat32Array(1, 1),
  116. "update": 0,
  117. "values": [Vector2(8, 8), Vector2(40, 40)]
  118. }
  119. tracks/3/type = "value"
  120. tracks/3/imported = false
  121. tracks/3/enabled = true
  122. tracks/3/path = NodePath("CloudBL:position")
  123. tracks/3/interp = 2
  124. tracks/3/loop_wrap = true
  125. tracks/3/keys = {
  126. "times": PackedFloat32Array(0, 1),
  127. "transitions": PackedFloat32Array(1, 1),
  128. "update": 0,
  129. "values": [Vector2(-8, 8), Vector2(-40, 40)]
  130. }
  131. tracks/4/type = "method"
  132. tracks/4/imported = false
  133. tracks/4/enabled = true
  134. tracks/4/path = NodePath(".")
  135. tracks/4/interp = 1
  136. tracks/4/loop_wrap = true
  137. tracks/4/keys = {
  138. "times": PackedFloat32Array(1),
  139. "transitions": PackedFloat32Array(1),
  140. "values": [{
  141. "args": [],
  142. "method": &"queue_free"
  143. }]
  144. }
  145. tracks/5/type = "value"
  146. tracks/5/imported = false
  147. tracks/5/enabled = true
  148. tracks/5/path = NodePath("Hitbox/Shape:disabled")
  149. tracks/5/interp = 1
  150. tracks/5/loop_wrap = true
  151. tracks/5/keys = {
  152. "times": PackedFloat32Array(0, 0.06),
  153. "transitions": PackedFloat32Array(1, 1),
  154. "update": 1,
  155. "values": [false, true]
  156. }
  157. [sub_resource type="Animation" id="Animation_anr6o"]
  158. length = 0.001
  159. tracks/0/type = "value"
  160. tracks/0/imported = false
  161. tracks/0/enabled = true
  162. tracks/0/path = NodePath("CloudTL:position")
  163. tracks/0/interp = 1
  164. tracks/0/loop_wrap = true
  165. tracks/0/keys = {
  166. "times": PackedFloat32Array(0),
  167. "transitions": PackedFloat32Array(1),
  168. "update": 0,
  169. "values": [Vector2(-8, -8)]
  170. }
  171. tracks/1/type = "value"
  172. tracks/1/imported = false
  173. tracks/1/enabled = true
  174. tracks/1/path = NodePath("CloudTR:position")
  175. tracks/1/interp = 1
  176. tracks/1/loop_wrap = true
  177. tracks/1/keys = {
  178. "times": PackedFloat32Array(0),
  179. "transitions": PackedFloat32Array(1),
  180. "update": 0,
  181. "values": [Vector2(8, -8)]
  182. }
  183. tracks/2/type = "value"
  184. tracks/2/imported = false
  185. tracks/2/enabled = true
  186. tracks/2/path = NodePath("CloudBR:position")
  187. tracks/2/interp = 1
  188. tracks/2/loop_wrap = true
  189. tracks/2/keys = {
  190. "times": PackedFloat32Array(0),
  191. "transitions": PackedFloat32Array(1),
  192. "update": 0,
  193. "values": [Vector2(8, 8)]
  194. }
  195. tracks/3/type = "value"
  196. tracks/3/imported = false
  197. tracks/3/enabled = true
  198. tracks/3/path = NodePath("CloudBL:position")
  199. tracks/3/interp = 1
  200. tracks/3/loop_wrap = true
  201. tracks/3/keys = {
  202. "times": PackedFloat32Array(0),
  203. "transitions": PackedFloat32Array(1),
  204. "update": 0,
  205. "values": [Vector2(-8, 8)]
  206. }
  207. tracks/4/type = "value"
  208. tracks/4/imported = false
  209. tracks/4/enabled = true
  210. tracks/4/path = NodePath("Hitbox/Shape:disabled")
  211. tracks/4/interp = 1
  212. tracks/4/loop_wrap = true
  213. tracks/4/keys = {
  214. "times": PackedFloat32Array(0),
  215. "transitions": PackedFloat32Array(1),
  216. "update": 1,
  217. "values": [false]
  218. }
  219. [sub_resource type="AnimationLibrary" id="AnimationLibrary_6tdk1"]
  220. _data = {
  221. &"Go": SubResource("Animation_vrsgy"),
  222. &"RESET": SubResource("Animation_anr6o")
  223. }
  224. [sub_resource type="CircleShape2D" id="CircleShape2D_6tdk1"]
  225. radius = 24.0
  226. [node name="Explosion" type="Node2D"]
  227. script = ExtResource("1_aklik")
  228. metadata/is_explosion = true
  229. [node name="Sprite" type="AnimatedSprite2D" parent="."]
  230. sprite_frames = SubResource("SpriteFrames_h02ee")
  231. autoplay = "default"
  232. frame = 4
  233. frame_progress = 1.0
  234. [node name="CloudTL" type="AnimatedSprite2D" parent="."]
  235. position = Vector2(-8, -8)
  236. sprite_frames = SubResource("SpriteFrames_pd384")
  237. autoplay = "default"
  238. frame = 4
  239. frame_progress = 1.0
  240. script = ExtResource("4_hjivi")
  241. metadata/_custom_type_script = "uid://caq1qiwmy0mox"
  242. [node name="CloudTR" type="AnimatedSprite2D" parent="."]
  243. position = Vector2(8, -8)
  244. sprite_frames = SubResource("SpriteFrames_pd384")
  245. autoplay = "default"
  246. frame = 4
  247. frame_progress = 1.0
  248. script = ExtResource("4_hjivi")
  249. metadata/_custom_type_script = "uid://caq1qiwmy0mox"
  250. [node name="CloudBR" type="AnimatedSprite2D" parent="."]
  251. position = Vector2(8, 8)
  252. sprite_frames = SubResource("SpriteFrames_pd384")
  253. autoplay = "default"
  254. frame = 4
  255. frame_progress = 1.0
  256. script = ExtResource("4_hjivi")
  257. metadata/_custom_type_script = "uid://caq1qiwmy0mox"
  258. [node name="CloudBL" type="AnimatedSprite2D" parent="."]
  259. position = Vector2(-8, 8)
  260. sprite_frames = SubResource("SpriteFrames_pd384")
  261. autoplay = "default"
  262. frame = 4
  263. frame_progress = 1.0
  264. script = ExtResource("4_hjivi")
  265. metadata/_custom_type_script = "uid://caq1qiwmy0mox"
  266. [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
  267. libraries = {
  268. &"": SubResource("AnimationLibrary_6tdk1")
  269. }
  270. autoplay = "Go"
  271. [node name="SFX" type="AudioStreamPlayer2D" parent="."]
  272. stream = ExtResource("5_8imqq")
  273. autoplay = true
  274. max_distance = 256.0
  275. bus = &"SFX"
  276. [node name="Hitbox" type="Area2D" parent="."]
  277. collision_mask = 255
  278. [node name="Shape" type="CollisionShape2D" parent="Hitbox"]
  279. shape = SubResource("CircleShape2D_6tdk1")
  280. [connection signal="area_entered" from="Hitbox" to="." method="on_area_entered"]
  281. [connection signal="body_entered" from="Hitbox" to="." method="on_body_entered"]