Merge branch 'main' of https://gamejam.fachschaft.info/Florian/The_Dark_Side_of_Earth
This commit is contained in:
commit
85c16a2d69
1 changed files with 15 additions and 6 deletions
|
|
@ -3,23 +3,32 @@ extends Area2D
|
||||||
var speed = 100
|
var speed = 100
|
||||||
var damage = 1
|
var damage = 1
|
||||||
var player : CharacterBody2D
|
var player : CharacterBody2D
|
||||||
|
var target : CharacterBody2D
|
||||||
var current_knockback = Vector2.ZERO
|
var current_knockback = Vector2.ZERO
|
||||||
var knockback_weight = 800
|
var knockback_weight = 800
|
||||||
|
|
||||||
func _ready():
|
var aggro_range = 900
|
||||||
|
var chase_range = 1400
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
player = get_tree().get_root().get_node("main/Player")
|
player = get_tree().get_root().get_node("main/Player")
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
var motion = -(position - player.position).normalized() * speed
|
|
||||||
var dist = (position - player.position).length()
|
var dist = (position - player.position).length()
|
||||||
self.position += motion * delta * min(1, dist/(motion.length()*delta))
|
if(dist > chase_range):
|
||||||
|
target = null
|
||||||
|
elif(target == null and dist <= aggro_range):
|
||||||
|
target = player
|
||||||
|
if(target!=null):
|
||||||
|
var motion = -(position - target.position).normalized() * speed
|
||||||
|
self.position += motion * delta * min(1, dist/(motion.length()*delta))
|
||||||
|
|
||||||
self.position += earth_aligner.global_from_local(current_knockback) * delta
|
self.position += earth_aligner.global_from_local(current_knockback) * delta
|
||||||
current_knockback = current_knockback/pow(1.3, 60*delta)
|
current_knockback = current_knockback/pow(1.3, 60*delta)
|
||||||
|
|
||||||
if(self.overlaps_body(player)):
|
if(self.overlaps_body(player)):
|
||||||
player.hurt(damage, self.position-player.position)
|
player.hurt(damage, self.position-player.position)
|
||||||
|
|
||||||
func _on_death():
|
func _on_death():
|
||||||
self.queue_free()
|
self.queue_free()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue