[gd_scene load_steps=33 format=3 uid="uid://cbs645wiwmaxq"] [ext_resource type="Script" uid="uid://clareynx710qb" path="res://Scripts/Classes/Entities/Objects/Burner.gd" id="1_4fveq"] [ext_resource type="Texture2D" uid="uid://dhk5jdqjqo77p" path="res://Assets/Sprites/Blocks/BurnerFlame.png" id="1_vrk50"] [ext_resource type="Texture2D" uid="uid://4l2medldwrwh" path="res://Assets/Sprites/Blocks/Burner.png" id="2_4fveq"] [ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_fsldu"] [ext_resource type="JSON" path="res://Assets/Sprites/Blocks/BurnerFlame.json" id="4_m4qew"] [ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="5_sqxap"] [ext_resource type="JSON" path="res://Assets/Sprites/Blocks/BurnerBlock.json" id="5_w52fl"] [ext_resource type="Script" uid="uid://chj8hu207lrh" path="res://Scripts/Classes/Components/EnemyPlayerDetection.gd" id="7_m4qew"] [ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="7_w52fl"] [ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="8_oeevx"] [ext_resource type="Script" uid="uid://d4a7yp6e55u8t" path="res://Scripts/Classes/Components/TrackJoint.gd" id="10_oeevx"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_amjrr"] size = Vector2(16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_od61c"] atlas = ExtResource("1_vrk50") region = Rect2(80, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_fsldu"] atlas = ExtResource("1_vrk50") region = Rect2(64, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_w52fl"] atlas = ExtResource("1_vrk50") region = Rect2(48, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_oeevx"] atlas = ExtResource("1_vrk50") region = Rect2(32, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_m4qew"] atlas = ExtResource("1_vrk50") region = Rect2(16, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_je1ke"] atlas = ExtResource("1_vrk50") region = Rect2(0, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_liwv0"] atlas = ExtResource("1_vrk50") region = Rect2(0, 0, 1, 1) [sub_resource type="AtlasTexture" id="AtlasTexture_t81wb"] atlas = ExtResource("1_vrk50") region = Rect2(64, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_1yyyj"] atlas = ExtResource("1_vrk50") region = Rect2(80, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_drojf"] atlas = ExtResource("1_vrk50") region = Rect2(0, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_pdqi0"] atlas = ExtResource("1_vrk50") region = Rect2(16, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_ywbh4"] atlas = ExtResource("1_vrk50") region = Rect2(32, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_p2mql"] atlas = ExtResource("1_vrk50") region = Rect2(48, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_seql0"] atlas = ExtResource("1_vrk50") region = Rect2(64, 0, 16, 48) [sub_resource type="AtlasTexture" id="AtlasTexture_5ex0w"] atlas = ExtResource("1_vrk50") region = Rect2(80, 0, 16, 48) [sub_resource type="SpriteFrames" id="SpriteFrames_8axu6"] animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_od61c") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_fsldu") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_w52fl") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_oeevx") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_m4qew") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_je1ke") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_liwv0") }], "loop": false, "name": &"Fall", "speed": 10.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_t81wb") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_1yyyj") }], "loop": true, "name": &"Loop", "speed": 15.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_drojf") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_pdqi0") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_ywbh4") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_p2mql") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_seql0") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_5ex0w") }], "loop": false, "name": &"Rise", "speed": 15.0 }] [sub_resource type="AtlasTexture" id="AtlasTexture_5jhml"] atlas = ExtResource("2_4fveq") region = Rect2(0, 0, 16, 16) [sub_resource type="RectangleShape2D" id="RectangleShape2D_jssei"] size = Vector2(8, 32) [sub_resource type="GDScript" id="GDScript_4fveq"] script/source = "extends Node @export var sprite: Node2D = null func _process(_delta: float) -> void: $\"..\".global_rotation_degrees = [0, 180, -90, 90][owner.direction] sprite.global_rotation_degrees = [0, 0, 90, 90][owner.direction] sprite.flip_v = owner.direction == 1 or owner.direction == 2 " [sub_resource type="Resource" id="Resource_m4qew"] script = ExtResource("8_oeevx") Overworld = SubResource("SpriteFrames_8axu6") metadata/_custom_type_script = "uid://cmvlgsjmsk0v5" [node name="Burner" type="AnimatableBody2D"] collision_layer = 6 collision_mask = 0 sync_to_physics = false script = ExtResource("1_4fveq") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource("RectangleShape2D_amjrr") [node name="RotationJoint" type="Node2D" parent="."] physics_interpolation_mode = 2 [node name="Flame" type="AnimatedSprite2D" parent="RotationJoint"] unique_name_in_owner = true visible = false position = Vector2(0, -32) sprite_frames = SubResource("SpriteFrames_8axu6") animation = &"Rise" frame = 5 frame_progress = 1.0 [node name="ResourceSetterNew" type="Node" parent="RotationJoint/Flame" node_paths=PackedStringArray("node_to_affect")] script = ExtResource("3_fsldu") node_to_affect = NodePath("..") property_name = "sprite_frames" resource_json = ExtResource("4_m4qew") metadata/_custom_type_script = "uid://cbal8ms2oe1ik" [node name="RemoteTransform2D" type="RemoteTransform2D" parent="RotationJoint"] remote_path = NodePath("../Block") update_rotation = false update_scale = false [node name="Block" type="Sprite2D" parent="RotationJoint"] texture = SubResource("AtlasTexture_5jhml") [node name="ResourceSetterNew" type="Node" parent="RotationJoint/Block" node_paths=PackedStringArray("node_to_affect")] script = ExtResource("3_fsldu") node_to_affect = NodePath("..") property_name = "texture" mode = 1 resource_json = ExtResource("5_w52fl") metadata/_custom_type_script = "uid://cbal8ms2oe1ik" [node name="Hitbox" type="Area2D" parent="RotationJoint"] [node name="Shape" type="CollisionShape2D" parent="RotationJoint/Hitbox"] unique_name_in_owner = true position = Vector2(0, -32) shape = SubResource("RectangleShape2D_jssei") disabled = true [node name="EnemyPlayerDetection" type="Node" parent="RotationJoint" node_paths=PackedStringArray("hitbox")] script = ExtResource("7_m4qew") hitbox = NodePath("../Hitbox") metadata/_custom_type_script = "uid://chj8hu207lrh" [node name="Timer" type="Timer" parent="."] wait_time = 3.0 one_shot = true [node name="Node" type="Node" parent="." node_paths=PackedStringArray("sprite")] process_mode = 3 script = SubResource("GDScript_4fveq") sprite = NodePath("../RotationJoint/Block") [node name="EditorPropertyExposer" type="Node" parent="."] script = ExtResource("5_sqxap") properties = Array[String](["direction"]) metadata/_custom_type_script = "uid://ctfbuoxtnnl0q" [node name="ThemedToJSONConverter" type="Node" parent="."] script = ExtResource("7_w52fl") resource = SubResource("Resource_m4qew") json_file_path = "res://Assets/Sprites/Blocks/BurnerFlame.json" metadata/_custom_type_script = "uid://cqif1li7otvpl" [node name="TrackJoint" type="Node" parent="."] script = ExtResource("10_oeevx") offset = Vector2(0, 0) disable_physics = false metadata/_custom_type_script = "uid://d4a7yp6e55u8t" [connection signal="player_hit" from="RotationJoint/EnemyPlayerDetection" to="." method="damage_player"] [connection signal="player_stomped_on" from="RotationJoint/EnemyPlayerDetection" to="." method="damage_player"] [connection signal="timeout" from="Timer" to="." method="do_cycle"]