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; }
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; }
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(); } }
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; }
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; }
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); } }
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; }
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; }
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; }
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) { }
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); }
/* 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) { }
public DefensiveActionHolder(int damage, StatusChanceHolder[] statuses, Enumerations.DamageEffects damageEffect, Enumerations.DefensiveActionTypes defensiveActionType) : this(damage, statuses, damageEffect, defensiveActionType, null) { }