fix near enemy kick, fix huge kick on low tier

This commit is contained in:
2026-04-23 11:48:00 +03:00
parent 1b3732ea0f
commit e956c4353c
2 changed files with 7 additions and 3 deletions
+5 -1
View File
@@ -114,6 +114,10 @@ func _chase(delta: float) -> void:
contact_timer = CONTACT_CD
if target.has_method("take_damage"):
target.take_damage(damage_to_player)
if randf() < 0.3:
var knock_dir := diff.normalized() if dist > 0.01 else -global_transform.basis.z
knock_dir.y = 0.0
target.call("receive_kick", knock_dir, 12.0 + kick_tier * 10.0)
if enemy_kick_timer <= 0.0:
_try_enemy_kick()
var sep := Vector3.ZERO
@@ -193,7 +197,7 @@ func _try_enemy_kick() -> void:
if to_player.length() < ENEMY_KICK_RANGE:
var player_toughness: int = target.get("toughness_tier") if target.get("toughness_tier") != null else 0
if player_toughness < kick_tier:
target.call("receive_kick", kick_dir, 35.0 + kick_tier * 8.0)
target.call("receive_kick", kick_dir, 12.0 + kick_tier * 10.0)
enemy_kick_timer = ENEMY_KICK_COOLDOWN
func _fly(delta: float) -> void: