[gd_scene load_steps=7 format=2] [ext_resource path="res://graphics/stalactite/stalactite.png" type="Texture" id=1] [ext_resource path="res://objects/environment/stalactite/stalactite.gd" type="Script" id=2] [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 4, 5 ) [sub_resource type="Animation" id=4] length = 0.001 tracks/0/type = "value" tracks/0/path = NodePath("Hitbox/CollisionShape2D:disabled") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ true ] } [sub_resource type="Animation" id=2] resource_name = "disappear" length = 0.6 step = 0.05 tracks/0/type = "value" tracks/0/path = NodePath("Sprite:visible") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0.00203761, 0.1, 0.2, 0.3, 0.4, 0.5 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ true, false, true, false, true, false ] } tracks/1/type = "value" tracks/1/path = NodePath("Hitbox/CollisionShape2D:disabled") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { "times": PoolRealArray( 0, 0.6 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ false, true ] } tracks/2/type = "value" tracks/2/path = NodePath("RayCast2D:enabled") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0, 0.6 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ true, false ] } [sub_resource type="Animation" id=3] resource_name = "idle" tracks/0/type = "value" tracks/0/path = NodePath("Sprite:visible") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 1, "values": [ true ] } tracks/1/type = "value" tracks/1/path = NodePath("RayCast2D:enabled") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 1, "values": [ true ] } tracks/2/type = "value" tracks/2/path = NodePath("Hitbox/CollisionShape2D:disabled") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 1, "values": [ false ] } [node name="Stalactite" type="Node2D"] script = ExtResource( 2 ) [node name="Sprite" type="Sprite" parent="."] position = Vector2( 4, 0 ) texture = ExtResource( 1 ) [node name="RayCast2D" type="RayCast2D" parent="."] position = Vector2( 3, 0 ) enabled = true cast_to = Vector2( 0, 40 ) collision_mask = 10 collide_with_areas = true [node name="Hitbox" type="Area2D" parent="."] collision_mask = 2 [node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] position = Vector2( 4, 0 ) shape = SubResource( 1 ) disabled = true [node name="AnimationPlayer" type="AnimationPlayer" parent="."] autoplay = "idle" anims/RESET = SubResource( 4 ) anims/disappear = SubResource( 2 ) anims/idle = SubResource( 3 ) [node name="RefreshTimer" type="Timer" parent="."] wait_time = 2.0 one_shot = true [connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"] [connection signal="timeout" from="RefreshTimer" to="." method="_on_RefreshTimer_timeout"]