public Savage()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Name = NameList.RandomName( "savage" );

            if ( Female = Utility.RandomBool() )
                Body = 184;
            else
                Body = 183;

            SetStr( 96, 115 );
            SetDex( 86, 105 );
            SetInt( 51, 65 );

            SetDamage( 23, 27 );

            SetDamageType( ResistanceType.Physical, 100 );

            SetSkill( SkillName.Fencing, 60.0, 82.5 );
            SetSkill( SkillName.Macing, 60.0, 82.5 );
            SetSkill( SkillName.Poisoning, 60.0, 82.5 );
            SetSkill( SkillName.MagicResist, 57.5, 80.0 );
            SetSkill( SkillName.Swords, 60.0, 82.5 );
            SetSkill( SkillName.Tactics, 60.0, 82.5 );

            Fame = 1000;
            Karma = -1000;

            PackItem( new Bandage( Utility.RandomMinMax( 1, 15 ) ) );

            if ( Female && 0.1 > Utility.RandomDouble() )
                PackItem( new TribalBerry() );
            else if ( !Female && 0.1 > Utility.RandomDouble() )
                PackItem( new BolaBall() );

            AddItem( new Spear() );
            AddItem( new BoneArms() );
            AddItem( new BoneLegs() );

            if ( 0.5 > Utility.RandomDouble() )
            {
                BaseHat item = new SavageMask();
                BaseRunicTool.ApplyAttributesTo(item, Utility.RandomMinMax(0, 5), 20, 100);
                AddItem( item );
            }
            else if ( 0.1 > Utility.RandomDouble() )
                AddItem( new OrcishKinMask() );
        }
		public override void InitOutfit()
		{
			WipeLayers();
			Item hair = new LongHair();
			hair.Hue = 0x47E;
			hair.Layer = Layer.Hair;
			hair.Movable = false;
			AddItem(hair);

			Item Necklace = new GoldNecklace();
			Necklace.LootType = LootType.Newbied;
			Necklace.Hue = 2006; // basilisk hue
			AddItem(Necklace);

			// NEVER drop one of these! - (never runs out of poison)
			BasilisksFang fang = new BasilisksFang();
			fang.Quality = WeaponQuality.Exceptional;
			fang.LootType = LootType.Newbied;
			if (Utility.RandomBool())
				fang.Poison = Poison.Regular;
			else
				fang.Poison = Poison.Lesser;
			fang.PoisonCharges = 30;
			fang.Movable = false;
			AddItem(fang);

			AddItem( new BoneArms() );
			AddItem( new BoneLegs() );

			// all savages wear a mask, but won't drop this one
			//	see OnBeforeDeath for the mask they do drop
			SavageMask mask = new SavageMask();
			mask.LootType = LootType.Newbied;
			AddItem( mask );

		}
示例#3
0
        public static Item RandomIOB()
        {
            switch (Utility.Random(7))
            {
                case 0: // Undead - GUL
                    {
                        if (Utility.RandomBool())
                            return new BloodDrenchedBandana();
                        else
                        {
                            BodySash sash = new BodySash();
                            sash.Hue = 0x66C;
                            sash.IOBAlignment = IOBAlignment.Council;
                            sash.Name = "blood drenched sash";
                            sash.Dyable = false;
							sash.Scissorable = false;
                            return sash;
                        }
                    }
                case 1: // Undead - UND
                {
                    Sandals sandals = new Sandals();
                    if (Utility.RandomBool())
                        sandals.Hue = 0x66C;
                    else
                        sandals.Hue = 0x1;
                    sandals.IOBAlignment = IOBAlignment.Undead;
                    sandals.Name = "sandals of the walking dead";
                    sandals.Dyable = false;
					sandals.Scissorable = false;
                    return sandals;


                }
                case 2: // Orcish
                {
                    if (Utility.RandomBool())
                    {	// green mask (brute color)
						if (Utility.RandomBool())
							return new OrcishKinMask();
						else
						{	// old style mask (orc colored)
							OrcishKinMask mask = new OrcishKinMask();
							mask.Hue = 0;
							return mask;
						}

                    }
                    else
                    {
                        return new OrcishKinHelm();

                    }
                }
                case 3: //Savage
                {
                    if (Utility.RandomBool())
                    {
                        if (Utility.RandomBool())
                            {
                                BearMask mask = new BearMask();
                                mask.IOBAlignment = IOBAlignment.Savage;
                                mask.Name = "bear mask of savage kin";
                                mask.Dyable = false;
                                return mask;
                            }
                        else
                            {
                                DeerMask mask = new DeerMask();
                                mask.IOBAlignment = IOBAlignment.Savage;
                                mask.Name = "deer mask of savage kin";
                                mask.Dyable = false;
                                return mask;
                            }
                    }
                    else
                        {
                            SavageMask mask = new SavageMask();
                            mask.IOBAlignment = IOBAlignment.Savage;
                            mask.Name = "tribal mask of savage kin";
                            mask.Dyable = false;
                            return mask;
                        }
                }
                case 4: // Pirates
                {
                        if (Utility.RandomBool())
                        {
                            if (Utility.RandomBool())
                            {
                                SkullCap skullcap = new SkullCap();
                                skullcap.IOBAlignment = IOBAlignment.Pirate;
                                skullcap.Name = "a pirate skullcap";
                                skullcap.Hue = 0x66C;
                                skullcap.Dyable = false;
								skullcap.Scissorable = false;
                                return skullcap;
                            }
                            else
                            {
                                Boots boots = new Boots();
                                boots.IOBAlignment = IOBAlignment.Pirate;
                                boots.Name = "pirate kin boots";
                                boots.Hue = 0x66c;
                                boots.Dyable = false;
								boots.Scissorable = false;
                                return boots;
                            }
                        }
                        else
                        {
                            return new PirateHat();
                        }

                }
                case 5: // Brigands
                {
                        if (Utility.RandomBool())
                        {
                            return new BrigandKinBandana();
                        }
                        else
                        {
                            return new BrigandKinBoots();
                        }
                }
				case 6: // Good
				{
					switch ( Utility.Random( 4 ))
					{
						case 0: 
							Boots boots = new Boots(0x5E4);
							boots.IOBAlignment = IOBAlignment.Good;
							boots.Name = "Britannian Militia";
							boots.Dyable = false;
							return boots;
						case 1: Cloak cloak = new Cloak(Utility.RandomSpecialVioletHue());
							cloak.IOBAlignment = IOBAlignment.Good;
							cloak.Name = "Britannian Militia";
							cloak.Dyable = false;
							cloak.Scissorable = false;
							return cloak;
						case 2: Surcoat surcoat = new Surcoat(Utility.RandomSpecialVioletHue());
							surcoat.IOBAlignment = IOBAlignment.Good;
							surcoat.Name = "Britannian Militia";
							surcoat.Dyable = false;
							surcoat.Scissorable = false;
							return surcoat;
						case 3: BodySash bodySash = new BodySash(Utility.RandomSpecialRedHue());
							bodySash.IOBAlignment = IOBAlignment.Good;
							bodySash.Name = "Britannian Militia";
							bodySash.Dyable = false;
							bodySash.Scissorable = false;
							return bodySash;
					}
					break;
				}
            }
            return null;

        }
        /// <summary>
        /// This is the function gives weaponry to players.
        /// </summary>
        private static void ArmPlayer(CTFPlayerGameData pgd)
        {
            Mobile m = pgd.Mob;

            if (!m.Alive)
                m.Resurrect();

            for (int i = m.Items.Count - 1; i >= 0; --i)
            {
                Item item = (Item)m.Items[i];
                if (item.Layer == Layer.OuterTorso)
                {
                    item.Delete();
                    break;
                }
            }

            List<Item> armthis = new List<Item>();

            if(GiveRobe)
                armthis.Add(new CTFRobe(pgd.Team));

            Item rankedCloth = null;
            CTFTeam team = pgd.Team;

            // 21 Ranks
            switch (CTFData.GetRank(m))
            {
                default:
                case 0: rankedCloth = new JesterHat(team.Hue); break;
                case 1: rankedCloth = new TallStrawHat(team.Hue); break;
                case 2: rankedCloth = new FloppyHat(team.Hue); break;
                case 3: rankedCloth = new WideBrimHat(team.Hue); break;
                case 4: rankedCloth = new Cap(team.Hue); break;
                case 5: rankedCloth = new SkullCap(team.Hue); break;
                case 6: rankedCloth = new FlowerGarland(team.Hue); break;
                case 7: rankedCloth = new StrawHat(team.Hue); break;
                case 8: rankedCloth = new FeatheredHat(team.Hue); break;
                case 9: rankedCloth = new TricorneHat(team.Hue); break;
                case 10: rankedCloth = new TribalMask(team.Hue); break;
                case 11: rankedCloth = new HornedTribalMask(team.Hue); break;
                case 12: rankedCloth = new BearMask(team.Hue); break;
                case 13: rankedCloth = new DeerMask(team.Hue); break;
                case 14: rankedCloth = new OrcishKinMask(team.Hue); break;
                case 15: rankedCloth = new SavageMask(team.Hue); break;
                case 16: rankedCloth = new WizardsHat(team.Hue); break;
                case 17: rankedCloth = new Bandana(team.Hue); break;
                case 18: rankedCloth = new ClothNinjaHood(team.Hue); break;
                case 19: rankedCloth = new Kasa(team.Hue); break;
                case 20:
                    rankedCloth = new BoneHelm();
                    rankedCloth.Hue = team.Hue;
                    ((BaseArmor)rankedCloth).ArmorAttributes.MageArmor = 1;
                    break;
            }
            if (rankedCloth != null)
            {
                rankedCloth.Movable = false;
                armthis.Add(rankedCloth);
            }

            //Alchemy removed by Blady
            /* 			if (m.Skills[SkillName.Alchemy].Value >= (m_MinSupplySkill + 15)) //80 Alchemy req - by Blady
            {
                for (int i = 0; i < 6; i++) //Amount reduced to 6 by Blady - used to be 10
                {
                    armthis.Add(new ExplosionPotion());
                    armthis.Add(new GreaterHealPotion());
                    armthis.Add(new GreaterCurePotion());
                    armthis.Add(new GreaterAgilityPotion());
                    armthis.Add(new RefreshPotion());
                    armthis.Add(new GreaterStrengthPotion());
                }
            } */

            if (m.Skills[SkillName.Chivalry].Value >= m_MinSupplySkill)
            {
                BookOfChivalry book = new BookOfChivalry();
                book.Content = 1023;//all spells
                armthis.Add(book);
            }

            if (m.Skills[SkillName.Necromancy].Value >= m_MinSupplySkill)
            {
                NecromancerSpellbook book = new NecromancerSpellbook();
                book.Content = 0x1FFFF;
                armthis.Add(book);
            }

            if (m.Skills[SkillName.Magery].Value >= m_MinSupplySkill)
            {
                GnarledStaff gs = new GnarledStaff();
                gs.Attributes.SpellChanneling = 1;
                gs.WeaponAttributes.MageWeapon = 20;
                armthis.Add(gs);

                Spellbook book = new Spellbook();
                book.Content = ulong.MaxValue;
                armthis.Add(book);
            }

            if (m.Skills[SkillName.Healing].Value >= m_MinSupplySkill)
                armthis.Add(new Bandage(1000));

            if (m.Skills[SkillName.Fencing].Value >= m_MinSupplySkill)
            {
                Spear sp = new Spear();
                sp.Attributes.SpellChanneling = 1;
                armthis.Add(sp);

                ShortSpear ssp = new ShortSpear();
                ssp.Attributes.SpellChanneling = 1;
                armthis.Add(ssp);

                WarFork wf = new WarFork();
                wf.Attributes.SpellChanneling = 1;
                armthis.Add(wf);

                Kryss k = new Kryss();
                k.Attributes.SpellChanneling = 1;
                armthis.Add(k);
            }

            if (m.Skills[SkillName.Swords].Value >= m_MinSupplySkill)
            {
                if (m.Skills[SkillName.Lumberjacking].Value >= m_MinSupplySkill)
                {
                    ExecutionersAxe ea = new ExecutionersAxe();
                    ea.Attributes.SpellChanneling = 1;
                    armthis.Add(ea);
                }

                Katana k = new Katana();
                k.Attributes.SpellChanneling = 1;
                armthis.Add(k);

                Longsword ls = new Longsword();
                ls.Attributes.SpellChanneling = 1;
                armthis.Add(ls);

                Cleaver c = new Cleaver();
                c.Attributes.SpellChanneling = 1;
                armthis.Add(c);

                BoneHarvester bh = new BoneHarvester();
                bh.Attributes.SpellChanneling = 1;
                armthis.Add(bh);
            }

            if (m.Skills[SkillName.Macing].Value >= m_MinSupplySkill)
            {
                WarAxe wa = new WarAxe();
                wa.Attributes.SpellChanneling = 1;
                armthis.Add(wa);

                HammerPick hp = new HammerPick();
                hp.Attributes.SpellChanneling = 1;
                armthis.Add(hp);

                QuarterStaff qs = new QuarterStaff();
                qs.Attributes.SpellChanneling = 1;
                armthis.Add(qs);
            }

            if (m.Skills[SkillName.Archery].Value >= m_MinSupplySkill)
            {
                Bow b = new Bow();
                b.Attributes.SpellChanneling = 1;
                armthis.Add(b);

                Crossbow xb = new Crossbow();
                xb.Attributes.SpellChanneling = 1;
                armthis.Add(xb);

                CompositeBow cb = new CompositeBow();
                cb.Attributes.SpellChanneling = 1;
                armthis.Add(cb);

                armthis.Add(new Arrow(150));
                armthis.Add(new Bolt(150));
            }

            if (m.Skills[SkillName.Poisoning].Value >= m_MinSupplySkill)
            {
                for (int i = 0; i < 2; i++)
                    armthis.Add(new GreaterPoisonPotion());
            }

            if (m.Skills[SkillName.Parry].Value >= m_MinSupplySkill)
            {
                MetalKiteShield ks = new MetalKiteShield();
                ks.Attributes.SpellChanneling = 1;
                armthis.Add(ks);
            }

            SunnySystem.ArmPlayer(m, armthis);
        }
		public AidonCopy():base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.15, 0.2 )
		{
			Body = 400;
			Hue = 0x3F6;
			Name = "Aidon the Archwizard";
			Kills = 10;
			ShortTermMurders = 10;

			SetStr( 356, 396 );
			SetDex( 125, 135 );
			SetInt( 830, 953 );

			SetDamage( 15, 20 );

			SetSkill( SkillName.Wrestling, 91.3, 97.8 );
			SetSkill( SkillName.Tactics, 91.5, 97.0 );
			SetSkill( SkillName.MagicResist, 140.6, 156.8);
			SetSkill( SkillName.Magery, 96.7, 99.8 );
			SetSkill( SkillName.EvalInt, 75.1, 80.1 );
			SetSkill( SkillName.Meditation, 61.1, 68.1 );

			Fame = 17500;
			Karma = -17500;

			VirtualArmor = 15;

			Item Robe = new Robe();
			Robe.Hue=2112;
			EquipItem( Robe );

                        Item SavageMask = new SavageMask();
			SavageMask.Movable=false;
			SavageMask.Hue=1175;
			EquipItem( SavageMask );

                        Item Sandals = new Sandals();
			Sandals.Movable=false;
			Sandals.Hue=1175;
			EquipItem( Sandals );

			Item GoldRing = new GoldRing();
			GoldRing.Movable=false;
			GoldRing.Hue=1360;
			EquipItem( GoldRing );

			Item hair = new Item( 0x203B);
			hair.Hue = 1072;
			hair.Layer = Layer.Hair;
			AddItem( hair );

			Item beard = new Item( 0x203E);
			beard.Hue = 1072;
			beard.Layer = Layer.FacialHair;
			AddItem( beard );

			switch ( Utility.Random( 10 ) )
			{
				case 0: PackItem( new GreaterAgilityPotion() ); break;
				case 1: PackItem( new GreaterExplosionPotion() ); break;
				case 2: PackItem( new GreaterCurePotion() ); break;
				case 3: PackItem( new GreaterHealPotion() ); break;
				case 4: PackItem( new NightSightPotion() ); break;
				case 5: PackItem( new GreaterPoisonPotion() ); break;
				case 6: PackItem( new TotalRefreshPotion() ); break;
				case 7: PackItem( new GreaterStrengthPotion() ); break;
			}

			switch ( Utility.Random( 20 ) )
			{
				case 0: PackWeapon( 2, 5 ); break;
				case 1: PackArmor( 2, 5 ); break;
			}

			switch ( Utility.Random( 10 ) )
			{
				case 0: PackWeapon( 0, 5 ); break;
				case 1: PackArmor( 0, 5 ); break;
			}

			switch ( Utility.Random( 5 ) )
			{
				case 0: PackWeapon( 0, 5 ); break;
				case 1: PackArmor( 0, 5 ); break;
			}

			switch ( Utility.Random( 2 ) )
			{
				case 0: PackWeapon( 0, 5 ); break;
				case 1: PackArmor( 0, 5 ); break;
			}

			switch ( Utility.Random( 5 ) )
			{
				case 0: PackReg( 11 ); break;
				case 1: PackScroll( 4, 8 ); break;
				case 2: PackScroll( 6, 7 ); break;
				case 3: PackReg( 12 ); break;
				case 4: PackReg( 10 ); break;
			}

			PackGold( 500, 1000 );

		}
示例#6
0
		public override void InitOutfit()
		{
			WipeLayers();
			AddItem( new Spear() );
			AddItem( new BoneArms() );
			AddItem( new BoneLegs() );

			// all savages wear a mask, but won't drop this one
			//	see OnBeforeDeath for the mask they do drop
			SavageMask mask = new SavageMask();
			mask.LootType = LootType.Newbied;
			AddItem( mask );
			
		}
示例#7
0
		public Aidon():base( AIType.AI_Mage, FightMode.Weakest, 10, 1, 0.15, 0.2 )
		{
			Body = 400;
			Hue = 0x3F6;
			SpeechHue= 1175;
			Name = "Aidon the Archwizard";
			Kills = 10;
			ShortTermMurders = 10;

			SetStr( 356, 396 );
			SetDex( 125, 135 );
			SetInt( 830, 953 );

			SetDamage( 15, 20 );

			SetSkill( SkillName.Wrestling, 91.3, 97.8 );
			SetSkill( SkillName.Tactics, 91.5, 97.0 );
			SetSkill( SkillName.MagicResist, 140.6, 156.8);
			SetSkill( SkillName.Magery, 96.7, 99.8 );
			SetSkill( SkillName.EvalInt, 75.1, 80.1 );
			SetSkill( SkillName.Meditation, 61.1, 68.1 );

			Fame = 17500;
			Karma = -17500;

			VirtualArmor = 15;

			Item Robe = new Robe();
			Robe.Hue=2112;
			EquipItem( Robe );

                        Item SavageMask = new SavageMask();
			SavageMask.Movable=false;
			SavageMask.Hue=1175;
			EquipItem( SavageMask );

                        Item Sandals = new Sandals();
			Sandals.Movable=false;
			Sandals.Hue=1175;
			EquipItem( Sandals );

			Item GoldRing = new GoldRing();
			GoldRing.Movable=false;
			GoldRing.Hue=1360;
			EquipItem( GoldRing );

			Item hair = new Item( 0x203B);
			hair.Hue = 1072;
			hair.Layer = Layer.Hair;
			AddItem( hair );

			Item beard = new Item( 0x203E);
			beard.Hue = 1072;
			beard.Layer = Layer.FacialHair;
			AddItem( beard );

			switch ( Utility.Random( 10 ) )
			{
				case 0: PackReg( 39 ); break;
				case 1: PackReg( 33 ); break;
				case 2: PackReg( 36 ); break;
				case 3: PackReg( 36 ); break;
			}

			PackGold( 800, 1200 );

			switch ( Utility.Random( 25 ) )
			{
				case 0: PackWeapon( 4, 5 ); break;
				case 1: PackArmor( 4, 5 ); break;
			}

			switch ( Utility.Random( 5 ) )
			{
				case 0: PackWeapon( 0, 5 ); break;
				case 1: PackArmor( 0, 5 ); break;
			}

			switch ( Utility.Random( 10 ) )
			{
				case 0: PackWeapon( 0, 5 ); break;
				case 1: PackArmor( 0, 5 ); break;
			}

			switch ( Utility.Random( 15 ) )
			{
				case 0: PackWeapon( 1, 5 ); break;
				case 1: PackArmor( 1, 5 ); break;
			}

		}