protected Item CheckAbilityLootItem(IEntity e) { if (AbilityProfile != null && AbilityProfile.HasAbility(SpecialAbility.Heal)) { return(new Bandage()); } return(null); }
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); }
public override void OnAfterTame(Mobile tamer) { base.OnAfterTame(tamer); AbilityProfile profile = PetTrainingHelper.GetAbilityProfile(this); if (profile != null) { profile.RemoveAbility(AreaEffect.AuraDamage); } }
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); }
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()); }
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; } }