public virtual void HandleFlipped() { if (Flipped == false) { Entity.AddIntAdditionalProperty(Enumerations.AdditionalProperty.Immobile, 1); //Flipped Koopas are immune to Fright Entity.AddRemoveStatusImmunity(Enumerations.StatusTypes.Fright, true); //Lower defense by an amount when flipped Entity.LowerDefense(DefenseLoss); } Flipped = true; //Don't play this animation if dead if (Entity.IsDead == false) { Entity.BManager.battleEventManager.QueueBattleEvent((int)BattleGlobals.BattleEventPriorities.Damage - 2, new BattleGlobals.BattleState[] { BattleGlobals.BattleState.Turn, BattleGlobals.BattleState.TurnEnd }, new PlayAnimBattleEvent(Entity, Entity.GetIdleAnim(), false)); } //Getting hit again while flipped refreshes the flip timer ElapsedFlippedTurns = 0; //Handle being flipped Entity.TurnStartEvent -= OnFlippedTurnStart; Entity.TurnStartEvent += OnFlippedTurnStart; }
private void DecreaseDefenseBoost() { Debug.Log($"Lowered Defense for {EntityUsing.Name} at the start of its turn after the Defend action was used!"); EntityUsing.TurnStartEvent -= DecreaseDefenseBoost; EntityUsing.LowerDefense(DefenseBoost); }