Exemplo n.º 1
1
		private void InitContents( BarrelType type )
		{
			Item item = null;
			byte count = (byte)Utility.RandomMinMax( 10, 30 );

			for( byte i = 0; i < count; i++ )
			{
				switch( type )
				{
					default:
					case BarrelType.Arrows: item = new Arrow( Utility.RandomMinMax( 2, 6 ) ); break;
					case BarrelType.Bolts: item = new Bolt( Utility.RandomMinMax( 2, 6 ) ); break;
					case BarrelType.Farming:
						{
							if( i > 3 )
								return;

							switch( Utility.Random( 3 ) )
							{
								case 0: item = new Shovel(); break;
								case 1: item = new Scythe(); break;
								case 2: item = new Pitchfork(); break;
							}
							break;
						}
					case BarrelType.LargeMining:
						{
							if( i > 5 )
								return;

							switch( Utility.Random( 5 ) )
							{
								case 0: item = new Pitchfork(); break;
								case 1:
								case 2: item = new Shovel(); break;
								case 3:
								case 4: item = new Pickaxe(); break;
							}
							break;
						}
					case BarrelType.LargeWeapon1:
					case BarrelType.LargeWeapon2:
					case BarrelType.LargeWeapon3:
						{
							if( i > 6 )
								return;

							switch( Utility.Random( 6 ) )
							{
								case 0: item = new Spear(); break;
								case 1: item = new Halberd(); break;
								case 2: item = new Axe(); break;
								case 3: item = new ThinLongsword(); break;
								case 4: item = new WarAxe(); break;
								case 5: item = new VikingSword(); break;
							}
							break;
						}
					case BarrelType.Mining:
						{
							if( i > 3 )
								return;

							item = new Pickaxe();
							break;
						}
					case BarrelType.Spears:
						{
							if( i > 4 )
								return;

							item = new Spear();
							break;
						}
					case BarrelType.Weapons:
						{
							if( i > 3 )
								return;

							switch( Utility.Random( 3 ) )
							{
								case 0: item = new WarAxe(); break;
								case 1: item = new WarMace(); break;
								case 2: item = new Maul(); break;
							}
							break;
						}
				}

				if( item != null )
					DropItem( item );
			}
		}
Exemplo n.º 2
0
        public KhaldunRevenant(Mobile target) : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.18, 0.36)
        {
            Name = "a revenant";
            Body = 0x3CA;
            Hue  = 0x41CE;

            m_Target     = target;
            m_ExpireTime = DateTime.UtcNow + TimeSpan.FromMinutes(10.0);

            SetStr(100);
            SetDex(50);
            SetInt(25);

            SetHits(500);

            SetDamage(20, 30);

            SetSkill(SkillName.Swords, 120);
            SetSkill(SkillName.Tactics, 100);

            SetSkill(SkillName.MagicResist, 125);

            VirtualArmor = 25;

            Fame  = 0;
            Karma = 0;

            Halberd weapon = new Halberd();

            weapon.Hue     = 0x41CE;
            weapon.Movable = false;

            AddItem(weapon);
        }
Exemplo n.º 3
0
        public override void GenerateLoot()
        {
            AddLoot(LootPack.Rich);

            if (Utility.RandomDouble() < 0.15)
            {
                BaseWeapon weapon = new Halberd();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(weapon, 5, 35, 50);
                }

                PackItem(weapon);
            }

            if (0.45 > Utility.RandomDouble())
            {
                switch (Utility.Random(5))
                {
                case 0: PackItem(new AmazonianFighterHelmet()); break;

                case 1: PackItem(new AmazonianFighterBustier()); break;

                case 2: PackItem(new AmazonianFighterGloves()); break;

                case 3: PackItem(new AmazonianFighterBelt()); break;

                case 4: PackItem(new AmazonianFighterBoots()); break;
                }
            }
        }
Exemplo n.º 4
0
        public Revenant(Mobile caster, Mobile target, TimeSpan duration)
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.18, 0.36)
        {
            Name = "a revenant";
            Body = 400;
            Hue  = 1;
            // TODO: Sound values?

            var scalar = caster.Skills[SkillName.SpiritSpeak].Value * 0.01;

            m_Target     = target;
            m_ExpireTime = DateTime.UtcNow + duration;

            SetStr(200);
            SetDex(150);
            SetInt(150);

            SetDamage(16, 17);

            // Bestiary says 50 phys 50 cold, animal lore says differently
            SetDamageType(ResistanceType.Physical, 100);

            SetSkill(SkillName.MagicResist, 100.0 * scalar); // magic resist is absolute value of spiritspeak
            SetSkill(SkillName.Tactics, 100.0);              // always 100
            SetSkill(SkillName.Swords, 100.0 * scalar);
            // not displayed in animal lore but tests clearly show this is influenced
            SetSkill(SkillName.DetectHidden, 75.0 * scalar);

            scalar /= 1.2;

            SetResistance(ResistanceType.Physical, 40 + (int)(20 * scalar), 50 + (int)(20 * scalar));
            SetResistance(ResistanceType.Cold, 40 + (int)(20 * scalar), 50 + (int)(20 * scalar));
            SetResistance(ResistanceType.Fire, (int)(20 * scalar));
            SetResistance(ResistanceType.Poison, 100);
            SetResistance(ResistanceType.Energy, 40 + (int)(20 * scalar), 50 + (int)(20 * scalar));

            Fame  = 0;
            Karma = 0;

            ControlSlots = 3;

            VirtualArmor = 32;

            Item shroud = new DeathShroud();

            shroud.Hue = 0x455;

            shroud.Movable = false;

            AddItem(shroud);

            var weapon = new Halberd();

            weapon.Hue     = 1;
            weapon.Movable = false;

            AddItem(weapon);
        }
Exemplo n.º 5
0
        private void ItemUpdater()
        {
            var mainItems = localHero.Inventory?.MainItems;

            if (mainItems == null)
            {
                return;
            }

            foreach (var item in mainItems)
            {
                if (IsBlink(item))
                {
                    Blink = new Blink(item);
                }

                if (IsOrchid(item))
                {
                    Orchid = new Orchid(item);
                }

                if (IsSpiritVessel(item))
                {
                    SpiritVessel = new SpiritVessel(item);
                }

                if (VeilOfDiscord == null &&
                    item.Id == AbilityId.item_veil_of_discord)
                {
                    VeilOfDiscord = new VeilOfDiscord(item);
                }

                if (Shivas == null &&
                    item.Id == AbilityId.item_shivas_guard)
                {
                    Shivas = new Shivas(item);
                }

                if (Hex == null &&
                    item.Id == AbilityId.item_sheepstick)
                {
                    Hex = new Hex(item);
                }

                if (Abyssal == null &&
                    item.Id == AbilityId.item_abyssal_blade)
                {
                    Abyssal = new Abyssal(item);
                }

                if (Halberd == null &&
                    item.Id == AbilityId.item_heavens_halberd)
                {
                    Halberd = new Halberd(item);
                }
            }
        }
Exemplo n.º 6
0
        public override void InitWeapon()
        {
            Halberd weapon = new Halberd();

            weapon.Movable  = false;
            weapon.LootType = LootType.Newbied;
            weapon.Quality  = CraftQuality.Exceptional;
            AddItem(weapon);
        }
Exemplo n.º 7
0
        public virtual void InitWeapon()
        {
            Halberd weapon = new Halberd();

            weapon.Movable   = false;
            weapon.LootType  = LootType.Newbied;
            weapon.Quality   = CraftQuality.Exceptional;
            weapon.MinDamage = 100;
            weapon.MaxDamage = 500;
            weapon.Speed     = 100;
            AddItem(weapon);
        }
Exemplo n.º 8
0
        public Revenant(Mobile caster, Mobile target, TimeSpan duration)
            : base(AIType.AI_Melee, FightMode.All | FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name       = "a revenant";
            Body       = 400;
            Hue        = 1;
            BardImmune = true;
            // TODO: Sound values?

            double scalar = caster.Skills[SkillName.SpiritSpeak].Value * 0.01;

            m_Target     = target;
            m_ExpireTime = DateTime.Now + duration;

            SetStr(200);
            SetDex(150);
            SetInt(150);

            SetDamage(16, 17);

            SetSkill(SkillName.MagicResist, 100.0 * scalar); // magic resist is absolute value of spiritspeak
            SetSkill(SkillName.Tactics, 100.0);              // always 100
            SetSkill(SkillName.Swords, 100.0 * scalar);      // not displayed in animal lore but tests clearly show this is influenced
            SetSkill(SkillName.DetectHidden, 75.0 * scalar);

            scalar /= 1.2;


            Fame  = 0;
            Karma = 0;

            ControlSlots = 3;

            VirtualArmor = 32;

            Item shroud = new DeathShroud();

            shroud.Hue = 0x455;

            shroud.Movable = false;

            AddItem(shroud);

            Halberd weapon = new Halberd();

            weapon.Hue     = 1;
            weapon.Movable = false;

            AddItem(weapon);
        }
Exemplo n.º 9
0
        public KhaldunRevenant(Mobile target) : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.18, 0.36)
        {
            Name = "a revenant";
            Body = 0x3CA;
            Hue  = 0x41CE;

            m_Target     = target;
            m_ExpireTime = DateTime.Now + TimeSpan.FromMinutes(10.0);

            SetStr(401, 500);
            SetDex(296, 315);
            SetInt(101, 200);

            SetHits(241, 300);
            SetStam(242, 280);

            SetDamage(20, 30);

            SetDamageType(ResistanceType.Physical, 50);
            SetDamageType(ResistanceType.Cold, 50);

            SetSkill(SkillName.MagicResist, 100.1, 150.0);
            SetSkill(SkillName.Tactics, 90.1, 100.0);
            SetSkill(SkillName.Swords, 140.1, 150.0);
            SetSkill(SkillName.Wrestling, 90.1, 100.0);

            SetResistance(ResistanceType.Physical, 55, 65);
            SetResistance(ResistanceType.Fire, 30, 40);
            SetResistance(ResistanceType.Cold, 60, 70);
            SetResistance(ResistanceType.Poison, 20, 30);
            SetResistance(ResistanceType.Energy, 20, 30);

            Fame  = 0;
            Karma = 0;

            VirtualArmor = 60;

            BardImmune = true;

            Halberd weapon = new Halberd();

            weapon.Hue     = 0x41CE;
            weapon.Movable = false;

            AddItem(weapon);
        }
Exemplo n.º 10
0
        public GoblinBountyHunter()
        {
            Title = "the goblin bounty hunter";

            Body = 0x190;
            Name = NameList.RandomName("male");

            AddItem(new PlateChest());
            AddItem(new PlateArms());
            AddItem(new PlateLegs());
            AddItem(new BodySash(Utility.RandomYellowHue()));
            //DropItem(Robe());

            Utility.AssignRandomHair(this);

            if (Utility.RandomBool())
                Utility.AssignRandomFacialHair(this, HairHue);

            Halberd weapon = new Halberd();

            weapon.Movable = false;
            weapon.Crafter = this;
            weapon.Quality = WeaponQuality.Exceptional;

            AddItem(weapon);

            Container pack = new Backpack();

            pack.Movable = false;

            pack.DropItem(new Factions.Silver(10, 25));

            AddItem(pack);

            Skills[SkillName.Anatomy].Base = 120.0;
            Skills[SkillName.Tactics].Base = 120.0;
            Skills[SkillName.Swords].Base = 120.0;
            Skills[SkillName.MagicResist].Base = 120.0;
            Skills[SkillName.DetectHidden].Base = 100.0;

            SetSkill(SkillName.Camping, 80.0, 100.0);
            SetSkill(SkillName.Forensics, 80.0, 100.0);
            SetSkill(SkillName.SpiritSpeak, 80.0, 100.0);
        }
Exemplo n.º 11
0
        public override void Action(CharacterBase character, SceneBattle battle)
        {
            if (character.waittime == 3)
            {
                this.sound.PlaySE(SoundEffect.sword);
            }
            character.animationpoint = CharacterAnimation.SworsAnimation(character.waittime);
            if (character.waittime >= 30)
            {
                base.Action(character, battle);
            }
            if (character.waittime != 10)
            {
                return;
            }
            Halberd halberd = new Halberd(this.sound, character.parent, character.position.X + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 3, this.element, false);

            halberd.BadStatusSet(CharacterBase.BADSTATUS.poison, 1200);
            character.parent.attacks.Add(this.Paralyze(halberd, character));
        }
Exemplo n.º 12
0
        public JailSlaveDriver() : base(AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.15, 0.9)
        {
            Body = 0x190;
            AddItem(new PlateChest());
            AddItem(new PlateArms());
            AddItem(new PlateGloves());
            AddItem(new PlateLegs());
            Hue   = Utility.RandomSkinHue();
            Name  = NameList.RandomName("male");
            Title = "the Jail Guard";

            SetStr(70, 100);
            SetDex(55, 90);
            SetInt(25, 35);
            SetDamage(11, 25);

            SetHits(90, 125);

            Halberd weapon = new Halberd();

            weapon.Movable = false;
            AddItem(weapon);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 30, 45);
            SetResistance(ResistanceType.Fire, 20, 30);
            SetResistance(ResistanceType.Cold, 20, 30);
            SetResistance(ResistanceType.Poison, 5, 20);
            SetResistance(ResistanceType.Energy, 5, 20);

            SetSkill(SkillName.Anatomy, 90.0);
            SetSkill(SkillName.MagicResist, 100.0);
            SetSkill(SkillName.Fencing, 80.0);
            SetSkill(SkillName.Tactics, 90.0);

            m_NextSpeakTime = DateTime.Now + (TimeSpan.FromSeconds(6));

            Fame  = 1000;
            Karma = -1000;
        }
Exemplo n.º 13
0
            public InternalSellInfo()
            {
                Add(typeof(Dagger), Dagger.GetSBSellValue());
                Add(typeof(Kryss), Kryss.GetSBSellValue());
                Add(typeof(WarFork), WarFork.GetSBSellValue());
                Add(typeof(ShortSpear), ShortSpear.GetSBSellValue());
                Add(typeof(Pitchfork), Pitchfork.GetSBSellValue());
                Add(typeof(Spear), Spear.GetSBSellValue());

                Add(typeof(HammerPick), HammerPick.GetSBSellValue());
                Add(typeof(WarAxe), WarAxe.GetSBSellValue());
                Add(typeof(Mace), Mace.GetSBSellValue());
                Add(typeof(Maul), Maul.GetSBSellValue());
                Add(typeof(WarHammer), WarHammer.GetSBSellValue());
                Add(typeof(WarMace), WarMace.GetSBSellValue());

                Add(typeof(ButcherKnife), ButcherKnife.GetSBSellValue());
                Add(typeof(SkinningKnife), SkinningKnife.GetSBSellValue());
                Add(typeof(Cleaver), Cleaver.GetSBSellValue());
                Add(typeof(Cutlass), Cutlass.GetSBSellValue());
                Add(typeof(Katana), Katana.GetSBSellValue());
                Add(typeof(Scimitar), Scimitar.GetSBSellValue());
                Add(typeof(Broadsword), Broadsword.GetSBSellValue());
                Add(typeof(Longsword), Longsword.GetSBSellValue());
                Add(typeof(VikingSword), VikingSword.GetSBSellValue());
                Add(typeof(Axe), Axe.GetSBSellValue());
                Add(typeof(BattleAxe), BattleAxe.GetSBSellValue());
                Add(typeof(DoubleAxe), DoubleAxe.GetSBSellValue());
                Add(typeof(ExecutionersAxe), ExecutionersAxe.GetSBSellValue());
                Add(typeof(LargeBattleAxe), LargeBattleAxe.GetSBSellValue());
                Add(typeof(TwoHandedAxe), TwoHandedAxe.GetSBSellValue());
                Add(typeof(Bardiche), Bardiche.GetSBSellValue());
                Add(typeof(Halberd), Halberd.GetSBSellValue());

                Add(typeof(Bow), Bow.GetSBSellValue());
                Add(typeof(Crossbow), Crossbow.GetSBSellValue());
                Add(typeof(HeavyCrossbow), HeavyCrossbow.GetSBSellValue());
            }
Exemplo n.º 14
0
            public InternalBuyInfo()
            {
                Add(new GenericBuyInfo("Dagger", typeof(Dagger), Dagger.GetSBPurchaseValue(), 25, 0xF52, 0));
                Add(new GenericBuyInfo("Kryss", typeof(Kryss), Kryss.GetSBPurchaseValue(), 25, 0x1401, 0));
                Add(new GenericBuyInfo("War Fork", typeof(WarFork), WarFork.GetSBPurchaseValue(), 25, 0x1405, 0));
                Add(new GenericBuyInfo("Short Spear", typeof(ShortSpear), ShortSpear.GetSBPurchaseValue(), 25, 0x1403, 0));
                Add(new GenericBuyInfo("Pitchfork", typeof(Pitchfork), Pitchfork.GetSBPurchaseValue(), 25, 0xE87, 0));
                Add(new GenericBuyInfo("Spear", typeof(Spear), Spear.GetSBPurchaseValue(), 25, 0xF62, 0));

                Add(new GenericBuyInfo("Hammer Pick", typeof(HammerPick), HammerPick.GetSBPurchaseValue(), 25, 0x143D, 0));
                Add(new GenericBuyInfo("War Axe", typeof(WarAxe), WarAxe.GetSBPurchaseValue(), 25, 0x13B0, 0));
                Add(new GenericBuyInfo("Mace", typeof(Mace), Mace.GetSBPurchaseValue(), 25, 0xF5C, 0));
                Add(new GenericBuyInfo("Maul", typeof(Maul), Maul.GetSBPurchaseValue(), 25, 0x143B, 0));
                Add(new GenericBuyInfo("WarHammer", typeof(WarHammer), WarHammer.GetSBPurchaseValue(), 25, 0x1439, 0));
                Add(new GenericBuyInfo("War Mace", typeof(WarMace), WarMace.GetSBPurchaseValue(), 25, 0x1407, 0));

                Add(new GenericBuyInfo("Butcher Knife", typeof(ButcherKnife), ButcherKnife.GetSBPurchaseValue(), 25, 0x13F6, 0));
                Add(new GenericBuyInfo("Skinning Knife", typeof(SkinningKnife), SkinningKnife.GetSBPurchaseValue(), 25, 0xEC4, 0));
                Add(new GenericBuyInfo("Cleaver", typeof(Cleaver), Cleaver.GetSBPurchaseValue(), 25, 0xEC3, 0));
                Add(new GenericBuyInfo("Cutlass", typeof(Cutlass), Cutlass.GetSBPurchaseValue(), 25, 0x1441, 0));
                Add(new GenericBuyInfo("Katana", typeof(Katana), Katana.GetSBPurchaseValue(), 25, 0x13FF, 0));
                Add(new GenericBuyInfo("Scimitar", typeof(Scimitar), Scimitar.GetSBPurchaseValue(), 25, 0x13B6, 0));
                Add(new GenericBuyInfo("Broadsword", typeof(Broadsword), Broadsword.GetSBPurchaseValue(), 25, 0xF5E, 0));
                Add(new GenericBuyInfo("Longsword", typeof(Longsword), Longsword.GetSBPurchaseValue(), 25, 0xF61, 0));
                Add(new GenericBuyInfo("Viking Sword", typeof(VikingSword), VikingSword.GetSBPurchaseValue(), 25, 0x13B9, 0));
                Add(new GenericBuyInfo("Axe", typeof(Axe), Axe.GetSBPurchaseValue(), 25, 0xF49, 0));
                Add(new GenericBuyInfo("Battle Axe", typeof(BattleAxe), BattleAxe.GetSBPurchaseValue(), 25, 0xF47, 0));
                Add(new GenericBuyInfo("Double Axe", typeof(DoubleAxe), DoubleAxe.GetSBPurchaseValue(), 25, 0xF4B, 0));
                Add(new GenericBuyInfo("Executioner's Axe", typeof(ExecutionersAxe), ExecutionersAxe.GetSBPurchaseValue(), 25, 0xF45, 0));
                Add(new GenericBuyInfo("Large Battle Axe", typeof(LargeBattleAxe), LargeBattleAxe.GetSBPurchaseValue(), 25, 0x13FB, 0));
                Add(new GenericBuyInfo("Two-Handed Axe", typeof(TwoHandedAxe), TwoHandedAxe.GetSBPurchaseValue(), 25, 0x1443, 0));
                Add(new GenericBuyInfo("Bardiche", typeof(Bardiche), Bardiche.GetSBPurchaseValue(), 25, 0xF4D, 0));
                Add(new GenericBuyInfo("Halberd", typeof(Halberd), Halberd.GetSBPurchaseValue(), 25, 0x143E, 0));

                Add(new GenericBuyInfo("Bow", typeof(Bow), Bow.GetSBPurchaseValue(), 25, 0x13B2, 0));
                Add(new GenericBuyInfo("Crossbow", typeof(Crossbow), Crossbow.GetSBPurchaseValue(), 25, 0xF50, 0));
                Add(new GenericBuyInfo("Heavy Crossbow", typeof(HeavyCrossbow), HeavyCrossbow.GetSBPurchaseValue(), 25, 0x13FD, 0));
            }
Exemplo n.º 15
0
        public KhaldunRevenant(Mobile target) : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.18, 0.36)
        {
            Body = 0x3CA;
            Hue  = 0x41CE;

            m_Target     = target;
            m_ExpireTime = DateTime.UtcNow + TimeSpan.FromMinutes(10.0);

            SetStr(401, 500);
            SetDex(296, 315);
            SetInt(101, 200);

            SetHits(241, 300);
            SetStam(242, 280);

            SetDamage(20, 30);

            Alignment = Alignment.Undead;


            SetSkill(SkillName.MagicResist, 100.1, 150.0);
            SetSkill(SkillName.Tactics, 90.1, 100.0);
            SetSkill(SkillName.Swords, 140.1, 150.0);
            SetSkill(SkillName.Wrestling, 90.1, 100.0);


            Fame  = 0;
            Karma = 0;

            VirtualArmor = 60;

            var weapon = new Halberd();

            weapon.Hue     = 0x41CE;
            weapon.Movable = false;

            AddItem(weapon);
        }
        public EvilNecroWarrior() : base(AIType.AI_Melee, FightMode.Weakest, 10, 1, 0.08, 0.2)
        {
            InitStats(110, 110, 110);
            Name            = "Necromatic Warrior";
            SpeechHue       = Utility.RandomDyedHue();
            Kills           = 5;
            RangePerception = 40;
            Body            = 400;
            Hits            = 850;
            Dex             = 100;
            SetDamage(25, 45);
            VirtualArmor = 65;
            if (Female = Utility.RandomBool())
            {
                Body = 0x191;
            }
            else
            {
                Body = 0x190;
            }

            new SkeletalMount().Rider = this;

            Halberd halberd = new Halberd();

            halberd.Name     = "Halberd of the Fallen Souls";
            halberd.Movable  = false;
            halberd.Hue      = 33;
            halberd.LootType = LootType.Blessed;
            AddItem(halberd);

            PackGold(450, 550);

            Skills[SkillName.Anatomy].Base      = 130.0;
            Skills[SkillName.Tactics].Base      = 100.0;
            Skills[SkillName.Swords].Base       = 125.0;
            Skills[SkillName.MagicResist].Base  = 120.0;
            Skills[SkillName.DetectHidden].Base = 100.0;
            Skills[SkillName.Poisoning].Base    = 120;
            Skills[SkillName.Magery].Base       = 120;


            Item shroud = new HoodedShroudOfShadows();

            shroud.Name    = "Shroud of the Fallen Souls";
            shroud.Hue     = 1157;
            shroud.Movable = false;

            AddItem(shroud);

            Item sandals = new Sandals();

            sandals.Name    = "Sandals of the Fallen";
            sandals.Hue     = 1;
            sandals.Movable = false;
            PackItem(new NecroCrystal(1));
            AddItem(sandals);

            Item llegs = new StuddedLegs();

            AddItem(llegs);

            Item larms = new StuddedArms();

            AddItem(larms);

            Item ltunic = new StuddedChest();

            AddItem(ltunic);

            Item lgloves = new StuddedGloves();

            AddItem(lgloves);

            Item lgorget = new StuddedGorget();

            AddItem(lgorget);
        }
Exemplo n.º 17
0
        public WarriorGuard(Mobile target = null) : base(target)
        {
            InitStats(1000, 1000, 1000);
            Title = "the guard";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Race.Human.RandomSkinHue();

            if (Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");

                switch (Utility.Random(2))
                {
                case 0:
                    AddItem(new LeatherSkirt());
                    break;

                case 1:
                    AddItem(new LeatherShorts());
                    break;
                }

                switch (Utility.Random(5))
                {
                case 0:
                    AddItem(new FemaleLeatherChest());
                    break;

                case 1:
                    AddItem(new FemaleStuddedChest());
                    break;

                case 2:
                    AddItem(new LeatherBustierArms());
                    break;

                case 3:
                    AddItem(new StuddedBustierArms());
                    break;

                case 4:
                    AddItem(new FemalePlateChest());
                    break;
                }
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");

                AddItem(new PlateChest());
                AddItem(new PlateArms());
                AddItem(new PlateLegs());

                switch (Utility.Random(3))
                {
                case 0:
                    AddItem(new Doublet(Utility.RandomNondyedHue()));
                    break;

                case 1:
                    AddItem(new Tunic(Utility.RandomNondyedHue()));
                    break;

                case 2:
                    AddItem(new BodySash(Utility.RandomNondyedHue()));
                    break;
                }
            }

            Utility.AssignRandomHair(this);

            if (Utility.RandomBool())
            {
                Utility.AssignRandomFacialHair(this, HairHue);
            }

            Halberd weapon = new Halberd();

            weapon.Movable = false;
            weapon.Crafter = this;
            weapon.Quality = WeaponQuality.Exceptional;

            AddItem(weapon);

            Container pack = new Backpack();

            pack.Movable = false;

            pack.DropItem(new Gold(10, 25));

            AddItem(pack);

            Skills.Anatomy.Base      = 120.0;
            Skills.Tactics.Base      = 120.0;
            Skills.Swords.Base       = 120.0;
            Skills.MagicResist.Base  = 120.0;
            Skills.DetectHidden.Base = 100.0;

            NextCombatTime = Core.TickCount + 500;
            Focus          = target;
        }
Exemplo n.º 18
0
        public TownGuard() : base(AIType.AI_Melee, FightMode.Closest, 15, 1, 0.175, 0.2)
        {
            Title     = "the guard";
            Body      = 400;
            Hue       = Utility.RandomSkinHue();
            SpeechHue = 1153;
            this.Body = 0x190;
            this.Name = NameList.RandomName("male");
            SetStr(150);
            SetDex(100);
            SetInt(25);

            SetSkill(SkillName.MagicResist, 200.0);
            SetSkill(SkillName.Tactics, 100.0);
            SetSkill(SkillName.Healing, 100.0);
            SetSkill(SkillName.Anatomy, 100.0);
            SetSkill(SkillName.Swords, 100.0);
            SetSkill(SkillName.Lumberjacking, 100.0);
            SetSkill(SkillName.Healing, 100.0);

            Fame  = 2500;
            Karma = 5000;

            VirtualArmor = 30;

            Item hair = new Item(Utility.RandomList(0x203B, 0x2049, 0x2048, 0x204A));

            hair.Hue     = Utility.RandomHairHue();
            hair.Layer   = Layer.Hair;
            hair.Movable = false;
            AddItem(hair);

            switch (Utility.Random(50))
            {
            case 0:
            {
                Item beard = new Item(Utility.RandomList(0x2040, 0x204B, 0x203F, 0x2041));
                beard.Hue     = hair.Hue;
                beard.Layer   = Layer.FacialHair;
                beard.Movable = false;
                AddItem(beard);
                break;
            }
            }

            PackGold(0);
            switch (Utility.Random(35))
            {
            case 0:
            {
                Item helm = new PlateHelm();
                EquipItem(helm);
                break;
            }
            }
            switch (Utility.Random(35))
            {
            case 0:
            {
                Item gloves = new PlateGloves();
                EquipItem(gloves);
                break;
            }
            }
            Item platechest = new PlateChest();

            EquipItem(platechest);
            Item platearms = new PlateArms();

            EquipItem(platearms);
            Item platelegs = new PlateLegs();

            EquipItem(platelegs);
            Item plategorget = new PlateGorget();

            EquipItem(plategorget);
            Halberd halberd = new Halberd();

            halberd.Movable   = false;
            halberd.MinDamage = 40;
            halberd.MaxDamage = 45;
            EquipItem(halberd);
            PackItem(new Halberd());
            PackItem(new Bandage(100));
        }
        public DragonKnightHalberd() : base(AIType.AI_Melee, FightMode.Evil, 10, 1, 0.2, 0.4)
        {
            Title  = "a DragonKnight Fighter";
            Name   = NameList.RandomName("male");
            Body   = 0x191;
            Hue    = 33805;
            Female = false;

            SetStr(1025, 1425);
            SetDex(81, 148);
            SetInt(475, 675);

            Fame  = 1000;
            Karma = 1000;

            SetHits(1000, 2000);

            SetDamage(24, 33);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 60, 85);
            SetResistance(ResistanceType.Fire, 65, 90);
            SetResistance(ResistanceType.Cold, 40, 55);
            SetResistance(ResistanceType.Poison, 40, 60);
            SetResistance(ResistanceType.Energy, 50, 75);

            SetSkill(SkillName.Archery, 100, 140);
            SetSkill(SkillName.Tactics, 100, 140);
            SetSkill(SkillName.MagicResist, 100, 140);
            SetSkill(SkillName.Tactics, 100, 140);
            SetSkill(SkillName.Wrestling, 100, 140);
            SetSkill(SkillName.Swords, 100, 140);
            SetSkill(SkillName.Magery, 100, 140);
            SetSkill(SkillName.Focus, 100, 140);

            VirtualArmor = 80;

            Halberd halberd = new Halberd();

            halberd.Movable = false;
            AddItem(halberd);
            //AddItem(new Bolt(100));

            HumilityCloak cloak = new HumilityCloak();

            cloak.Movable = false;
            AddItem(cloak);

            SpiritualityHelm spiritualityhelm = new SpiritualityHelm();

            spiritualityhelm.Movable = false;
            AddItem(spiritualityhelm);

            HonestyGorget honestygorget = new HonestyGorget();

            honestygorget.Movable = false;
            AddItem(honestygorget);

            JusticeBreastplate justicebreastplate = new JusticeBreastplate();

            justicebreastplate.Movable = false;
            AddItem(justicebreastplate);

            BodySash bodysash = new BodySash();

            bodysash.Movable = false;
            bodysash.Name    = "Royal DragonKnight";
            AddItem(bodysash);

            CompassionArms compassionarms = new CompassionArms();

            compassionarms.Movable = false;
            AddItem(compassionarms);

            ValorGauntlets valorgauntlets = new ValorGauntlets();

            valorgauntlets.Movable = false;
            AddItem(valorgauntlets);

            HonorLegs honorlegs = new HonorLegs();

            honorlegs.Movable = false;
            AddItem(honorlegs);

            SacrificeSollerets sacrificesollerets = new SacrificeSollerets();

            sacrificesollerets.Movable = false;
            AddItem(sacrificesollerets);

//          PlateChest chest = new PlateChest();
//			chest.Movable = false;
//			chest.Hue = 137;
//          AddItem(chest);


            VampiriacSteed vampiriacsteed = new VampiriacSteed();

            vampiriacsteed.Hue = 2219;
            //horse.Hits = 200;
            //horse.Karma = 500;
            vampiriacsteed.Rider = this;

            //new VampiriacSteed().Rider = this;
            halberd.Hue            = 253;
            cloak.Hue              = 253;
            spiritualityhelm.Hue   = 2406;
            honestygorget.Hue      = 2406;
            justicebreastplate.Hue = 2406;
            bodysash.Hue           = 253;
            compassionarms.Hue     = 2406;
            valorgauntlets.Hue     = 2406;
            honorlegs.Hue          = 2406;
            sacrificesollerets.Hue = 2406;
        }
Exemplo n.º 20
0
        public override void Action(CharacterBase character, SceneBattle battle)
        {
            if (!this.BlackOut(character, battle, this.name, this.Power(character).ToString()))
            {
                return;
            }
            if (character is Player)
            {
                Player player = (Player)character;
                if (this.nowmotion == 0 && this.frame < 3 && (Input.IsPush(Button._A) && this.command == 0) && this.commandTime < 60)
                {
                    this.CommandInput("上下左右B", player);
                    if (this.CommandCheck("下左上右下"))
                    {
                        this.command = 4;
                    }
                    else if (this.CommandCheck("左B右B"))
                    {
                        this.command = 5;
                    }
                }
            }
            if (this.moveflame)
            {
                switch (this.nowmotion)
                {
                case 0:
                    this.animePoint.X = this.AnimeMove(this.frame).X;
                    switch (this.frame)
                    {
                    case 1:
                        character.animationpoint.X = -1;
                        this.xPosition             = character.position.X;
                        this.sound.PlaySE(SoundEffect.warp);
                        break;

                    case 2:
                        if (character is Player && (Input.IsPush(Button._A) && this.command == 0 && this.commandTime < 60))
                        {
                            this.frame = 1;
                            break;
                        }
                        break;

                    case 3:
                        if (this.CommandCheck("下左上右下"))
                        {
                            this.sound.PlaySE(SoundEffect.CommandSuccess);
                            this.command = 4;
                        }
                        else if (this.CommandCheck("左B右B"))
                        {
                            this.sound.PlaySE(SoundEffect.CommandSuccess);
                            this.command = 5;
                        }
                        if (this.command == 5)
                        {
                            this.xPosition = character.position.X;
                            ++this.nowmotion;
                            this.frame = 0;
                            break;
                        }
                        break;

                    case 5:
                        this.xPosition = this.TargetX(character, battle);
                        if (this.xPosition < 0)
                        {
                            this.xPosition = 0;
                        }
                        if (this.xPosition > 5)
                        {
                            this.xPosition = 5;
                            break;
                        }
                        break;

                    case 9:
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;

                case 1:
                    this.animePoint.X = this.AnimeSlash1(this.frame).X;
                    switch (this.frame)
                    {
                    case 5:
                        if (character is Player && this.command == 0)
                        {
                            Player player = (Player)character;
                            if (Input.IsPush(Button.Right))
                            {
                                this.sound.PlaySE(SoundEffect.CommandSuccess);
                                this.command = 1;
                            }
                            else if (Input.IsPush(Button.Up))
                            {
                                this.sound.PlaySE(SoundEffect.CommandSuccess);
                                this.command = 2;
                            }
                            else if (Input.IsPush(Button.Left))
                            {
                                this.sound.PlaySE(SoundEffect.CommandSuccess);
                                this.command = 3;
                            }
                            break;
                        }
                        break;

                    case 6:
                        this.sound.PlaySE(SoundEffect.sword);
                        AttackBase a1 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                        switch (this.command)
                        {
                        case 1:
                            a1 = new FighterSword(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element);
                            break;

                        case 2:
                            a1 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                            break;

                        case 3:
                            a1 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                            break;

                        case 4:
                            a1 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                            break;

                        case 5:
                            a1 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, false);
                            break;
                        }
                        a1.invincibility = false;
                        battle.attacks.Add(this.Paralyze(a1));
                        break;

                    case 10:
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;

                case 2:
                    this.animePoint.X = this.AnimeSlash2(this.frame).X;
                    switch (this.frame)
                    {
                    case 6:
                        this.sound.PlaySE(SoundEffect.sword);
                        AttackBase a2 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                        switch (this.command)
                        {
                        case 1:
                            a2 = new FighterSword(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element);
                            break;

                        case 2:
                            a2 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                            break;

                        case 3:
                            a2 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                            break;

                        case 4:
                            a2 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                            break;

                        case 5:
                            a2 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, false);
                            break;
                        }
                        a2.invincibility = false;
                        battle.attacks.Add(this.Paralyze(a2));
                        break;

                    case 10:
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;

                case 3:
                    this.animePoint.X = this.AnimeSlash3(this.frame).X;
                    switch (this.frame)
                    {
                    case 6:
                        this.sound.PlaySE(SoundEffect.sword);
                        AttackBase a3 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                        switch (this.command)
                        {
                        case 1:
                            a3 = new FighterSword(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element);
                            break;

                        case 2:
                            a3 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                            break;

                        case 3:
                            a3 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                            break;

                        case 4:
                            a3 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                            break;

                        case 5:
                            a3 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, false);
                            break;
                        }
                        a3.invincibility = false;
                        battle.attacks.Add(this.Paralyze(a3));
                        break;

                    case 10:
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;

                case 4:
                    this.animePoint.X = this.AnimeSlash2(this.frame).X;
                    switch (this.frame)
                    {
                    case 6:
                        this.sound.PlaySE(SoundEffect.sword);
                        AttackBase a4 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                        switch (this.command)
                        {
                        case 1:
                            a4 = new FighterSword(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element);
                            break;

                        case 2:
                            a4 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                            break;

                        case 3:
                            a4 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                            break;

                        case 4:
                            a4 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                            break;

                        case 5:
                            a4 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, false);
                            break;
                        }
                        a4.invincibility = false;
                        battle.attacks.Add(this.Paralyze(a4));
                        break;

                    case 10:
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;

                case 5:
                    this.animePoint.X = this.AnimeSlash1(this.frame).X;
                    switch (this.frame)
                    {
                    case 6:
                        this.sound.PlaySE(SoundEffect.sword);
                        AttackBase a5 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, true);
                        switch (this.command)
                        {
                        case 1:
                            a5 = new FighterSword(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element);
                            break;

                        case 2:
                            a5 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                            break;

                        case 3:
                            a5 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                            break;

                        case 4:
                            a5 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                            break;

                        case 5:
                            a5 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, false);
                            break;
                        }
                        a5.invincibility = true;
                        battle.attacks.Add(this.Paralyze(a5));
                        break;

                    case 30:
                        character.parent.effects.Add(new MoveEnemy(this.sound, character.parent, this.xPosition, character.position.Y));
                        this.end = true;
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;
                }
            }
            if (this.end && this.BlackOutEnd(character, battle))
            {
                base.Action(character, battle);
            }
            this.FlameControl(2);
        }
Exemplo n.º 21
0
        public EnsorcelledArmor(ArmoryEncounter encounter) : base(AIType.AI_Melee, FightMode.Weakest, 10, 1, 0.2, 0.4)
        {
            Encounter   = encounter;
            Name        = "ensorcelled armor";
            BaseSoundID = 412;

            Body = 0x190;
            SetStr(386, 400);
            SetDex(151, 165);
            SetInt(161, 175);

            SetDamage(15, 21);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 35, 45);
            SetResistance(ResistanceType.Fire, 25, 30);
            SetResistance(ResistanceType.Cold, 25, 30);
            SetResistance(ResistanceType.Poison, 10, 20);
            SetResistance(ResistanceType.Energy, 10, 20);

            SetSkill(SkillName.Anatomy, 125.0);
            SetSkill(SkillName.Fencing, 46.0, 77.5);
            SetSkill(SkillName.Macing, 35.0, 57.5);
            SetSkill(SkillName.Poisoning, 60.0, 82.5);
            SetSkill(SkillName.MagicResist, 83.5, 92.5);
            SetSkill(SkillName.Swords, 125.0);
            SetSkill(SkillName.Tactics, 125.0);
            SetSkill(SkillName.Lumberjacking, 125.0);

            var helm = new CloseHelm();

            helm.Hue = 0x96D;
            AddItem(helm);

            var arms = new PlateArms();

            arms.Hue = 0x96D;
            AddItem(arms);

            var legs = new PlateLegs();

            legs.Hue = 0x96D;
            AddItem(legs);

            var tunic = new PlateChest();

            tunic.Hue = 0x96D;
            AddItem(tunic);

            var gorget = new PlateGorget();

            gorget.Hue = 0x96D;
            AddItem(gorget);

            var golves = new PlateGloves();

            golves.Hue = 0x96D;
            AddItem(golves);

            var halberd = new Halberd();

            halberd.Hue = 0x96D;
            AddItem(halberd);

            AddItem(new HalfApron(728));

            Fame  = 8500;
            Karma = -8500;
        }
Exemplo n.º 22
0
        public GuardVer2()
            : base()
        {
            m_ReactsToSnoop        = true;
            m_ReactsToSteal        = true;
            m_ReactsToHit          = true;
            m_ReactsToDeath        = true;
            m_ReactsToHarmfulSpell = true;

            Blessed = true;
            Frozen  = true;

            // Choppé de la classe WarriorGuard, probablement à ajuster.

            InitStats(1000, 1000, 1000);
            Title = "the guard";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

            if (Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");

                switch (Utility.Random(2))
                {
                case 0: AddItem(new LeatherSkirt()); break;

                case 1: AddItem(new LeatherShorts()); break;
                }

                switch (Utility.Random(5))
                {
                case 0: AddItem(new FemaleLeatherChest()); break;

                case 1: AddItem(new FemaleStuddedChest()); break;

                case 2: AddItem(new LeatherBustierArms()); break;

                case 3: AddItem(new StuddedBustierArms()); break;

                case 4: AddItem(new FemalePlateChest()); break;
                }
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");

                AddItem(new PlateChest());
                AddItem(new PlateArms());
                AddItem(new PlateLegs());

                switch (Utility.Random(3))
                {
                case 0: AddItem(new Doublet(Utility.RandomNondyedHue())); break;

                case 1: AddItem(new Tunic(Utility.RandomNondyedHue())); break;

                case 2: AddItem(new BodySash(Utility.RandomNondyedHue())); break;
                }
            }
            Utility.AssignRandomHair(this);

            if (Utility.RandomBool())
            {
                Utility.AssignRandomFacialHair(this, HairHue);
            }

            Halberd weapon = new Halberd();

            weapon.Movable = false;
            weapon.Crafter = this;
            weapon.Quality = WeaponQuality.Exceptional;

            AddItem(weapon);

            Container pack = new Backpack();

            pack.Movable = false;

            pack.DropItem(new Gold(10, 25));

            AddItem(pack);

            //Skills[SkillName.Anatomy].Base = 120.0;
            Skills[SkillName.Tactiques].Base     = 120.0;
            Skills[SkillName.Epee].Base          = 120.0;
            Skills[SkillName.Concentration].Base = 120.0;
            Skills[SkillName.Detection].Base     = 100.0;

            Blessed = true;
            Frozen  = true;
        }
Exemplo n.º 23
0
        public VivreGuard(String townName)
            : base(AIType.AI_VivreGuard, FightMode.Closest, 18, 1, 0.12, 1) // 0.15 echapable à pied, 0.05 = très rapide
        {
            m_TownName = townName;
            InitStats(200, 200, 200);
            SpeechHue = Utility.RandomDyedHue();
            Hue       = Utility.RandomSkinHue();
            Body      = 0x190;
            Name      = NameList.RandomName("male");
            Title     = ", Garde de " + m_TownName;
            Karma     = 12000;

            PlateChest chest = new PlateChest();

            chest.Hue      = 0;
            chest.Resource = CraftResource.MBronze;
            chest.Movable  = false;
            AddItem(chest);
            PlateArms arms = new PlateArms();

            arms.Hue      = 0;
            arms.Movable  = false;
            arms.Resource = CraftResource.MBronze;
            AddItem(arms);
            PlateGloves gloves = new PlateGloves();

            gloves.Hue      = 0;
            gloves.Movable  = false;
            gloves.Resource = CraftResource.MBronze;
            AddItem(gloves);
            PlateGorget gorget = new PlateGorget();

            gorget.Hue      = 0;
            gorget.Movable  = false;
            gorget.Resource = CraftResource.MBronze;
            AddItem(gorget);
            PlateLegs legs = new PlateLegs();

            legs.Hue      = 0;
            legs.Movable  = false;
            legs.Resource = CraftResource.MBronze;
            AddItem(legs);
            NorseHelm helm = new NorseHelm();

            helm.Hue      = 0;
            helm.Movable  = false;
            helm.Resource = CraftResource.MBronze;
            AddItem(helm);
            Surcoat surcoat = new Surcoat();

            surcoat.Hue     = 0;
            surcoat.Movable = false;
            AddItem(surcoat);
            Cloak cloak = new Cloak();

            cloak.Hue     = TownHue;
            cloak.Movable = false;
            AddItem(cloak);


            HairItemID = Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2049, 0x204A);
            HairHue    = Utility.RandomHairHue();

            if (Utility.RandomBool())
            {
                FacialHairItemID = Utility.RandomList(0x203E, 0x203F, 0x2040, 0x2041, 0x204B, 0x204C, 0x204D);
                FacialHairHue    = HairHue;
            }

            Halberd weapon = new Halberd();

            weapon.Movable = false;
            weapon.Crafter = this;
            weapon.Quality = WeaponQuality.Exceptional;
            VirtualArmor   = 100;

            AddItem(weapon);

            Skills[SkillName.Anatomy].Base      = 100.0;
            Skills[SkillName.Tactics].Base      = 110.0;
            Skills[SkillName.Swords].Base       = 160.0;
            Skills[SkillName.MagicResist].Base  = 110.0;
            Skills[SkillName.DetectHidden].Base = 100.0;
        }
Exemplo n.º 24
0
        public BaneOfInsanity() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Body = 0x190;

            SpeechHue = Utility.RandomTalkHue();
            Hue       = Utility.RandomSkinColor();

            Name = NameList.RandomName("male");
            Utility.AssignRandomHair(this);
            int HairColor = Utility.RandomHairHue();

            FacialHairItemID = Utility.RandomList(0, 8254, 8255, 8256, 8257, 8267, 8268, 8269);
            HairHue          = HairColor;
            FacialHairHue    = HairColor;
            Title            = "the Bane of Insanity";

            SetStr(350);
            SetDex(150);
            SetInt(120);

            SetHits(300);

            SetDamage(12, 23);

            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 40);
            SetResistance(ResistanceType.Fire, 30);
            SetResistance(ResistanceType.Cold, 30);
            SetResistance(ResistanceType.Poison, 30);
            SetResistance(ResistanceType.Energy, 30);

            SetSkill(SkillName.DetectHidden, 80.0);
            SetSkill(SkillName.Anatomy, 110.0);
            SetSkill(SkillName.MagicResist, 80.0);
            SetSkill(SkillName.Macing, 110.0);
            SetSkill(SkillName.Fencing, 110.0);
            SetSkill(SkillName.Wrestling, 110.0);
            SetSkill(SkillName.Swords, 110.0);
            SetSkill(SkillName.Tactics, 110.0);

            Fame  = 8000;
            Karma = -8000;

            VirtualArmor = 30;

            PlateChest chest = new PlateChest();

            chest.Hue             = 0x83F;
            chest.Name            = "plate tunic of insanity";
            chest.Durability      = ArmorDurabilityLevel.Indestructible;
            chest.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(chest);
            PlateArms arms = new PlateArms();

            arms.Hue             = 0x83F;
            arms.Name            = "plate arms of insanity";
            arms.Durability      = ArmorDurabilityLevel.Indestructible;
            arms.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(arms);
            PlateLegs legs = new PlateLegs();

            legs.Hue             = 0x83F;
            legs.Name            = "plate leggings of insanity";
            legs.Durability      = ArmorDurabilityLevel.Indestructible;
            legs.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(legs);
            PlateGorget neck = new PlateGorget();

            neck.Hue             = 0x83F;
            neck.Name            = "plate gorget of insanity";
            neck.Durability      = ArmorDurabilityLevel.Indestructible;
            neck.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(neck);
            PlateGloves gloves = new PlateGloves();

            gloves.Hue             = 0x83F;
            gloves.Name            = "plate gloves of insanity";
            gloves.Durability      = ArmorDurabilityLevel.Indestructible;
            gloves.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(gloves);
            PlateHelm helm = new PlateHelm();

            helm.Hue             = 0x83F;
            helm.ItemID          = 0x2645;
            helm.Name            = "plate helm of insanity";
            helm.Durability      = ArmorDurabilityLevel.Indestructible;
            helm.ProtectionLevel = ArmorProtectionLevel.Invulnerability;
            AddItem(helm);
            Halberd weapon = new Halberd();

            weapon.Hue             = 0x83F;
            weapon.Name            = "halberd of insanity";
            weapon.AccuracyLevel   = WeaponAccuracyLevel.Supremely;
            weapon.DamageLevel     = WeaponDamageLevel.Vanq;
            weapon.DurabilityLevel = WeaponDurabilityLevel.Indestructible;
            AddItem(weapon);
        }
Exemplo n.º 25
0
        public override void OnResponse(NetState state, RelayInfo info)           //Function for GumpButtonType.Reply Buttons
        {
            Mobile       from   = state.Mobile;
            PlayerMobile pm     = from as PlayerMobile;
            PlayerModule module = pm.PlayerModule;

            m_cost = 50;            //MOD COST OF WEAPON HERE!!
            Item      wep  = from.FindItemOnLayer(Layer.FirstValid);
            Item      weps = from.FindItemOnLayer(Layer.TwoHanded);
            Container pack = from.Backpack;

            if (wep != null)
            {
                pack.TryDropItem(from, wep, false);
            }

            if (weps != null)
            {
                pack.TryDropItem(from, weps, false);
            }

            switch (info.ButtonID)
            {
            case 0:                     //Cancel
            {
                from.SendMessage("You decide against spending your skill points.");
                //from.SendGump( new LevelGump( from ) );
                break;
            }

            case 1:                     //Katana
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Katana kat = new Katana();
                    (( Item )kat).Name = "Katana [Level Item]";
                    kat.Identified     = true;                                //Prevents others from being used in the upgrading!
                    kat.LootType       = LootType.Blessed;
                    from.EquipItem(kat);
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 2:                     //Broad Sword
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Broadsword bs = new Broadsword();
                    bs.Identified = true;
                    bs.Name       = "Broadsword";
                    bs.LootType   = LootType.Blessed;
                    from.EquipItem(bs);
                    from.SendMessage(102, "You chose a Broadsword");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 3:                     //Scimitar
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Scimitar sc = new Scimitar();
                    sc.Identified = true;
                    sc.Name       = "Scimitar";
                    sc.LootType   = LootType.Blessed;
                    from.EquipItem(sc);
                    from.SendMessage(102, "You chose a Scimitar");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 4:                     //Viking sword
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    VikingSword vs = new VikingSword();
                    vs.Identified = true;
                    vs.Name       = "Vikingsword";
                    vs.LootType   = LootType.Blessed;
                    from.EquipItem(vs);
                    from.SendMessage(102, "You chose a Viking Sword");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 5:                     //Halberd
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Halberd hb = new Halberd();
                    hb.Identified = true;
                    hb.Name       = "Halberd";
                    hb.LootType   = LootType.Blessed;
                    from.EquipItem(hb);
                    from.SendMessage(102, "You chose a Halberd");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 6:                     //Bardiche
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Bardiche bd = new Bardiche();
                    bd.Identified = true;
                    bd.Name       = "Bardiche";
                    bd.LootType   = LootType.Blessed;
                    from.EquipItem(bd);
                    from.SendMessage(102, "You chose a Bardiche");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 7:                     //Double Axe
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    DoubleAxe da = new DoubleAxe();
                    da.Identified = true;
                    da.Name       = "Double Axe";
                    da.LootType   = LootType.Blessed;
                    from.EquipItem(da);
                    from.SendMessage(102, "You chose a Double Axe");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 8:                     //Large Battle Axe
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    LargeBattleAxe lba = new LargeBattleAxe();
                    lba.Identified = true;
                    lba.Name       = "Large Battle Axe";
                    lba.LootType   = LootType.Blessed;
                    from.EquipItem(lba);
                    from.SendMessage(102, "You chose a Large Battle Axe");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 9:                     //Axe
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Axe a = new Axe();
                    a.Identified = true;
                    a.Name       = "Axe";
                    a.LootType   = LootType.Blessed;
                    from.EquipItem(a);
                    from.SendMessage(102, "You chose an Axe");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 10:                     //Kryss
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Kryss k = new Kryss();
                    k.Identified = true;
                    k.Name       = "Kryss";
                    k.LootType   = LootType.Blessed;
                    from.EquipItem(k);
                    from.SendMessage(102, "You chose a Kryss");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 11:                     //War Fork
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    WarFork wf = new WarFork();
                    wf.Identified = true;
                    wf.Name       = "War Fork";
                    wf.LootType   = LootType.Blessed;
                    from.EquipItem(wf);
                    from.SendMessage(102, "You chose a War Fork");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 12:                     //Dagger
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Dagger d = new Dagger();
                    d.Identified = true;
                    d.Name       = "Dagger";
                    d.LootType   = LootType.Blessed;
                    from.EquipItem(d);
                    from.SendMessage(102, "You chose a Dagger");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 13:                     //Pike
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Pike p = new Pike();
                    p.Identified = true;
                    p.Name       = "Pike";
                    p.LootType   = LootType.Blessed;
                    from.EquipItem(p);
                    from.SendMessage(102, "You chose a Pike");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 14:                     //Short Spear
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    ShortSpear ss = new ShortSpear();
                    ss.Identified = true;
                    ss.Name       = "Short Spear";
                    ss.LootType   = LootType.Blessed;
                    from.EquipItem(ss);
                    from.SendMessage(102, "You chose a Short Spear");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 15:                     //Long Spear
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Spear ls = new Spear();
                    ls.Identified = true;
                    ls.Name       = "Long Spear";
                    ls.LootType   = LootType.Blessed;
                    from.EquipItem(ls);
                    from.SendMessage(102, "You chose a Long Spear");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 16:                     //Pitchfork
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Pitchfork p = new Pitchfork();
                    p.Identified = true;
                    p.Name       = "Pitchfork";
                    p.LootType   = LootType.Blessed;
                    from.EquipItem(p);
                    from.SendMessage(102, "You chose a Pitchfork");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 17:                     //lance
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Lance l = new Lance();
                    l.Identified = true;
                    l.Name       = "Lance";
                    l.LootType   = LootType.Blessed;
                    from.EquipItem(l);
                    from.SendMessage(102, "You chose a Lance");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 18:                     //Sai's
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Sai s = new Sai();
                    s.Identified = true;
                    s.Name       = "Sai";
                    s.LootType   = LootType.Blessed;
                    from.EquipItem(s);
                    from.SendMessage(102, "You chose Sai's");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 19:                     //War Mace
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    WarMace wm = new WarMace();
                    wm.Identified = true;
                    wm.Name       = "War Mace";
                    wm.LootType   = LootType.Blessed;
                    from.EquipItem(wm);
                    from.SendMessage(102, "You chose a War Mace");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 20:                     //War Hammer
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    WarHammer wh = new WarHammer();
                    wh.Identified = true;
                    wh.Name       = "War Hammer";
                    wh.LootType   = LootType.Blessed;
                    from.EquipItem(wh);
                    from.SendMessage(102, "You chose a War Hammer");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 21:                     //Maul
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Maul w = new Maul();
                    w.Identified = true;
                    w.Name       = "Maul";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Maul");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 22:                     //Club
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Club w = new Club();
                    w.Identified = true;
                    w.Name       = "Club";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Club");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 23:                     //Q Staff
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    QuarterStaff w = new QuarterStaff();
                    w.Identified = true;
                    w.Name       = "Quarter Staff";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Quarter Staff");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 24:                     //G Staff
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    GnarledStaff w = new GnarledStaff();
                    w.Identified = true;
                    w.Name       = "Gnarled Staff";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Gnarled Staff");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 25:                     //B Staff
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    BlackStaff w = new BlackStaff();
                    w.Identified = true;
                    w.Name       = "BlackStaff";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Black Staff");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 26:                     //Hammer Pick
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    HammerPick w = new HammerPick();
                    w.Identified = true;
                    w.Name       = "Hammer Pick";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Hammer Pick");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 27:                     //War Axe
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    WarAxe w = new WarAxe();
                    w.Identified = true;
                    w.Name       = "War Axe";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a War Axe");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 28:                     //Bow
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Bow w = new Bow();
                    w.Identified = true;
                    w.Name       = "Bow";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Bow");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 29:                     //Composite Bow
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    CompositeBow w = new CompositeBow();
                    w.Identified = true;
                    w.Name       = "Composite Bow";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Composite Bow");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 30:                     //Crossbow
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Crossbow w = new Crossbow();
                    w.Identified = true;
                    w.Name       = "Crossbow";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Crossbow");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 31:                     //Heavy Crossbow
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    HeavyCrossbow w = new HeavyCrossbow();
                    w.Identified = true;
                    w.Name       = "Heavy Crossbow";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Heavy Crossbow");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 32:                     //Repeating Crossbow
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    RepeatingCrossbow w = new RepeatingCrossbow();
                    w.Identified = true;
                    w.Name       = "Repeating Crossbow";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Repeating Crossbow");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }

            case 33:                     //Yumi
            {
                if (module.SkillPts < m_cost)
                {
                    from.SendMessage(37, "Not enough skill points!");
                }
                else
                {
                    module.SkillPts -= m_cost;
                    Yumi w = new Yumi();
                    w.Identified = true;
                    w.Name       = "Yumi";
                    w.LootType   = LootType.Blessed;
                    from.EquipItem(w);
                    from.SendMessage(102, "You chose a Yumi");
                }

                from.SendGump(new WepUpgradeGump(from));
                break;
            }
            }
        }
Exemplo n.º 26
0
        private void InitContents(BarrelType type)
        {
            Item item  = null;
            byte count = (byte)Utility.RandomMinMax(10, 30);

            for (byte i = 0; i < count; i++)
            {
                switch (type)
                {
                default:
                case BarrelType.Arrows: item = new Arrow(Utility.RandomMinMax(2, 6)); break;

                case BarrelType.Bolts: item = new Bolt(Utility.RandomMinMax(2, 6)); break;

                case BarrelType.Farming:
                {
                    if (i > 3)
                    {
                        return;
                    }

                    switch (Utility.Random(3))
                    {
                    case 0: item = new Shovel(); break;

                    case 1: item = new Scythe(); break;

                    case 2: item = new Pitchfork(); break;
                    }
                    break;
                }

                case BarrelType.LargeMining:
                {
                    if (i > 5)
                    {
                        return;
                    }

                    switch (Utility.Random(5))
                    {
                    case 0: item = new Pitchfork(); break;

                    case 1:
                    case 2: item = new Shovel(); break;

                    case 3:
                    case 4: item = new Pickaxe(); break;
                    }
                    break;
                }

                case BarrelType.LargeWeapon1:
                case BarrelType.LargeWeapon2:
                case BarrelType.LargeWeapon3:
                {
                    if (i > 6)
                    {
                        return;
                    }

                    switch (Utility.Random(6))
                    {
                    case 0: item = new Spear(); break;

                    case 1: item = new Halberd(); break;

                    case 2: item = new Axe(); break;

                    case 3: item = new ThinLongsword(); break;

                    case 4: item = new WarAxe(); break;

                    case 5: item = new VikingSword(); break;
                    }
                    break;
                }

                case BarrelType.Mining:
                {
                    if (i > 3)
                    {
                        return;
                    }

                    item = new Pickaxe();
                    break;
                }

                case BarrelType.Spears:
                {
                    if (i > 4)
                    {
                        return;
                    }

                    item = new Spear();
                    break;
                }

                case BarrelType.Weapons:
                {
                    if (i > 3)
                    {
                        return;
                    }

                    switch (Utility.Random(3))
                    {
                    case 0: item = new WarAxe(); break;

                    case 1: item = new WarMace(); break;

                    case 2: item = new Maul(); break;
                    }
                    break;
                }
                }

                if (item != null)
                {
                    DropItem(item);
                }
            }
        }
Exemplo n.º 27
0
        public WarriorGuard(Mobile target)
            : base(target)
        {
            //10OCT2007 Reorganized Guards *** START ***
            //Reduce stats to a normal level
            //InitStats(1000, 1000, 1000);

            InitStats((Utility.RandomMinMax(50, 75)), (Utility.RandomMinMax(50, 75)), (Utility.RandomMinMax(50, 75)));
            Title = "the guard";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

            if (Female = Utility.RandomBool())
            {
                Body = 0x191;
                Name = NameList.RandomName("female");
                AddItem(new FemalePlateChest());
            }
            else
            {
                Body = 0x190;
                Name = NameList.RandomName("male");
                AddItem(new PlateChest());
                AddItem(new PlateArms());

                if (Utility.RandomBool())
                {
                    Utility.AssignRandomFacialHair(this, HairHue);
                }
            }

            AddItem(new PlateGloves());
            AddItem(new PlateGorget());
            AddItem(new PlateLegs());
            AddItem(new Boots());
            AddItem(new NorseHelm());

            AddItem(new BodySash(Utility.RandomNondyedHue()));

            Utility.AssignRandomHair(this);

            switch (Utility.Random(1))  //picks one of the following
            {
            case 0:
            {
                Longsword weapon = new Longsword();
                weapon.Movable = false;
                weapon.Crafter = this;
                weapon.Quality = WeaponQuality.Exceptional;

                AddItem(weapon);
                AddItem(new MetalShield());
                break;
            }

            case 1:
            {
                Halberd weapon = new Halberd();
                weapon.Movable = false;
                weapon.Crafter = this;
                weapon.Quality = WeaponQuality.Exceptional;

                AddItem(weapon); break;
            }
            }
            //10OCT2007 Reorganized Guards *** END   ***

            Container pack = new Backpack();

            pack.Movable = false;

            pack.DropItem(new Gold(10, 25));

            AddItem(pack);

            Skills[SkillName.Anatomy].Base      = 120.0;
            Skills[SkillName.Tactics].Base      = 120.0;
            Skills[SkillName.Swords].Base       = 120.0;
            Skills[SkillName.MagicResist].Base  = 120.0;
            Skills[SkillName.DetectHidden].Base = 100.0;

            this.NextCombatTime = DateTime.Now + TimeSpan.FromSeconds(0.5);
            this.Focus          = target;
        }