public void SetDamage(float min, float max, ResistanceTypes res) { if (d_i < damages.Length) { damages[d_i].Min = min; damages[d_i].Max = max; damages[d_i].School = (int)res; d_i++; } }
public void IsImmune_Test(ResistanceTypes type, bool expectedValue) { _ch.Immunity = _ch.Immunity.SetBit(type); Assert.That(_ch.IsImmune(type), Is.EqualTo(expectedValue)); }
public ResistanceHolder(ResistanceTypes resistanceType, int value) { ResistanceType = resistanceType; Value = value; }
/// <summary> /// Make adjustments to saving throw based on RIS (resistance) /// </summary> public static int ModifySavingThrowWithResistance(this CharacterInstance ch, int chance, ResistanceTypes ris) { var modifier = 10; if (ch.Immunity.IsSet(ris)) { modifier -= 10; } if (ch.Resistance.IsSet(ris)) { modifier -= 2; } if (ch.Susceptibility.IsSet(ris)) { if (ch.IsNpc() && ch.Immunity.IsSet(ris)) { modifier += 0; } else { modifier += 2; } } if (modifier <= 0) { return(1000); } if (modifier == 10) { return(chance); } return(chance * modifier / 10); }
public static int ModifyDamageWithResistance(this CharacterInstance ch, int dam, ResistanceTypes ris) { var modifier = 10; if (ch.Immunity.IsSet(ris) && !ch.NoImmunity.IsSet(ris)) { modifier -= 10; } if (ch.Resistance.IsSet(ris) && !ch.NoResistance.IsSet(ris)) { modifier -= 2; } if (ch.Susceptibility.IsSet(ris) && !ch.NoSusceptibility.IsSet(ris)) { if (ch.IsNpc() && ch.Immunity.IsSet(ris)) { modifier += 0; } else { modifier += 2; } } if (modifier <= 0) { return(-1); } if (modifier == 10) { return(dam); } return(dam * modifier / 10); }
public void SetDamage(float min, float max, ResistanceTypes res) { if(d_i < damages.Length) { damages[d_i].Min = min; damages[d_i].Max = max; damages[d_i].School = (int)res; d_i++; } }