aboutsummaryrefslogtreecommitdiff
path: root/entities/chicken/chicken.gd
diff options
context:
space:
mode:
Diffstat (limited to 'entities/chicken/chicken.gd')
-rw-r--r--entities/chicken/chicken.gd26
1 files changed, 26 insertions, 0 deletions
diff --git a/entities/chicken/chicken.gd b/entities/chicken/chicken.gd
new file mode 100644
index 0000000..2ab309d
--- /dev/null
+++ b/entities/chicken/chicken.gd
@@ -0,0 +1,26 @@
+extends KinematicBody2D
+const UP = Vector2(0, -1)
+const GRAVITY = 1200
+const SPEED = 200
+const health = 10
+var motion = Vector2()
+var left = Vector2(-1, 0)
+var right = Vector2(1, 0)
+var direction = left
+onready var sprite = $AnimatedSprite
+func _physics_process(delta):
+ motion.y += GRAVITY * delta
+ motion.x = direction.x * SPEED
+ motion = move_and_slide(motion, UP)
+ $AnimatedSprite.play("run")
+ if is_on_wall():
+ if direction == left:
+ sprite.flip_h = true
+ direction = right
+ elif direction == right:
+ sprite.flip_h = false
+ direction = left
+ for index in get_slide_count():
+ var collision = get_slide_collision(index)
+ if collision.collider.is_in_group("player"):
+ SignalBus.emit_signal("on_hit",health)