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);
        }
示例#3
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
        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);
        }
示例#14
0
        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);
        }
示例#15
0
        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);
        }
示例#18
0
        public override MonsterStatBlock ApplyTemplate(MonsterStatBlock MonSB)
        {
            TemplateCommon.AddDR(MonSB, "good or silver", 5);

            return(MonSB);
        }