예제 #1
1
		private void InitContents( BarrelType type )
		{
			Item item = null;
			byte count = (byte)Utility.RandomMinMax( 10, 30 );

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

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

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

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

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

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

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

				if( item != null )
					DropItem( item );
			}
		}
예제 #2
0
        private void InitContents(BarrelType type)
        {
            Item item  = null;
            byte count = (byte)Utility.RandomMinMax(10, 30);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                    item = new Pickaxe();
                    break;
                }

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

                    item = new Spear();
                    break;
                }

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

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

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

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

                if (item != null)
                {
                    DropItem(item);
                }
            }
        }
예제 #3
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);
        }
예제 #4
0
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public static Item CreateMetalWeapon()
        {
            Item item = null;

            int nType = Utility.RandomMinMax(0, 41);

            switch (nType)
            {
            case 1:         item = new Cutlass();                   item.Name = "cutlass";                  break;

            case 2:         item = new Katana();                    item.Name = "katana";                   break;

            case 3:         item = new Kryss();                             item.Name = "kryss";                    break;

            case 4:         item = new Broadsword();                item.Name = "broadsword";               break;

            case 5:         item = new Longsword();                 item.Name = "longsword";                break;

            case 6:         item = new ThinLongsword();             item.Name = "longsword";                break;

            case 7:         item = new VikingSword();               item.Name = "barbarian sword";  break;

            case 8:         item = new Scimitar();                  item.Name = "scimitar";                 break;

            case 9:         item = new BoneHarvester();             item.Name = "sickle";                   break;

            case 10:        item = new CrescentBlade();             item.Name = "crescent blade";   break;

            case 11:        item = new DoubleBladedStaff(); item.Name = "bladed staff";             break;

            case 12:        item = new Lance();                             item.Name = "lance";                    break;

            case 13:        item = new Pike();                              item.Name = "pike";                             break;

            case 14:        item = new Scythe();                    item.Name = "scythe";                   break;

            case 15:        item = new Dagger();                    item.Name = "dagger";                   break;

            case 16:        item = new HammerPick();                item.Name = "hammer pick";              break;

            case 17:        item = new Mace();                              item.Name = "mace";                             break;

            case 18:        item = new Maul();                              item.Name = "maul";                             break;

            case 19:        item = new WarHammer();                 item.Name = "war hammer";               break;

            case 20:        item = new WarMace();                   item.Name = "war mace";                 break;

            case 21:        item = new ExecutionersAxe();   item.Name = "great axe";                break;

            case 22:        item = new BattleAxe();                 item.Name = "battle axe";               break;

            case 23:        item = new TwoHandedAxe();              item.Name = "two-handed axe";   break;

            case 24:        item = new Axe();                               item.Name = "axe";                              break;

            case 25:        item = new DoubleAxe();                 item.Name = "double axe";               break;

            case 26:        item = new RoyalSword();                item.Name = "royal sword";              break;

            case 27:        item = new LargeBattleAxe();    item.Name = "large battle axe"; break;

            case 28:        item = new WarAxe();                    item.Name = "war axe";                  break;

            case 29:        item = new Bardiche();                  item.Name = "bardiche";                 break;

            case 30:        item = new Halberd();                   item.Name = "halberd";                  break;

            case 31:        item = new Pitchfork();                 item.Name = "trident";                  break;

            case 32:        item = new ShortSpear();                item.Name = "short spear";              break;

            case 33:        item = new Spear();                             item.Name = "spear";                    break;

            case 34:        item = new NoDachi();                   item.Name = "no dachi";                 break;

            case 35:        item = new Wakizashi();                 item.Name = "wakizashi";                break;

            case 36:        item = new Tetsubo();                   item.Name = "tetsubo";                  break;

            case 37:        item = new Lajatang();                  item.Name = "lajatang";                 break;

            case 38:        item = new Daisho();                    item.Name = "daisho";                   break;

            case 39:        item = new Tekagi();                    item.Name = "tekagi";                   break;

            case 40:        item = new Kama();                              item.Name = "kama";                             break;

            case 41:        item = new Sai();                               item.Name = "sai";                              break;
            }

            return(item);
        }
예제 #5
0
        public Urk() : base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
        {
            BaseSoundID      = 0x45A;
            Hue              = 0x430;
            Body             = 0x190;
            Name             = NameList.RandomName("urk");
            HairItemID       = 0;
            FacialHairItemID = 0;

            Item helm = new WornHumanDeco();

            helm.Name   = "urkish face";
            helm.ItemID = 0x141B;
            helm.Hue    = 0x430;
            helm.Layer  = Layer.Helm;
            AddItem(helm);

            if (Utility.RandomMinMax(1, 2) == 1)
            {
                LeatherArms ratarms = new LeatherArms();
                ratarms.Name        = "urkish rat skin arms";
                ratarms.PoisonBonus = 6;
                ratarms.Hue         = 0x972;
                AddItem(ratarms);

                LeatherChest ratchest = new LeatherChest();
                ratchest.Name        = "urkish rat skin tunic";
                ratchest.PoisonBonus = 8;
                ratchest.Hue         = 0x972;
                AddItem(ratchest);

                LeatherGloves ratgloves = new LeatherGloves();
                ratgloves.Name        = "urkish rat skin gloves";
                ratgloves.PoisonBonus = 5;
                ratgloves.Hue         = 0x972;
                AddItem(ratgloves);

                LeatherGorget ratgorget = new LeatherGorget();
                ratgorget.Name        = "urkish rat skin gorget";
                ratgorget.PoisonBonus = 4;
                ratgorget.Hue         = 0x972;
                AddItem(ratgorget);

                LeatherLegs ratlegs = new LeatherLegs();
                ratlegs.Name        = "urkish rat skin leggings";
                ratlegs.PoisonBonus = 7;
                ratlegs.Hue         = 0x972;
                AddItem(ratlegs);
            }
            else
            {
                BoneChest bonechest = new BoneChest();
                bonechest.Name        = "urkish chest piece";
                bonechest.PoisonBonus = 8;
                bonechest.Hue         = 0x972;
                AddItem(bonechest);

                BoneArms bonearms = new BoneArms();
                bonearms.Name        = "urkish bracers";
                bonearms.PoisonBonus = 6;
                bonearms.Hue         = 0x972;
                AddItem(bonearms);

                BoneLegs bonelegs = new BoneLegs();
                bonelegs.Name        = "urkish leggings";
                bonelegs.PoisonBonus = 7;
                bonelegs.Hue         = 0x972;
                AddItem(bonelegs);

                BoneGloves bonegloves = new BoneGloves();
                bonegloves.Name        = "urkish gauntlets";
                bonegloves.PoisonBonus = 5;
                bonegloves.Hue         = 0x972;
                AddItem(bonegloves);
            }

            Item weapon = new BattleAxe();

            switch (Utility.Random(28))
            {
            case 0: weapon = new BattleAxe(); weapon.Name = "battle axe"; break;

            case 1: weapon = new VikingSword(); weapon.Name = "great sword"; break;

            case 2: weapon = new Halberd(); weapon.Name = "halberd"; break;

            case 3: weapon = new DoubleAxe(); weapon.Name = "double axe"; break;

            case 4: weapon = new ExecutionersAxe(); weapon.Name = "great axe"; break;

            case 5: weapon = new WarAxe(); weapon.Name = "war axe"; break;

            case 6: weapon = new TwoHandedAxe(); weapon.Name = "two handed axe"; break;

            case 7: weapon = new Cutlass(); weapon.Name = "cutlass"; break;

            case 8: weapon = new Katana(); weapon.Name = "katana"; break;

            case 9: weapon = new Kryss(); weapon.Name = "kryss"; break;

            case 10: weapon = new Broadsword(); weapon.Name = "broadsword"; break;

            case 11: weapon = new Longsword(); weapon.Name = "longsword"; break;

            case 12: weapon = new ThinLongsword(); weapon.Name = "longsword"; break;

            case 13: weapon = new Scimitar(); weapon.Name = "scimitar"; break;

            case 14: weapon = new BoneHarvester(); weapon.Name = "sickle"; break;

            case 15: weapon = new CrescentBlade(); weapon.Name = "crescent blade"; break;

            case 16: weapon = new DoubleBladedStaff(); weapon.Name = "double bladed staff"; break;

            case 17: weapon = new Pike(); weapon.Name = "pike"; break;

            case 18: weapon = new Scythe(); weapon.Name = "scythe"; break;

            case 19: weapon = new Pitchfork(); weapon.Name = "trident"; break;

            case 20: weapon = new ShortSpear(); weapon.Name = "short spear"; break;

            case 21: weapon = new Spear(); weapon.Name = "spear"; break;

            case 22: weapon = new Club(); weapon.Name = "club"; break;

            case 23: weapon = new HammerPick(); weapon.Name = "hammer pick"; break;

            case 24: weapon = new Mace(); weapon.Name = "mace"; break;

            case 25: weapon = new Maul(); weapon.Name = "maul"; break;

            case 26: weapon = new WarHammer(); weapon.Name = "war hammer"; break;

            case 27: weapon = new WarMace(); weapon.Name = "war mace"; break;
            }

            weapon.Name = "urkish " + weapon.Name;
            weapon.Hue  = 0x7D1;
            ((BaseWeapon)weapon).AosElementDamages.Physical = 60;
            ((BaseWeapon)weapon).AosElementDamages.Poison   = 40;
            AddItem(weapon);

            switch (Utility.RandomMinMax(0, 5))
            {
            case 0: Title = "the urk warrior"; break;

            case 1: Title = "the urk savage"; break;

            case 2: Title = "the urk barbarian"; break;

            case 3: Title = "the urk fighter"; break;

            case 4: Title = "the urk gladiator"; break;

            case 5: Title = "the urk berserker"; break;
            }

            SetStr(196, 250);
            SetDex(76, 95);
            SetInt(36, 60);

            SetHits(118, 150);

            SetDamage(8, 18);

            SetDamageType(ResistanceType.Physical, 60);
            SetDamageType(ResistanceType.Poison, 40);

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

            SetSkill(SkillName.MagicResist, 65.1, 80.0);
            SetSkill(SkillName.Tactics, 85.1, 100.0);
            SetSkill(SkillName.Macing, 85.1, 95.0);
            SetSkill(SkillName.Swords, 85.1, 95.0);
            SetSkill(SkillName.Fencing, 85.1, 95.0);
            SetSkill(SkillName.Wrestling, 85.1, 95.0);

            Fame  = 3000;
            Karma = -3000;

            VirtualArmor = 40;
        }
예제 #6
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);
        }