Ejemplo n.º 1
0
        protected override void OnInterruption(Enumerations.Elements element)
        {
            //Remove after-images if interrupted
            RemoveAfterImages();

            base.OnInterruption(element);
        }
        public override void StartInterruption(Enumerations.Elements element)
        {
            //Simply don't do anything else on an interruption but play a sound
            //It's expected that the attacker can get hit here due to a Superguard flinging back the segment

            //Play the damaged sound
            SoundManager.Instance.PlaySound(SoundManager.Sound.Damaged);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// A Comparison sort method for Elements, putting higher valued elements first.
        /// </summary>
        /// <param name="element1">The first Element to compare.</param>
        /// <param name="element2">The second Element to compare.</param>
        /// <returns>-1 if element1 has a higher value, 1 if element2 has a higher value, 0 if they have the same value.</returns>
        public static int SortElements(Enumerations.Elements element1, Enumerations.Elements element2)
        {
            if (element1 > element2)
            {
                return(-1);
            }
            else if (element1 < element2)
            {
                return(1);
            }

            return(0);
        }
Ejemplo n.º 4
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;
 }
 public PaybackHolder(PaybackTypes paybackType, Enumerations.PhysicalAttributes physAttribute, Enumerations.Elements element,
                      Enumerations.ContactTypes[] paybackContacts, Enumerations.ContactProperties[] contactProperties,
                      Enumerations.ContactResult contactResult, Enumerations.ContactResult samePhysAttrResult,
                      params StatusChanceHolder[] statusesInflicted)
 {
     PaybackType          = paybackType;
     PhysAttribute        = physAttribute;
     Element              = element;
     PaybackContacts      = paybackContacts;
     ContactProperties    = contactProperties;
     PaybackContactResult = contactResult;
     SamePhysAttrResult   = samePhysAttrResult;
     Damage            = 0;
     StatusesInflicted = statusesInflicted;
 }
Ejemplo n.º 6
0
        public HurtPebble()
        {
            Name        = "Hurt Pebble";
            Description = "Damages the user for 1 damage.\nTHIS DESCRIPTION SHOULD NOT APPEAR!!";

            Icon = new CroppedTexture2D(AssetManager.Instance.LoadRawTexture2D($"{ContentGlobals.SpriteRoot}/Items.png"),
                                        new Rectangle(615, 87, 23, 21));
            ItemType = ItemTypes.Damage;

            Damage  = 1;
            Element = Enumerations.Elements.Normal;

            SelectionType     = Enumerations.EntitySelectionType.First;
            MoveAffectionType = Enumerations.MoveAffectionTypes.Self;
        }
Ejemplo n.º 7
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.º 8
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;
        }
        //This Sequence can't get interrupted. If it does, print an error
        protected override void OnInterruption(Enumerations.Elements element)
        {
            base.OnInterruption(element);

            Debug.LogError($"Sequence {nameof(ChangePartnerSequence)} CANNOT be interrupted. This is a critical error that should be fixed ASAP");
        }
Ejemplo n.º 10
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.º 11
0
 public ElementDamageHolder(int damage, Enumerations.Elements element)
 {
     Damage  = damage;
     Element = element;
 }
Ejemplo n.º 12
0
 public ElementOverrideHolder(Enumerations.Elements element, int overrideCount)
 {
     Element       = element;
     OverrideCount = overrideCount;
 }
 public PaybackHolder(PaybackTypes paybackType, Enumerations.PhysicalAttributes physAttribute, Enumerations.Elements element,
                      Enumerations.ContactTypes[] paybackContacts, Enumerations.ContactProperties[] contactProperties,
                      Enumerations.ContactResult contactResult, Enumerations.ContactResult samePhysAttrResult, int constantDamage,
                      params StatusChanceHolder[] statusesInflicted)
     : this(paybackType, physAttribute, element, paybackContacts, contactProperties, contactResult, samePhysAttrResult, statusesInflicted)
 {
     Damage = constantDamage;
 }
Ejemplo n.º 14
0
        protected override void OnInterruption(Enumerations.Elements element)
        {
            base.OnInterruption(element);

            Interrupted = true;
        }