static ICharacter CreateMainCharacter(string characterName) { ICharacter Character = CharacterFactory.CreateCharacter(new PlayerCharacter { Name = characterName, Level = 1, RaceType = RaceType.Human, ClassType = ClassType.Fighter, MainCharacter = true, RandomizeStats = true, OwnerName = "Jonathan Favorite" }); IWeapon Sword = EquipmentFactory.CreateWeapon(new Weapon { Name = "Testing Sword (One hand)", AttackType = WeaponAttackType.S, Category = WeaponCategory.BastardSwordOneHanded, TwoHanded = false, Price = { Gold = 1, Silver = 50 }, Damage = { Amount = 1, SidedDie = 8, Bonus = 1 }, Weareable = true, SlotType = EquipmentSlot.PRIMARY }); IGear Shield = EquipmentFactory.CreateGear(new Gear { Name = "Testing Shield", ArmorType = ArmorTypeList.Shield, SlotType = EquipmentSlot.SECONDARY, AC = 0, StatMods = { new StatModifier { Modifier = ItemBonusList.AC, Value = 2 } } }); IGear Head = EquipmentFactory.CreateGear(new Gear { Name = "Testing Head", AC = 6, EquipmentType = EquipmentType.Clothing, Price = { Silver = 50 }, SlotType = EquipmentSlot.HEAD, ArmorType = ArmorTypeList.ChainMail, }); IGear NewHead = EquipmentFactory.CreateGear(new Gear { Name = "Testing Head #1", AC = 1, EquipmentType = EquipmentType.Clothing, Price = { Silver = 50 }, SlotType = EquipmentSlot.HEAD, ArmorType = ArmorTypeList.PlateMail, }); IGear Shoulder = EquipmentFactory.CreateGear(new Gear { Name = "Testing Shoulder", AC = 6, EquipmentType = EquipmentType.Clothing, Price = { Gold = 123 }, SlotType = EquipmentSlot.SHOULDER, ArmorType = ArmorTypeList.Leather }); IGear Chest = EquipmentFactory.CreateGear(new Gear { Name = "Testing Chest", AC = 6, EquipmentType = EquipmentType.Clothing, Price = { Gold = 123 }, SlotType = EquipmentSlot.CHEST, ArmorType = ArmorTypeList.Leather }); IGear Wrists = EquipmentFactory.CreateGear(new Gear { Name = "Testing Wrist", AC = 6, EquipmentType = EquipmentType.Clothing, Price = { Gold = 123 }, SlotType = EquipmentSlot.WRIST, ArmorType = ArmorTypeList.Leather }); IGear Hands = EquipmentFactory.CreateGear(new Gear { Name = "Testing Hands", AC = 6, EquipmentType = EquipmentType.Clothing, Price = { Gold = 123 }, SlotType = EquipmentSlot.HANDS, ArmorType = ArmorTypeList.Leather }); IGear Legs = EquipmentFactory.CreateGear(new Gear { Name = "Testing Legs", AC = 6, EquipmentType = EquipmentType.Clothing, Price = { Gold = 123 }, SlotType = EquipmentSlot.LEGS, ArmorType = ArmorTypeList.Leather }); IGear Feet = EquipmentFactory.CreateGear(new Gear { Name = "Testing Feet", AC = 6, EquipmentType = EquipmentType.Clothing, Price = { Gold = 123 }, SlotType = EquipmentSlot.FEET, ArmorType = ArmorTypeList.Leather }); Character.AddItem(Head, 1); Character.AddItem(NewHead, 1); Character.AddItem(Shoulder, 1); Character.AddItem(Chest, 1); Character.AddItem(Wrists, 1); Character.AddItem(Hands, 1); Character.AddItem(Legs, 1); Character.AddItem(Feet, 1); Character.AddItem(Sword, 1); Character.AddItem(Shield, 1); Character.EquipItem(Head); Character.EquipItem(NewHead); Character.EquipItem(Shoulder); Character.EquipItem(Chest); Character.EquipItem(Wrists); Character.EquipItem(Hands); Character.EquipItem(Legs); Character.EquipItem(Feet); Character.EquipItem(Sword); Character.EquipItem(Shield); ISpell MagicMissle = SpellFactory.CreateSpell(new Spell { SpellID = "magic_missles_level_1", Name = "Magic Missle", Level = 1, School = { SpellSchool.Evocation }, Range = { RangeType = SpellRangeType.Yards, yards = 60 }, Compontents = { SpellCompontents.V, SpellCompontents.S }, Duration = new SpellDurationInfo { DurationType = SpellDurationType.Instantaneous }, CastingTime = 1, Classes = { ClassType.Wizard }, AOE = new AreaOfEffect { Type = AOETypes.CUBE, AOESize = 10, Ruler = RulerTypes.Feet }, SavingThrows = { SavingThrowType.None }, Description = "Use of magic missles spell creates up to five missles of magical energy that dart forth from the wizard's fingertip and unerringly strike their target. This includes enemy creatures in a melee." }); Character.AddSpell(MagicMissle); return(Character); }