Пример #1
0
        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);
            }
        }
Пример #2
0
        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();
                });
            }
        }
Пример #3
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            reader.ReadInt();

            _Specialty = (MasterTitle)reader.ReadInt();
            _Type      = (MasterType)reader.ReadInt();

            _NextSpecial = DateTime.UtcNow;
        }