상속: BaseSword
예제 #1
0
        public BaseShieldGuard( Mobile target )
            : base(target)
        {
            Item item = null;

            Female = Utility.RandomBool();
            Body = Female ? 401 : 400;
            SpeechHue = Utility.RandomDyedHue();
            Name = NameList.RandomName(Female ? "female" : "male");
            Hue = Utility.RandomSkinHue();
            Title = "the guard";

            BaseSoundID = 332;

            int hairHue = Utility.RandomHairHue();
            Utility.AssignRandomHair(this, hairHue);

            item = new Shirt();
            AddItem(item);
            item.Hue = Utility.RandomNondyedHue();

            item = new PlateChest();
            AddItem(item);

            item = new PlateLegs();
            AddItem(item);

            item = new PlateArms();
            AddItem(item);

            item = new Tunic();
            AddItem(item);
            if ( Type == GuildType.Order )
                item.Hue = Utility.RandomBlueHue();
            else
                item.Hue = Utility.RandomRedHue();

            item = new VikingSword();
            AddItem(item);

            item = Shield;
            item.Movable = false;
            AddItem(item);

            if (!Female)
            {
                Utility.AssignRandomFacialHair(this, hairHue);

                item = new ShortPants();
                AddItem(item);
                item.Hue = Utility.RandomNondyedHue();
            }
            else
            {
                item = new Skirt();
                AddItem(item);
                item.Hue = Utility.RandomNondyedHue();
            }
        }
        public TheCursedWarrior()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            Body = 0x190;
            Name = NameList.RandomName("male");
            Title = "the cursed warrior";
            Hue = 2130;

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

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

            SetSkill(SkillName.Wrestling, 74.0, 80.0);
            SetSkill(SkillName.Swords, 90.0, 95.0);
            SetSkill(SkillName.Anatomy, 120.0, 125.0);
            SetSkill(SkillName.MagicResist, 90.0, 94.0);
            SetSkill(SkillName.Tactics, 90.0, 95.0);
            SetSkill(SkillName.Healing, 90.0);

            Fame = NotorietyHandlers.GetNotorietyByLevel( 2 );
            Karma = NotorietyHandlers.GetNotorietyByLevel( -2 );

            VirtualArmor = 60;

            BoneArms arms = new BoneArms();
            arms.Hue = m_iArmorHue;
            AddItem(CursedCaveUtility.MutateItem(arms, 10));

            BoneGloves gloves = new BoneGloves();
            gloves.Hue = m_iArmorHue;
            AddItem(CursedCaveUtility.MutateItem(gloves, 10));

            BoneChest tunic = new BoneChest();
            tunic.Hue = m_iArmorHue;
            AddItem(CursedCaveUtility.MutateItem(tunic, 10));

            BoneLegs legs = new BoneLegs();
            legs.Hue = m_iArmorHue;
            AddItem(CursedCaveUtility.MutateItem(legs, 10));

            BoneHelm helm = new BoneHelm();
            helm.Hue = m_iArmorHue;
            AddItem(CursedCaveUtility.MutateItem(helm, 10));

            AddItem(new Shoes());
            AddItem(CursedCaveUtility.MutateItem(new HeaterShield(), 10));

            VikingSword weapon = new VikingSword();
            AddItem(CursedCaveUtility.MutateItem(weapon, 10));
        }
예제 #3
0
        public Jailor()
            : base(AIType.AI_Melee, FightMode.Agressor, 10, 1, 0.45, 0.8)
        {
            Female = Utility.RandomBool();
            Body = Female ? 401 : 400;
            Title = "the jailor";
            Name = NameList.RandomName( Female ? "female" : "male" );
            Hue = Utility.RandomSkinHue();
            SetStr( 96, 110 );
            SetDex( 96, 110 );
            SetInt( 71, 85 );
            Karma = Utility.RandomMinMax( 13, -45 );

            SetSkill( SkillName.Tactics, 75, 97.5 );
            SetSkill( SkillName.MagicResist, 75, 97.5 );
            SetSkill( SkillName.Parry, 75, 97.5 );
            SetSkill( SkillName.Swords, 15, 37.5 );
            SetSkill( SkillName.Macing, 15, 37.5 );
            SetSkill( SkillName.Fencing, 15, 37.5 );
            SetSkill( SkillName.Wrestling, 15, 37.5 );

            Item item = null;
            if ( !Female )
            {
                item = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item = AddRandomFacialHair( item.Hue );
                item = new ChainChest();
                AddItem( item );
                item = new ChainLegs();
                AddItem( item );
                item = new BronzeShield();
                AddItem( item );
                item = new Boots();
                item.Hue = Utility.RandomNeutralHue();
                AddItem( item );
                item = new VikingSword();
                AddItem( item );
                PackGold( 15, 100 );
            } else {
                item = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item = new ChainChest();
                AddItem( item );
                item = new ChainLegs();
                AddItem( item );
                item = new BronzeShield();
                AddItem( item );
                item = new Boots();
                item.Hue = Utility.RandomNeutralHue();
                AddItem( item );
                item = new VikingSword();
                AddItem( item );
                PackGold( 15, 100 );
            }
        }
예제 #4
0
        public MilitiaFighter()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            InitStats( 40, 30, 5 );
            Title = "the Militia Fighter";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

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

            Utility.AssignRandomHair( this );
            Utility.AssignRandomFacialHair( this, HairHue );

            AddItem( new ThighBoots( 0x1BB ) );
            AddItem( new LeatherChest() );
            AddItem( new LeatherArms() );
            AddItem( new LeatherLegs() );
            AddItem( new LeatherCap() );
            AddItem( new LeatherGloves() );
            AddItem( new LeatherGorget() );

            Item weapon;
            switch ( Utility.Random( 6 ) )
            {
                case 0:
                    weapon = new Broadsword();
                    break;
                case 1:
                    weapon = new Cutlass();
                    break;
                case 2:
                    weapon = new Katana();
                    break;
                case 3:
                    weapon = new Longsword();
                    break;
                case 4:
                    weapon = new Scimitar();
                    break;
                default:
                    weapon = new VikingSword();
                    break;
            }
            weapon.Movable = false;
            AddItem( weapon );

            Item shield = new BronzeShield();
            shield.Movable = false;
            AddItem( shield );

            SetSkill( SkillName.Swords, 20.0 );
        }
		public MechGargoyle() : base()
		{
			Body = 755;
			BaseSoundID = 372;
			Name = "a mechnical gargoyle";
			Hue = OreInfo.Gold.Hue;
                        SetHits( 500, 600 );

			SetDamage( 50, 60 );
			SetStr( 200, 250 );
			SetDex( 45, 45 );
			SetInt( 45, 45 );
			SetSkill( SkillName.Anatomy, 71, 71 );
			SetSkill( SkillName.Swords, 71, 71 );
			SetSkill( SkillName.Tactics, 77, 77 );
			SetSkill( SkillName.MagicResist, 200, 200 );
   
                        MF_RobotRevealer = true;
                        MF_Displacer = true;

                        switch ( Utility.Random( 6 ) )
			{
				case 0: PackItem( new Gears(5) ); break;
				case 1: PackItem( new RunicClockworkAssembly() ); break;
				case 2: PackItem( new AssemblyUpgradeKit() ); break;
				case 3: PackItem( new IronIngot(25) ); break;

			}
                        switch ( Utility.Random( 5 ) )
			{
				case 0: PackItem( new GargoylePowerCore() ); break;
				case 1: PackItem( new GoldIngot(50) ); break;
				case 2: PackItem( new Gears(10) ); break;
				case 3: PackItem( new AssemblyUpgradeKit() ); break;
				case 4: PackItem( new IronIngot(25) ); break;
			}
                        switch ( Utility.Random( 6 ) )
			{
				case 0: PackItem( new GoldIngot(25) ); break;
				case 1: PackItem( new RunicClockworkAssembly() ); break;
				case 2: PackItem( new Gears(10) ); break;
				case 3: PackItem( new IronIngot(50) ); break;
			}
   
			VirtualArmor = 28;
			SetFameLevel( 1 );
			SetKarmaLevel( 1 );

			VikingSword weapon = new VikingSword();
			weapon.Movable = false;
			weapon.Crafter = this;
			weapon.Quality = WeaponQuality.Low;
			AddItem( weapon );
		}
예제 #6
0
        public MilitiaFighter()
            : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            InitStats( 40, 30, 5 );
            Title = "the Militia Fighter";

            SpeechHue = Utility.RandomDyedHue();

            Hue = Utility.RandomSkinHue();

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

            Item hair = new Item( Utility.RandomList( 0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2049, 0x204A ) );
            hair.Hue = Utility.RandomHairHue();
            hair.Layer = Layer.Hair;
            hair.Movable = false;
            AddItem( hair );

            Item beard = new Item( Utility.RandomList( 0x203E, 0x203F, 0x2040, 0x2041, 0x204B, 0x204C, 0x204D ) );
            beard.Hue = hair.Hue;
            beard.Layer = Layer.FacialHair;
            beard.Movable = false;
            AddItem( beard );

            AddItem( new ThighBoots( 0x1BB ) );
            AddItem( new LeatherChest() );
            AddItem( new LeatherArms() );
            AddItem( new LeatherLegs() );
            AddItem( new LeatherCap() );
            AddItem( new LeatherGloves() );
            AddItem( new LeatherGorget() );

            Item weapon;
            switch ( Utility.Random( 6 ) )
            {
                case 0: weapon = new Broadsword(); break;
                case 1: weapon = new Cutlass(); break;
                case 2: weapon = new Katana(); break;
                case 3: weapon = new Longsword(); break;
                case 4: weapon = new Scimitar(); break;
                default: weapon = new VikingSword(); break;
            }
            weapon.Movable = false;
            AddItem( weapon );

            Item shield = new BronzeShield();
            shield.Movable = false;
            AddItem( shield );

            SetSkill( SkillName.Swords, 20.0 );
        }
		public KhaldunZealot():base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Body = 0x190;
			Name = "Khaldun Zealot";
			Hue = 0;

			this.InitStats(Utility.Random(359,399), Utility.Random(138,151), Utility.Random(76,97));

			this.Skills[SkillName.Wrestling].Base = Utility.Random(74,80);
			this.Skills[SkillName.Swords].Base = Utility.Random(90,95);
			this.Skills[SkillName.Anatomy].Base = Utility.Random(120,125);
			this.Skills[SkillName.MagicResist].Base = Utility.Random(90,94);
			this.Skills[SkillName.Tactics].Base = Utility.Random(90,95);

			this.Fame = Utility.Random(5000,9999);
			this.Karma = Utility.Random(-5000,-9999);
			this.VirtualArmor = 40;

			BoneArms arms = new BoneArms();
			arms.Hue = 0x3A8;
			arms.LootType = LootType.Blessed;
			AddItem( arms );

			BoneGloves gloves = new BoneGloves();
			gloves.Hue = 0x3A8;
			gloves.LootType = LootType.Blessed;
			AddItem( gloves );

			BoneChest tunic = new BoneChest();
			tunic.Hue = 0x3A8;
			tunic.LootType = LootType.Blessed;
			AddItem( tunic );
			BoneLegs legs = new BoneLegs();
			legs.Hue = 0x3A8;
			legs.LootType = LootType.Blessed;
			AddItem( legs );

			BoneHelm helm = new BoneHelm();
			helm.Hue = 0x3A8;
			helm.LootType = LootType.Blessed;
			AddItem( helm );

			AddItem( new Shoes() );
			AddItem( new Buckler());

			VikingSword weapon = new VikingSword();

			weapon.Movable = true;

			AddItem( weapon );
		}
예제 #8
0
		public FallenHero() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.15, 0.2 )
		{
			Name = "a fallen hero";
			Body = 0x306;
			Hue = 22222;
			Kills = 10;
			ShortTermMurders = 10;

			MagicDamageAbsorb = 250;

			SetStr( 386, 405 );
			SetDex( 101, 105 );

			SetHits( 1670, 1870 );

			SetDamage( 10, 14 );

			SetSkill( SkillName.Anatomy, 50.0 );
			SetSkill( SkillName.MagicResist, 103.5, 112.5 );
			SetSkill( SkillName.Swords, 125.0 );
			SetSkill( SkillName.Tactics, 125.0 );

			Fame = 18000;
			Karma = -18000;

			VirtualArmor = 60;

			VikingSword weapon = new VikingSword();
			weapon.Movable = false;
			AddItem( weapon );

			PackGold( 900, 1500 );
			PackItem( new Bandage( Utility.RandomMinMax( 5, 50 ) ) );
			PackArmor( 1, 5 );
			PackWeapon( 1, 5 );
			PackArmor( 1, 5 );
			PackWeapon( 1, 5 );
		}
예제 #9
0
        public override bool OnDragDrop( Mobile from, Item dropped )
        {
            PlayerMobile player = from as PlayerMobile;

            if ( player != null )
            {
                QuestSystem qs = player.Quest;

                if ( qs is UzeraanTurmoilQuest )
                {
                    if ( dropped is UzeraanTurmoilHorn )
                    {
                        if ( player.Young )
                        {
                            UzeraanTurmoilHorn horn = (UzeraanTurmoilHorn) dropped;

                            if ( horn.Charges < 10 )
                            {
                                SayTo( from, 1049384 ); // I have recharged the item for you.
                                horn.Charges = 10;
                            }
                            else
                            {
                                SayTo( from, 1049385 ); // That doesn't need recharging yet.
                            }
                        }
                        else
                        {
                            player.SendMessage( "You must be young to have this item recharged." );
                        }

                        return false;
                    }

                    if ( dropped is SchmendrickScrollOfPower )
                    {
                        QuestObjective obj = qs.FindObjective( typeof( ReturnScrollOfPowerObjective ) );

                        if ( obj != null && !obj.Completed )
                        {
                            Container cont = GetNewContainer();

                            cont.DropItem( new TreasureMap( 1 ) );
                            cont.DropItem( new Shovel() );
                            cont.DropItem( new UzeraanTurmoilHorn() );

                            if ( !player.PlaceInBackpack( cont ) )
                            {
                                cont.Delete();
                                player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                                return false;
                            }
                            else
                            {
                                dropped.Delete();
                                obj.Complete();
                                return true;
                            }
                        }
                    }
                    else if ( dropped is QuestFertileDirt )
                    {
                        QuestObjective obj = qs.FindObjective( typeof( ReturnFertileDirtObjective ) );

                        if ( obj != null && !obj.Completed )
                        {
                            Container cont = GetNewContainer();

                            if ( player.Profession == 2 ) // magician
                            {
                                cont.DropItem( new BlackPearl( 20 ) );
                                cont.DropItem( new Bloodmoss( 20 ) );
                                cont.DropItem( new Garlic( 20 ) );
                                cont.DropItem( new Ginseng( 20 ) );
                                cont.DropItem( new MandrakeRoot( 20 ) );
                                cont.DropItem( new Nightshade( 20 ) );
                                cont.DropItem( new SulfurousAsh( 20 ) );
                                cont.DropItem( new SpidersSilk( 20 ) );

                                for ( int i = 0; i < 3; i++ )
                                {
                                    cont.DropItem( Loot.RandomScroll( 0, 23, SpellbookType.Regular ) );
                                }
                            }
                            else
                            {
                                cont.DropItem( new Gold( 300 ) );
                                cont.DropItem( new Bandage( 25 ) );

                                for ( int i = 0; i < 5; i++ )
                                {
                                    cont.DropItem( new LesserHealPotion() );
                                }
                            }

                            if ( !player.PlaceInBackpack( cont ) )
                            {
                                cont.Delete();
                                player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                                return false;
                            }
                            else
                            {
                                dropped.Delete();
                                obj.Complete();
                                return true;
                            }
                        }
                    }
                    else if ( dropped is QuestDaemonBlood )
                    {
                        QuestObjective obj = qs.FindObjective( typeof( ReturnDaemonBloodObjective ) );

                        if ( obj != null && !obj.Completed )
                        {
                            Item reward;

                            if ( player.Profession == 2 ) // magician
                            {
                                Container cont = GetNewContainer();

                                cont.DropItem( new ExplosionScroll( 4 ) );
                                cont.DropItem( new MagicWizardsHat() );

                                reward = cont;
                            }
                            else
                            {
                                BaseWeapon weapon;
                                switch ( Utility.Random( 6 ) )
                                {
                                    case 0:
                                        weapon = new Broadsword();
                                        break;
                                    case 1:
                                        weapon = new Cutlass();
                                        break;
                                    case 2:
                                        weapon = new Katana();
                                        break;
                                    case 3:
                                        weapon = new Longsword();
                                        break;
                                    case 4:
                                        weapon = new Scimitar();
                                        break;
                                    default:
                                        weapon = new VikingSword();
                                        break;
                                }
                                weapon.Slayer = SlayerName.Undead;

                                BaseRunicTool.ApplyAttributesTo( weapon, 3, 20, 40 );

                                reward = weapon;
                            }

                            if ( !player.PlaceInBackpack( reward ) )
                            {
                                reward.Delete();
                                player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                                return false;
                            }
                            else
                            {
                                dropped.Delete();
                                obj.Complete();
                                return true;
                            }
                        }
                    }
                    else if ( dropped is QuestDaemonBone )
                    {
                        QuestObjective obj = qs.FindObjective( typeof( ReturnDaemonBoneObjective ) );

                        if ( obj != null && !obj.Completed )
                        {
                            Container cont = GetNewContainer();
                            cont.DropItem( new BankCheck( 2000 ) );
                            cont.DropItem( new EnchantedSextant() );

                            if ( !player.PlaceInBackpack( cont ) )
                            {
                                cont.Delete();
                                player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
                                return false;
                            }
                            else
                            {
                                dropped.Delete();
                                obj.Complete();
                                return true;
                            }
                        }
                    }
                }
            }

            return base.OnDragDrop( from, dropped );
        }
예제 #10
0
		public override bool OnDragDrop( Mobile from, Item dropped )
		{
            // trigger returns true if returnoverride
            if (XmlScript.HasTrigger(this, TriggerName.onDragDrop) && UberScriptTriggers.Trigger(this, from, TriggerName.onDragDrop, dropped))
                return true;
            PlayerMobile player = from as PlayerMobile;

			if ( player != null )
			{
				QuestSystem qs = player.Quest;

				if ( qs is UzeraanTurmoilQuest )
				{
					if ( dropped is UzeraanTurmoilHorn )
					{
						if ( player.Young )
						{
							UzeraanTurmoilHorn horn = (UzeraanTurmoilHorn)dropped;

							if ( horn.Charges < 10 )
							{
								SayTo( from, 1049384 ); // I have recharged the item for you.
								horn.Charges = 10;
							}
							else
							{
								SayTo( from, 1049385 ); // That doesn't need recharging yet.
							}
						}
						else
						{
							player.SendLocalizedMessage( 1114333 ); //You must be young to have this item recharged.
						}

						return false;
					}

					if ( dropped is SchmendrickScrollOfPower )
					{
						QuestObjective obj = qs.FindObjective( typeof( ReturnScrollOfPowerObjective ) );

						if ( obj != null && !obj.Completed )
						{
							Container cont = GetNewContainer();

							cont.DropItem( new TreasureMap( player.Young ? 0 : 1, Map.Felucca ) );
							cont.DropItem( new Shovel() );
							cont.DropItem( new UzeraanTurmoilHorn() );

							if ( !player.PlaceInBackpack( cont ) )
							{
								cont.Delete();
								player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
								return false;
							}
							else
							{
								dropped.Delete();
								obj.Complete();
								return true;
							}
						}
					}
					else if ( dropped is QuestFertileDirt )
					{
						QuestObjective obj = qs.FindObjective( typeof( ReturnFertileDirtObjective ) );

						if ( obj != null && !obj.Completed )
						{
							Container cont = GetNewContainer();

							if ( player.Profession == 2 ) // magician
							{
								cont.DropItem( new BlackPearl( 20 ) );
								cont.DropItem( new Bloodmoss( 20 ) );
								cont.DropItem( new Garlic( 20 ) );
								cont.DropItem( new Ginseng( 20 ) );
								cont.DropItem( new MandrakeRoot( 20 ) );
								cont.DropItem( new Nightshade( 20 ) );
								cont.DropItem( new SulfurousAsh( 20 ) );
								cont.DropItem( new SpidersSilk( 20 ) );

								for ( int i = 0; i < 3; i++ )
									cont.DropItem( Loot.RandomScroll( 0, 23, SpellbookType.Regular ) );
							}
							else
							{
								cont.DropItem( new Gold( 300 ) );
								cont.DropItem( new Bandage( 25 ) );

								for ( int i = 0; i < 5; i++ )
									cont.DropItem( new LesserHealPotion() );
							}

							if ( !player.PlaceInBackpack( cont ) )
							{
								cont.Delete();
								player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
								return false;
							}
							else
							{
								dropped.Delete();
								obj.Complete();
								return true;
							}
						}
					}
					else if ( dropped is QuestDaemonBlood )
					{
						QuestObjective obj = qs.FindObjective( typeof( ReturnDaemonBloodObjective ) );

						if ( obj != null && !obj.Completed )
						{
							Item reward;

							if ( player.Profession == 2 ) // magician
							{
								Container cont = GetNewContainer();

								cont.DropItem( new ExplosionScroll( 4 ) );
								cont.DropItem( new MagicWizardsHat() );

								reward = cont;
							}
							else
							{
								BaseWeapon weapon;
								switch ( Utility.Random( 6 ) )
								{
									case 0: weapon = new Broadsword(); break;
									case 1: weapon = new Cutlass(); break;
									case 2: weapon = new Katana(); break;
									case 3: weapon = new Longsword(); break;
									case 4: weapon = new Scimitar(); break;
									default: weapon = new VikingSword(); break;
								}

                                int damageLevel = BaseCreature.RandomMinMaxScaled(2, 4);
                                if (PseudoSeerStone.Instance != null && PseudoSeerStone.Instance._HighestDamageLevelSpawn < damageLevel)
                                {
                                    damageLevel = PseudoSeerStone.Instance._HighestDamageLevelSpawn;
                                }
                                weapon.DamageLevel = (WeaponDamageLevel)damageLevel;
								weapon.AccuracyLevel = (WeaponAccuracyLevel)BaseCreature.RandomMinMaxScaled( 2, 4 );
								weapon.DurabilityLevel = (WeaponDurabilityLevel)BaseCreature.RandomMinMaxScaled( 2, 4 );

								weapon.Slayer = SlayerName.Silver;

								reward = weapon;
							}

							if ( !player.PlaceInBackpack( reward ) )
							{
								reward.Delete();
								player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
								return false;
							}
							else
							{
								dropped.Delete();
								obj.Complete();
								return true;
							}
						}
					}
					else if ( dropped is QuestDaemonBone )
					{
						QuestObjective obj = qs.FindObjective( typeof( ReturnDaemonBoneObjective ) );

						if ( obj != null && !obj.Completed )
						{
							Container cont = GetNewContainer();
							cont.DropItem( new BankCheck( 2000 ) );
							cont.DropItem( new EnchantedSextant() );

							if ( !player.PlaceInBackpack( cont ) )
							{
								cont.Delete();
								player.SendLocalizedMessage( 1046260 ); // You need to clear some space in your inventory to continue with the quest.  Come back here when you have more space in your inventory.
								return false;
							}
							else
							{
								dropped.Delete();
								obj.Complete();
								return true;
							}
						}
					}
				}
			}

			return base.OnDragDrop( from, dropped );
		}
예제 #11
0
		public KhaldunZealot(): base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Body = 0x190;
			Title = "the Knight";
			Hue = 0;

            SetStr(767, 945);
            SetDex(66, 75);
            SetInt(46, 70);

            SetHits(476, 552);

            SetDamage(20, 25);

			SetSkill( SkillName.Wrestling, 70.1, 80.0 );
			SetSkill( SkillName.Swords, 120.1, 130.0 );
			SetSkill( SkillName.Anatomy, 120.1, 130.0 );
            SetSkill(SkillName.MagicResist, 125.1, 140.0);
			SetSkill( SkillName.Tactics, 90.1, 100.0 );

			Fame = 10000;
			Karma = -10000;
			VirtualArmor = 40;

			VikingSword weapon = new VikingSword();
			weapon.Hue = 0x835;
            weapon.Identified = true;
			weapon.Movable = false;
            AddItem(Immovable(weapon));

			MetalShield shield = new MetalShield();
			shield.Hue = 0x835;
            shield.Identified = true;
			shield.Movable = false;
			AddItem( Immovable(shield) );

			BoneHelm helm = new BoneHelm();
			helm.Hue = 0x835;
            helm.Identified = true;
			AddItem( Immovable(helm ));

			BoneArms arms = new BoneArms();
			arms.Hue = 0x835;
            arms.Identified = true;
			AddItem( Immovable(arms) );

			BoneGloves gloves = new BoneGloves();
			gloves.Hue = 0x835;
            gloves.Identified = true;
			AddItem( Immovable(gloves) );

			BoneChest tunic = new BoneChest();
			tunic.Hue = 0x835;
            tunic.Identified = true;
			AddItem( Immovable(tunic) );

			BoneLegs legs = new BoneLegs();
			legs.Hue = 0x835;
            legs.Identified = true;
			AddItem( Immovable(legs) );

			AddItem( new Boots() );
		}
예제 #12
0
        public FighterPeacemaker() : base(AIType.AI_Melee, 1)
        {
            SetStr(220, 300);
            SetDex(40, 60);
            SetInt(40, 60);

            Item weapon;
            switch (Utility.Random(6))
            {
                case 0: weapon = new Broadsword(); break;
                case 1: weapon = new Cutlass(); break;
                case 2: weapon = new Katana(); break;
                case 3: weapon = new Longsword(); break;
                case 4: weapon = new Scimitar(); break;
                default: weapon = new VikingSword(); break;
            }
            AddItem(weapon);

            AddItem(new MetalShield());

            SetDamageType(ResistanceType.Physical, 100);

            SetSkill(SkillName.Tactics, 70.1, 95.0);
            SetSkill(SkillName.Swords, 70.1, 100.0);
            SetSkill(SkillName.Fencing, 65.1, 100.0);
            SetSkill(SkillName.MagicResist, 80.1, 110.0);
            SetSkill(SkillName.Macing, 75.1, 100.0);
            SetSkill(SkillName.Wrestling, 65.1, 100.0);
            SetSkill(SkillName.Parry, 70.1, 100.0);
            SetSkill(SkillName.Healing, 65.1, 75.0);
            SetSkill(SkillName.Anatomy, 80.1, 90.0);
        }
예제 #13
0
		public DreadLord() : base( AIType.AI_SphereMelee, FightMode.Closest, 10, 1, 0.1, 0.1 )
		{
			SpeechHue = 0;

			Hue = Utility.RandomSkinHue();
			Body = 0x190;
			Name = "Dread Lord";

			SetStr( 200, 250 );
			SetDex( 100, 150 );
			SetInt( 71, 85 );
			SetHits( 200, 250 );
			SetDex( 100, 150 );
			SetInt( 71, 85 );
			SetDamage( 10, 20 );

			SetSkill( SkillName.Parry, 75.0, 98.0 );
			SetSkill( SkillName.Poisoning, 90.0, 100.0 );
			SetSkill( SkillName.MagicResist, 65.0, 88.0 );
			SetSkill( SkillName.Swords, 80.0, 95.0 );
			SetSkill( SkillName.Tactics, 80.0, 98.0 );
			SetSkill( SkillName.Wrestling, 67.0, 90.0 );
			SetSkill( SkillName.DetectHidden, 90.0, 100.0 );

			Fame = 6000;
			Karma = -10000;
			VirtualArmor = 30;

			Item temp;
			temp = new PlateGloves();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateHelm();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateArms();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateGorget();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateLegs();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateChest();
			temp.Movable = false;
			AddItem( temp );
			temp = new VikingSword();
			temp.Movable = false;
			AddItem( temp );
			temp = new Cloak();
			temp.Hue = 0x0020;
			temp.Movable = true;
			AddItem( temp );
			temp = new BodySash();
			temp.Hue = 0x0020;
			temp.Movable = true;
			AddItem( temp );
			temp = new HalfApron();
			temp.Hue = 0x0020;
			temp.Movable = false;
			AddItem( temp );

			AddItem( new KrisnaHair( Utility.RandomHairHue() ) );

            Spellbook book = new Spellbook();
            book.Content = ulong.MaxValue;
            book.LootType = LootType.Regular;
            AddItem(book);
		}
예제 #14
0
        public BaseShieldGuard()
            : base(AIType.AI_Melee, FightMode.Agressor, 14, 1, 0.8, 1.6)
        {
            Job = JobFragment.guard;

            Female = Utility.RandomBool();
            Body = Female ? 401 : 400;
            Name = NameList.RandomName( Female ? "female" : "male" );
            Hue = Utility.RandomSkinHue();
            SetStr( 9000 );
            SetDex( 9000 );
            SetInt( 9000 );
            Karma = 100;

            SetSkill( SkillName.Tactics, 90.1, 100 );
            SetSkill( SkillName.MagicResist, 90.1, 100 );
            SetSkill( SkillName.Parry, 90.1, 100 );
            SetSkill( SkillName.Swords, 90.1, 100 );
            SetSkill( SkillName.Macing, 90.1, 100 );
            SetSkill( SkillName.Fencing, 90.1, 100 );
            SetSkill( SkillName.Wrestling, 90.1, 100 );
            SetSkill( SkillName.DetectHidden, 90.1, 100 );
            SetSkill( SkillName.Forensics, 90.1, 100 );

            Item item = null;
            if ( !Female )
            {
                item = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item = AddRandomFacialHair( item.Hue );
                item = new Shirt();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new ShortPants();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new PlateChest();
                AddItem( item );
                item = new PlateLegs();
                AddItem( item );
                item = new PlateArms();
                AddItem( item );
                item = new Tunic();
                item.Hue = Utility.RandomRedHue();
                AddItem( item );
            }
            else
            {
                item = AddRandomHair();
                item.Hue = Utility.RandomHairHue();
                item = new Shirt();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new Skirt();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new PlateChest();
                AddItem( item );
                item = new PlateLegs();
                AddItem( item );
                item = new PlateArms();
                AddItem( item );
                item = new Tunic();
                item.Hue = Utility.RandomRedHue();
                AddItem( item );
            }

            VikingSword weapon = new VikingSword();
            weapon.Movable = false;
            AddItem( weapon );

            BaseShield shield = Shield;
            shield.Movable = false;
            AddItem( shield );
            PackGold( 15, 100 );
        }
예제 #15
0
		public KhaldunZealot(): base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Body = 0x190;
			Name = "Zealot of Khaldun";
			Title = "the Knight";
			Hue = 0;

			SetStr( 351, 400 );
			SetDex( 151, 165 );
			SetInt( 76, 100 );

			SetHits( 448, 470 );

			SetDamage( 15, 25 );

			SetDamageType( ResistanceType.Physical, 75 );
			SetDamageType( ResistanceType.Cold, 25 );

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

			SetSkill( SkillName.Wrestling, 70.1, 80.0 );
			SetSkill( SkillName.Swords, 120.1, 130.0 );
			SetSkill( SkillName.Anatomy, 120.1, 130.0 );
			SetSkill( SkillName.MagicResist, 90.1, 100.0 );
			SetSkill( SkillName.Tactics, 90.1, 100.0 );

			Fame = 10000;
			Karma = -10000;
			VirtualArmor = 40;

			VikingSword weapon = new VikingSword();
			weapon.Hue = 0x835;
			weapon.Movable = false;
			AddItem( weapon );

			MetalShield shield = new MetalShield();
			shield.Hue = 0x835;
			shield.Movable = false;
			AddItem( shield );

			BoneHelm helm = new BoneHelm();
			helm.Hue = 0x835;
			AddItem( helm );

			BoneArms arms = new BoneArms();
			arms.Hue = 0x835;
			AddItem( arms );

			BoneGloves gloves = new BoneGloves();
			gloves.Hue = 0x835;
			AddItem( gloves );

			BoneChest tunic = new BoneChest();
			tunic.Hue = 0x835;
			AddItem( tunic );

			BoneLegs legs = new BoneLegs();
			legs.Hue = 0x835;
			AddItem( legs );

			AddItem( new Boots() );
		}
예제 #16
0
		//AIType, Fight Mode, Range Perception, Fighting Range, Active Speed, Passive Speed
		public VampireLord() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Name = "Vampire Lord";
			Body = 0x0190;
			Hue = 0x497;

			SetStr( 750 );
			SetDex( 400, 500 );
			SetInt( 200, 250 );

			SetHits( 350, 400 );
			SetStam( 250, 300 );
			SetMana( 250, 300 );

			SetDamage( 20, 40 );

			SetSkill( SkillName.Poisoning, 90.0, 100.0 );
			SetSkill( SkillName.Tactics, 90.0, 98.0 );
			SetSkill( SkillName.MagicResist, 75.0, 88.0 );
			SetSkill( SkillName.Parry, 85.0, 98.0 );
			SetSkill( SkillName.Wrestling, 67.0, 90.0 );
			SetSkill( SkillName.DetectHidden, 90.0, 100.0 );
			SetSkill( SkillName.Swords, 90.0, 95.0 );
			SetSkill( SkillName.Magery, 95.0, 100.0 );
            SetSkill(SkillName.EvalInt, 95.0, 100.0);

			Fame = 3000;
			Karma = -10000;

			VirtualArmor = 40;

		    Item temp = new PlateGloves {Movable = false, Hue = 0x0492, Name = "Vampire Plate Gauntlets"};
		    AddItem( temp );
			temp = new PlateArms {Hue = 0x0492, Movable = false, Name = "Vampire Plate Arms"};
		    AddItem( temp );
			temp = new PlateGorget {Movable = false, Hue = 0x0492, Name = "Vampire Plate Gorget"};
		    AddItem( temp );
			temp = new PlateLegs {Movable = false, Hue = 0x0492, Name = "Vampire Plate Legs"};
		    AddItem( temp );
			temp = new PlateChest {Movable = false, Hue = 0x0492, Name = "Vampire Plate Chest"};
		    AddItem( temp );
			temp = new PlateHelm {Movable = false, Hue = 0x0492, Name = "Vampire Plate Helm"};
		    AddItem( temp );
			temp = new BodySash {Movable = false, Hue = 0x1, Name = "Vampire Sash"};
		    AddItem( temp );
			temp = new Cloak {Movable = false, Hue = 0x1};
		    AddItem( temp );

            BaseArmor tarm;
            if (Utility.RandomDouble() < 0.3)
            {
                switch (Utility.Random(6))
                {
                    case 0:
                        tarm = new PlateGloves {Hue = 0x492, Name = "Vampire Plate Gauntlets"};
                        break;
                    case 1:
                        tarm = new PlateArms {Hue = 0x492, Name = "Vampire Plate Arms"};
                        break;
                    case 2:
                        tarm = new PlateChest {Hue = 0x492, Name = "Vampire Plate Chest"};
                        break;
                    case 3:
                        tarm = new PlateHelm {Hue = 0x492, Name = "Vampire Plate Helm"};
                        break;
                    case 4:
                        tarm = new PlateLegs {Hue = 0x492, Name = "Vampire Plate Legs"};
                        break;
                    default:
                        tarm = new PlateGorget {Hue = 0x492, Name = "Vampire Plate Gorget"};
                        break;
                }

                tarm.ProtectionLevel = (ArmorProtectionLevel) Utility.RandomMinMax(0, 5);
                AddItem(tarm);
            }

		    BaseSword twep;
			switch( Utility.Random( 8 ) )
			{
				case 0:
					twep = new Broadsword();
					break;
				case 1:
					twep = new Cutlass();
					break;
				case 2:
					twep = new Scimitar();
					break;
				case 3:
					twep = new Katana();
					break;
				case 4:
					twep = new Kryss();
					break;
				case 5:
					twep = new Longsword();
					break;
				case 6:
					twep = new ThinLongsword();
					break;
				default:
					twep = new VikingSword();
					break;
			}
			switch( Utility.Random( 3 ) )
			{
				case 0:
                    twep.DamageLevel = WeaponDamageLevel.Might;
					break;
				case 1:
                    twep.DamageLevel = WeaponDamageLevel.Force;
					break;
				case 2:
					twep.DamageLevel = WeaponDamageLevel.Power;
					break;
			}

			AddItem( twep );
		}
        public WhisperingHollowChest1() : base(0xE43)
        {
            Name    = "a treasure chest -50-";
            Movable = true;
            Weight  = 1000.0;

            TrapPower = 0;
            Locked    = true;

            RequiredSkill = 50;
            LockLevel     = 50;
            MaxLockLevel  = 80;

/////////////////////////////////// Gold
            if (Utility.RandomDouble() < 0.25)
            {
                DropItem(new Gold(Utility.Random(45, 450)));
            }

/////////////////////////////////////// Supplies

            switch (Utility.Random(19))
            {
            case 0: DropItem(new Board(70)); break;

            case 1: DropItem(new BoltOfCloth(70)); break;

            case 2: DropItem(new Bottle(70)); break;

            case 3: DropItem(new CopperWire(70)); break;

            case 4: DropItem(new Cotton(70)); break;

            case 5: DropItem(new DarkYarn(70)); break;

            case 6: DropItem(new Feather(70)); break;

            case 7: DropItem(new Flax(70)); break;

            case 8: DropItem(new Gears(70)); break;

            case 9: DropItem(new GoldWire(70)); break;

            case 10: DropItem(new IronIngot(70)); break;

            case 11: DropItem(new IronWire(70)); break;

            case 12: DropItem(new Leather(70)); break;

            case 13: DropItem(new LightYarn(70)); break;

            case 14: DropItem(new Shaft(70)); break;

            case 15: DropItem(new SilverWire(70)); break;

            case 16: DropItem(new SpoolOfThread(70)); break;

            case 17: DropItem(new Springs(70)); break;

            case 18: DropItem(new Wool(70)); break;
            }

            switch (Utility.Random(5))
            {
            case 0: DropItem(new ArcaneStone(15)); break;

            case 1: DropItem(new BeetleEgg(15)); break;

            case 2: DropItem(new DragonScale(15)); break;

            case 3: DropItem(new FishScale(15)); break;

            case 4: DropItem(new SerpentScale(15)); break;
            }

            Item ReagentLoot = Loot.RandomReagent();

            ReagentLoot.Amount = Utility.RandomMinMax(25, 50);
            DropItem(ReagentLoot);

            if (Utility.RandomDouble() < 0.05)
            {
                DropItem(new SackFlour());
            }

/////////////////////////////////////// Rare Items

            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new DyeTub());
            }

/////////////////////////////////////// LV 20-30
            if (Utility.RandomDouble() < 0.10)
            {
                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(31))
                {
                case 0: weapon = new DoubleAxe(); break;                      // Lv20

                case 1: weapon = new TwoHandedAxe(); break;                   // Lv25

                case 2: weapon = new WarAxe(); break;                         // Lv30

                case 3: weapon = new CompositeBow(); break;                   // Lv20

                case 4: weapon = new EbonyCrossbow(); break;                  // Lv20

                case 5: weapon = new FireBow(); break;                        // Lv25

                case 6: weapon = new GrassBow(); break;                       // Lv25

                case 7: weapon = new IceBow(); break;                         // Lv25

                case 8: weapon = new LightningBow(); break;                   // Lv25

                case 9: weapon = new EbonyWarBow(); break;                    // Lv30

                case 10: weapon = new PistolCrossbow(); break;                // Lv30

                case 11: weapon = new EbonyDualDaggers(); break;              // Lv20

                case 12: weapon = new Tekagi(); break;                        // Lv25

                case 13: weapon = new ElvenSpellblade(); break;               // Lv30

                case 14: weapon = new WarMace(); break;                       // Lv20

                case 15: weapon = new Tessen(); break;                        // Lv25

                case 16: weapon = new HammerPick(); break;                    // Lv30

                case 17: weapon = new Spear(); break;                         // Lv20

                case 18: weapon = new BoneSpear(); break;                     // Lv25

                case 19: weapon = new BubbleStaff(); break;                   // Lv25

                case 20: weapon = new CrystalStaff(); break;                  // Lv25

                case 21: weapon = new EnergyStaff(); break;                   // Lv25

                case 22: weapon = new FireStaff(); break;                     // Lv25

                case 23: weapon = new VineStaff(); break;                     // Lv25

                case 24: weapon = new BlackStaff(); break;                    // Lv30

                case 25: weapon = new VikingSword(); break;                   // Lv20

                case 26: weapon = new Wakizashi(); break;                     // Lv20

                case 27: weapon = new Daisho(); break;                        // Lv30

                case 28: weapon = new EbonyScimitar(); break;                 // Lv30

                case 29: weapon = new RuneBlade(); break;                     // Lv30

                default: weapon = new Longsword(); break;                     // Lv20
                }

                BaseRunicTool.ApplyAttributesTo(weapon, 2, 5, 50);
                DropItem(weapon);
            }

/////////////////////////////////////// LV 18-27
            if (Utility.RandomDouble() < 0.10)
            {
                BaseArmor armor = Loot.RandomArmor(true);
                switch (Utility.Random(18))
                {
                case 0: armor = new HideFemaleChest(); break;                   // Lv18

                case 1: armor = new HideGloves(); break;                        // Lv18

                case 2: armor = new HideGorget(); break;                        // Lv18

                case 3: armor = new HidePants(); break;                         // Lv18

                case 4: armor = new HidePauldrons(); break;                     // Lv18

                case 5: armor = new StuddedDo(); break;                         // Lv21

                case 6: armor = new StuddedHaidate(); break;                    // Lv21

                case 7: armor = new StuddedHiroSode(); break;                   // Lv21

                case 8: armor = new StuddedMempo(); break;                      // Lv21

                case 9: armor = new StuddedSuneate(); break;                    // Lv21

                case 10: armor = new VikingStuddedArms(); break;                // Lv24

                case 11: armor = new VikingStuddedCap(); break;                 // Lv24

                case 12: armor = new VikingStuddedChest(); break;               // Lv24

                case 13: armor = new VikingStuddedLegs(); break;                // Lv24

                case 14: armor = new ChainChest(); break;                       // Lv27

                case 15: armor = new ChainCoif(); break;                        // Lv27

                case 16: armor = new ChainLegs(); break;                        // Lv27

                default: armor = new HideChest(); break;                        // Lv18
                }

                BaseRunicTool.ApplyAttributesTo(armor, 3, 5, 50);
                DropItem(armor);
            }

            if (Utility.RandomDouble() < 0.05)
            {
                BaseHat hat = Loot.RandomHat(true);
                BaseRunicTool.ApplyAttributesTo(hat, 3, 12, 15);
                DropItem(hat);
            }
            if (Utility.RandomDouble() < 0.05)
            {
                BaseClothing clothing = Loot.RandomClothing(true);
                BaseRunicTool.ApplyAttributesTo(clothing, 3, 12, 15);
                DropItem(clothing);
            }

            if (Utility.RandomDouble() < 0.05)
            {
                BaseShield shield1 = new ElvenShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield1, 3, 5, 50);
                }
                DropItem(shield1);
            }
            if (Utility.RandomDouble() < 0.05)
            {
                BaseShield shield2 = new InfantryShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield2, 3, 5, 50);
                }
                DropItem(shield2);
            }
            if (Utility.RandomDouble() < 0.05)
            {
                BaseShield shield3 = new SpiderShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield3, 3, 5, 50);
                }
                DropItem(shield3);
            }

            if (Utility.RandomDouble() < 0.05)
            {
                BaseJewel bracelet = new SilverBracelet();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(bracelet, 3, 12, 15);
                }
                DropItem(bracelet);
            }
            if (Utility.RandomDouble() < 0.05)
            {
                BaseJewel earrings = new SilverEarrings();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(earrings, 3, 12, 15);
                }
                DropItem(earrings);
            }
            if (Utility.RandomDouble() < 0.05)
            {
                BaseJewel necklace = new SilverNecklace();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(necklace, 3, 12, 15);
                }
                DropItem(necklace);
            }
            if (Utility.RandomDouble() < 0.05)
            {
                BaseJewel ring = new SilverRing();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(ring, 3, 12, 15);
                }
                DropItem(ring);
            }
        }
예제 #18
0
        public BaseShieldGuard()
            : base(AIType.AI_Melee, FightMode.Aggressor, 14, 1, 0.8, 1.6)
        {
            this.InitStats(1000, 1000, 1000);
            this.Title = "the guard";

            this.SpeechHue = Utility.RandomDyedHue();

            this.Hue = Utility.RandomSkinHue();

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

                this.AddItem(new FemalePlateChest());
                this.AddItem(new PlateArms());
                this.AddItem(new PlateLegs());

                switch( Utility.Random(2) )
                {
                    case 0:
                        this.AddItem(new Doublet(Utility.RandomNondyedHue()));
                        break;
                    case 1:
                        this.AddItem(new BodySash(Utility.RandomNondyedHue()));
                        break;
                }

                switch( Utility.Random(2) )
                {
                    case 0:
                        this.AddItem(new Skirt(Utility.RandomNondyedHue()));
                        break;
                    case 1:
                        this.AddItem(new Kilt(Utility.RandomNondyedHue()));
                        break;
                }
            }
            else
            {
                this.Body = 0x190;
                this.Name = NameList.RandomName("male");

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

                switch( Utility.Random(3) )
                {
                    case 0:
                        this.AddItem(new Doublet(Utility.RandomNondyedHue()));
                        break;
                    case 1:
                        this.AddItem(new Tunic(Utility.RandomNondyedHue()));
                        break;
                    case 2:
                        this.AddItem(new BodySash(Utility.RandomNondyedHue()));
                        break;
                }
            }

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

            VikingSword weapon = new VikingSword();
            weapon.Movable = false;
            this.AddItem(weapon);

            BaseShield shield = this.Shield;
            shield.Movable = false;
            this.AddItem(shield);

            this.PackGold(250, 500);

            this.Skills[SkillName.Anatomy].Base = 120.0;
            this.Skills[SkillName.Tactics].Base = 120.0;
            this.Skills[SkillName.Swords].Base = 120.0;
            this.Skills[SkillName.MagicResist].Base = 120.0;
            this.Skills[SkillName.DetectHidden].Base = 100.0;
        }
예제 #19
0
		public KingLeonidas() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Name = "King Leonidas";
			Body = 400;
			Hue = 1020;

			SetStr( 3020, 4000 );
			SetDex( 800 );
			SetInt( 160, 200 );

			SetHits( 900, 1000 );

			SetDamage( 25, 35 );

			
			

			
			
			
			
			

			SetSkill( SkillName.MagicResist, 200.0 );
			SetSkill( SkillName.Tactics, 200.0 );
			SetSkill( SkillName.Wrestling, 200.0 );
			
			new Horse().Rider = this;

			
			VikingSword weapon = new VikingSword();
			weapon.Hue = 2125;
			weapon.Movable = false;
			AddItem( weapon );

			WoodenKiteShield shield = new WoodenKiteShield();
			shield.Hue = 2125;
			shield.Movable = false;
			AddItem( shield );

			Circlet helm = new Circlet();
			helm.Hue = 2125;
			helm.Movable = false;
			AddItem( helm );

			PlateArms arms = new PlateArms();
			arms.Hue = 2125;
			AddItem( arms );

			PlateGloves gloves = new PlateGloves();
			gloves.Hue = 2125;
			AddItem( gloves );

			ChainChest tunic = new ChainChest();
			tunic.Hue = 2125;
			AddItem( tunic );

			ChainLegs legs = new ChainLegs();
			legs.Hue = 2125;
			AddItem( legs );

			AddItem( new Boots() );

			HairItemID = 0x203C; // Short Hair
			HairHue = 742;



			Fame = 0;
			Karma = 0;

			VirtualArmor = 90;
			PackArmor( 1, 20 );
		}
예제 #20
0
		public DreadLordCaptain() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.1, 0.1 )
		{
			SpeechHue = Utility.RandomDyedHue();

			Hue = Utility.RandomSkinHue();

			Body = 0x190;
			Name = "Dread Lord Captain";

			SetStr( 400 );
			SetDex( 200, 250 );
			SetInt( 200, 250 );
			SetHits( 350, 400 );
			SetStam( 200, 250 );
			SetMana( 200, 250 );
			SetDamage( 10, 20 );

			SetSkill( SkillName.Parry, 85.0, 98.0 );
			SetSkill( SkillName.Wrestling, 67.0, 90.0 );
			SetSkill( SkillName.Magery, 90.0, 100.0 );
			SetSkill( SkillName.Poisoning, 90.0, 100.0 );
			SetSkill( SkillName.MagicResist, 65.0, 88.0 );
			SetSkill( SkillName.Swords, 90.0, 95.0 );
			SetSkill( SkillName.Tactics, 90.0, 98.0 );

			Fame = 7500;
			Karma = -10000;

			VirtualArmor = 40;

			Item temp;
			temp = new PlateGloves();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateHelm();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateArms();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateGorget();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateLegs();
			temp.Movable = false;
			AddItem( temp );
			temp = new PlateChest();
			temp.Movable = false;
			AddItem( temp );
			temp = new VikingSword();
			temp.Movable = false;
			AddItem( temp );
			temp = new Cloak();
			temp.Hue = 0x0493;
			temp.Movable = true;
			AddItem( temp );
			temp = new BodySash();
			temp.Hue = 0x0493;
			temp.Movable = true;
			AddItem( temp );
			temp = new HalfApron();
			temp.Hue = 0x1;
			temp.Movable = false;
			AddItem( temp );

			Item hair = new Item( Utility.RandomList( 0x203B, 0x2049, 0x2048, 0x204A ) );
			hair.Hue = Utility.RandomNondyedHue();
			hair.Layer = Layer.Hair;
			hair.Movable = false;
			AddItem( hair );
			//PackGold(800, 1200);
			PackGem( 4 );
		}
		public DungeonGuard() : base( AIType.AI_Melee )
		{
			Name = NameList.RandomName( "male" );
			Title = "the Guard";
			Fame = 5000;
			Karma = -5000;
			Hue = 1175;
			BodyValue = 400;;

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

			SetHits( 1000 );

            		SetSkill( SkillName.MagicResist, 200.0 );
            		SetSkill( SkillName.Tactics, 100.0 );
            		SetSkill( SkillName.Swords, 120.0 );
			SetSkill( SkillName.DetectHidden, 100.0, 120.0 );

			PlateArms a = new PlateArms();
			a.Hue = 1109;
			a.LootType = LootType.Blessed;
			AddItem( a );

			Cloak c = new Cloak();
			c.Hue = 1157;
			c.LootType = LootType.Blessed;
			AddItem( c );

			BodySash b = new BodySash();
			b.Hue = 1157;
			b.LootType = LootType.Blessed;
			AddItem( b );

			PlateGloves g = new PlateGloves();
			g.Hue = 1109;
			g.LootType = LootType.Blessed;
			AddItem( g );

			PlateLegs l = new PlateLegs();
			l.Hue = 1109;
			l.LootType = LootType.Blessed;
			AddItem( l );

			PlateChest t = new PlateChest();
			t.Hue = 1109;
			t.LootType = LootType.Blessed;
			AddItem( t );

			PlateGorget n = new PlateGorget();
			n.Hue = 1109;
			n.LootType = LootType.Blessed;
			AddItem( n );

			PlateHelm h = new PlateHelm();
			h.Hue = 1109;
			h.LootType = LootType.Blessed;
			AddItem( h );

			VikingSword w = new VikingSword();
			w.Hue = 1109;
			w.Movable = false;
			w.LootType = LootType.Blessed;
			AddItem( w );

			ChaosShield s = new ChaosShield();
			s.Hue = 1109;
			s.Movable = false;
			s.LootType = LootType.Blessed;
			AddItem( s );
		}
예제 #22
0
		public Junin() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.175, 0.3)
		{

			Name = "Junin Pince";
			//Title= "";
			Hue= 2221;
			Body = 400;
			SpeechHue= 2305;
			BaseSoundID = 0;
			Team = 0;
                        //new EtherealHorse().Rider = this;

			SetStr( 275, 375);
			SetDex( 190, 225);
			SetInt( 0, 0);

			SetHits(330, 475);

			SetSkill( SkillName.Tactics, 100.7, 100.4);
			SetSkill( SkillName.MagicResist, 150.4, 150.7);
			SetSkill( SkillName.Swords, 110.4, 110.7);
			SetSkill( SkillName.Anatomy, 110.4, 110.7);
			SetSkill( SkillName.Parry, 75.1, 100.1);

                        Fame=15000;
			Karma=-15000;

			VirtualArmor= 75;

			Item VikingSword = new VikingSword();
			VikingSword.Movable=false;
			VikingSword.Hue=1249;
		        EquipItem( VikingSword );

			Item ChaosShield = new ChaosShield();
			ChaosShield.Movable=false;
			ChaosShield.Hue=1253;
		        EquipItem( ChaosShield );

                        //Item BoneHelm = new BoneHelm();
			//BoneHelm.Movable=false;
			//BoneHelm.Hue=38;
			//EquipItem( BoneHelm );

			Item HoodedShroudOfShadows = new HoodedShroudOfShadows();
			HoodedShroudOfShadows.Movable=false;
			HoodedShroudOfShadows.Hue=1249;
			HoodedShroudOfShadows.Name="death shroud";
			EquipItem( HoodedShroudOfShadows );

                        Item PlateGloves = new PlateGloves();
			PlateGloves.Movable=false;
			PlateGloves.Hue=1;
                        EquipItem( PlateGloves );

                        //Item LongPants = new LongPants();
			//LongPants.Movable=false;
			//LongPants.Hue=1;
			//EquipItem( LongPants );

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

			//Item Cloak = new Cloak();
			//Cloak.Movable=false;
			//Cloak.Hue=0xFFFF;
			//EquipItem( Cloak );

			Item hair = new Item( 0x203B);
			hair.Hue = 2306;
			hair.Layer = Layer.Hair;
			hair.Movable = false;
			AddItem( hair );

			PackGold( 400, 3000);
			PackArmor( 0, 5 );
			PackWeapon( 0, 5 );
			PackArmor( 0, 2 );
			PackWeapon( 0, 2 );

                                switch ( Utility.Random( 2 ))
        		 {
           			case 0: PackItem( new JuninSoul() ); break;
        		 }
		}
예제 #23
0
        public StoneBurrowMinesBossChest() : base(0xE43)
        {
            Name    = "a treasure chest -60-";
            Movable = true;
            Weight  = 1000.0;

            TrapPower = 0;
            Locked    = true;

            RequiredSkill = 60;
            LockLevel     = 60;
            MaxLockLevel  = 80;

/////////////////////////////////// Gold
            if (Utility.RandomDouble() < 0.25)
            {
                DropItem(new Gold(Utility.Random(350, 500)));
            }

/////////////////////////////////////// Jewelry

            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new Agate());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new Beryl());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new ChromeDiopside());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new FireOpal());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new MoonstoneCustom());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new Onyx());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new Opal());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new Pearl());
            }
            if (Utility.RandomDouble() < 0.04)
            {
                DropItem(new TurquoiseCustom());
            }

            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Bloodstone());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Citrine());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Demantoid());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Jasper());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Lolite());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Lupis());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Peridot());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Tsavorite());
            }
            if (Utility.RandomDouble() < 0.03)
            {
                DropItem(new Zircon());
            }

            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Amber());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Amethyst());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Andalusite());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Chrysoberyl());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Garnet());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Jade());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Mandarin());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Morganite());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Paraiba());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new TigerEye());
            }
            if (Utility.RandomDouble() < 0.02)
            {
                DropItem(new Tourmaline());
            }

            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Alexandrite());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Ametrine());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Kunzite());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Ruby());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Sapphire());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Tanzanite());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Topaz());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Zultanite());
            }

            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Diamond());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new Emerald());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new PinkQuartz());
            }
            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new StarSapphire());
            }

/////////////////////////////////////// Supplies

            switch (Utility.Random(18))
            {
            case 0: DropItem(new Board(80)); break;

            case 1: DropItem(new BoltOfCloth(80)); break;

            case 2: DropItem(new Bottle(80)); break;

            case 3: DropItem(new CopperWire(80)); break;

            case 4: DropItem(new Cotton(80)); break;

            case 5: DropItem(new DarkYarn(80)); break;

            case 6: DropItem(new Feather(80)); break;

            case 7: DropItem(new Flax(80)); break;

            case 8: DropItem(new Gears(80)); break;

            case 9: DropItem(new GoldWire(80)); break;

            case 10: DropItem(new IronIngot(80)); break;

            case 11: DropItem(new IronWire(80)); break;

            case 12: DropItem(new Leather(80)); break;

            case 13: DropItem(new LightYarn(80)); break;

            case 14: DropItem(new Shaft(80)); break;

            case 15: DropItem(new SilverWire(80)); break;

            case 16: DropItem(new SpoolOfThread(80)); break;

            case 17: DropItem(new Springs(80)); break;

            case 18: DropItem(new Wool(80)); break;
            }

            switch (Utility.Random(5))
            {
            case 0: DropItem(new ArcaneStone(25)); break;

            case 1: DropItem(new BeetleEgg(25)); break;

            case 2: DropItem(new DragonScale(25)); break;

            case 3: DropItem(new FishScale(25)); break;

            case 4: DropItem(new SerpentScale(25)); break;
            }

            Item ReagentLoot = Loot.RandomReagent();

            ReagentLoot.Amount = Utility.RandomMinMax(50, 100);
            DropItem(ReagentLoot);

            if (Utility.RandomDouble() < 0.05)
            {
                DropItem(new SackFlour());
            }

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new PowerCrystal());
            }

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new BlackGear(Utility.Random(10, 15)));
            }

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new BronzeGear(Utility.Random(10, 15)));
            }

            if (Utility.RandomDouble() < 0.15)
            {
                DropItem(new CrimsonGear(Utility.Random(10, 15)));
            }

/////////////////////////////////////// Rare Items

            if (Utility.RandomDouble() < 0.01)
            {
                DropItem(new DyeTub());
            }

/////////////////////////////////////// LV 20-30
            if (Utility.RandomDouble() < 0.10)
            {
                BaseWeapon weapon = Loot.RandomWeapon(true);
                switch (Utility.Random(31))
                {
                case 0: weapon = new DoubleAxe(); break;                      // Lv20

                case 1: weapon = new TwoHandedAxe(); break;                   // Lv25

                case 2: weapon = new WarAxe(); break;                         // Lv30

                case 3: weapon = new CompositeBow(); break;                   // Lv20

                case 4: weapon = new EbonyCrossbow(); break;                  // Lv20

                case 5: weapon = new FireBow(); break;                        // Lv25

                case 6: weapon = new GrassBow(); break;                       // Lv25

                case 7: weapon = new IceBow(); break;                         // Lv25

                case 8: weapon = new LightningBow(); break;                   // Lv25

                case 9: weapon = new EbonyWarBow(); break;                    // Lv30

                case 10: weapon = new PistolCrossbow(); break;                // Lv30

                case 11: weapon = new EbonyDualDaggers(); break;              // Lv20

                case 12: weapon = new Tekagi(); break;                        // Lv25

                case 13: weapon = new ElvenSpellblade(); break;               // Lv30

                case 14: weapon = new WarMace(); break;                       // Lv20

                case 15: weapon = new Tessen(); break;                        // Lv25

                case 16: weapon = new HammerPick(); break;                    // Lv30

                case 17: weapon = new Spear(); break;                         // Lv20

                case 18: weapon = new BoneSpear(); break;                     // Lv25

                case 19: weapon = new BubbleStaff(); break;                   // Lv25

                case 20: weapon = new CrystalStaff(); break;                  // Lv25

                case 21: weapon = new EnergyStaff(); break;                   // Lv25

                case 22: weapon = new FireStaff(); break;                     // Lv25

                case 23: weapon = new VineStaff(); break;                     // Lv25

                case 24: weapon = new BlackStaff(); break;                    // Lv30

                case 25: weapon = new VikingSword(); break;                   // Lv20

                case 26: weapon = new Wakizashi(); break;                     // Lv20

                case 27: weapon = new Daisho(); break;                        // Lv30

                case 28: weapon = new EbonyScimitar(); break;                 // Lv30

                case 29: weapon = new RuneBlade(); break;                     // Lv30

                default: weapon = new Longsword(); break;                     // Lv20
                }

                BaseRunicTool.ApplyAttributesTo(weapon, 2, 5, 50);
                DropItem(weapon);
            }

/////////////////////////////////////// LV 18-27
            if (Utility.RandomDouble() < 0.10)
            {
                BaseArmor armor = Loot.RandomArmor(true);
                switch (Utility.Random(18))
                {
                case 0: armor = new HideFemaleChest(); break;                   // Lv18

                case 1: armor = new HideGloves(); break;                        // Lv18

                case 2: armor = new HideGorget(); break;                        // Lv18

                case 3: armor = new HidePants(); break;                         // Lv18

                case 4: armor = new HidePauldrons(); break;                     // Lv18

                case 5: armor = new StuddedDo(); break;                         // Lv21

                case 6: armor = new StuddedHaidate(); break;                    // Lv21

                case 7: armor = new StuddedHiroSode(); break;                   // Lv21

                case 8: armor = new StuddedMempo(); break;                      // Lv21

                case 9: armor = new StuddedSuneate(); break;                    // Lv21

                case 10: armor = new VikingStuddedArms(); break;                // Lv24

                case 11: armor = new VikingStuddedCap(); break;                 // Lv24

                case 12: armor = new VikingStuddedChest(); break;               // Lv24

                case 13: armor = new VikingStuddedLegs(); break;                // Lv24

                case 14: armor = new ChainChest(); break;                       // Lv27

                case 15: armor = new ChainCoif(); break;                        // Lv27

                case 16: armor = new ChainLegs(); break;                        // Lv27

                default: armor = new HideChest(); break;                        // Lv18
                }

                BaseRunicTool.ApplyAttributesTo(armor, 3, 5, 50);
                DropItem(armor);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseHat hat = Loot.RandomHat(true);
                BaseRunicTool.ApplyAttributesTo(hat, 3, 12, 15);
                DropItem(hat);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseClothing clothing = Loot.RandomClothing(true);
                BaseRunicTool.ApplyAttributesTo(clothing, 3, 12, 15);
                DropItem(clothing);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseShield shield1 = new ElvenShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield1, 3, 5, 50);
                }
                DropItem(shield1);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseShield shield2 = new InfantryShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield2, 3, 5, 50);
                }
                DropItem(shield2);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseShield shield3 = new SpiderShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield3, 3, 5, 50);
                }
                DropItem(shield3);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseShield shield4 = new GrassShield();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(shield4, 3, 5, 50);
                }
                DropItem(shield4);
            }

            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel bracelet = new SilverBracelet();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(bracelet, 3, 12, 15);
                }
                DropItem(bracelet);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel earrings = new SilverEarrings();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(earrings, 3, 12, 15);
                }
                DropItem(earrings);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel necklace = new SilverNecklace();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(necklace, 3, 12, 15);
                }
                DropItem(necklace);
            }
            if (Utility.RandomDouble() < 0.10)
            {
                BaseJewel ring = new SilverRing();
                if (Core.AOS)
                {
                    BaseRunicTool.ApplyAttributesTo(ring, 3, 12, 15);
                }
                DropItem(ring);
            }
        }
		public CrookedGuard() : base( AIType.AI_Melee, FightMode.Agressor, 20, 1, 1.5, 3.0 )
		{
			InitStats( 500, 200, 200 );
			Title = "the Crooked Guard";

			SpeechHue = Utility.RandomDyedHue();

			Hue = Utility.RandomSkinHue();

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

				AddItem( new FemalePlateChest() );
				AddItem( new PlateArms() );
				AddItem( new PlateLegs() );

				switch( Utility.Random( 2 ) )
				{
					case 0: AddItem( new Doublet( Utility.RandomNondyedHue() ) ); break;
					case 1: AddItem( new BodySash( Utility.RandomNondyedHue() ) ); break;
				}

				switch( Utility.Random( 2 ) )
				{
					case 0: AddItem( new Skirt( Utility.RandomNondyedHue() ) ); break;
					case 1: AddItem( new Kilt( Utility.RandomNondyedHue() ) ); 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;
				}
			}

			Item hair = new Item( Utility.RandomList( 0x203B, 0x203C, 0x203D, 0x2044, 0x2045, 0x2047, 0x2049, 0x204A ) );

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

			AddItem( hair );

			if( Utility.RandomBool() && !this.Female )
			{
				Item beard = new Item( Utility.RandomList( 0x203E, 0x203F, 0x2040, 0x2041, 0x204B, 0x204C, 0x204D ) );

				beard.Hue = hair.Hue;
				beard.Layer = Layer.FacialHair;
				beard.Movable = false;

				AddItem( beard );
			}

			VikingSword weapon = new VikingSword();
			weapon.Movable = false;
			AddItem( weapon );

			HeaterShield shield = new HeaterShield();
			shield.Movable = false;
			AddItem( shield );

			PackGold( 250, 500 );

			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;
		}
예제 #25
0
        public Paladin()
            : base(AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.36, 0.56)
        {
            Female = Utility.RandomBool();
            Body = Female ? 401 : 400;
            Title = "the paladin";
            Name = NameList.RandomName( Female ? "female" : "male" );
            Hue = Utility.RandomSkinHue();
            SetStr( 64, 92 );
            SetDex( 46, 88 );
            SetInt( 37, 49 );
            Karma = Utility.RandomMinMax( 33, -25 );

            SetSkill( SkillName.Tactics, 55, 77.5 );
            SetSkill( SkillName.MagicResist, 55, 77.5 );
            SetSkill( SkillName.Parry, 55, 77.5 );
            SetSkill( SkillName.Swords, 55, 77.5 );
            SetSkill( SkillName.Macing, 55, 77.5 );
            SetSkill( SkillName.Fencing, 55, 77.5 );
            SetSkill( SkillName.Wrestling, 55, 77.5 );
            SetSkill( SkillName.ArmsLore, 52.5, 75 );

            Item item = null;
            if ( !Female )
            {
                int hairHue = Utility.RandomHairHue();
                Utility.AssignRandomHair(this, hairHue);
                Utility.AssignRandomFacialHair( this, hairHue );
                item = new PlateChest();
                AddItem( item );
                item = new PlateLegs();
                AddItem( item );
                item = new PlateArms();
                AddItem( item );
                item = new PlateGloves();
                AddItem( item );
                item = new PlateGorget();
                AddItem( item );
                switch ( Utility.Random( 5 ) )
                {
                    case 0: item = new PlateHelm(); break;
                    case 1: item = new Helmet(); break;
                    case 2: item = new CloseHelm(); break;
                    case 3: item = new Bascinet(); break;
                    case 4: default: item = new NorseHelm(); break;
                }
                AddItem( item );
                item = new Tunic();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new HeaterShield();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new VikingSword();
                AddItem( item );
                item = Utility.RandomBool() ? (Item)new Boots() : (Item)new ThighBoots();
                AddItem( item );
                PackGold( 15, 100 );
            }
            else
            {
                int hairHue = Utility.RandomHairHue();
                Utility.AssignRandomHair(this, hairHue);
                item = new PlateChest();
                AddItem( item );
                item = new PlateLegs();
                AddItem( item );
                item = new PlateArms();
                AddItem( item );
                item = new PlateGloves();
                AddItem( item );
                item = new PlateGorget();
                AddItem( item );
                switch ( Utility.Random( 5 ) )
                {
                    case 0: item = new PlateHelm(); break;
                    case 1: item = new Helmet(); break;
                    case 2: item = new CloseHelm(); break;
                    case 3: item = new Bascinet(); break;
                    case 4: default: item = new NorseHelm(); break;
                }
                AddItem( item );
                item = new Tunic();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new HeaterShield();
                item.Hue = Utility.RandomNondyedHue();
                AddItem( item );
                item = new VikingSword();
                AddItem( item );
                item = Utility.RandomBool() ? (Item)new Boots() : (Item)new ThighBoots();
                AddItem( item );
                PackGold( 15, 100 );
            }
        }
		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;
					}
			}
		}
예제 #27
0
		public Vampire() : base( AIType.AI_SphereMage, FightMode.Closest, 10, 1, 0.2, 0.4 )
		{
			Hue = 0x497;
			Body = 0x190;
			Name = "Vampire";

			SetStr( 450 );
			SetDex( 200, 300 );
			SetInt( 150, 200 );
			SetHits( 200, 300 );
			SetStam( 200, 300 );
			SetMana( 150, 200 );
			SetDamage( 10, 20 );

			SetSkill( SkillName.Parry, 75.0, 80.0 );
			SetSkill( SkillName.Poisoning, 90.0, 100.0 );
			SetSkill( SkillName.MagicResist, 75.0, 88.0 );
			SetSkill( SkillName.Swords, 75.0, 85.0 );
			SetSkill( SkillName.Tactics, 80.0, 90.0 );
			SetSkill( SkillName.Wrestling, 67.0, 80.0 );
			SetSkill( SkillName.Magery, 65.0, 80.0 );
            SetSkill(SkillName.EvalInt, 75.0, 85.0);

			Fame = 4000;
			Karma = -4000;
			VirtualArmor = 20;

		    Item temp = new PlateGloves {Movable = false, Hue = 0x0590, Name = "Vampire Plate Gauntlets"};
		    AddItem( temp );
			temp = new PlateArms {Hue = 0x0845, Movable = false, Name = "Vampire Plate Arms"};
		    AddItem( temp );
			temp = new PlateGorget {Movable = false, Hue = 0x0590, Name = "Vampire Plate Gorget"};
		    AddItem( temp );
			temp = new PlateLegs {Movable = false, Hue = 0x0590, Name = "Vampire Plate Legs"};
		    AddItem( temp );
			temp = new PlateChest {Movable = false, Hue = 0x0590, Name = "Vampire Plate Chest"};
		    AddItem( temp );
			temp = new Cloak( 0x1 ) {Movable = false};
		    AddItem( temp );

		    HairItemID = 8252;
		    HairHue = Utility.RandomHairHue();

			BaseSword twep;
			switch( Utility.Random( 8 ) )
			{
				case 0:
					twep = new Broadsword();
					break;
				case 1:
					twep = new Cutlass();
					break;
				case 2:
					twep = new Scimitar();
					break;
				case 3:
					twep = new Katana();
					break;
				case 4:
					twep = new Kryss();
					break;
				case 5:
					twep = new Longsword();
					break;
				case 6:
					twep = new ThinLongsword();
					break;
				default:
					twep = new VikingSword();
					break;
			}
			switch( Utility.Random( 3 ) )
			{
				case 0:
					twep.DamageLevel = WeaponDamageLevel.Ruin;
					break;
				case 1:
					twep.DamageLevel = WeaponDamageLevel.Might;
					break;
				case 2:
					twep.DamageLevel = WeaponDamageLevel.Force;
					break;
			}

			AddItem( twep );
		}
예제 #28
0
		public override void InitOutfit()
		{
			WipeLayers();
			BoneArms arms = new BoneArms();
			arms.Hue = 0x3A8;
			arms.LootType = LootType.Blessed;
			AddItem( arms );

			BoneGloves gloves = new BoneGloves();
			gloves.Hue = 0x3A8;
			gloves.LootType = LootType.Blessed;
			AddItem( gloves );

			BoneChest tunic = new BoneChest();
			tunic.Hue = 0x3A8;
			tunic.LootType = LootType.Blessed;
			AddItem( tunic );
			BoneLegs legs = new BoneLegs();
			legs.Hue = 0x3A8;
			legs.LootType = LootType.Blessed;
			AddItem( legs );

			BoneHelm helm = new BoneHelm();
			helm.Hue = 0x3A8;
			helm.LootType = LootType.Blessed;
			AddItem( helm );

			AddItem( new Shoes() );
			AddItem( new Buckler());

			VikingSword weapon = new VikingSword();

			weapon.Movable = true;

			AddItem( weapon );
		}
		public DragonKnightSwordAndShield() : base( AIType.AI_Melee, FightMode.Evil, 10, 1, 0.2, 0.4 ) 
		{
 			Title = "a DragonKnight Swordsman";
			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;

			VikingSword vikingsword = new VikingSword();
			vikingsword.Movable = false;
   			AddItem(vikingsword);

   			OrderShield ordershield = new OrderShield();
			ordershield.Movable = false;
   			AddItem(ordershield);
   			//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;
			vikingsword.Hue = 253;
			ordershield.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;

		}
예제 #30
0
		public BaseShieldGuard()
			: base(AIType.AI_Melee, FightMode.Aggressor, 14, 1, 0.8, 1.6)
		{
			InitStats(1000, 1000, 1000);
			Title = "the guard";

			SpeechHue = Utility.RandomDyedHue();

			Hue = Utility.RandomSkinHue();

            PendingStatloss = new List<HeadTurnInObj>();

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

				AddItem(new FemalePlateChest());
				AddItem(new PlateArms());
				AddItem(new PlateLegs());

				switch (Utility.Random(2))
				{
					case 0:
						AddItem(new Doublet(Utility.RandomNondyedHue()));
						break;
					case 1:
						AddItem(new BodySash(Utility.RandomNondyedHue()));
						break;
				}

				switch (Utility.Random(2))
				{
					case 0:
						AddItem(new Skirt(Utility.RandomNondyedHue()));
						break;
					case 1:
						AddItem(new Kilt(Utility.RandomNondyedHue()));
						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);
			}

			var weapon = new VikingSword
			{
				Movable = false
			};

			AddItem(weapon);

			BaseShield shield = Shield;
			shield.Movable = false;
			AddItem(shield);

			PackGold(250, 300);

			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;
		}
예제 #31
0
		public Deathknight() : base( AIType.AI_Necro, FightMode.Aggressor, 10, 1, 0.2, 0.4 ) 
		{ 

			Title = "the deathknight"; 

			SpeechHue = Utility.RandomDyedHue(); 

			Hue = 0; 
			Name = NameList.RandomName( "daemon" ); 

			SetStr( 306, 430 );
			SetDex( 271, 350 );
			SetInt( 250, 355 );

			SetHits ( 2200 );

			if ( Female = Utility.RandomBool() ) 
			{ 
				Body = 0x191;
			} 
			else 
			{ 
				Body = 0x190;
			} 

			new SkeletalMount().Rider = this; 

			PlateChest chest = new PlateChest();
            chest.LootType = LootType.Blessed;
			chest.Hue = 1175; 
			AddItem( chest ); 
			PlateArms arms = new PlateArms();
            arms.LootType = LootType.Blessed;
			arms.Hue = 1175; 
			AddItem( arms ); 
			PlateGloves gloves = new PlateGloves();
            gloves.LootType = LootType.Blessed;
			gloves.Hue = 1175; 
			AddItem( gloves ); 
			PlateGorget gorget = new PlateGorget();
            gorget.LootType = LootType.Blessed;
			gorget.Hue = 1175; 
			AddItem( gorget ); 
			PlateLegs legs = new PlateLegs();
            legs.LootType = LootType.Blessed;
			legs.Hue = 1175; 
			AddItem( legs ); 
			Cloak cloak = new Cloak();
            cloak.LootType = LootType.Blessed;
			cloak.Hue = 1175;
			AddItem( cloak );

			DeathknightsHelm helm = new DeathknightsHelm();
            helm.LootType = LootType.Blessed;
			AddItem( helm );



			switch ( Utility.Random( 4 ))
			{
				case 0:  LargeBattleAxe battleaxe = new LargeBattleAxe();
				battleaxe.Movable = false; 
				battleaxe.Crafter = this; 
				battleaxe.Hue = 1175;
				battleaxe.Quality = WeaponQuality.Exceptional; 
				AddItem( battleaxe ); break;
				case 1:  DoubleAxe doubleaxe = new DoubleAxe();
				doubleaxe.Movable = false; 
				doubleaxe.Crafter = this; 
				doubleaxe.Hue = 1175;
				doubleaxe.Quality = WeaponQuality.Exceptional; 
				AddItem( doubleaxe ); break;
				case 2:  Broadsword broadsword = new Broadsword();
				broadsword.Movable = false; 
				broadsword.Crafter = this; 
				broadsword.Hue = 1175;
				broadsword.Quality = WeaponQuality.Exceptional; 
				AddItem( broadsword ); break;
				case 3:  VikingSword vikingsword = new VikingSword();
				vikingsword.Movable = false; 
				vikingsword.Crafter = this; 
				vikingsword.Hue = 1175;
				vikingsword.Quality = WeaponQuality.Exceptional; 
				AddItem( vikingsword ); break;
			}

            if (Utility.RandomDouble() <= 0.40)
			    PackItem( new DeathknightsHelm() );
			

			PackGold( 980, 1400 );

			Skills[SkillName.Anatomy].Base = 120.0; 
			Skills[SkillName.Tactics].Base = 120.0; 
			Skills[SkillName.Swords].Base = 120.0; 
			Skills[SkillName.Necromancy].Base = 120.0; 
			Skills[SkillName.SpiritSpeak].Base = 120.0; 
			Skills[SkillName.MagicResist].Base = 120.0; 
			Skills[SkillName.Lumberjacking].Base = 100.0; 

		}