public static int GetSavingThrow(Character chr, Combat.SavingThrow savingThrow) { switch (savingThrow) { case Combat.SavingThrow.BreathWeapon: return(GetBWSavingThrow(chr)); case Combat.SavingThrow.ParalyzationPoisonDeath: return(GetPPDSavingThrow(chr)); case Combat.SavingThrow.PetrificationPolymorph: return(GetPPSavingThrow(chr)); case Combat.SavingThrow.RodStaffWand: return(GetRSWSavingThrow(chr)); case Combat.SavingThrow.Spell: default: return(GetSpellsSavingThrow(chr)); } }
private static int GetProfessionAdjustment(Character.ClassType baseProfession, Combat.SavingThrow savingThrow) { int PPD = 0; int PP = 0; int RSW = 0; int S = 0; int BW = 0; switch (baseProfession) { case Character.ClassType.Berserker: #region PPD+++, PP+++, RSW+, S+, BW++ PPD += -4; PP += -4; RSW += -0; S += -0; BW += 2; break; #endregion case Character.ClassType.Sorcerer: #region PPD++, PP++, RSW+, S++, BW PPD += -2; PP += -2; RSW += -1; S += -2; BW += 0; break; #endregion case Character.ClassType.Ravager: #region PPD+++, PP+++, RSW++, S++, BW+++ PPD += -3; PP += -3; RSW += -2; S += -2; BW += -3; break; #endregion case Character.ClassType.Fighter: #region PPD++, PP++, RSW+, S, BW PPD += -2; PP += -2; RSW += -1; S += 0; BW += 0; break; #endregion case Character.ClassType.Knight: #region PPD++++, PP++++, RSW++, S++, BW+ PPD += -4; PP += -4; RSW += -2; S += -2; BW += -1; break; #endregion case Character.ClassType.Thaumaturge: #region PPD++, PP++, RSW, S+, BW PPD += -2; PP += -2; RSW += 0; S += -1; BW += 0; break; #endregion case Character.ClassType.Thief: #region PPD+++++, PP++, RSW+, S+, BW+ PPD += -5; PP += -2; RSW += -1; S += -1; BW += 1; break; #endregion case Character.ClassType.Martial_Artist: #region PPD++, PP++, RSW+, S, BW PPD += -2; PP += -2; RSW += -1; S += 0; BW += 0; break; #endregion case Character.ClassType.Wizard: #region PPD, PP, RSW+++, S+++, BW+ PPD += 0; PP += 0; RSW += -3; S += -3; BW += -1; break; #endregion default: break; } switch (savingThrow) { case Combat.SavingThrow.BreathWeapon: return(BW); case Combat.SavingThrow.ParalyzationPoisonDeath: return(PPD); case Combat.SavingThrow.PetrificationPolymorph: return(PP); case Combat.SavingThrow.RodStaffWand: return(RSW); case Combat.SavingThrow.Spell: return(S); default: return(0); } }
private static int GetHomelandAdjustment(string race, Combat.SavingThrow savingThrow) { int PPD = 0; int PP = 0; int RSW = 0; int S = 0; int BW = 0; switch (race) { case "Illyria": PPD += -2; PP += -2; RSW += -1; S += 0; BW += 0; break; case "Mu": PPD += 0; PP += 0; RSW += -1; S += -1; BW += -2; break; case "Lemuria": PPD += 0; PP += 0; RSW += -2; S += -2; BW += 0; break; case "Leng": PPD += 0; PP += -1; RSW += -1; S += -1; BW += -1; break; case "Draznia": PPD += -2; PP += -2; RSW += -1; S += 0; BW += 0; break; case "Hovath": PPD += -1; PP += 0; RSW += -1; S += -2; BW += 0; break; case "Mnar": PPD += -1; PP += -1; RSW += 0; S += 0; BW += -2; break; case "the plains": case "Barbarian": PPD += -1; PP += -1; RSW += -2; S += 0; BW += 0; break; default: //PPD += 0; //PP += -1; //RSW += -1; //S += 0; //BW += -2; break; } switch (savingThrow) { case Combat.SavingThrow.BreathWeapon: return(BW); case Combat.SavingThrow.ParalyzationPoisonDeath: return(PPD); case Combat.SavingThrow.PetrificationPolymorph: return(PP); case Combat.SavingThrow.RodStaffWand: return(RSW); case Combat.SavingThrow.Spell: return(S); default: return(0); } }