public static AIType GetAI(MasterTitle title) { switch (title) { default: return(AIType.AI_Melee); case MasterTitle.Swordsman: return(AIType.AI_Samurai); case MasterTitle.Fencer: return(AIType.AI_Ninja); case MasterTitle.Sampire: return(AIType.AI_Samurai); case MasterTitle.Macer: return(AIType.AI_Melee); case MasterTitle.Rogue: case MasterTitle.Archer: return(AIType.AI_Archer); case MasterTitle.Wizard: return(AIType.AI_Mage); case MasterTitle.Mystic: return(AIType.AI_Mystic); case MasterTitle.Necromancer: return(AIType.AI_Necro); case MasterTitle.Assassin: return(AIType.AI_Ninja); case MasterTitle.Bard: return(AIType.AI_Melee); } }
public ShrineMaster(MasterTitle specialty, MasterType type, ShrineBattleController controller) : base(GetAI(specialty), FightMode.Closest, 10, 1, .2, .1) { _Specialty = specialty; _Type = type; _Controller = controller; if (Female = Utility.RandomBool()) { Name = NameList.RandomName("female"); } else { Name = NameList.RandomName("male"); } SetBody(); Title = "the " + specialty; SetStr(250); SetDex(SpellCaster ? 150 : 200); SetInt(SpellCaster ? 1000 : 5000); SetHits(20000, 25000); if (AI == AIType.AI_Melee) { SetDamage(22, 30); } else if (!SpellCaster) { SetDamage(20, 28); } else { SetDamage(10, 20); } Fame = 48000; Karma = -48000; SetResists(); SetSkills(); EquipSpecialty(); _NextSpecial = DateTime.UtcNow; if (specialty == MasterTitle.Sampire) { Timer.DelayCall(TimeSpan.FromSeconds(1), () => { VampiricEmbraceSpell spell = new VampiricEmbraceSpell(this, null); spell.Cast(); }); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); reader.ReadInt(); _Specialty = (MasterTitle)reader.ReadInt(); _Type = (MasterType)reader.ReadInt(); _NextSpecial = DateTime.UtcNow; }