public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { int HDValue = MonSB.HDValue(); if (HDValue < 5) { TemplateCommon.AddResistance(MonSB, "cold ", 5); TemplateCommon.AddResistance(MonSB, "fire ", 5); } else if (HDValue >= 5 && HDValue <= 10) { TemplateCommon.AddDR(MonSB, "good", 5); TemplateCommon.AddResistance(MonSB, "cold ", 10); TemplateCommon.AddResistance(MonSB, "fire ", 10); } else if (HDValue >= 11) { TemplateCommon.AddDR(MonSB, "good", 10); TemplateCommon.AddResistance(MonSB, "cold ", 15); TemplateCommon.AddResistance(MonSB, "fire ", 15); } int CR_Hold; int.TryParse(MonSB.CR, out CR_Hold); MonSB.SR = (CR_Hold + 5).ToString(); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { if (!MonSB.AlternateNameForm.Contains("Human Form")) { TemplateCommon.AddDR(MonSB, "silver", 5); } return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { TemplateCommon.ChangeHD(MonSB, StatBlockInfo.HitDiceCategories.d8); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "ToughnessB"); TemplateCommon.AddDR(MonSB, "slashing", 5); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", 5, true); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Perception"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Sense Motive"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Stealth"); TemplateCommon.AddDR(MonSB, "bludgeoning and magic", 15); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { TemplateCommon.ChangeHD(MonSB, StatBlockInfo.HitDiceCategories.d8); TemplateCommon.AddDR(MonSB, "-", 10); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "ToughnessB"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Intimidate"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Sense Motive"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Stealth"); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", 4, true); TemplateCommon.AddDR(MonSB, "-", 5); TemplateCommon.AddResistance(MonSB, "cold ", 5); TemplateCommon.AddResistance(MonSB, "electricity ", 5); TemplateCommon.AddResistance(MonSB, "acid ", 5); TemplateCommon.AddResistance(MonSB, "fire ", 5); TemplateCommon.AddResistance(MonSB, "sonic ", 5); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { TemplateCommon.ChangeHD(MonSB, StatBlockInfo.HitDiceCategories.d8); MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", 4, true); TemplateCommon.AddDR(MonSB, "-", 5); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+4 Stealth"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "ToughnessB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, " Improved Natural AttackB"); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { if (!MonSB.DontUseRacialHD) { TemplateCommon.ChangeHD(MonSB, StatBlockInfo.HitDiceCategories.d8); StatBlockInfo.HDBlockInfo tempHDInfo = new StatBlockInfo.HDBlockInfo(); tempHDInfo.ParseHDBlock(MonSB.HD); //tempHDInfo.HDType = StatBlockInfo.HitDiceCategories.d8; //keeps HD, change to d8 //tempHDInfo.Modifier = 0; //MonSB.HD = tempHDInfo.ToString(); CreatureTypeFoundation CreatureType = CreatureTypeDetailsWrapper.GetRaceDetailClass("undead"); int fort = StatBlockInfo.ParseSaveBonues(tempHDInfo.Multiplier, CreatureType.FortSaveType); CreatureTypeMaster CreatureTypeMaster = new CreatureTypeMaster(); CreatureTypeMaster.CreatureTypeInstance = CreatureType; fort += StatBlockInfo.GetAbilityModifier(MonSB.GetAbilityScoreValue(CreatureTypeMaster.CreatureTypeInstance.FortMod())); MonSB.Fort = fort.ToString(); int refValue = StatBlockInfo.ParseSaveBonues(tempHDInfo.Multiplier, CreatureType.RefSaveType); refValue += StatBlockInfo.GetAbilityModifier(MonSB.GetAbilityScoreValue(StatBlockInfo.DEX)); MonSB.Ref = refValue.ToString(); int will = StatBlockInfo.ParseSaveBonues(tempHDInfo.Multiplier, CreatureType.WillSaveType); will += StatBlockInfo.GetAbilityModifier(MonSB.GetAbilityScoreValue(StatBlockInfo.WIS)); MonSB.Will = will.ToString(); } MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", 6, true); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "AlertnessB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Combat ReflexesB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "DodgeB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Improved InitiativeB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Lightning ReflexesB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "ToughnessB"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Bluff"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Perception"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Sense Motive"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Stealth"); TemplateCommon.AddDR(MonSB, "magic and silver", 10); TemplateCommon.AddResistance(MonSB, "cold ", 10); TemplateCommon.AddResistance(MonSB, "electricity ", 10); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { TemplateCommon.ChangeHD(MonSB, StatBlockInfo.HitDiceCategories.d8); MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", 3, true); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Climb"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Improved InitiativeB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "ToughnessB"); TemplateCommon.AddDR(MonSB, "magic and slashing", 5); TemplateCommon.AddResistance(MonSB, "fire ", 10); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", 6, true); TemplateCommon.ChangeHD(MonSB, StatBlockInfo.HitDiceCategories.d8); TemplateCommon.AddDR(MonSB, "silver and slashing", 5); TemplateCommon.AddResistance(MonSB, "cold ", 10); TemplateCommon.AddResistance(MonSB, "fire ", 10); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Bluff"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Fly"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Perception"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Sense Motive"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Stealth"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Knowledge (arcana)"); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", 4, true); TemplateCommon.ChangeHD(MonSB, StatBlockInfo.HitDiceCategories.d8); TemplateCommon.AddDR(MonSB, "magic", 10); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Perception"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Intimidatee"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Ride"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Mounted CombatB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Improved InitiativeB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Ride-By AttackB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "ToughnessB"); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", 2, true); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "AlertnessB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "DodgeB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "MobilityB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Skill Focus (Acrobatics)B"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Spring AttackB"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Acrobatics"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Perception"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Stealth"); TemplateCommon.AddDR(MonSB, "magic and slashing", 10); TemplateCommon.AddResistance(MonSB, "cold ", 20); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", 1, true); if (MonSB.HDValue() <= 11) { TemplateCommon.AddDR(MonSB, "magic", 5); } else { TemplateCommon.AddDR(MonSB, "magic", 10); } TemplateCommon.AddResistance(MonSB, "acid ", 10); TemplateCommon.AddResistance(MonSB, "cold ", 10); TemplateCommon.AddResistance(MonSB, "electricity ", 10); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", 1, true); if (MonSB.HDValue() <= 11) { TemplateCommon.AddDR(MonSB, "magic", 5); } else { TemplateCommon.AddDR(MonSB, "magic", 10); } TemplateCommon.AddResistance(MonSB, "cold ", 10); TemplateCommon.AddResistance(MonSB, "electricity ", 10); TemplateCommon.AddResistance(MonSB, "acid ", 10); TemplateCommon.AddResistance(MonSB, "fire ", 10); int CR_Hold; int.TryParse(MonSB.CR, out CR_Hold); if (CR_Hold <= 4) { MonSB.SR = ((CR_Hold - 1) + 11).ToString(); } else if (CR_Hold <= 10) { MonSB.SR = ((CR_Hold - 2) + 11).ToString(); } else { MonSB.SR = ((CR_Hold - 2) + 11).ToString(); } return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", 8, true); TemplateCommon.ChangeHD(MonSB, StatBlockInfo.HitDiceCategories.d8); TemplateCommon.AddDR(MonSB, "wood and piercing", 5); TemplateCommon.AddResistance(MonSB, "cold ", 10); TemplateCommon.AddResistance(MonSB, "electricity ", 10); TemplateCommon.AddResistance(MonSB, "sonic ", 10); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Perception"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Sense Motive"); MonSB.RacialMods = StatBlockInfo.AddRacialMod(MonSB.RacialMods, "+8 Stealth"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "AlertnessB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Improved InitiativeB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Lightning ReflexesB"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Skill Focus()B"); MonSB.Feats = StatBlockInfo.AddFeat(MonSB.Feats, "Skill Focus()B"); return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { StatBlockInfo.HDBlockInfo tempHDInfo = new StatBlockInfo.HDBlockInfo(); tempHDInfo.ParseHDBlock(MonSB.HD); tempHDInfo.HDType = StatBlockInfo.HitDiceCategories.d8; //keeps HD, change to d8 tempHDInfo.Modifier = 0; MonSB.HD = tempHDInfo.ToString(); double HD = Convert.ToInt32(tempHDInfo.Multiplier); double temp = (HD * 3) / 4; MonSB.BaseAtk = "+" + Math.Floor(temp).ToString(); temp = HD / 3; //Fort MonSB.Fort = "+" + Math.Floor(temp).ToString(); temp = HD / 3; ///Ref MonSB.Ref = "+" + Math.Floor(temp).ToString(); temp = HD / 2; ///Will MonSB.Will = "+" + (Math.Floor(temp) + 2).ToString(); switch (StatBlockInfo.GetSizeEnum(MonSB.Size)) { case StatBlockInfo.SizeCategories.Tiny: temp = 0; break; case StatBlockInfo.SizeCategories.Small: temp = 1; break; case StatBlockInfo.SizeCategories.Medium: case StatBlockInfo.SizeCategories.Large: temp = 2; break; case StatBlockInfo.SizeCategories.Huge: temp = 3; break; case StatBlockInfo.SizeCategories.Gargantuan: temp = 6; break; case StatBlockInfo.SizeCategories.Colossal: temp = 10; break; default: temp = 0; break; } MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", Convert.ToInt32(temp), false); TemplateCommon.AddDR(MonSB, "bludgeoning", 5); return(MonSB); }
public static MonsterStatBlock AppyBaseZombieTemplate(MonsterStatBlock MonSB) { StatBlockInfo.HDBlockInfo tempHDInfo = new StatBlockInfo.HDBlockInfo(); tempHDInfo.ParseHDBlock(MonSB.HD); tempHDInfo.HDType = StatBlockInfo.HitDiceCategories.d8; //keeps HD, change to d8 tempHDInfo.Modifier = 0; MonSB.HD = tempHDInfo.ToString(); double HD = Convert.ToInt32(tempHDInfo.Multiplier); double temp = (HD * 3) / 4; MonSB.BaseAtk = "+" + Math.Floor(temp).ToString(); temp = HD / 3; //Fort MonSB.Fort = "+" + Math.Floor(temp).ToString(); temp = HD / 3; ///Ref MonSB.Ref = "+" + Math.Floor(temp).ToString(); temp = HD / 2; ///Will MonSB.Will = "+" + (Math.Floor(temp) + 2).ToString(); switch (StatBlockInfo.GetSizeEnum(MonSB.Size)) { case StatBlockInfo.SizeCategories.Tiny: temp = 0; break; case StatBlockInfo.SizeCategories.Small: temp = 1; break; case StatBlockInfo.SizeCategories.Medium: temp = 2; break; case StatBlockInfo.SizeCategories.Large: temp = 3; break; case StatBlockInfo.SizeCategories.Huge: temp = 4; break; case StatBlockInfo.SizeCategories.Gargantuan: temp = 7; break; case StatBlockInfo.SizeCategories.Colossal: temp = 11; break; default: temp = 0; break; } TemplateCommon.ChangeHD(MonSB, StatBlockInfo.HitDiceCategories.d8); TemplateCommon.AddDR(MonSB, "slashing", 5); MonSB.AC_Mods = StatBlockInfo.ChangeAC_Mod(MonSB.AC_Mods, "natural", Convert.ToInt32(temp), false); MonSB.Skills = string.Empty; MonSB.Feats = "ToughnessB"; return(MonSB); }
public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB) { TemplateCommon.AddDR(MonSB, "good or silver", 5); return(MonSB); }