public static PlayerClass FighterClass() { var fighter = new PlayerClass { Name = "Fighter", IsBaseClass = true, ExperienceModifier = 500, HelpText = new Help(), Skills = new List <Skill>(), ReclassOptions = new List <PlayerClass>(), MaxHpGain = 15, MinHpGain = 10, MaxManaGain = 8, MinManaGain = 4, MaxEnduranceGain = 15, MinEnduranceGain = 11, StatBonusStr = 1, StatBonusCon = 1, }; /* TODO: some skills to add * Axe Dagger Polearm Mace * Spear Shield Block * staff sword * bash Whip Enhanced damage * parry rescue swim scrolls * staves wands recall * age dig * dirt kicking * second atttack * third attack * fouth attack * fast healing * kick * disarm * blind fighting * trip * berserk * dual wield (eek) * */ #region Lvl 1 skills var longBlades = LongBlades.LongBladesAb(); longBlades.Learned = true; fighter.Skills.Add(longBlades); var shortBlades = ShortBlades.ShortBladesAb(); shortBlades.Learned = true; fighter.Skills.Add(shortBlades); var axe = Axe.AxeAb(); axe.Learned = true; fighter.Skills.Add(axe); var blunt = BluntWeapons.BluntWeaponsAb(); blunt.Learned = true; fighter.Skills.Add(blunt); var polearm = Polearms.PolearmsAb(); polearm.Learned = true; fighter.Skills.Add(polearm); var exotic = Exotic.ExoticAb(); exotic.Learned = true; fighter.Skills.Add(exotic); var staff = Staff.StaffAb(); staff.Learned = true; fighter.Skills.Add(staff); var handToHand = HandToHand.HandToHandAb(); handToHand.Learned = true; fighter.Skills.Add(handToHand); var lightArmour = LightArmour.LightArmourAb(); lightArmour.Learned = true; fighter.Skills.Add(lightArmour); #endregion #region Lvl 2 skills fighter.Skills.Add(HeavyArmour.HeavyArmourAb()); fighter.Skills.Add(MediumArmour.MediumArmourAb()); #endregion #region Lvl 3 skills fighter.Skills.Add(Trip.TripAb()); #endregion #region Lvl 4 fighter.Skills.Add(FastHealing.FastHealingAb()); fighter.Skills.Add(Toughness.ToughnessAb()); #endregion #region Lvl 5 var parry = Parry.ParryAb(); fighter.Skills.Add(parry); #endregion #region Lvl 6 var shieldBlock = ShieldBlock.ShieldBlockAb(); fighter.Skills.Add(shieldBlock); var dodge = Dodge.DodgeAb(); fighter.Skills.Add(dodge); #endregion #region Lvl 7 var dirtKick = DirtKick.DirtKickAb(); fighter.Skills.Add(dirtKick); var kick = Kick.KickAb(); fighter.Skills.Add(kick); #endregion #region Lvl 9 var bash = Bash.BashAb(); fighter.Skills.Add(bash); #endregion #region Lvl 10 var rescue = Rescue.RescueAb(); fighter.Skills.Add(rescue); #endregion #region Lvl 11 var sneak = Sneak.SneakAb(); fighter.Skills.Add(sneak); #endregion #region Lvl 12 fighter.Skills.Add(SecondAttack.SecondAttackAb()); #endregion #region Lvl 13 var lunge = Lunge.LungeAb(); fighter.Skills.Add(lunge); #endregion #region Lvl 14 var sbash = ShieldBash.ShieldBashAb(); fighter.Skills.Add(sbash); #endregion #region Lvl 15 var disarm = Disarm.DisarmAb(); fighter.Skills.Add(disarm); #endregion #region Lvl 16 var enhancedDam = EnhancedDamage.EnhancedDamageAb(); fighter.Skills.Add(enhancedDam); #endregion #region Lvl 18 var mount = Mount.MountAb(); fighter.Skills.Add(mount); #endregion #region Lvl 20 var thirdAttk = ThirdAttack.ThirdAttackAb(); fighter.Skills.Add(thirdAttk); #endregion fighter.ReclassOptions.Add(Ranger.RangerClass()); return(fighter); }
public override void WritePropertyXML(XmlWriter xmlWriter) { base.WritePropertyXML(xmlWriter); xmlWriter.WriteStartElement("Type"); xmlWriter.WriteString(Methods.GetCreatureTypeString(Type)); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("ChallengeRating"); xmlWriter.WriteString(ChallengeRating.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("AttackSets"); foreach (AttackSet attackSet in AttackSets) { attackSet.WriteXML(xmlWriter); } xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Strength"); xmlWriter.WriteString(Strength.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Dexterity"); xmlWriter.WriteString(Dexterity.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Constitution"); xmlWriter.WriteString(Constitution.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Intelligence"); xmlWriter.WriteString(Intelligence.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Wisdom"); xmlWriter.WriteString(Wisdom.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Charisma"); xmlWriter.WriteString(Charisma.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("BaseAttackBonus"); xmlWriter.WriteString(BaseAttackBonus.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("GrappleModifier"); xmlWriter.WriteString(GrappleModifier.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("HitPoints"); xmlWriter.WriteString(HitPoints.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("HitDice"); xmlWriter.WriteString(HitDice.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("HitDieType"); xmlWriter.WriteString(Methods.GetDieTypeString(HitDieType)); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("ArmorClass"); xmlWriter.WriteString(ArmorClass.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("TouchArmorClass"); xmlWriter.WriteString(TouchArmorClass.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("FlatFootedArmorClass"); xmlWriter.WriteString(FlatFootedArmorClass.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Speed"); Speed.WriteXML(xmlWriter); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("FortitudeSave"); xmlWriter.WriteString(FortitudeSave.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("ReflexSave"); xmlWriter.WriteString(ReflexSave.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("WillSave"); xmlWriter.WriteString(WillSave.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Feats"); foreach (string feat in Feats) { xmlWriter.WriteStartElement("Feat"); xmlWriter.WriteString(feat); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Space"); xmlWriter.WriteString(Space.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Reach"); xmlWriter.WriteString(Reach.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Size"); xmlWriter.WriteString(Methods.GetSizeString(Size)); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("DamageReductions"); foreach (DamageReduction dr in DamageReductions) { dr.WriteXML(xmlWriter); } xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Immunities"); Immunities.WriteXML(xmlWriter); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("EnergyResistances"); foreach (EnergyResistance er in EnergyResistances) { er.WriteXML(xmlWriter); } xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("SpellResistance"); xmlWriter.WriteString(SpellResistance.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("FastHealing"); xmlWriter.WriteString(FastHealing.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("SpecialAttacks"); xmlWriter.WriteString(SpecialAttacks); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("SpecialQualities"); xmlWriter.WriteString(String.Join(", ", SpecialQualities)); xmlWriter.WriteEndElement(); }