Esempio n. 1
0
 public ReactOnEvaded(bool isDebuff, int numberOfUses, int maxDurationTurns, ReactiveTriggerScope triggerScope, IDictionary <int, Member> allMembers, int possessingMemberId, Member originator, ReactionCardType reaction)
     : base(isDebuff, maxDurationTurns, numberOfUses, CreateMaybeEffect(allMembers, possessingMemberId, originator, reaction, effect =>
                                                                        effect.EffectData.EffectType == EffectType.Attack &&
                                                                        effect.BattleBefore.Members[possessingMemberId].State.Counters["Evade"] > effect.BattleAfter.Members[possessingMemberId].State.Counters["Evade"] &&
                                                                        triggerScope.IsInTriggerScope(originator, allMembers[possessingMemberId], effect.Source)))
 {
 }
Esempio n. 2
0
 public EffectOnEvaded(bool isDebuff, int numberOfUses, int maxDurationTurns, ReactiveTriggerScope triggerScope, ReactionCardType reaction)
 {
     _isDebuff         = isDebuff;
     _numberOfUses     = numberOfUses;
     _maxDurationTurns = maxDurationTurns;
     _triggerScope     = triggerScope;
     _reaction         = reaction;
 }
 public static bool IsInTriggerScope(this ReactiveTriggerScope triggerScope, Member originator, Member possessor, Member triggerer)
 {
     if (triggerScope == ReactiveTriggerScope.Self)
     {
         return(possessor == triggerer);
     }
     if (triggerScope == ReactiveTriggerScope.Originator)
     {
         return(originator == triggerer);
     }
     if (triggerScope == ReactiveTriggerScope.Allies)
     {
         return(possessor.TeamType == triggerer.TeamType);
     }
     if (triggerScope == ReactiveTriggerScope.Enemies)
     {
         return(possessor.TeamType != triggerer.TeamType);
     }
     return(true);
 }
 public EffectOnShieldBroken(bool isDebuff, int maxDurationTurns, ReactiveTriggerScope triggerScope, ReactionCardType reaction)
 {
     _isDebuff         = isDebuff;
     _maxDurationTurns = maxDurationTurns;
     _reaction         = reaction;
 }