using System; using System.Threading.Tasks; using Babushka.scripts.CSharp.Common.Util; namespace Babushka.scripts.CSharp.Common.Fight.Actions; public class BlobAttackAction : FighterAction { // settings private const int Damage = 3; public override Variant> GetAnimationEnd() { return 1; } public override bool NextDetail() { return false; } public override void ExecuteAction() { FightWorld.Instance.allyFighters.vesnaFighter.AddHealth(-Damage); } public override async Task AnimateAction(AllFightersVisual allFightersVisual) { var currentFighter = HappeningData.fighterTurn.Current; var targetFighter = FightWorld.Instance.allyFighters.vesnaFighter; var currentFighterVisual = allFightersVisual.GetVisualForFighter(currentFighter); var targetFighterVisual = allFightersVisual.GetVisualForFighter(targetFighter); await currentFighterVisual.AnimatePosToTarget(targetFighterVisual); _ = targetFighterVisual.AnimateHit(); targetFighterVisual.SpawnDamageIndicatorNumber(Damage); await currentFighterVisual.AnimatePosToBase(); } }