示例#1
0
 public void Stats()
 {
     Console.WriteLine("Your current stats are as follows: ");
     Console.WriteLine($"Level: {Level}");
     Console.WriteLine($"HP: {HitPoints}");
     Console.WriteLine($"Attack: {AttackPower}");
     Console.WriteLine($"Defense: {Defense}");
     Console.WriteLine($"Dodge Chance: {DodgeChance.ToString("##%")}");
     Console.WriteLine($"Critical Chance: {CriticalChance.ToString("##%")}");
     Console.WriteLine($"Experience Points: {Experience}\n");
 }
示例#2
0
        public DamageHitter Instantiate(IEngine engine)
        {
            var instance = new DamageHitter(engine, new Info.DamageHitter
            {
                Subtract         = Subtract.Read(),
                PureChance       = PureChance.Read(),
                CriticalChance   = CriticalChance.Read(),
                LifeStealPercent = LifeStealPercent.Read(),
                DotSpeed         = DotSpeed.Read(),
            });

            instance.SetupForInstantiate();

            return(instance);
        }
 public void RefreshMinLevelBindings()
 {
     Attack.RefreshPropertyBinding(nameof(Attack.MinValue));
     CriticalDamage.RefreshPropertyBinding(nameof(CriticalDamage.MinValue));
     CriticalChance.RefreshPropertyBinding(nameof(CriticalChance.MinValue));
     AttackSpeed.RefreshPropertyBinding(nameof(AttackSpeed.MinValue));
     Health.RefreshPropertyBinding(nameof(Health.MinValue));
     Shields.RefreshPropertyBinding(nameof(Shields.MinValue));
     DefensiveEssence.RefreshPropertyBinding(nameof(DefensiveEssence.MinValue));
     DamageReduction.RefreshPropertyBinding(nameof(DamageReduction.MinValue));
     Mining.RefreshPropertyBinding(nameof(Mining.MinValue));
     Kills.RefreshPropertyBinding(nameof(Kills.MinValue));
     Veterancy.RefreshPropertyBinding(nameof(Veterancy.MinValue));
     Acceleration.RefreshPropertyBinding(nameof(Acceleration.MinValue));
 }
示例#4
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (MovementId != 0)
            {
                hash ^= MovementId.GetHashCode();
            }
            if (AnimationId != 0)
            {
                hash ^= AnimationId.GetHashCode();
            }
            if (PokemonType != 0)
            {
                hash ^= PokemonType.GetHashCode();
            }
            if (Power != 0F)
            {
                hash ^= Power.GetHashCode();
            }
            if (AccuracyChance != 0F)
            {
                hash ^= AccuracyChance.GetHashCode();
            }
            if (CriticalChance != 0F)
            {
                hash ^= CriticalChance.GetHashCode();
            }
            if (HealScalar != 0F)
            {
                hash ^= HealScalar.GetHashCode();
            }
            if (StaminaLossScalar != 0F)
            {
                hash ^= StaminaLossScalar.GetHashCode();
            }
            if (TrainerLevelMin != 0)
            {
                hash ^= TrainerLevelMin.GetHashCode();
            }
            if (TrainerLevelMax != 0)
            {
                hash ^= TrainerLevelMax.GetHashCode();
            }
            if (VfxName.Length != 0)
            {
                hash ^= VfxName.GetHashCode();
            }
            if (DurationMs != 0)
            {
                hash ^= DurationMs.GetHashCode();
            }
            if (DamageWindowStartMs != 0)
            {
                hash ^= DamageWindowStartMs.GetHashCode();
            }
            if (DamageWindowEndMs != 0)
            {
                hash ^= DamageWindowEndMs.GetHashCode();
            }
            if (EnergyDelta != 0)
            {
                hash ^= EnergyDelta.GetHashCode();
            }
            return(hash);
        }
示例#5
0
 public void RemoveModifier(IStatsModifier modifier)
 {
     if (AbilityPower.RemoveStatModificator(modifier.AbilityPower))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Base_Ap, AbilityPower.BaseValue);
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Bonus_Ap_Flat, AbilityPower.FlatBonus);
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Bonus_Ap_Pct, AbilityPower.PercentBonus);
     }
     if (Armor.RemoveStatModificator(modifier.Armor))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Armor, Armor.Total);
     }
     if (ArmorPenetration.RemoveStatModificator(modifier.ArmorPenetration))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Armor_Pen_Flat, ArmorPenetration.FlatBonus);
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Armor_Pen_Pct, ArmorPenetration.PercentBonus);
     }
     if (AttackDamage.RemoveStatModificator(modifier.AttackDamage))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Base_Ad, AttackDamage.BaseValue);
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Bonus_Ad_Flat, AttackDamage.FlatBonus);
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Bonus_Ad_Pct, AttackDamage.PercentBonus);
     }
     if (AttackSpeedMultiplier.RemoveStatModificator(modifier.AttackSpeed))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Atks_multiplier, AttackSpeedMultiplier.Total);
     }
     if (CriticalChance.RemoveStatModificator(modifier.CriticalChance))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Crit_Chance, CriticalChance.Total);
     }
     GoldPerSecond.RemoveStatModificator(modifier.GoldPerSecond);
     if (HealthPoints.RemoveStatModificator(modifier.HealthPoints))
     {
         appendStat(_updatedStats, MasterMask.MM_Four, FieldMask.FM4_MaxHp, HealthPoints.Total);
     }
     if (HealthRegeneration.RemoveStatModificator(modifier.HealthRegeneration))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Hp5, HealthRegeneration.Total);
     }
     if (LifeSteal.RemoveStatModificator(modifier.LifeSteel))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_LifeSteal, LifeSteal.Total);
     }
     if (MagicResist.RemoveStatModificator(modifier.MagicResist))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Magic_Armor, MagicResist.Total);
     }
     if (MagicPenetration.RemoveStatModificator(modifier.MagicPenetration))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Magic_Pen_Flat, MagicPenetration.FlatBonus);
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Magic_Pen_Pct, MagicPenetration.PercentBonus);
     }
     if (ManaPoints.RemoveStatModificator(modifier.ManaPoints))
     {
         appendStat(_updatedStats, MasterMask.MM_Four, FieldMask.FM4_MaxMp, ManaPoints.Total);
     }
     if (ManaRegeneration.RemoveStatModificator(modifier.ManaRegeneration))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Mp5, ManaRegeneration.Total);
     }
     if (MoveSpeed.RemoveStatModificator(modifier.MoveSpeed))
     {
         appendStat(_updatedStats, MasterMask.MM_Four, FieldMask.FM4_Speed, MoveSpeed.Total);
     }
     if (Range.RemoveStatModificator(modifier.Range))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Range, Range.Total);
     }
     if (Size.RemoveStatModificator(modifier.Size))
     {
         appendStat(_updatedStats, MasterMask.MM_Four, FieldMask.FM4_ModelSize, Size.Total);
     }
     if (SpellVamp.RemoveStatModificator(modifier.SpellVamp))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_SpellVamp, SpellVamp.Total);
     }
     if (Tenacity.RemoveStatModificator(modifier.Tenacity))
     {
         appendStat(_updatedStats, MasterMask.MM_Two, FieldMask.FM2_Tenacity, Tenacity.Total);
     }
 }