fix near enemy kick, fix huge kick on low tier
This commit is contained in:
+5
-1
@@ -114,6 +114,10 @@ func _chase(delta: float) -> void:
|
|||||||
contact_timer = CONTACT_CD
|
contact_timer = CONTACT_CD
|
||||||
if target.has_method("take_damage"):
|
if target.has_method("take_damage"):
|
||||||
target.take_damage(damage_to_player)
|
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:
|
if enemy_kick_timer <= 0.0:
|
||||||
_try_enemy_kick()
|
_try_enemy_kick()
|
||||||
var sep := Vector3.ZERO
|
var sep := Vector3.ZERO
|
||||||
@@ -193,7 +197,7 @@ func _try_enemy_kick() -> void:
|
|||||||
if to_player.length() < ENEMY_KICK_RANGE:
|
if to_player.length() < ENEMY_KICK_RANGE:
|
||||||
var player_toughness: int = target.get("toughness_tier") if target.get("toughness_tier") != null else 0
|
var player_toughness: int = target.get("toughness_tier") if target.get("toughness_tier") != null else 0
|
||||||
if player_toughness < kick_tier:
|
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
|
enemy_kick_timer = ENEMY_KICK_COOLDOWN
|
||||||
|
|
||||||
func _fly(delta: float) -> void:
|
func _fly(delta: float) -> void:
|
||||||
|
|||||||
+2
-2
@@ -159,9 +159,9 @@ func _do_kick() -> void:
|
|||||||
var diff := en.global_position - global_position
|
var diff := en.global_position - global_position
|
||||||
diff.y = 0.0
|
diff.y = 0.0
|
||||||
var dist := diff.length()
|
var dist := diff.length()
|
||||||
if dist < 0.1 or dist > kick_range:
|
if dist < 0.01 or dist > kick_range:
|
||||||
continue
|
continue
|
||||||
if (diff / dist).dot(forward) >= half_cos:
|
if dist < 1.0 or (diff / dist).dot(forward) >= half_cos:
|
||||||
candidates.append(en)
|
candidates.append(en)
|
||||||
candidate_dists.append(dist)
|
candidate_dists.append(dist)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user