private bool DoesAttackHit(Combatant com, Random ran) { int mod = 0; Moves.DamageType type = com.SelectedMove.DamageClass; switch (type) { case Moves.DamageType.Gunpowder: mod = com.AccuracyModGunpowder; break; case Moves.DamageType.Ranged: mod = com.AccuracyModRanged; break; case Moves.DamageType.Melee: mod = com.AccuracyModMelee; break; default: break; } int accuracy = AdjustedValueFromModifier(com.SelectedMove.Accuracy, mod); int rng = ran.Next(0, 100); if (accuracy >= rng) { return(true); } return(false); }
private int AggDamage(Combatant agg) { int mod = 0; Moves.DamageType type = agg.SelectedMove.DamageClass; switch (type) { case Moves.DamageType.Gunpowder: mod = agg.StrengthModGunpowder; break; case Moves.DamageType.Ranged: mod = agg.StrengthModRanged; break; case Moves.DamageType.Melee: mod = agg.StrengthModMelee; break; default: break; } return(AdjustedValueFromModifier(agg.SelectedMove.Damage, mod)); }
private double DefDefense(Combatant agg, Combatant def) { double dfn = 0; Moves.DamageType type = agg.SelectedMove.DamageClass; switch (type) { case Moves.DamageType.Gunpowder: dfn += def.DefenseModGunpowder + def.ArmorType.ResistGunpowder; break; case Moves.DamageType.Ranged: dfn += def.DefenseModRanged + def.ArmorType.ResistRanged; break; case Moves.DamageType.Melee: dfn += def.DefenseModMelee + def.ArmorType.ResistMelee; break; default: break; } double dfnMod = dfn / 100; return(dfnMod); }
private Moves.DamageType ChooseAnEnemyType() { Moves.DamageType type = Moves.DamageType.Melee; int rng = GetQuestsRNG().Next(0, 100); if (rng >= 50) { type = Moves.DamageType.Ranged; } return(type); }