internal override void CardWasPlayed(Card card, IndividualEffect playerSet, IndividualEffect enemySet, int intensity, bool statusIsTargeted, bool playerAction) { if (card.CardType == CardType.Skill && statusIsTargeted) { playerSet.AddBlockStep("Frail", 0.75, 10, additive: false); } }
internal override void CardWasPlayed(Card card, IndividualEffect playerSet, IndividualEffect enemySet, int num, bool statusIsTargeted, bool playerAction) { if (card.CardType == CardType.Attack && playerAction) { //TODO this is not exactly right; e.g. what if we double play a card? playerSet.AddBlockStep("Rage", num); } }
/// <summary> /// someone played a card against an entity with aggro status. Is it safe to assume I'm always target here as far as ef is concerned? /// Question: someone playing strike with -6 strength; does it trigger aggressive? probably shouldn't. /// </summary> internal override void CardWasPlayed(Card card, IndividualEffect playerSet, IndividualEffect enemySet, int intensity, bool statusIsTargeted, bool playerAction) { if (card.CardType == CardType.Attack && statusIsTargeted) { if (intensity > 0) { //actually this should be a check of the value. if (enemySet.GetInitialDamage() != null) { //bit weird to hack intensity this wasy. var negativeAggressiveStatus = new StatusInstance(new Aggressive(), -1 * intensity); //whoah, this will be applied when the attack is actually resolved. //since here we're enemySet.Status.Add(negativeAggressiveStatus); enemySet.AddBlockStep("Aggrostatus", intensity); } } } }
internal virtual void StatusStartTurn(Entity parent, StatusInstance instance, IndividualEffect statusHolderIe, IndividualEffect otherId) { }
internal virtual void CardWasPlayed(Card card, IndividualEffect playerSet, IndividualEffect enemySet, int num, bool statusIsTargeted, bool playerAction) { }
internal override void StatusEndTurn(Entity parent, StatusInstance instance, IndividualEffect statusHolderIe, IndividualEffect otherIe) { statusHolderIe.Status.Add(new StatusInstance(new Strength(), instance.Intensity)); }
internal override void CardWasPlayed(Card card, IndividualEffect playerSet, IndividualEffect enemySet, int intensity, bool statusIsTargeted, bool playerAction) { }
/// <summary> /// Todo this is still kinda messy /// </summary> internal override void StatusStartTurn(Entity parent, StatusInstance instance, IndividualEffect statusHolderIe, IndividualEffect otherId) { statusHolderIe.AddBlockStep("PlatedArmor", instance.Intensity); }