public KoopatrolFlippedBehavior(BattleEntity entity, int flippedTurns, Enumerations.DamageEffects flippedOnEffects, int defenseLoss,
                                 StatusGlobals.PaybackHolder paybackRemoved, Enumerations.PhysicalAttributes attributeRemoved)
     : base(entity, flippedTurns, flippedOnEffects, defenseLoss)
 {
     PaybackRemoved   = paybackRemoved;
     AttributeRemoved = attributeRemoved;
 }
Ejemplo n.º 2
0
 public DefensiveActionHolder(int damage, StatusChanceHolder[] statuses, Enumerations.DamageEffects damageEffect,
                              Enumerations.DefensiveActionTypes defensiveActionType, StatusGlobals.PaybackHolder?payback)
 {
     Damage              = damage;
     Statuses            = statuses;
     DamageEffect        = damageEffect;
     DefensiveActionType = defensiveActionType;
     Payback             = payback;
 }
Ejemplo n.º 3
0
        protected override void HandleDamageEffects(Enumerations.DamageEffects damageEffects)
        {
            base.HandleDamageEffects(damageEffects);

            //Check whether any of the flags to flip are here
            if (UtilityGlobals.DamageEffectHasFlag(FlippedOnEffects, damageEffects) == true)
            {
                HandleFlipped();
            }
        }
Ejemplo n.º 4
0
        protected override void HandleDamageEffects(Enumerations.DamageEffects damageEffects)
        {
            base.HandleDamageEffects(damageEffects);

            if (UtilityGlobals.DamageEffectHasFlag(damageEffects, Enumerations.DamageEffects.RemovesWings) == true &&
                EntityProperties.IsVulnerableToDamageEffect(Enumerations.DamageEffects.RemovesWings) == true)
            {
                HandleGrounded();
            }
        }
        public KoopaFlippedBehavior(BattleEntity entity, int flippedTurns, Enumerations.DamageEffects flippedOnEffects, int defenseLoss)
        {
            Entity       = entity;
            FlippedTurns = flippedTurns;

            FlippedOnEffects = flippedOnEffects;
            DefenseLoss      = defenseLoss;

            //Subscribe to taking damage so it can check the damage effects
            Entity.DamageTakenEvent -= OnDamageTaken;
            Entity.DamageTakenEvent += OnDamageTaken;
        }
        public ParagoombaWingedBehavior(BattleEntity entity, int groundedTurns, Enumerations.DamageEffects groundedOnEffects, BattleEntity groundedEntity)
        {
            Entity            = entity;
            GroundedTurns     = groundedTurns;
            GroundedOnEffects = groundedOnEffects;
            GroundedEntity    = groundedEntity;

            WingRectRegion = new Rectangle(3, 166, 41, 18);

            Entity.DamageTakenEvent -= OnDamageTaken;
            Entity.DamageTakenEvent += OnDamageTaken;
        }
Ejemplo n.º 7
0
        public PokeySegmentBehavior(BattleEntity entity, uint maxSegments, Enumerations.DamageEffects segmentRemovedOnEffects)
        {
            Entity = entity;

            MaxSegments     = maxSegments;
            CurSegmentCount = MaxSegments;

            SegmentRemovedOnEffects = segmentRemovedOnEffects;

            //Subscribe to taking damage so it can check the damage effects
            Entity.DamageTakenEvent -= OnDamageTaken;
            Entity.DamageTakenEvent += OnDamageTaken;
        }
Ejemplo n.º 8
0
 protected override void HandleDamageEffects(Enumerations.DamageEffects damageEffects)
 {
     //Prioritize winged first
     //This allows the Paratroopa to be flipped after landing if hit with two Jump-like moves in one turn
     if (UtilityGlobals.DamageEffectHasFlag(damageEffects, Enumerations.DamageEffects.RemovesWings) == true &&
         EntityProperties.IsVulnerableToDamageEffect(Enumerations.DamageEffects.RemovesWings) == true)
     {
         HandleGrounded();
     }
     else
     {
         base.HandleDamageEffects(damageEffects);
     }
 }
Ejemplo n.º 9
0
 public DamageData(int damage, Enumerations.Elements damagingElement, bool piercing, Enumerations.ContactTypes contactType,
                   Enumerations.ContactProperties contactProperty, StatusChanceHolder[] statuses, bool cantMiss, bool allOrNothingAffected,
                   Enumerations.DefensiveActionTypes defensiveOverride, Enumerations.DamageEffects damageEffect)
 {
     Damage               = damage;
     DamagingElement      = damagingElement;
     Piercing             = piercing;
     ContactType          = contactType;
     ContactProperty      = contactProperty;
     Statuses             = statuses;
     CantMiss             = cantMiss;
     AllOrNothingAffected = allOrNothingAffected;
     DefensiveOverride    = defensiveOverride;
     DamageEffect         = damageEffect;
 }
Ejemplo n.º 10
0
 public InteractionParamHolder(BattleEntity attacker, BattleEntity victim, int damage, Enumerations.Elements element,
                               bool piercing, Enumerations.ContactTypes contactType, Enumerations.ContactProperties contactProperty,
                               StatusChanceHolder[] statuses, Enumerations.DamageEffects damageEffect, bool cantMiss,
                               Enumerations.DefensiveActionTypes defensiveOverride)
 {
     Attacker          = attacker;
     Victim            = victim;
     Damage            = damage;
     DamagingElement   = element;
     Piercing          = piercing;
     ContactType       = contactType;
     ContactProperty   = contactProperty;
     Statuses          = statuses;
     DamageEffect      = damageEffect;
     CantMiss          = cantMiss;
     DefensiveOverride = defensiveOverride;
 }
Ejemplo n.º 11
0
        public InteractionHolder(BattleEntity entity, int totalDamage, Enumerations.Elements damageElement, ElementInteractionResult elementResult,
                                 Enumerations.ContactTypes contactType, Enumerations.ContactProperties contactProperty, bool piercing, StatusChanceHolder[] statusesInflicted, bool hit, Enumerations.DamageEffects damageEffect)
        {
            Entity            = entity;
            TotalDamage       = totalDamage;
            DamageElement     = damageElement;
            ElementResult     = elementResult;
            ContactType       = contactType;
            ContactProperty   = contactProperty;
            Piercing          = piercing;
            StatusesInflicted = statusesInflicted;
            Hit          = hit;
            DamageEffect = damageEffect;

            DefensiveActionsPerformed = Enumerations.DefensiveActionTypes.None;

            IsPaybackDamage = false;

            DontDamageEntity = false;
        }
Ejemplo n.º 12
0
 public DamageData(int damage, Enumerations.Elements damagingElement, bool piercing, Enumerations.ContactTypes contactType,
                   Enumerations.ContactProperties contactProperty, StatusChanceHolder[] statuses, Enumerations.DamageEffects damageEffect)
     : this(damage, damagingElement, piercing, contactType, contactProperty, statuses, false, true,
            Enumerations.DefensiveActionTypes.None, damageEffect)
 {
 }
Ejemplo n.º 13
0
 public ParatroopaWingedBehavior(BattleEntity entity, int groundedTurns, Enumerations.DamageEffects groundedOnEffects, BattleEntity groundedEntity)
     : base(entity, groundedTurns, groundedOnEffects, groundedEntity)
 {
     WingOffset     = new Vector2(-1, 2);
     WingRectRegion = new Rectangle(66, 190, 45, 26);
 }
Ejemplo n.º 14
0
        /* Adding flags: flag1 |= flag2            ; 10 | 01 = 11
         * Checking flags: (flag1 & flag2) != 0    ; 11 & 10 = 10
         * Removing flags: (flag1 & (~flag2))      ; 1111 & (~0010) = 1111 & 1101 = 1101
         * */

        /// <summary>
        /// Tells whether a set of DamageEffects has any of the flags in another DamageEffects set.
        /// </summary>
        /// <param name="damageEffects">The DamageEffects value.</param>
        /// <param name="damageEffectFlags">The flags to test.</param>
        /// <returns>true if any of the flags in damageEffectFlags are in damageEffects, otherwise false.</returns>
        public static bool DamageEffectHasFlag(Enumerations.DamageEffects damageEffects, Enumerations.DamageEffects damageEffectFlags)
        {
            Enumerations.DamageEffects flags = (damageEffects & damageEffectFlags);

            return(flags != 0);
        }
 public ParatroopaFlippedBehavior(BattleEntity entity, int flippedTurns, Enumerations.DamageEffects flippedOnEffects, int defenseLoss)
     : base(entity, flippedTurns, flippedOnEffects, defenseLoss)
 {
 }
Ejemplo n.º 16
0
 public DefensiveActionHolder(int damage, StatusChanceHolder[] statuses, Enumerations.DamageEffects damageEffect,
                              Enumerations.DefensiveActionTypes defensiveActionType)
     : this(damage, statuses, damageEffect, defensiveActionType, null)
 {
 }