Skip to content

Commit

Permalink
Fix autocast.target_self and manual casts
Browse files Browse the repository at this point in the history
Manual casts were ignoring autocast.target_self, fix that so that
\ an it's not possible to manually cast on self if target_self is false
  • Loading branch information
Kvel2D committed Oct 9, 2024
1 parent b199fad commit 0035159
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/towers/autocast.gd
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,9 @@ func check_target_for_unit_autocast(target: Unit) -> bool:
var target_is_in_range: bool = _get_target_is_in_range(target)
var target_type_is_valid = _target_type.match(target)
var target_is_immune: bool = target.is_immune()
var target_is_ok: bool = target_is_in_range && target_type_is_valid && !target_is_immune
var target_is_self: bool = target == _caster
var targetting_self_when_forbidden: bool = !target_self && target_is_self
var target_is_ok: bool = target_is_in_range && target_type_is_valid && !target_is_immune && !targetting_self_when_forbidden

return target_is_ok

Expand Down Expand Up @@ -559,6 +561,8 @@ func get_target_error_message(target: Unit) -> String:
var target_is_in_range: bool = _get_target_is_in_range(target)
var target_type_is_valid = _target_type.match(target)
var target_is_immune: bool = target.is_immune()
var target_is_self: bool = target != null && target == _caster
var targetting_self_when_forbidden: bool = !target_self && target_is_self

if !target_is_in_range:
return "Target is out of range"
Expand All @@ -569,6 +573,9 @@ func get_target_error_message(target: Unit) -> String:
if target_is_immune:
return "Target is immune"

if targetting_self_when_forbidden:
return "Can't cast this ability on self"

return "Target is valid"


Expand Down

0 comments on commit 0035159

Please sign in to comment.