fixed hp based plants

This commit is contained in:
Rendo 2025-07-13 15:36:52 +05:00
commit f351e53a03
7 changed files with 261 additions and 36 deletions

View file

@ -48,20 +48,25 @@ public partial class Entity : Node2D
[Export] private AnimationTree _tree;
public virtual void DisableBrain()
{
_player.ProcessMode = ProcessModeEnum.Always;
_tree.ProcessMode = ProcessModeEnum.Always;
if (_player != null)
_player.ProcessMode = ProcessModeEnum.Always;
if (_tree != null)
_tree.ProcessMode = ProcessModeEnum.Always;
ProcessMode = ProcessModeEnum.Disabled;
}
public virtual void EnableBrain()
{
_player.ProcessMode = ProcessModeEnum.Inherit;
_tree.ProcessMode = ProcessModeEnum.Inherit;
if (_player != null)
_player.ProcessMode = ProcessModeEnum.Inherit;
if (_tree != null)
_tree.ProcessMode = ProcessModeEnum.Inherit;
ProcessMode = ProcessModeEnum.Inherit;
}
#endregion
#region Effects
[Export] private Array<Effect> _effectImmunities = new();
[Export] private bool completeInvulnerability = false;
private readonly Dictionary<string, Effect> _activeEffectSlots = new();
private readonly Dictionary<string, Timer> _effectSlotTimers = new();
@ -72,7 +77,7 @@ public partial class Entity : Node2D
public virtual void GiveEffect(Effect what)
{
if (_effectImmunities.Contains(what))
if (_effectImmunities.Contains(what) || completeInvulnerability)
{
return;
}