Added locked barriers and a new ghost enemy

This commit is contained in:
VoidTwo
2021-12-04 18:23:05 -06:00
parent fcea3cee03
commit 9101bf2f65
21 changed files with 472 additions and 41 deletions

View File

@@ -0,0 +1,23 @@
extends StaticBody2D
export var alignment: String = 'V'
func _ready() -> void:
if not alignment in ['V', 'H']:
print('Silver Barrier rotation needs to be "V" or "H"')
elif alignment == 'H':
rotation_degrees = 90
return
func _on_unlock_body_entered(body: Node) -> void:
if not 'player' in body.get_groups():
return
if body.has_item('Silver Key'):
body.remove_item('Silver Key')
$Sprite.animation = 'open'
$Collision.set_deferred('disabled', true)
$Unlock.set_deferred('monitoring', false)
return

View File

@@ -0,0 +1,51 @@
[gd_scene load_steps=7 format=2]
[ext_resource path="res://Sprites/Levels/Interactables/Silver_Barrier_Open.png" type="Texture" id=1]
[ext_resource path="res://Sprites/Levels/Interactables/Silver_Barrier_Closed.png" type="Texture" id=2]
[ext_resource path="res://Levels/Interactables/Silver Barrier.gd" type="Script" id=3]
[sub_resource type="SpriteFrames" id=1]
animations = [ {
"frames": [ ExtResource( 1 ) ],
"loop": true,
"name": "open",
"speed": 5.0
}, {
"frames": [ ExtResource( 2 ) ],
"loop": true,
"name": "closed",
"speed": 5.0
} ]
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 6, 8 )
[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 12, 10 )
[node name="Silver Barrier" type="StaticBody2D"]
collision_mask = 0
script = ExtResource( 3 )
[node name="Sprite" type="AnimatedSprite" parent="."]
light_mask = 8
frames = SubResource( 1 )
animation = "closed"
[node name="Collision" type="CollisionShape2D" parent="."]
light_mask = 0
shape = SubResource( 2 )
[node name="Unlock" type="Area2D" parent="."]
light_mask = 0
collision_layer = 0
collision_mask = 2
input_pickable = false
monitorable = false
[node name="CollisionShape2D" type="CollisionShape2D" parent="Unlock"]
visible = false
light_mask = 0
shape = SubResource( 3 )
[connection signal="body_entered" from="Unlock" to="." method="_on_unlock_body_entered"]

File diff suppressed because one or more lines are too long