Ejemplo n.º 1
0
        protected Item CheckAbilityLootItem(IEntity e)
        {
            if (AbilityProfile != null && AbilityProfile.HasAbility(SpecialAbility.Heal))
            {
                return(new Bandage());
            }

            return(null);
        }
Ejemplo n.º 2
0
        public override double GetControlChance(Mobile m, bool useBaseSkill)
        {
            AbilityProfile profile = PetTrainingHelper.GetAbilityProfile(this);

            if (profile != null && profile.HasCustomized())
            {
                return(base.GetControlChance(m, useBaseSkill));
            }
            return(1.0);
        }
Ejemplo n.º 3
0
        public override void OnAfterTame(Mobile tamer)
        {
            base.OnAfterTame(tamer);

            AbilityProfile profile = PetTrainingHelper.GetAbilityProfile(this);

            if (profile != null)
            {
                profile.RemoveAbility(AreaEffect.AuraDamage);
            }
        }
Ejemplo n.º 4
0
        public static bool IsFireBreathingCreature(BaseCreature bc)
        {
            if (bc == null)
            {
                return(false);
            }

            AbilityProfile profile = bc.AbilityProfile;

            if (profile != null)
            {
                return(profile.HasAbility(SpecialAbility.DragonBreath));
            }

            return(false);
        }
Ejemplo n.º 5
0
        public static IMapper CreateMapper()
        {
            var abilityProfile     = new AbilityProfile();
            var moveProfile        = new MoveProfile();
            var pokemonInfoProfile = new PokemonInfoProfile();

            var profiles = new List <Profile>
            {
                new AbilityProfile(),
                new MoveProfile(),
                new PokemonInfoProfile()
            };

            var config = new MapperConfiguration(config => config.AddProfiles(profiles));

            return(config.CreateMapper());
        }
Ejemplo n.º 6
0
        public virtual void EquipSpecialty()
        {
            if (AbilityProfile != null && AbilityProfile.HasAbility(SpecialAbility.Heal))
            {
                PackItem(new Bandage(Utility.RandomMinMax(10, 25)));
            }

            SetWearable(new ThighBoots());
            SetWearable(new BodySash(), Utility.RandomSlimeHue());

            switch (_Specialty)
            {
            case SkillName.Chivalry:
                SetWearable(RandomSwordWeapon());
                PaladinEquip();
                break;

            case SkillName.Swords:
                SetWearable(RandomSwordWeapon());
                StandardMeleeEquip();
                break;

            case SkillName.Fencing:
                SetWearable(RandomFencingWeapon());
                StandardMeleeEquip();
                break;

            case SkillName.Macing:
                SetWearable(RandomMaceWeapon());
                StandardMeleeEquip();
                break;

            case SkillName.Archery:
                SetWearable(RandomArhceryWeapon());
                StandardMeleeEquip();
                break;

            case SkillName.Magery:
                SetWearable(RandomMageWeapon());
                StandardMageEquip();
                break;

            case SkillName.Mysticism:
                SetWearable(RandomMageWeapon());
                StandardMageEquip();
                break;

            case SkillName.Spellweaving:
                SetWearable(RandomMageWeapon());
                StandardMageEquip();
                break;

            case SkillName.Necromancy:
                SetWearable(RandomMageWeapon());
                StandardMageEquip();
                break;

            case SkillName.Bushido:
                BaseWeapon w = RandomSamuraiWeapon() as BaseWeapon;
                SetWearable(w);

                SetWearable(new LeatherSuneate());
                SetWearable(new LeatherJingasa());
                SetWearable(new LeatherDo());
                SetWearable(new LeatherHiroSode());
                SetWearable(new SamuraiTabi(Utility.RandomNondyedHue()));

                if (_Sampire)
                {
                    w.WeaponAttributes.HitLeechHits = 100;
                }

                SetSkill(SkillName.Parry, 120);
                break;

            case SkillName.Ninjitsu:
                SetWearable(RandomNinjaWeapon());

                LeatherNinjaBelt belt = new LeatherNinjaBelt();
                belt.UsesRemaining = 20;
                belt.Poison        = Poison.Greater;
                belt.PoisonCharges = 20;
                SetWearable(belt);

                for (int i = 0; i < 2; i++)
                {
                    Fukiya f = new Fukiya();
                    f.UsesRemaining = 10;
                    f.Poison        = Poison.Greater;
                    f.PoisonCharges = 10;
                    f.Movable       = false;
                    PackItem(f);
                }

                SetWearable(new NinjaTabi());
                SetWearable(new LeatherNinjaJacket());
                SetWearable(new LeatherNinjaHood());
                SetWearable(new LeatherNinjaPants());
                SetWearable(new LeatherNinjaMitts());

                break;

            case SkillName.Poisoning:
                BaseWeapon wep = RandomAssassinWeapon() as BaseWeapon;
                wep.Poison        = Poison.Lethal;
                wep.PoisonCharges = 100;
                SetWearable(wep);

                SetWearable(new LeatherChest());
                SetWearable(new LeatherLegs());
                SetWearable(new LeatherGloves());
                SetWearable(new LeatherGorget());
                break;
            }
        }