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"); }
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)); }
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); }
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); } }