add some enemy behavior prototypes

This commit is contained in:
2022-07-21 00:05:08 -04:00
parent 31003a2863
commit 948f4ce911
20 changed files with 268 additions and 34 deletions

View File

@@ -0,0 +1,38 @@
extends KinematicBody2D
signal player_touched
var velocity = Vector2()
export var direction = -1
export var detect_edges = true
export var speed = 25
export var gravity = 9.8
func _ready() -> void:
if direction == 1:
$AnimatedSprite.flip_h = true
$FloorChecker.position.x = $CollisionShape2D.shape.get_extents().x * direction
$FloorChecker.enabled = detect_edges
func _physics_process(_delta: float) -> void:
if is_on_wall() or not $FloorChecker.is_colliding() and is_on_floor() and $FloorChecker.enabled:
direction *= -1
$AnimatedSprite.flip_h = not $AnimatedSprite.flip_h
$FloorChecker.position.x = $CollisionShape2D.shape.get_extents().x * direction
velocity.y += gravity
velocity.x = speed * direction
velocity = move_and_slide(velocity, Vector2.UP)
for i in get_slide_count():
var collision = get_slide_collision(i)
if collision.collider.name == "Player":
emit_signal("player_touched")
func squash() -> void:
queue_free()

View File

@@ -0,0 +1,27 @@
extends KinematicBody2D
# Declare member variables here. Examples:
# var a: int = 2
# var b: String = "text"
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _physics_process(delta: float) -> void:
var velocity = Vector2()
velocity.x += 1 * 50
#velocity.y -= 1 * 50
velocity = move_and_slide(velocity, Vector2(0, 0), true, 2)
for i in get_slide_count():
var collision = get_slide_collision(i)
#if collision.collider.name == "Player":
# print("Blightwing: " + String(OS.get_unix_time()) + " " + collision.collider.name)
func _on_Area2D_body_entered(body: Node) -> void:
print(body.name)

View File

@@ -25,14 +25,13 @@ animations = [ {
[sub_resource type="RectangleShape2D" id=5]
extents = Vector2( 5, 5 )
[node name="Blightwing" type="KinematicBody2D"]
[node name="Blightwing" type="KinematicBody2D" groups=["enemy"]]
collision_layer = 8
collision_mask = 11
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
frames = SubResource( 4 )
animation = "fly"
frame = 1
playing = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]

View File

@@ -0,0 +1,27 @@
extends KinematicBody2D
signal player_touched
onready var start_position = position
var velocity = Vector2()
export var speed = 50.0
export var fall_speed = 75.0
var return_to_start: bool = false
func _physics_process(delta: float) -> void:
if return_to_start:
position = position.move_toward(start_position, speed * delta)
else:
var collision = move_and_collide(Vector2(0, (position.y + fall_speed) * delta))
if collision:
return_to_start = true
$AnimatedSprite.play("normal")
if collision.collider.name == "Player":
emit_signal("player_touched")
if position.y <= start_position.y:
return_to_start = false
$AnimatedSprite.play("angry")

View File

@@ -1,6 +1,7 @@
[gd_scene load_steps=6 format=2]
[gd_scene load_steps=7 format=2]
[ext_resource path="res://assets/characters/characters.png" type="Texture" id=1]
[ext_resource path="res://characters/enemies/blockface/Blockface.gd" type="Script" id=2]
[sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 1 )
@@ -26,9 +27,10 @@ animations = [ {
[sub_resource type="RectangleShape2D" id=4]
extents = Vector2( 9, 9 )
[node name="Blockface" type="KinematicBody2D"]
[node name="Blockface" type="KinematicBody2D" groups=["enemy", "rideable"]]
collision_layer = 8
collision_mask = 11
script = ExtResource( 2 )
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
frames = SubResource( 3 )

View File

@@ -0,0 +1 @@
extends "res://characters/enemies/WalkingEnemy.gd"

View File

@@ -1,6 +1,7 @@
[gd_scene load_steps=7 format=2]
[gd_scene load_steps=8 format=2]
[ext_resource path="res://assets/characters/characters.png" type="Texture" id=1]
[ext_resource path="res://characters/enemies/dreadtooth/Dreadtooth.gd" type="Script" id=2]
[sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 1 )
@@ -28,17 +29,26 @@ animations = [ {
} ]
[sub_resource type="RectangleShape2D" id=5]
extents = Vector2( 7.5, 8.5 )
extents = Vector2( 7.5, 6.5 )
[node name="Dreadtooth" type="KinematicBody2D"]
[node name="Dreadtooth" type="KinematicBody2D" groups=["enemy"]]
collision_layer = 8
collision_mask = 11
script = ExtResource( 2 )
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
frames = SubResource( 4 )
animation = "walk"
playing = true
frame = 1
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2( -0.5, 3.5 )
position = Vector2( -0.5, 5.5 )
shape = SubResource( 5 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
polygon = PoolVector2Array( 0, -7, 3, -4, 3, -1, -4, -1, -4, -4, -1, -7 )
[node name="FloorChecker" type="RayCast2D" parent="."]
enabled = true
cast_to = Vector2( 0, 20 )
collision_mask = 10

View File

@@ -21,12 +21,13 @@ animations = [ {
[sub_resource type="RectangleShape2D" id=4]
extents = Vector2( 5.5, 7.5 )
[node name="Gravevine" type="KinematicBody2D"]
[node name="Gravevine" type="KinematicBody2D" groups=["enemy"]]
collision_layer = 8
collision_mask = 11
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
frames = SubResource( 3 )
frame = 1
playing = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]

View File

@@ -0,0 +1 @@
extends "res://characters/enemies/WalkingEnemy.gd"

View File

@@ -1,6 +1,7 @@
[gd_scene load_steps=7 format=2]
[gd_scene load_steps=8 format=2]
[ext_resource path="res://assets/characters/characters.png" type="Texture" id=1]
[ext_resource path="res://characters/enemies/shelly/Shelly.gd" type="Script" id=2]
[sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 1 )
@@ -28,11 +29,12 @@ animations = [ {
} ]
[sub_resource type="RectangleShape2D" id=5]
extents = Vector2( 7.5, 7 )
extents = Vector2( 7.5, 6.5 )
[node name="Shelly" type="KinematicBody2D"]
[node name="Shelly" type="KinematicBody2D" groups=["enemy", "squashable"]]
collision_layer = 8
collision_mask = 11
script = ExtResource( 2 )
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
frames = SubResource( 4 )
@@ -40,5 +42,10 @@ animation = "walk"
playing = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2( 1, 5 )
position = Vector2( 1, 5.5 )
shape = SubResource( 5 )
[node name="FloorChecker" type="RayCast2D" parent="."]
enabled = true
cast_to = Vector2( 0, 20 )
collision_mask = 10

View File

@@ -17,7 +17,7 @@ animations = [ {
[sub_resource type="CircleShape2D" id=3]
radius = 9.05539
[node name="Spikeball" type="KinematicBody2D"]
[node name="Spikeball" type="KinematicBody2D" groups=["enemy"]]
collision_layer = 8
collision_mask = 11

View File

@@ -0,0 +1 @@
extends "res://characters/enemies/WalkingEnemy.gd"

View File

@@ -1,6 +1,7 @@
[gd_scene load_steps=7 format=2]
[gd_scene load_steps=8 format=2]
[ext_resource path="res://assets/characters/characters.png" type="Texture" id=1]
[ext_resource path="res://characters/enemies/super_shelly/SuperShelly.gd" type="Script" id=2]
[sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 1 )
@@ -28,11 +29,12 @@ animations = [ {
} ]
[sub_resource type="RectangleShape2D" id=5]
extents = Vector2( 12, 11 )
extents = Vector2( 12, 10.5 )
[node name="SuperShelly" type="KinematicBody2D"]
[node name="SuperShelly" type="KinematicBody2D" groups=["enemy", "squashable"]]
collision_layer = 8
collision_mask = 11
script = ExtResource( 2 )
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
frames = SubResource( 4 )
@@ -41,5 +43,10 @@ frame = 1
playing = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2( 0, 1 )
position = Vector2( 0, 1.5 )
shape = SubResource( 5 )
[node name="FloorChecker" type="RayCast2D" parent="."]
enabled = true
cast_to = Vector2( 0, 20 )
collision_mask = 10

View File

@@ -9,10 +9,10 @@
[ext_resource path="res://characters/player/states/Fall.gdns" type="Script" id=7]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 7, 12 )
extents = Vector2( 6.5, 11.5 )
[node name="Player" type="KinematicBody2D"]
collision_mask = 2
collision_mask = 10
script = ExtResource( 5 )
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
@@ -22,7 +22,7 @@ centered = false
flip_h = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2( 12, 12 )
position = Vector2( 12.5, 12.5 )
shape = SubResource( 1 )
[node name="StateMachine" type="Node" parent="."]
@@ -40,3 +40,9 @@ script = ExtResource( 6 )
[node name="Fall" type="Node" parent="StateMachine"]
script = ExtResource( 7 )
[node name="PlatformDetector" type="RayCast2D" parent="."]
position = Vector2( 12, 0 )
enabled = true
cast_to = Vector2( 0, 32 )
collision_mask = 24

View File

@@ -22,16 +22,16 @@
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24

View File

@@ -13,9 +13,9 @@ dest_files=[ "res://.import/PrototypeEnemies.tmx-5728a1d35b5e3ba88a2df2406b1cd93
custom_properties=true
tile_metadata=false
uv_clip=true
uv_clip=false
y_sort=false
image_flags=7
image_flags=0
collision_layer=2
collision_mask=0
embed_internal_images=false

View File

@@ -15,7 +15,8 @@
[node name="PrototypeEnemies" type="Node"]
[node name="Player" parent="." instance=ExtResource( 2 )]
position = Vector2( 80, 488 )
position = Vector2( 156, 438 )
collision/safe_margin = 0.12
[node name="Camera2D" type="Camera2D" parent="Player"]
current = true
@@ -49,6 +50,7 @@ centered = false
script = ExtResource( 1 )
[node name="Enemies" type="Node" parent="."]
unique_name_in_owner = true
[node name="Spikeball" parent="Enemies" instance=ExtResource( 8 )]
position = Vector2( 106, 547 )
@@ -57,16 +59,25 @@ position = Vector2( 106, 547 )
position = Vector2( 92, 516 )
[node name="Blockface" parent="Enemies" instance=ExtResource( 10 )]
position = Vector2( 169, 518 )
position = Vector2( 206, 404 )
[node name="Dreadtooth" parent="Enemies" instance=ExtResource( 6 )]
position = Vector2( 212, 546 )
position = Vector2( 316, 379 )
[node name="Dreadtooth2" parent="Enemies" instance=ExtResource( 6 )]
position = Vector2( 350, 263 )
direction = 1
detect_edges = false
[node name="Gravevine" parent="Enemies" instance=ExtResource( 5 )]
position = Vector2( 250, 550 )
[node name="Shelly" parent="Enemies" instance=ExtResource( 9 )]
position = Vector2( 138, 546 )
position = Vector2( 247, 439 )
[node name="SuperShelly" parent="Enemies" instance=ExtResource( 7 )]
position = Vector2( 62, 546 )
[connection signal="player_touched" from="Enemies/Blockface" to="Player" method="_on_player_touched"]
[connection signal="player_touched" from="Enemies/Shelly" to="Player" method="_on_player_touched"]
[connection signal="player_touched" from="Enemies/SuperShelly" to="Player" method="_on_player_touched"]

View File

@@ -101,6 +101,7 @@ Send={
2d_physics/layer_1="Player"
2d_physics/layer_2="Tiles"
2d_physics/layer_4="Enemies"
2d_physics/layer_5="Platforms"
[physics]