Exemple #1
0
        public override void Drink(Mobile from)
        {
            TeiravonMobile m_Player = (TeiravonMobile)from;

            if (m_Player.CanDrink(PEffect))
            {
                StatMod OrcGrowthSTRMod = new StatMod(StatType.Str, (int)m_Player.Serial + " Growth Str", 50, TimeSpan.FromMinutes(10));
                m_Player.AddStatMod(OrcGrowthSTRMod);

                if (m_Player.IsOrc())
                {
                    m_Player.OBody = 0xBD;                     // orc brute
                }
                else if (m_Player.IsDwarf())
                {
                    m_Player.OBody = 0x4C;                     // Titan
                }
                else if (m_Player.IsDrow())
                {
                    m_Player.OBody = 0xAD;                     //Mephitis
                }
                else if (m_Player.IsElf())
                {
                    m_Player.OBody = 0x12D;                     // tree fellow
                }
                else if (m_Player.IsHuman())
                {
                    m_Player.OBody = 0x137;                     // shadow knight
                }
            }

            base.Drink(from);
        }
Exemple #2
0
        public override void AlterLightLevel(Mobile m, ref int global, ref int personal)
        {
            if (Dungeon)
            {
                if (m is TeiravonMobile)
                {
                    TeiravonMobile tm = (TeiravonMobile)m;

                    if (tm.IsDrow() || tm.IsDwarf() || tm.IsGnome() || tm.AccessLevel > AccessLevel.Player)
                    {
                        global = LightCycle.DayLevel;
                    }
                    else if (tm.IsElf() || tm.IsOrc() || tm.IsGoblin())
                    {
                        global = LightCycle.DungeonLevel / 2;
                    }
                    else
                    {
                        global = LightCycle.DungeonLevel;
                    }
                }
            }

            base.AlterLightLevel(m, ref global, ref personal);
        }
        public override void CustomSystem(Mobile thePlayer)
        {
            TeiravonMobile m_Player = (TeiravonMobile)thePlayer;
            int            index    = -1;

            // Other Items
            index = AddCraft(typeof(Board), 1044294, "Boards", 0.0, 20.0, typeof(Log), "Logs", 1, 1044351);
            SetUseAllRes(index, true);
            AddCraft(typeof(BarrelStaves), 1044294, 1027857, 00.0, 25.0, typeof(Log), 1044041, 5, 1044351);
            AddCraft(typeof(BarrelLid), 1044294, 1027608, 11.0, 36.0, typeof(Log), 1044041, 4, 1044351);
            AddCraft(typeof(ShortMusicStand), 1044294, 1044313, 78.9, 100.0, typeof(Log), 1044041, 15, 1044351);
            AddCraft(typeof(TallMusicStand), 1044294, 1044315, 81.5, 100.0, typeof(Log), 1044041, 20, 1044351);
            AddCraft(typeof(Easle), 1044294, 1044317, 86.8, 100.0, typeof(Log), 1044041, 20, 1044351);

            if (Core.SE)
            {
                /*
                 * index = AddCraft( typeof( RedHangingLantern ), 1044294, 1029412, 65.0, 90.0, typeof( Log ), 1044041, 5, 1044351 );
                 * AddRes( index, typeof( BlankScroll ), 1044377, 10, 1044378 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( WhiteHangingLantern ), 1044294, 1029416, 65.0, 90.0, typeof( Log ), 1044041, 5, 1044351 );
                 * AddRes( index, typeof( BlankScroll ), 1044377, 10, 1044378 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( ShojiScreen ), 1044294, 1029423, 80.0, 105.0, typeof( Log ), 1044041, 75, 1044351 );
                 * AddSkill( index, SkillName.Tailoring, 50.0, 55.0 );
                 * AddRes( index, typeof( Cloth ), 1044286, 60, 1044287 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( BambooScreen ), 1044294, 1029428, 80.0, 105.0, typeof( Log ), 1044041, 75, 1044351 );
                 * AddSkill( index, SkillName.Tailoring, 50.0, 55.0 );
                 * AddRes( index, typeof( Cloth ), 1044286, 60, 1044287 );
                 * SetNeedSE( index, true );
                 */
            }

            // Furniture
            AddCraft(typeof(FootStool), 1044291, 1022910, 11.0, 36.0, typeof(Log), 1044041, 9, 1044351);
            AddCraft(typeof(Stool), 1044291, 1022602, 11.0, 36.0, typeof(Log), 1044041, 9, 1044351);
            AddCraft(typeof(BambooChair), 1044291, 1044300, 21.0, 46.0, typeof(Log), 1044041, 13, 1044351);
            AddCraft(typeof(WoodenChair), 1044291, 1044301, 21.0, 46.0, typeof(Log), 1044041, 13, 1044351);
            AddCraft(typeof(WoodenChairCushion), 1044291, "cushioned chair", 42.1, 67.1, typeof(Log), "Boards or Logs", 13, 1044351);
            AddCraft(typeof(FancyWoodenChairCushion), 1044291, "fancy cushioned chair", 42.1, 67.1, typeof(Log), "Boards or Logs", 15, 1044351);
            AddCraft(typeof(WoodenBench), 1044291, 1022860, 52.6, 77.6, typeof(Log), 1044041, 17, 1044351);
            AddCraft(typeof(WoodenThrone), 1044291, "wooden throne", 52.6, 77.6, typeof(Log), "Boards or Logs", 17, 1044351);
            AddCraft(typeof(Throne), 1044291, "royal throne", 73.6, 98.6, typeof(Log), "Boards or Logs", 19, 1044351);
            AddCraft(typeof(Nightstand), 1044291, 1044306, 42.1, 67.1, typeof(Log), 1044041, 17, 1044351);
            AddCraft(typeof(Counter), 1044291, "Counter", 62.1, 87.1, typeof(Log), 1044041, 22, 1044351);
            AddCraft(typeof(WritingTable), 1044291, 1022890, 63.1, 88.1, typeof(Log), 1044041, 17, 1044351);
            AddCraft(typeof(YewWoodTable), 1044291, "elegant table", 63.1, 88.1, typeof(Log), "Boards or Logs", 23, 1044351);
            AddCraft(typeof(LargeTable), 1044291, "dining table", 80.2, 100.0, typeof(Log), "Boards or Logs", 27, 1044351);

            if (Core.SE)
            {
                /*
                 * index = AddCraft( typeof( ElegantLowTable ),	1044291, 1030265,	80.0, 105.0,	typeof( Log ), 1044041, 35, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( PlainLowTable ),		1044291, 1030266,	80.0, 105.0,	typeof( Log ), 1044041, 35, 1044351 );
                 * SetNeedSE( index, true );
                 */
            }

            // Containers
            AddCraft(typeof(WoodenBox), 1044292, 1023709, 21.0, 46.0, typeof(Log), 1044041, 10, 1044351);
            AddCraft(typeof(SmallCrate), 1044292, 1044309, 10.0, 35.0, typeof(Log), 1044041, 8, 1044351);
            AddCraft(typeof(MediumCrate), 1044292, 1044310, 31.0, 56.0, typeof(Log), 1044041, 15, 1044351);
            AddCraft(typeof(LargeCrate), 1044292, 1044311, 47.3, 72.3, typeof(Log), 1044041, 18, 1044351);
            AddCraft(typeof(WoodenChest), 1044292, 1023650, 73.6, 98.6, typeof(Log), 1044041, 20, 1044351);
            AddCraft(typeof(EmptyBookcase), 1044292, 1022718, 31.5, 56.5, typeof(Log), 1044041, 25, 1044351);
            AddCraft(typeof(FancyArmoire), 1044292, 1044312, 84.2, 105.0, typeof(Log), 1044041, 35, 1044351);
            AddCraft(typeof(Armoire), 1044292, 1022643, 84.2, 105.0, typeof(Log), 1044041, 35, 1044351);
            index = AddCraft(typeof(GraniteBox), 1044292, "Granite Storage Box", 80.0, 100.0, typeof(Log), 1044041, 10, 1044351);
            AddRes(index, typeof(Granite), "Granite", 1);
            index = AddCraft(typeof(Barrel), 1044292, "Barrel", 57.8, 82.8, typeof(BarrelStaves), 1044288, 6, 1044253);
            AddRes(index, typeof(BarrelHoops), 1044289, 2, 1044253);

            if (Core.SE)
            {
                /*
                 * index = AddCraft( typeof( PlainWoodenChest ),	1044292, 1030251, 90.0, 115.0,	typeof( Log ), 1044041, 30, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( OrnateWoodenChest ),	1044292, 1030253, 90.0, 115.0,	typeof( Log ), 1044041, 30, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( GildedWoodenChest ),	1044292, 1030255, 90.0, 115.0,	typeof( Log ), 1044041, 30, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( WoodenFootLocker ),	1044292, 1030257, 90.0, 115.0,	typeof( Log ), 1044041, 30, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( FinishedWoodenChest ),1044292, 1030259, 90.0, 115.0,	typeof( Log ), 1044041, 30, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( TallCabinet ),	1044292, 1030261, 90.0, 115.0,	typeof( Log ), 1044041, 35, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( ShortCabinet ),	1044292, 1030263, 90.0, 115.0,	typeof( Log ), 1044041, 35, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( RedArmoire ),	1044292, 1030328, 90.0, 115.0,	typeof( Log ), 1044041, 40, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( ElegantArmoire ),	1044292, 1030330, 90.0, 115.0,	typeof( Log ), 1044041, 40, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( MapleArmoire ),	1044292, 1030328, 90.0, 115.0,	typeof( Log ), 1044041, 40, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( CherryArmoire ),	1044292, 1030328, 90.0, 115.0,	typeof( Log ), 1044041, 40, 1044351 );
                 * SetNeedSE( index, true );
                 */
            }

            index = AddCraft(typeof(Keg), 1044292, 1023711, 57.8, 82.8, typeof(BarrelStaves), 1044288, 3, 1044253);
            AddRes(index, typeof(BarrelHoops), 1044289, 1, 1044253);
            AddRes(index, typeof(BarrelLid), 1044251, 1, 1044253);

            // Staves and Shields
            AddCraft(typeof(ShepherdsCrook), 1015108, "shepherd\'s crook", 78.9, 103.9, typeof(Log), "Logs", 7);
            AddCraft(typeof(QuarterStaff), 1015108, "quarter staff", 73.6, 98.6, typeof(Log), "Logs", 6);
            AddCraft(typeof(GnarledStaff), 1015108, "gnarled staff", 78.9, 103.9, typeof(Log), "Logs", 7);
            AddCraft(typeof(WoodenShield), 1015108, "wooden shield", 52.6, 77.6, typeof(Log), "Logs", 9);
            index = AddCraft(typeof(FishingPole), 1015108, "fising pole", 68.4, 93.4, typeof(Log), "Logs", 5);
            AddRes(index, typeof(Cloth), 1044286, 5, 1044287);

            if (Core.SE)
            {
                /*
                 * index = AddCraft( typeof( Bokuto ), 1044295, 1030227, 70.0, 95.0, typeof( Log ), 1044041, 6, 1044351 );
                 * SetNeedSE( index, true );
                 *
                 * //index = AddCraft( typeof( Fukiya ), 1044295, 1030229, 60.0, 85.0, typeof( Log ), 1044041, 6, 1044351 );
                 * //SetNeedSE( index, true );
                 *
                 * index = AddCraft( typeof( Tetsubo ), 1044295, 1030225, 85.0, 110.0, typeof( Log ), 1044041, 8, 1044351 );
                 * AddSkill( index, SkillName.Tinkering, 40.0, 45.0 );
                 * AddRes( index, typeof( IronIngot ), 1044036, 5, 1044037 );
                 * SetNeedSE( index, true );
                 */
            }


            // Instruments
            index = AddCraft(typeof(LapHarp), 1044293, 1023762, 63.1, 88.1, typeof(Log), 1044041, 20, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 10, 1044287);

            index = AddCraft(typeof(Harp), 1044293, 1023761, 78.9, 103.9, typeof(Log), 1044041, 35, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 15, 1044287);

            index = AddCraft(typeof(Drums), 1044293, 1023740, 57.8, 82.8, typeof(Log), 1044041, 20, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 10, 1044287);

            index = AddCraft(typeof(Lute), 1044293, 1023763, 68.4, 93.4, typeof(Log), 1044041, 25, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 10, 1044287);

            index = AddCraft(typeof(Tambourine), 1044293, 1023741, 57.8, 82.8, typeof(Log), 1044041, 15, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 10, 1044287);

            index = AddCraft(typeof(TambourineTassel), 1044293, 1044320, 57.8, 82.8, typeof(Log), 1044041, 15, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 15, 1044287);

            // Misc
            index = AddCraft(typeof(SmallBedSouthDeed), 1044290, 1044321, 94.7, 113.1, typeof(Log), 1044041, 100, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 100, 1044287);
            index = AddCraft(typeof(SmallBedEastDeed), 1044290, 1044322, 94.7, 113.1, typeof(Log), 1044041, 100, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 100, 1044287);
            index = AddCraft(typeof(LargeBedSouthDeed), 1044290, 1044323, 94.7, 113.1, typeof(Log), 1044041, 150, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 150, 1044287);
            index = AddCraft(typeof(LargeBedEastDeed), 1044290, 1044324, 94.7, 113.1, typeof(Log), 1044041, 150, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 150, 1044287);
            index = AddCraft(typeof(PentagramDeed), 1044290, 1044328, 100.0, 125.0, typeof(Log), 1044041, 100, 1044351);
            AddRes(index, typeof(IronIngot), 1044036, 40, 1044037);
            index = AddCraft(typeof(AbbatoirDeed), 1044290, 1044329, 100.0, 125.0, typeof(Log), 1044041, 100, 1044351);
            AddRes(index, typeof(IronIngot), 1044036, 40, 1044037);

            if (Core.AOS)
            {
                AddCraft(typeof(PlayerBBEast), 1044290, 1062420, 85.0, 110.0, typeof(Log), 1044041, 50, 1044351);
                AddCraft(typeof(PlayerBBSouth), 1044290, 1062421, 85.0, 110.0, typeof(Log), 1044041, 50, 1044351);
            }

            // Blacksmithy
            index = AddCraft(typeof(SmallForgeDeed), 1044296, 1044330, 73.6, 98.6, typeof(Log), 1044041, 5, 1044351);
            AddRes(index, typeof(IronIngot), 1044036, 75, 1044037);
            index = AddCraft(typeof(LargeForgeEastDeed), 1044296, 1044331, 78.9, 103.9, typeof(Log), 1044041, 5, 1044351);
            AddRes(index, typeof(IronIngot), 1044036, 100, 1044037);
            index = AddCraft(typeof(LargeForgeSouthDeed), 1044296, 1044332, 78.9, 103.9, typeof(Log), 1044041, 5, 1044351);
            AddRes(index, typeof(IronIngot), 1044036, 100, 1044037);
            index = AddCraft(typeof(AnvilEastDeed), 1044296, 1044333, 73.6, 98.6, typeof(Log), 1044041, 5, 1044351);
            AddRes(index, typeof(IronIngot), 1044036, 150, 1044037);
            index = AddCraft(typeof(AnvilSouthDeed), 1044296, 1044334, 73.6, 98.6, typeof(Log), 1044041, 5, 1044351);
            AddRes(index, typeof(IronIngot), 1044036, 150, 1044037);

            // Training
            index = AddCraft(typeof(TrainingDummyEastDeed), 1044297, 1044335, 68.4, 93.4, typeof(Log), 1044041, 55, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 60, 1044287);
            index = AddCraft(typeof(TrainingDummySouthDeed), 1044297, 1044336, 68.4, 93.4, typeof(Log), 1044041, 55, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 60, 1044287);
            index = AddCraft(typeof(PickpocketDipEastDeed), 1044297, 1044337, 73.6, 98.6, typeof(Log), 1044041, 65, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 60, 1044287);
            index = AddCraft(typeof(PickpocketDipSouthDeed), 1044297, 1044338, 73.6, 98.6, typeof(Log), 1044041, 65, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 60, 1044287);

            // Tailoring
            index = AddCraft(typeof(Dressform), 1044298, 1044339, 63.1, 88.1, typeof(Log), 1044041, 25, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 10, 1044287);
            index = AddCraft(typeof(SpinningwheelEastDeed), 1044298, 1044341, 73.6, 98.6, typeof(Log), 1044041, 75, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 25, 1044287);
            index = AddCraft(typeof(SpinningwheelSouthDeed), 1044298, 1044342, 73.6, 98.6, typeof(Log), 1044041, 75, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 25, 1044287);
            index = AddCraft(typeof(LoomEastDeed), 1044298, 1044343, 84.2, 109.2, typeof(Log), 1044041, 85, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 25, 1044287);
            index = AddCraft(typeof(LoomSouthDeed), 1044298, 1044344, 84.2, 109.2, typeof(Log), 1044041, 85, 1044351);
            AddRes(index, typeof(Cloth), 1044286, 25, 1044287);

            // Cooking
            index = AddCraft(typeof(StoneOvenEastDeed), 1044298, 1044345, 68.4, 93.4, typeof(Log), 1044041, 85, 1044351);
            AddSkill(index, SkillName.Tinkering, 50.0, 55.0);
            AddRes(index, typeof(IronIngot), 1044036, 125, 1044037);
            index = AddCraft(typeof(StoneOvenSouthDeed), 1044298, 1044346, 68.4, 93.4, typeof(Log), 1044041, 85, 1044351);
            AddSkill(index, SkillName.Tinkering, 50.0, 55.0);
            AddRes(index, typeof(IronIngot), 1044036, 125, 1044037);
            index = AddCraft(typeof(FlourMillEastDeed), 1044298, 1044347, 94.7, 119.7, typeof(Log), 1044041, 100, 1044351);
            AddSkill(index, SkillName.Tinkering, 50.0, 55.0);
            AddRes(index, typeof(IronIngot), 1044036, 50, 1044037);
            index = AddCraft(typeof(FlourMillSouthDeed), 1044298, 1044348, 94.7, 119.7, typeof(Log), 1044041, 100, 1044351);
            AddSkill(index, SkillName.Tinkering, 50.0, 55.0);
            AddRes(index, typeof(IronIngot), 1044036, 50, 1044037);
            AddCraft(typeof(WaterTroughEastDeed), 1044298, 1044349, 94.7, 119.7, typeof(Log), 1044041, 150, 1044351);
            AddCraft(typeof(WaterTroughSouthDeed), 1044298, 1044350, 94.7, 119.7, typeof(Log), 1044041, 150, 1044351);

            //Frostcraft
            if (m_Player.IsFrostling())
            {
                index = AddCraft(typeof(FrostPick), "Frostcraft", "Frostpick", 0.0, 20.0, typeof(Snow), "Snow", 2);
                AddRes(index, typeof(Ice), "Frost", 1);
                AddCraft(typeof(Frostcarver), "Frostcraft", "Frostcarver", 0, 25.0, typeof(Snow), "Snow", 3);
            }

            /*
             * // Housing
             * index = AddCraft(typeof(StonePlasterHouseDeed), "Housing", "Modest Stone and Plaster House", 95.0, 100.0, typeof(Log), 1044041, 400, 1044351);
             * AddRes ( index, typeof ( Granite ), "Stone", 100);
             * AddRes ( index, typeof (Nails ), "Nails", 500);
             */
            if ((m_Player.HasFeat(TeiravonMobile.Feats.RacialCrafting) || m_Player.HasFeat(TeiravonMobile.Feats.MasterCraftsman)) && (m_Player.IsWoodworker() || m_Player.IsMerchant()))
            {
                if (m_Player.IsHuman())
                {
                    index = AddCraft(typeof(SmallBoatDeed), "Racials", "Small Boat", 95.0, 120.0, typeof(RedwoodLog), "Red Wood Logs", 500);
                    AddRes(index, typeof(IronIngot), "Iron Ingots", 100);
                    AddRes(index, typeof(Cloth), "Cloth", 100);
                    index = AddCraft(typeof(SmallDragonBoatDeed), "Racials", "Small Dragon Boat", 95.0, 120.0, typeof(RedwoodLog), "Red Wood Logs", 500);
                    AddRes(index, typeof(IronIngot), "Iron Ingots", 100);
                    AddRes(index, typeof(Cloth), "Cloth", 100);
                    index = AddCraft(typeof(MediumBoatDeed), "Racials", "Medium Boat", 95.0, 120.0, typeof(RedwoodLog), "Red Wood Logs", 750);
                    AddRes(index, typeof(IronIngot), "Iron Ingots", 150);
                    AddRes(index, typeof(Cloth), "Cloth", 150);
                    index = AddCraft(typeof(MediumDragonBoatDeed), "Racials", "Medium Dragon Boat", 95.0, 120.0, typeof(RedwoodLog), "Red Wood Logs", 750);
                    AddRes(index, typeof(IronIngot), "Iron Ingots", 150);
                    AddRes(index, typeof(Cloth), "Cloth", 150);
                    index = AddCraft(typeof(LargeBoatDeed), "Racials", "Large Boat", 95.0, 120.0, typeof(RedwoodLog), "Red Wood Logs", 1000);
                    AddRes(index, typeof(IronIngot), "Iron Ingots", 200);
                    AddRes(index, typeof(Cloth), "Cloth", 200);
                    index = AddCraft(typeof(LargeDragonBoatDeed), "Racials", "Large Dragon Boat", 95.0, 120.0, typeof(RedwoodLog), "Red Wood Logs", 1000);
                    AddRes(index, typeof(IronIngot), "Iron Ingots", 200);
                    AddRes(index, typeof(Cloth), "Cloth", 200);
                }
                else if (m_Player.IsOrc())
                {
                    index = AddCraft(typeof(OrcPalisadeSouthDeed), "Racials", "Palisade (south)", 95.0, 120.0, typeof(PineLog), "Pine Logs", 100);
                    index = AddCraft(typeof(OrcPalisadeEastDeed), "Racials", "Palisade (east)", 95.0, 120.0, typeof(PineLog), "Pine Logs", 100);
                    index = AddCraft(typeof(OrcCombatBridgeDeed), "Racials", "Combat Bridge Section", 95.0, 120.0, typeof(PineLog), "Pine Logs", 100);
                }
                else if (m_Player.IsDrow())
                {
                    index = AddCraft(typeof(DrowBladedStaff), "Racials", "Drow Bladed Staff", 95.0, 120.0, typeof(Log), "Logs", 15);
                    AddRes(index, typeof(VeriteIngot), "Verite Ingots", 10);
                    index = AddCraft(typeof(DrowDoubleBladedStaff), "Racials", "Drow Double Bladed Staff", 95.0, 120.0, typeof(Log), "Logs", 15);
                    AddRes(index, typeof(VeriteIngot), "Verite Ingots", 20);
                }
                else if (m_Player.IsDwarf())
                {
                }
                else if (m_Player.IsElf())
                {
                    index = AddCraft(typeof(ElvenPracticeSword), "Racials", "Practice Sword", 95.0, 120.0, typeof(YewLog), "Yew Logs", 10);
                    index = AddCraft(typeof(ElvenShield), "Racials", "Elven Shield", 95.0, 120.0, typeof(Log), "Logs", 25);
                    AddRes(index, typeof(HornedLeather), "Horned Leather", 10);
                }
            }


            // Set the overidable material
            SetSubRes(typeof(Log), "Oak");

            // Add every material you want the player to be able to chose from
            // This will overide the overidable material
            AddSubRes(typeof(Log), "Oak", 0.0, "You don't have enough skill/resources for that.");
            AddSubRes(typeof(PineLog), "Pine", 35.0, "You don't have enough skill/resources for that.");
            AddSubRes(typeof(RedwoodLog), "Redwood", 55.0, "You don't have enough skill/resources for that.");
            AddSubRes(typeof(WhitePineLog), "White Pine", 65.0, "You don't have enough skill/resources for that.");
            AddSubRes(typeof(AshwoodLog), "Ashwood", 75.0, "You don't have enough skill/resources for that.");
            AddSubRes(typeof(SilverBirchLog), "Silver Birch", 85.0, "You don't have enough skill/resources for that.");
            AddSubRes(typeof(YewLog), "Yew", 95.0, "You don't have enough skill/resources for that.");
            AddSubRes(typeof(BlackOakLog), "Black Oak", 100.0, "You don't have enough skill/resources for that.");

            MarkOption = true;
            Repair     = Core.AOS;
            CanEnhance = false;
            CanFinish  = true;
        }
        public static int ComputeLevelFor(Mobile from)
        {
            if (m_LevelOverride > int.MinValue)
            {
                return(m_LevelOverride);
            }

            bool teiravon     = false;
            bool drow         = false;
            bool lowlight     = false;
            bool shapeshifted = false;

            if (from is TeiravonMobile)
            {
                teiravon = true;

                TeiravonMobile m_Player = (TeiravonMobile)from;

                if (m_Player.IsDrow())
                {
                    drow = true;
                }

                else if (m_Player.IsElf() || m_Player.IsDwarf() || m_Player.IsDuergar() || m_Player.IsOrc() || m_Player.IsHalfElf() || m_Player.IsGoblin() || m_Player.IsGnome())
                {
                    lowlight = true;
                }

                else if (m_Player.IsShifted() && m_Player.Shapeshifted)
                {
                    shapeshifted = true;
                }
            }

            int hours, minutes;

            Server.Items.Clock.GetTime(from.Map, from.X, from.Y, out hours, out minutes);

            /* OSI times:
             *
             * Midnight ->  3:59 AM : Night
             *  4:00 AM -> 11:59 PM : Day
             *
             * RunUO times:
             *
             * 10:00 PM -> 11:59 PM : Scale to night
             * Midnight ->  3:59 AM : Night
             *  4:00 AM ->  5:59 AM : Scale to day
             *  6:00 AM ->  9:59 PM : Day
             *
             * Drow times:
             *
             * 10:00 PM -> 11:59 PM : Scale to day
             * Midnight ->  3:59 AM : Day
             *  4:00 AM ->  5:59 AM : Scale to night
             *  6:00 AM ->  9:59 PM : Night
             */

            if (!teiravon)
            {
                if (hours < 4)
                {
                    return(NightLevel);
                }

                if (hours < 6)
                {
                    return(NightLevel + (((((hours - 4) * 60) + minutes) * (DayLevel - NightLevel)) / 120));
                }

                if (hours < 22)
                {
                    return(DayLevel);
                }

                if (hours < 24)
                {
                    return(DayLevel + (((((hours - 22) * 60) + minutes) * (NightLevel - DayLevel)) / 120));
                }
            }
            else
            {
                if (!drow && !lowlight && !shapeshifted)
                {
                    // No Low-Light vision or Infravision
                    if (hours < 4)
                    {
                        return(NightLevel);
                    }

                    if (hours < 6)
                    {
                        return(NightLevel + (((((hours - 4) * 60) + minutes) * (DayLevel - NightLevel)) / 120));
                    }

                    if (hours < 22)
                    {
                        return(DayLevel);
                    }

                    if (hours < 24)
                    {
                        return(DayLevel + (((((hours - 22) * 60) + minutes) * (NightLevel - DayLevel)) / 120));
                    }
                }
                else if (shapeshifted && !drow)
                {
                    if (hours < 4)                       //goes from 10 to 5
                    {
                        return(10 - ((((hours * 60) + minutes) * 5) / 240));
                    }

                    if (hours < 6)                      //goes from 5 -> 0
                    {
                        return(5 - (((((hours - 4) * 60) + minutes) * 5) / 120));
                    }

                    if (hours < 22)                       //is zero during daytime
                    {
                        return(DayLevel);
                    }

                    if (hours < 24)                       //goes from 0 -> 10
                    {
                        return(DayLevel + (((((hours - 22) * 60) + minutes) * 10) / 120));
                    }
                }
                else if (lowlight)
                {
                    // Low-Light vision
                    if (hours < 4)                       //goes from 12 to 6
                    {
                        return(12 - ((((hours * 60) + minutes) * 6) / 240));
                    }

                    if (hours < 6)                       //goes from 6 to 0
                    {
                        return(6 - (((((hours - 4) * 60) + minutes) * 6) / 120));
                    }

                    if (hours < 22)                       //zero
                    {
                        return(DayLevel);
                    }

                    if (hours < 24)                       //goes from 0 to 12
                    {
                        return(DayLevel + (((((hours - 22) * 60) + minutes) * 12) / 120));
                    }
                }
                else
                {
                    // Simulate Drow infravision
                    int light = 0;

                    if (hours < 4)
                    {
                        return(DayLevel);
                    }

                    if (hours < 6)
                    {
                        light = DayLevel + (((((hours - 4) * 60) + minutes) * (NightLevel - DayLevel)) / 120);
                        return(((light > DungeonLevel) || (light < 0)) ? DungeonLevel : light);
                    }

                    if (hours < 22)
                    {
                        return(NightLevel);
                    }

                    if (hours < 24)
                    {
                        light = NightLevel + (((((hours - 22) * 60) + minutes) * (DayLevel - NightLevel)) / 120);
                        return(((light > DungeonLevel) || (light < 0)) ? DungeonLevel : light);
                    }
                }
            }

            return(NightLevel);            // should never be
        }
Exemple #5
0
        public override void CustomSystem(Mobile thePlayer)
        {
            TeiravonMobile m_Player = (TeiravonMobile)thePlayer;
            int            index    = -1;

            /* Begin Ingrediants */
            //index = AddCraft( typeof( SackFlour ), 1044495, 1024153, 0.0, 100.0, typeof( Wheat ), 1044489, 1, 1044490 );

            index = AddCraft(typeof(Dough), 1044495, 1024157, 20.0, 60.0, typeof(SackFlour), 1044468, 1, 1044253);
            AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);

            index = AddCraft(typeof(SweetDough), 1044495, 1041340, 60.0, 100.0, typeof(Dough), 1044469, 1, 1044253);
            AddRes(index, typeof(JarHoney), 1044472, 1, 1044253);

            index = AddCraft(typeof(CakeMix), 1044495, 1041002, 80.0, 110.0, typeof(SackFlour), 1044468, 1, 1044253);
            AddRes(index, typeof(SweetDough), 1044475, 1, 1044253);

            index = AddCraft(typeof(CookieMix), 1044495, 1024159, 70.0, 100.0, typeof(JarHoney), 1044472, 1, 1044253);
            AddRes(index, typeof(SweetDough), 1044475, 1, 1044253);
            /* End Ingrediants */

            /* Begin Preparations */
            index = AddCraft(typeof(UnbakedQuiche), 1044496, 1041339, 70.0, 110.0, typeof(Dough), 1044469, 1, 1044253);
            AddRes(index, typeof(Eggs), 1044477, 1, 1044253);

            // TODO: This must also support chicken and lamb legs
            index = AddCraft(typeof(UnbakedMeatPie), 1044496, 1041338, 50.0, 100.0, typeof(Dough), 1044469, 1, 1044253);
            AddRes(index, typeof(RawRibs), 1044482, 1, 1044253);

            index = AddCraft(typeof(UncookedSausagePizza), 1044496, 1041337, 60.0, 100.0, typeof(Dough), 1044469, 1, 1044253);
            AddRes(index, typeof(Sausage), 1044483, 1, 1044253);

            index = AddCraft(typeof(UncookedCheesePizza), 1044496, 1041341, 60.0, 100.0, typeof(Dough), 1044469, 1, 1044253);
            AddRes(index, typeof(CheeseWheel), 1044486, 1, 1044253);

            index = AddCraft(typeof(UnbakedFruitPie), 1044496, 1041334, 50.0, 100.0, typeof(Dough), 1044469, 1, 1044253);
            AddRes(index, typeof(Pear), 1044481, 1, 1044253);

            index = AddCraft(typeof(UnbakedPeachCobbler), 1044496, 1041335, 50.0, 100.0, typeof(Dough), 1044469, 1, 1044253);
            AddRes(index, typeof(Peach), 1044480, 1, 1044253);

            index = AddCraft(typeof(UnbakedApplePie), 1044496, 1041336, 50.0, 100.0, typeof(Dough), 1044469, 1, 1044253);
            AddRes(index, typeof(Apple), 1044479, 1, 1044253);

            index = AddCraft(typeof(UnbakedPumpkinPie), 1044496, 1041342, 50.0, 100.0, typeof(Dough), 1044469, 1, 1044253);
            AddRes(index, typeof(Pumpkin), 1044484, 1, 1044253);

            index = AddCraft(typeof(TribalPaint), 1044496, 1040000, 80.0, 80.0, typeof(SackFlour), 1044468, 1, 1044253);
            AddRes(index, typeof(TribalBerry), 1046460, 1, 1044253);
            /* End Preparations */

            /* Begin Baking */
            index = AddCraft(typeof(BreadLoaf), 1044497, 1024156, 60.0, 100.0, typeof(Dough), 1044469, 1, 1044253);
            SetNeedOven(index, true);

            index = AddCraft(typeof(Cookies), 1044497, 1025643, 70.0, 100.0, typeof(CookieMix), 1044474, 1, 1044253);
            SetNeedOven(index, true);

            index = AddCraft(typeof(Cake), 1044497, 1022537, 80.0, 110.0, typeof(CakeMix), 1044471, 1, 1044253);
            SetNeedOven(index, true);

            index = AddCraft(typeof(Muffins), 1044497, 1022539, 40.0, 90.0, typeof(SweetDough), 1044475, 1, 1044253);
            SetNeedOven(index, true);

            index = AddCraft(typeof(Quiche), 1044497, 1041345, 70.0, 110.0, typeof(UnbakedQuiche), 1044518, 1, 1044253);
            SetNeedOven(index, true);

            index = AddCraft(typeof(MeatPie), 1044497, 1041347, 50.0, 100.0, typeof(UnbakedMeatPie), 1044519, 1, 1044253);
            SetNeedOven(index, true);

            index = AddCraft(typeof(SausagePizza), 1044497, 1044517, 60.0, 100.0, typeof(UncookedSausagePizza), 1044520, 1, 1044253);
            SetNeedOven(index, true);

            index = AddCraft(typeof(CheesePizza), 1044497, 1044516, 60.0, 100.0, typeof(UncookedCheesePizza), 1044521, 1, 1044253);
            SetNeedOven(index, true);

            index = AddCraft(typeof(FruitPie), 1044497, 1041346, 50.0, 100.0, typeof(UnbakedFruitPie), 1044522, 1, 1044253);
            SetNeedOven(index, true);

            index = AddCraft(typeof(PeachCobbler), 1044497, 1041344, 50.0, 100.0, typeof(UnbakedPeachCobbler), 1044523, 1, 1044253);
            SetNeedOven(index, true);

            index = AddCraft(typeof(ApplePie), 1044497, 1041343, 50.0, 100.0, typeof(UnbakedApplePie), 1044524, 1, 1044253);
            SetNeedOven(index, true);

            index = AddCraft(typeof(PumpkinPie), 1044497, 1041348, 50.0, 100.0, typeof(UnbakedPumpkinPie), 1046461, 1, 1044253);
            SetNeedOven(index, true);
            /* End Baking */

            /* Begin Barbecue */
            index = AddCraft(typeof(CookedBird), 1044498, 1022487, 20.0, 80.0, typeof(RawBird), 1044470, 1, 1044253);
            SetNeedHeat(index, true);
            SetUseAllRes(index, true);

            index = AddCraft(typeof(ChickenLeg), 1044498, 1025640, 0.0, 60.0, typeof(RawChickenLeg), 1044473, 1, 1044253);
            SetNeedHeat(index, true);
            SetUseAllRes(index, true);

            index = AddCraft(typeof(FishSteak), 1044498, 1022427, 0.0, 60.0, typeof(RawFishSteak), 1044476, 1, 1044253);
            SetNeedHeat(index, true);
            SetUseAllRes(index, true);

            index = AddCraft(typeof(FriedEggs), 1044498, 1022486, 15.0, 75.0, typeof(Eggs), 1044477, 1, 1044253);
            SetNeedHeat(index, true);
            SetUseAllRes(index, true);

            index = AddCraft(typeof(LambLeg), 1044498, 1025642, 10.0, 70.0, typeof(RawLambLeg), 1044478, 1, 1044253);
            SetNeedHeat(index, true);
            SetUseAllRes(index, true);

            index = AddCraft(typeof(Ribs), 1044498, 1022546, 0.0, 60.0, typeof(RawRibs), 1044485, 1, 1044253);
            SetNeedHeat(index, true);
            SetUseAllRes(index, true);
            /* End Barbecue */

            /* Begin Misc */
            index = AddCraft(typeof(Stew), 1015283, "Stew", 20.0, 65.0, typeof(RawRibs), 1044485, 1);
            AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
            AddRes(index, typeof(Carrot), "Carrot", 2, 1044253);
            SetNeedHeat(index, true);
            index = AddCraft(typeof(GrapeJelly), 1015283, "Grape Jelly", 40.0, 85.0, typeof(Grapes), "Grapes", 1);
            AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
            AddRes(index, typeof(JarHoney), 1044472, 1, 1044253);
            index = AddCraft(typeof(PeachJam), 1015283, "Peach Jam", 40.0, 85.0, typeof(Peach), "Peach", 1);
            AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
            AddRes(index, typeof(JarHoney), 1044472, 1, 1044253);
            index = AddCraft(typeof(Tarte), 1015283, "Tarte", 60.0, 105.0, typeof(Apple), "Apple", 1);
            AddRes(index, typeof(Pear), 1044481, 1, 1044253);
            AddRes(index, typeof(SweetDough), 1044475, 1, 1044253);
            SetNeedOven(index, true);
            index = AddCraft(typeof(Marshmallow), 1015283, "Marshmallow", 50.0, 95.0, typeof(JarHoney), 1044472, 1, 1044253);
            AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
            SetNeedOven(index, true);
            index = AddCraft(typeof(SweetMutton), 1015283, "Sweet Mutton", 30.0, 75.0, typeof(RawLambLeg), 1044478, 1, 1044253);
            AddRes(index, typeof(JarHoney), 1044472, 1, 1044253);
            SetNeedHeat(index, true);

            /* End Misc */

            if ((m_Player.HasFeat(TeiravonMobile.Feats.RacialCrafting) || m_Player.HasFeat(TeiravonMobile.Feats.MasterCraftsman)) && (m_Player.IsCook() || m_Player.IsMerchant()))
            {
                if (m_Player.IsHuman())
                {
                    index = AddCraft(typeof(HumanWine), "Racials", "Mead", 95.0, 120.0, typeof(JarHoney), "Honey", 3);
                    AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
                    index = AddCraft(typeof(HumanAle), "Racials", "Royal Ale", 95.0, 120.0, typeof(Dough), "Dough", 1);
                    AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
                    index = AddCraft(typeof(HumanBrandy), "Racials", "Peach Brandy", 95.0, 120.0, typeof(Peach), "Peach", 2);
                    AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
                    AddRes(index, typeof(JarHoney), 1044472, 1, 1044253);
                }
                else if (m_Player.IsOrc())
                {
                    index = AddCraft(typeof(OrcMrog), "Racials", "Mrog", 95.0, 120.0, typeof(RawLambLeg), "Raw Lamb Leg", 1);
                    AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
                    index = AddCraft(typeof(OrcAle), "Racials", "Blood Beer", 95.0, 120.0, typeof(Fish), "Fish", 1);
                    AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
                }
                else if (m_Player.IsDrow())
                {
                    index = AddCraft(typeof(DrowWine), "Racials", "Black Widow Wine", 95.0, 120.0, typeof(Nightshade), "Nightshade", 1);
                    AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
                    index = AddCraft(typeof(DrowAle), "Racials", "Arachnid Ale", 95.0, 120.0, typeof(SpidersSilk), "Spider Silk", 1);
                    AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
                }
                else if (m_Player.IsDwarf())
                {
                    index = AddCraft(typeof(DwarvenAle), "Racials", "Troll Liver Ale", 95.0, 120.0, typeof(TrollLiver), "TrollLiver", 1);
                    AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
                    index = AddCraft(typeof(DwarvenBeer), "Racials", "Granitebreaker Beer", 95.0, 120.0, typeof(Granite), "Granite", 1);
                    AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
                }
                else if (m_Player.IsElf())
                {
                    index = AddCraft(typeof(ElvenFaeWine), "Racials", "Fae Wine", 95.0, 120.0, typeof(Watermelon), "Watermelon", 1);
                    AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
                    AddRes(index, typeof(JarHoney), 1044472, 1, 1044253);
                    index = AddCraft(typeof(ElvenAle), "Racials", "Winterfrost Ale", 95.0, 120.0, typeof(Pumpkin), "Pumpkin", 1);
                    AddRes(index, typeof(BaseBeverage), 1046458, 1, 1044253);
                }
            }
        }
        public override void OnMovement(Mobile m, Point3D oldLocation)
        {
            if (!m.Player)
            {
                return;
            }

            TeiravonMobile m_Player = (TeiravonMobile)m;

            if (!CanSee(m))
            {
                return;
            }

            if (!InRange(m, 5) || InRange(oldLocation, 5))
            {
                return;                 // only talk when they enter 5 tile range
            }
            switch (m_Town)
            {
            case TownEnum.Edana:
                if (m_Player.IsOrc() || m_Player.IsDrow())
                {
                    SayTo(m, "Please don't hurt me!  GUARDS!  GUARDS!");
                }
                //else if ( m_Player.CurrentLanguage != TeiravonMobile.LCommon )
                //	SayTo( m, "Hello! I'm sorry, I don't know " + m_Player.CurrentLanguage + " language, but hello!" );
                else if (m_Player.IsDwarf())
                {
                    SayTo(m, "Hello little person!  Aren't you adorable?");
                }
                else
                {
                    SayTo(m, "Hello there!");
                }
                break;

            case TownEnum.FortressEntrigan:
                SayTo(m, "Good day to you.");
                break;

            case TownEnum.Tilverton:
                if (m_Player.IsOrc() || m_Player.IsDrow())
                {
                    SayTo(m, "Oh, uh, excuse me... I'm just... excuse me, I'll be going...");
                }
                else if (m_Player.IsElf())
                {
                    SayTo(m, "Pointed-ear freak... get out of our city!");
                }
                else if (m_Player.IsDwarf())
                {
                    SayTo(m, "Oh great, a midget.  What are you doing here, midget?");
                }
                else
                {
                    SayTo(m, "You don't look like you're from around here.  You should leave while you can...");
                }
                break;

            case TownEnum.Arandor:
            case TownEnum.Tihrindo:
                SayTo(m, "Good day to you.");
                break;

            case TownEnum.Revelstone:
                SayTo(m, "Good day to you.");
                break;
            }
        }
        public static Chart CompileRaceChart()
        {
            PieChart chart = new PieChart("Race Distribution", "graphs_race_distrib", true);

            ChartItem humanItem = new ChartItem("Humans", 0);
            ChartItem elfItem   = new ChartItem("Elves", 0);
            ChartItem dwarfItem = new ChartItem("Dwarves", 0);
            ChartItem drowItem  = new ChartItem("Drow", 0);
            ChartItem orcItem   = new ChartItem("Orcs", 0);
            ChartItem gnomeItem = new ChartItem("Gnomes", 0);
            ChartItem gobItem   = new ChartItem("Goblins", 0);
            ChartItem frostItem = new ChartItem("Frostling", 0);


            foreach (Mobile mob in World.Mobiles.Values)
            {
                if (mob != null && mob is TeiravonMobile)
                {
                    TeiravonMobile tav  = mob as TeiravonMobile;
                    Account        acct = (Account)tav.Account;
                    if ((acct.LastLogin + TimeSpan.FromDays(30.0)) < DateTime.Now)
                    {
                        continue;
                    }

                    if (tav.IsHuman())
                    {
                        humanItem.Value++;
                    }
                    else if (tav.IsElf())
                    {
                        elfItem.Value++;
                    }
                    else if (tav.IsDwarf())
                    {
                        dwarfItem.Value++;
                    }
                    else if (tav.IsDrow())
                    {
                        drowItem.Value++;
                    }
                    else if (tav.IsOrc())
                    {
                        orcItem.Value++;
                    }
                    else if (tav.IsGnome())
                    {
                        gnomeItem.Value++;
                    }
                    else if (tav.IsGoblin())
                    {
                        gobItem.Value++;
                    }
                    else if (tav.IsFrostling())
                    {
                        frostItem.Value++;
                    }
                }
            }

            chart.Items.Add(humanItem);
            chart.Items.Add(elfItem);
            chart.Items.Add(dwarfItem);
            chart.Items.Add(drowItem);
            chart.Items.Add(orcItem);
            chart.Items.Add(gnomeItem);
            chart.Items.Add(gobItem);
            chart.Items.Add(frostItem);

            return(chart);
        }
        public override void CustomSystem(Mobile thePlayer)
        {
            TeiravonMobile m_Player = (TeiravonMobile)thePlayer;
            int            index    = -1;

            #region Wooden Items
            AddCraft(typeof(JointingPlane), 1044042, 1024144, 0.0, 50.0, typeof(Log), 1044041, 4, 1044351);
            AddCraft(typeof(MouldingPlane), 1044042, 1024140, 0.0, 50.0, typeof(Log), 1044041, 4, 1044351);
            AddCraft(typeof(SmoothingPlane), 1044042, 1024146, 0.0, 50.0, typeof(Log), 1044041, 4, 1044351);
            AddCraft(typeof(ClockFrame), 1044042, 1024173, 0.0, 50.0, typeof(Log), 1044041, 6, 1044351);
            AddCraft(typeof(Axle), 1044042, 1024187, -25.0, 25.0, typeof(Log), 1044041, 2, 1044351);
            AddCraft(typeof(RollingPin), 1044042, 1024163, 0.0, 50.0, typeof(Log), 1044041, 5, 1044351);

            if (Core.SE)
            {
                /*
                 *      index = AddCraft( typeof( Nunchaku ), 1044042, 1030158, 70.0, 120.0, typeof( IronIngot ), 1044036, 3, 1044037 );
                 *      AddRes( index, typeof( Log ), 1044041, 8, 1044351 );
                 *      SetNeedSE( index, true );
                 */
            }
            #endregion

            #region Tools
            AddCraft(typeof(Scissors), 1044046, 1023998, 5.0, 5.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(MortarPestle), 1044046, 1023739, 5.0, 5.0, typeof(IronIngot), 1044036, 3, 1044037);
            AddCraft(typeof(Scorp), 1044046, 1024327, 5.0, 5.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(TinkerTools), 1044046, 1044164, 5.0, 5.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(Hatchet), 1044046, 1023907, 5.0, 5.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(DrawKnife), 1044046, 1024324, 5.0, 5.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(SewingKit), 1044046, 1023997, 5.0, 5.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(Saw), 1044046, 1024148, 5.0, 5.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(DovetailSaw), 1044046, 1024136, 5.0, 5.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(Froe), 1044046, 1024325, 5.0, 5.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(Shovel), 1044046, 1023898, 5.0, 5.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(Hammer), 1044046, 1024138, 5.0, 5.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(Tongs), 1044046, 1024028, 5.0, 5.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(SmithHammer), 1044046, 1025091, 5.0, 5.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(Inshave), 1044046, 1024326, 5.0, 5.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(Pickaxe), 1044046, 1023718, 5.0, 5.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(Lockpick), 1044046, 1025371, 5.0, 5.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(Skillet), 1044046, 1044567, 5.0, 5.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(FlourSifter), 1044046, 1024158, 5.0, 5.0, typeof(IronIngot), 1044036, 3, 1044037);
            AddCraft(typeof(FletcherTools), 1044046, 1044166, 5.0, 5.0, typeof(IronIngot), 1044036, 3, 1044037);
            AddCraft(typeof(MapmakersPen), 1044046, 1044167, 5.0, 5.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(ScribesPen), 1044046, 1044168, 5.0, 5.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(Blowpipe), 1044046, "Blowpipe", 5.0, 5.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(MalletAndChisel), 1044046, "Mallet and Chisel", 5.0, 5.0, typeof(IronIngot), 1044036, 6, 1044037);
            #endregion

            #region Parts
            AddCraft(typeof(Gears), 1044047, 1024179, 5.0, 55.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(ClockParts), 1044047, 1024175, 25.0, 75.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(BarrelTap), 1044047, 1024100, 35.0, 85.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(Springs), 1044047, 1024189, 5.0, 55.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(SextantParts), 1044047, 1024185, 30.0, 80.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(BarrelHoops), 1044047, 1024321, -15.0, 35.0, typeof(IronIngot), 1044036, 5, 1044037);
            AddCraft(typeof(Hinge), 1044047, 1024181, 5.0, 55.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(BolaBall), 1044047, 1023699, 45.0, 95.0, typeof(IronIngot), 1044036, 10, 1044037);
            #endregion

            #region Utensils
            AddCraft(typeof(ButcherKnife), 1044048, 1025110, 25.0, 75.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(SpoonLeft), 1044048, 1044158, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(SpoonRight), 1044048, 1044159, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(Plate), 1044048, 1022519, 0.0, 50.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(ForkLeft), 1044048, 1044160, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(ForkRight), 1044048, 1044161, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(Cleaver), 1044048, 1023778, 20.0, 70.0, typeof(IronIngot), 1044036, 3, 1044037);
            AddCraft(typeof(KnifeLeft), 1044048, 1044162, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(KnifeRight), 1044048, 1044163, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            AddCraft(typeof(Goblet), 1044048, 1022458, 10.0, 60.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(PewterMug), 1044048, 1024097, 10.0, 60.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(SkinningKnife), 1044048, 1023781, 25.0, 75.0, typeof(IronIngot), 1044036, 2, 1044037);
            #endregion

            #region Misc
            AddCraft(typeof(Candelabra), 1044050, 1022599, 55.0, 105.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(Scales), 1044050, 1026225, 60.0, 110.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(Globe), 1044050, 1024167, 55.0, 105.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(Spyglass), 1044050, 1025365, 60.0, 110.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(Lantern), 1044050, 1022597, 30.0, 80.0, typeof(IronIngot), 1044036, 2, 1044037);
            AddCraft(typeof(HeatingStand), 1044050, 1026217, 60.0, 110.0, typeof(IronIngot), 1044036, 4, 1044037);
            AddCraft(typeof(Engines.Plants.PlantBowl), 1044050, "plant bowl", 15.0, 30.0, typeof(IronIngot), "Ingots", 2, 1044037);
            AddCraft(typeof(Pitcher), 1044050, "metal pitcher", 35.0, 55.0, typeof(IronIngot), "Ingots", 3);
            AddCraft(typeof(Key), 1044050, "blank key", 15.0, 25.0, typeof(IronIngot), "Ingots", 1);
            AddCraft(typeof(KeyRing), 1044050, "key ring", 10.0, 20.0, typeof(IronIngot), "Ingots", 2);
            AddCraft(typeof(Caltrops), 1044050, "caltrops", 50.0, 90.0, typeof(IronIngot), "Ingots", 2);
            AddCraft(typeof(Manacles), 1044050, "Shackles", 60.0, 100.0, typeof(IronIngot), "Ingots", 20);
            AddCraft(typeof(ManacleKey), 1044050, "Shackle Key", 40.0, 80.0, typeof(IronIngot), "Ingots", 5);

            if (Core.SE)
            {
                /*
                 *      index = AddCraft( typeof( ShojiLantern ), 1044050, 1029404, 65.0, 115.0, typeof( IronIngot ), 1044036, 10, 1044037 );
                 *      AddRes( index, typeof( Log ), 1044041, 5, 1044351 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( PaperLantern ), 1044050, 1029406, 65.0, 115.0, typeof( IronIngot ), 1044036, 10, 1044037 );
                 *      AddRes( index, typeof( Log ), 1044041, 5, 1044351 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( RoundPaperLantern ), 1044050, 1029418, 65.0, 115.0, typeof( IronIngot ), 1044036, 10, 1044037 );
                 *      AddRes( index, typeof( Log ), 1044041, 5, 1044351 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( WindChimes ), 1044050, 1030290, 80.0, 130.0, typeof( IronIngot ), 1044036, 15, 1044037 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( FancyWindChimes ), 1044050, 1030291, 80.0, 130.0, typeof( IronIngot ), 1044036, 15, 1044037 );
                 *      SetNeedSE( index, true );
                 */
            }
            #endregion

            #region Jewelry
            index = AddCraft(typeof(SilverBracelet), 1044049, "Silver Bracelet", 45.0, 95.0, typeof(SilverIngot), "Silver Ingot", 4);
            index = AddCraft(typeof(SilverRing), 1044049, "Silver Ring", 40.0, 90.0, typeof(SilverIngot), "Silver Ingot", 3);
            AddJewelrySet(GemType.StarSapphire, typeof(StarSapphire));
            AddJewelrySet(GemType.Emerald, typeof(Emerald));
            AddJewelrySet(GemType.Sapphire, typeof(Sapphire));
            AddJewelrySet(GemType.Ruby, typeof(Ruby));
            AddJewelrySet(GemType.Citrine, typeof(Citrine));
            AddJewelrySet(GemType.Amethyst, typeof(Amethyst));
            AddJewelrySet(GemType.Tourmaline, typeof(Tourmaline));
            AddJewelrySet(GemType.Amber, typeof(Amber));
            AddJewelrySet(GemType.Diamond, typeof(Diamond));


            #endregion

            #region Multi-Component Items
            index = AddCraft(typeof(AxleGears), 1044051, 1024177, 0.0, 0.0, typeof(Axle), 1044169, 1, 1044253);
            AddRes(index, typeof(Gears), 1044254, 1, 1044253);

            index = AddCraft(typeof(ClockParts), 1044051, 1024175, 0.0, 0.0, typeof(AxleGears), 1044170, 1, 1044253);
            AddRes(index, typeof(Springs), 1044171, 1, 1044253);

            index = AddCraft(typeof(SextantParts), 1044051, 1024185, 0.0, 0.0, typeof(AxleGears), 1044170, 1, 1044253);
            AddRes(index, typeof(Hinge), 1044172, 1, 1044253);

            index = AddCraft(typeof(ClockRight), 1044051, 1044257, 0.0, 0.0, typeof(ClockFrame), 1044174, 1, 1044253);
            AddRes(index, typeof(ClockParts), 1044173, 1, 1044253);

            index = AddCraft(typeof(ClockLeft), 1044051, 1044256, 0.0, 0.0, typeof(ClockFrame), 1044174, 1, 1044253);
            AddRes(index, typeof(ClockParts), 1044173, 1, 1044253);

            AddCraft(typeof(Sextant), 1044051, 1024183, 0.0, 0.0, typeof(SextantParts), 1044175, 1, 1044253);

            index = AddCraft(typeof(Bola), 1044051, 1046441, 60.0, 110.0, typeof(BolaBall), 1046440, 4, 1042613);
            AddRes(index, typeof(Leather), 1044462, 3, 1044463);

            index = AddCraft(typeof(PotionKeg), 1044051, 1044258, 75.0, 100.0, typeof(Keg), 1044255, 1, 1044253);
            AddRes(index, typeof(BarrelTap), 1044252, 1, 1044253);
            AddRes(index, typeof(BarrelLid), 1044251, 1, 1044253);
            AddRes(index, typeof(Bottle), 1044250, 10, 1044253);
            #endregion

            if ((m_Player.HasFeat(TeiravonMobile.Feats.RacialCrafting) || m_Player.HasFeat(TeiravonMobile.Feats.MasterCraftsman)) && (m_Player.IsTinker() || m_Player.IsMerchant()))
            {
                if (m_Player.IsHuman())
                {
                    index = AddCraft(typeof(HumanPortableForge), "Racials", "Portable Forge", 95.0, 120.0, typeof(DullCopperIngot), "Dull Copper Ingots", 100);
                    AddRes(index, typeof(Granite), "Granite", 5);
                    AddRes(index, typeof(Log), "Logs", 20);
                    index = AddCraft(typeof(HumanPortableAnvil), "Racials", "Portable Anvil", 95.0, 120.0, typeof(ShadowIronIngot), "Shadow Iron Ingots", 100);
                    AddRes(index, typeof(Granite), "Granite", 5);
                    AddRes(index, typeof(Log), "Logs", 20);
                    index = AddCraft(typeof(HumanSaddlebags), "Racials", "Saddlebags", 95.0, 120.0, typeof(BarbedLeather), "Barbed Leather", 80);
                    AddRes(index, typeof(WhitePineLog), "White Pine Logs", 10);
                }
                else if (m_Player.IsOrc())
                {
                    index = AddCraft(typeof(OrcWhetstone), "Racials", "Whetstone", 95.0, 120.0, typeof(Granite), "Granite", 1);
                    AddRes(index, typeof(OilCloth), "Oil Cloth", 1);
                    index = AddCraft(typeof(OrcSplint), "Racials", "Splint", 95.0, 120.0, typeof(Cloth), "Cloth", 10);
                    AddRes(index, typeof(BlackOakLog), "Black Oak Logs", 5);
                }
                else if (m_Player.IsDrow())
                {
                    index = AddCraft(typeof(Drowmagering), "Racials", "Ring of Sorcere", 95.0, 120.0, typeof(IronIngot), "Ingots", 2);
                    AddRes(index, typeof(Diamond), "Diamond", 5);
                    index = AddCraft(typeof(Drowwarring), "Racials", "Ring of Melee-Magthere", 95.0, 120.0, typeof(IronIngot), "Ingots", 2);
                    AddRes(index, typeof(Amber), "Amber", 5);
                    index = AddCraft(typeof(Drowpriestring), "Racials", "Ring of Arach-Tinilith", 95.0, 120.0, typeof(IronIngot), "Ingots", 2);
                    AddRes(index, typeof(Emerald), "Emerald", 5);
                    index = AddCraft(typeof(Drowhouseinsig), "Racials", "House Insignia", 95.0, 120.0, typeof(VeriteIngot), "Verite Ingots", 5);
                    AddRes(index, typeof(Sapphire), "Sapphire", 5);
                }
                else if (m_Player.IsDwarf())
                {
                    index = AddCraft(typeof(DwarvenPowderOfTemperament), "Racials", "Strengthening Compound", 95.0, 120.0, typeof(ValoriteIngot), "Valorite Ingots", 10);
                    AddRes(index, typeof(BaseGranite), "Granite", 1);
                    index = AddCraft(typeof(DwarvenPickaxe), "Racials", "Dwarven Pickaxe", 95.0, 120.0, typeof(AgapiteIngot), "Agapite Ingots", 10);
                    AddRes(index, typeof(BaseGranite), "Granite", 1);
                    index = AddCraft(typeof(DwarvenForgeDeed), "Racials", "Dwarven Forge", 95.0, 120.0, typeof(BlackrockIngot), "Blackrock ingots", 10);
                    AddRes(index, typeof(BaseGranite), "Granite", 1);
                }
                else if (m_Player.IsElf())
                {
                    index = AddCraft(typeof(ElvenHatchet), "Racials", "Elven Hatchet", 95.0, 120.0, typeof(IronIngot), "Ingots", 10);
                    AddRes(index, typeof(Vines), "Vines", 1);
                    AddRes(index, typeof(YewLog), "Yew Logs", 5);
                    index = AddCraft(typeof(ElvenAmulet), "Racials", "Elven Amulet", 90.0, 110.0, typeof(GoldNecklace), "Gold Necklace", 1);
                    AddRes(index, typeof(Diamond), "Diamond", 1);
                    AddRes(index, typeof(RedScales), "Red Scales", 1);
                }
            }


            /*
             #region Traps
             * // Faction Gas Trap
             * index = AddCraft( typeof( FactionGasTrapDeed ), 1044052, 1044598, 65.0, 115.0, typeof( Silver ), 1044572, 1000, 1044253 );
             * AddRes( index, typeof( IronIngot ), 1044036, 10, 1044037 );
             * AddRes( index, typeof( BasePoisonPotion ), 1044571, 1, 1044253 );
             *
             * // Faction explosion Trap
             * index = AddCraft( typeof( FactionExplosionTrapDeed ), 1044052, 1044599, 65.0, 115.0, typeof( Silver ), 1044572, 1000, 1044253 );
             * AddRes( index, typeof( IronIngot ), 1044036, 10, 1044037 );
             * AddRes( index, typeof( BaseExplosionPotion ), 1044569, 1, 1044253 );
             *
             * // Faction Saw Trap
             * index = AddCraft( typeof( FactionSawTrapDeed ), 1044052, 1044600, 65.0, 115.0, typeof( Silver ), 1044572, 1000, 1044253 );
             * AddRes( index, typeof( IronIngot ), 1044036, 10, 1044037 );
             * AddRes( index, typeof( Gears ), 1044254, 1, 1044253 );
             *
             * // Faction Spike Trap
             * index = AddCraft( typeof( FactionSpikeTrapDeed ), 1044052, 1044601, 65.0, 115.0, typeof( Silver ), 1044572, 1000, 1044253 );
             * AddRes( index, typeof( IronIngot ), 1044036, 10, 1044037 );
             * AddRes( index, typeof( Springs ), 1044171, 1, 1044253 );
             *
             * // Faction trap removal kit
             * index = AddCraft( typeof( FactionTrapRemovalKit ), 1044052, 1046445, 90.0, 115.0, typeof( Silver ), 1044572, 500, 1044253 );
             * AddRes( index, typeof( IronIngot ), 1044036, 10, 1044037 );
             #endregion
             */

            // Set the overidable material
            SetSubRes(typeof(IronIngot), 1044022);

            // Add every material you want the player to be able to chose from
            // This will overide the overidable material
            AddSubRes(typeof(IronIngot), 1044022, 00.0, 1044036, 1044267);
            AddSubRes(typeof(DullCopperIngot), 1044023, 45.0, 1044036, 1044268);
            AddSubRes(typeof(ShadowIronIngot), 1044024, 70.0, 1044036, 1044268);
            AddSubRes(typeof(CopperIngot), 1044025, 75.0, 1044036, 1044268);
            AddSubRes(typeof(BronzeIngot), 1044026, 80.0, 1044036, 1044268);
            AddSubRes(typeof(GoldIngot), 1044027, 85.0, 1044036, 1044268);
            AddSubRes(typeof(AgapiteIngot), 1044028, 90.0, 1044036, 1044268);
            AddSubRes(typeof(VeriteIngot), 1044029, 95.0, 1044036, 1044268);
            AddSubRes(typeof(ValoriteIngot), 1044030, 99.0, 1044036, 1044268);
            AddSubRes(typeof(ElectrumIngot), "Electrum", 100.0, 1044268);

            MarkOption = true;
            Repair     = true;
            CanFinish  = true;
        }
Exemple #9
0
        public override void CustomSystem(Mobile thePlayer)
        {
            int index = -1;

            TeiravonMobile m_Player = (TeiravonMobile)thePlayer;


            if (thePlayer != null && thePlayer.Backpack.FindItemByType(typeof(AlchemyTome)) != null && !m_Player.IsAssassin())
            {
                AlchemyTome m_Tome = (AlchemyTome)thePlayer.Backpack.FindItemByType(typeof(AlchemyTome));

                if ((m_Tome.Formulas & 0x1) != 0)
                {
                    // Refresh
                    index = AddCraft(typeof(RefreshPotion), 1044530, 1044538, -25, 25.0, typeof(BlackPearl), 1044353, 1, 1044361);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x2) != 0)
                {
                    // Greater Refresh
                    index = AddCraft(typeof(TotalRefreshPotion), 1044530, 1044539, 25.0, 75.0, typeof(BlackPearl), 1044353, 5, 1044361);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x4) != 0)
                {
                    // Agility
                    index = AddCraft(typeof(AgilityPotion), 1044531, 1044540, 15.0, 65.0, typeof(Bloodmoss), 1044354, 1, 1044362);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x8) != 0)
                {
                    // Greater Agility
                    index = AddCraft(typeof(GreaterAgilityPotion), 1044531, 1044541, 35.0, 85.0, typeof(Bloodmoss), 1044354, 3, 1044362);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x10) != 0)
                {
                    // Nightsight
                    index = AddCraft(typeof(NightSightPotion), 1044532, 1044542, -25.0, 25.0, typeof(SpidersSilk), 1044360, 1, 1044368);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x20) != 0)
                {
                    // Lesser Heal
                    index = AddCraft(typeof(LesserHealPotion), 1044533, 1044543, -25.0, 25.0, typeof(Ginseng), 1044356, 1, 1044364);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x40) != 0)
                {
                    // Heal
                    index = AddCraft(typeof(HealPotion), 1044533, 1044544, 15.0, 65.0, typeof(Ginseng), 1044356, 3, 1044364);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x80) != 0)
                {
                    // Greater Heal
                    index = AddCraft(typeof(GreaterHealPotion), 1044533, 1044545, 55.0, 105.0, typeof(Ginseng), 1044356, 7, 1044364);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x100) != 0)
                {
                    // Strength
                    index = AddCraft(typeof(StrengthPotion), 1044534, 1044546, 25.0, 75.0, typeof(MandrakeRoot), 1044357, 2, 1044365);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x200) != 0)
                {
                    // Greater Strength
                    index = AddCraft(typeof(GreaterStrengthPotion), 1044534, 1044547, 45.0, 95.0, typeof(MandrakeRoot), 1044357, 5, 1044365);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x400) != 0)
                {
                    // Lesser Poison
                    index = AddCraft(typeof(LesserPoisonPotion), 1044535, 1044548, -5.0, 45.0, typeof(Nightshade), 1044358, 1, 1044366);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x800) != 0)
                {
                    // Poison
                    index = AddCraft(typeof(PoisonPotion), 1044535, 1044549, 15.0, 65.0, typeof(Nightshade), 1044358, 2, 1044366);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x1000) != 0)
                {
                    // Greater Poison
                    index = AddCraft(typeof(GreaterPoisonPotion), 1044535, 1044550, 55.0, 105.0, typeof(Nightshade), 1044358, 4, 1044366);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x2000) != 0)
                {
                    // Deadly Poison
                    index = AddCraft(typeof(DeadlyPoisonPotion), 1044535, 1044551, 90.0, 140.0, typeof(Nightshade), 1044358, 8, 1044366);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x4000) != 0)
                {
                    // Lesser Cure
                    index = AddCraft(typeof(LesserCurePotion), 1044536, 1044552, -10.0, 40.0, typeof(Garlic), 1044355, 1, 1044363);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x8000) != 0)
                {
                    // Cure
                    index = AddCraft(typeof(CurePotion), 1044536, 1044553, 25.0, 75.0, typeof(Garlic), 1044355, 3, 1044363);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x10000) != 0)
                {
                    // Greater Cure
                    index = AddCraft(typeof(GreaterCurePotion), 1044536, 1044554, 65.0, 115.0, typeof(Garlic), 1044355, 6, 1044363);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x20000) != 0)
                {
                    // Lesser Explosion
                    index = AddCraft(typeof(LesserExplosionPotion), 1044537, 1044555, 5.0, 55.0, typeof(SulfurousAsh), 1044359, 3, 1044367);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x40000) != 0)
                {
                    // Explosion
                    index = AddCraft(typeof(ExplosionPotion), 1044537, 1044556, 35.0, 85.0, typeof(SulfurousAsh), 1044359, 5, 1044367);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if ((m_Tome.Formulas & 0x80000) != 0)
                {
                    // Greater Explosion

                    index = AddCraft(typeof(GreaterExplosionPotion), 1044537, 1044557, 65.0, 115.0, typeof(SulfurousAsh), 1044359, 10, 1044367);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                // ************** Teiravon Potions**************

                if (m_Player.IsAlchemist() || m_Player.HasFeat(TeiravonMobile.Feats.AlchemyScience))
                {
                    if ((m_Tome.Formulas & 0x100000) != 0)
                    {
                        index = AddCraft(typeof(ChameleonPotion), "Lost Lore", "Chameleon Potion", 90.0, 100.0, typeof(Bottle), "Bottle", 1);
                        AddRes(index, typeof(BatWing), "Bat Wing", 3);
                        AddRes(index, typeof(WyrmHeart), "Wyrm Heart", 3);
                    }

                    /*
                     *                  if ( ( m_Tome.Formulas & 0x200000 ) != 0 )
                     *                  {
                     *                          index = AddCraft( typeof( LesserFloatPotion ), "Lost Lore", "Lesser Float Potion", 75.0, 100.0, typeof( Bottle ), "Bottle", 1 );
                     *                          AddRes( index, typeof( Pumice ), "Pumice", 1 );
                     *                          AddRes( index, typeof( EyeOfNewt ), "Eye of Newt", 1 );
                     *                  }
                     *
                     *                  if ( ( m_Tome.Formulas & 0x400000 ) != 0 )
                     *                  {
                     *                          index = AddCraft( typeof( FloatPotion ), "Lost Lore", "Float Potion", 85.0, 100.0, typeof( Bottle ), "Bottle", 1 );
                     *                          AddRes( index, typeof( Pumice ), "Pumice", 3 );
                     *                          AddRes( index, typeof( EyeOfNewt ), "Eye of Newt", 3 );
                     *                  }
                     *
                     *                  if ( ( m_Tome.Formulas & 0x800000 ) != 0 )
                     *                  {
                     *                          index = AddCraft( typeof( GreaterFloatPotion ), "Lost Lore", "Greater Float Potion", 95.0, 115.0, typeof( Bottle ), "Bottle", 1 );
                     *                          AddRes( index, typeof( Pumice ), "Pumice", 5 );
                     *                          AddRes( index, typeof( EyeOfNewt ), "Eye of Newt", 5 );
                     *                  }*/

                    if ((m_Tome.Formulas & 0x1000000) != 0)
                    {
                        index = AddCraft(typeof(SustenancePotion), "Lost Lore", "Sustenance Potion", 75.0, 100.0, typeof(Bottle), "Bottle", 1);
                        AddRes(index, typeof(Garlic), "Garlic", 1);
                        AddRes(index, typeof(BatWing), "Bat Wing", 1);
                    }

                    if ((m_Tome.Formulas & 0x2000000) != 0)
                    {
                        index = AddCraft(typeof(GreaterSustenancePotion), "Lost Lore", "Greater Sustenance Potion", 85.0, 100.0, typeof(Bottle), "Bottle", 1);
                        AddRes(index, typeof(Garlic), "Garlic", 3);
                        AddRes(index, typeof(BatWing), "Bat Wing", 3);
                    }

                    if ((m_Tome.Formulas & 0x4000000) != 0)
                    {
                        index = AddCraft(typeof(GenderSwapPotion), "Lost Lore", "Gender Swap Potion", 75.0, 100.0, typeof(Bottle), "Bottle", 1);
                        AddRes(index, typeof(DragonBlood), "Dragon's Blood", 1);
                        AddRes(index, typeof(WhiteScales), "White Scales", 2);
                        AddRes(index, typeof(BatWing), "Bat Wing", 2);
                    }

                    if ((m_Tome.Formulas & 0x8000000) != 0)
                    {
                        index = AddCraft(typeof(InvisibilityPotion), "Lost Lore", "Invisibility Potion", 80.0, 100.0, typeof(Bottle), "Bottle", 1);
                        AddRes(index, typeof(WyrmHeart), "Wyrm Heart", 4);
                    }

                    if ((m_Tome.Formulas & 0x10000000) != 0)
                    {
                        index = AddCraft(typeof(ManaRefreshPotion), "Lost Lore", "Mana Refresh Potion", 90.0, 100.0, typeof(Bottle), "Bottle", 1);
                        AddRes(index, typeof(EyeOfNewt), "Eye of Newt", 4);
                    }

                    if ((m_Tome.Formulas & 0x20000000) != 0)
                    {
                        index = AddCraft(typeof(TotalManaRefreshPotion), "Lost Lore", "Total Mana Refresh Potion", 95.0, 120.0, typeof(Bottle), "Bottle", 1);
                        AddRes(index, typeof(EyeOfNewt), "Eye of Newt", 6);
                    }

                    if ((m_Tome.Formulas & 0x40000000) != 0)
                    {
                        index = AddCraft(typeof(MagicResistPotion), "Lost Lore", "Magic Resist Potion", 95.0, 110.0, typeof(Bottle), "Bottle", 1);
                        AddRes(index, typeof(MandrakeRoot), "Mandrake Root", 4);
                        AddRes(index, typeof(SpidersSilk), "Spiders Silk", 4);
                        AddRes(index, typeof(RedScales), "Red Scales", 4);
                        //AddRes( index, typeof( Garlic ), "Garlic", 3 );
                    }

                    if ((m_Tome.Formulas & 0x80000000) != 0)
                    {
                        index = AddCraft(typeof(InvulnerabilityPotion), "Lost Lore", "Invulnerability Potion", 99.0, 120.0, typeof(Bottle), "Bottle", 1);
                        AddRes(index, typeof(Ginseng), "Ginseng", 5);
                        AddRes(index, typeof(TAVOre.AmiriteOre), "Amirite Ore", 3);
                        AddRes(index, typeof(BlackScales), "Black Scales", 5);
                        //AddRes( index, typeof( Garlic ), "Garlic", 3 );
                    }
                }
            }

            if (m_Player.IsAssassin() && m_Player.HasFeat(TeiravonMobile.Feats.ExoticPoisons))
            {
                if (m_Player.PlayerLevel >= 5)
                {
                    index = AddCraft(typeof(LesserPoisonPotion), 1044535, 1044548, 0, 0, typeof(Nightshade), 1044358, 1, 1044366);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if (m_Player.PlayerLevel >= 9)
                {
                    index = AddCraft(typeof(PoisonPotion), 1044535, 1044549, 0.0, 0.0, typeof(Nightshade), 1044358, 2, 1044366);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if (m_Player.PlayerLevel >= 13)
                {
                    index = AddCraft(typeof(GreaterPoisonPotion), 1044535, 1044550, 0.0, 0.0, typeof(Nightshade), 1044358, 4, 1044366);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if (m_Player.PlayerLevel >= 17)
                {
                    index = AddCraft(typeof(DeadlyPoisonPotion), 1044535, 1044551, 0.0, 0.0, typeof(Nightshade), 1044358, 8, 1044366);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if (m_Player.PlayerLevel >= 7)
                {
                    index = AddCraft(typeof(LesserCurePotion), 1044536, 1044552, 0.0, 0.0, typeof(Garlic), 1044355, 1, 1044363);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if (m_Player.PlayerLevel >= 11)
                {
                    index = AddCraft(typeof(CurePotion), 1044536, 1044553, 0.0, 0.0, typeof(Garlic), 1044355, 3, 1044363);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }

                if (m_Player.PlayerLevel >= 15)
                {
                    index = AddCraft(typeof(GreaterCurePotion), 1044536, 1044554, 0.0, 0.0, typeof(Garlic), 1044355, 6, 1044363);
                    AddRes(index, typeof(Bottle), 1044529, 1, 500315);
                }
            }

            if (((m_Player.HasFeat(TeiravonMobile.Feats.RacialCrafting) || m_Player.HasFeat(TeiravonMobile.Feats.MasterCraftsman)) && m_Player.IsAlchemist()) || m_Player.HasFeat(TeiravonMobile.Feats.AlchemyScience))
            {
                if (m_Player.IsHuman())
                {
                    index = AddCraft(typeof(HumanEnhancePotion), "Racials", "Potion Enhancer", 95.0, 130.0, typeof(Bottle), "Bottle", 1);
                    AddRes(index, typeof(BlackPearl), "Black Pearl", 2);
                    AddRes(index, typeof(TAVOre.PyriteOre), "Pyrite Ore", 3);
                    AddRes(index, typeof(RedScales), "Red Scales", 1);
//					AddRes( index, typeof( Garlic ), "Garlic", 3 );
                    index = AddCraft(typeof(HumanPetHealPotion), "Racials", "Potion of Pet Heal", 90.0, 130.0, typeof(Bottle), "Bottle", 1);
                    AddRes(index, typeof(Ginseng), "Ginseng", 3);
                    AddRes(index, typeof(Mandrake), "Mandrake", 3);
                    AddRes(index, typeof(Garlic), "Garlic", 3);
                }
                else if (m_Player.IsOrc())
                {
                    index = AddCraft(typeof(OrcGrowthPotion), "Racials", "Potion of Growth", 95.0, 130.0, typeof(Bottle), "Bottle", 1);
                    AddRes(index, typeof(BlackPearl), "Black Pearl", 2);
                    AddRes(index, typeof(TAVOre.MalachiteOre), "Malachite Ore", 1);
                    AddRes(index, typeof(BlackScales), "Black Scales", 1);
//					AddRes( index, typeof( SulfurousAsh ), "Sulfurous Ash", 2 );
                }
                else if (m_Player.IsDrow())
                {
                    index = AddCraft(typeof(DrowWebPotion), "Racials", "Essence of Spider Web", 95.0, 130.0, typeof(Bottle), "Bottle", 1);
                    AddRes(index, typeof(SpidersSilk), "Spider Silk", 10);
                    AddRes(index, typeof(Bone), "Bone", 3);
                    index = AddCraft(typeof(DrowPoisonImmunityPotion), "Racials", "Potion of Poison Immunity", 95.0, 130.0, typeof(Bottle), "Bottle", 1);
                    AddRes(index, typeof(PoisonPotion), "Poison Potion", 1);
                    AddRes(index, typeof(Ginseng), "Ginseng", 6);
                }
                else if (m_Player.IsDwarf())
                {
                    index = AddCraft(typeof(DwarvenRagePotion), "Racials", "Potion of Dwarven Rage", 95.0, 130.0, typeof(Bottle), "Bottle", 1);
                    AddRes(index, typeof(StrengthPotion), "Strength Potion", 1);
                    AddRes(index, typeof(DwarvenAle), "Troll Liver Ale", 1);
                    index = AddCraft(typeof(DwarvenOrePotion), "Racials", "Ore Refinement Potion", 95.0, 130.0, typeof(Bottle), "Bottle", 1);
                    AddRes(index, typeof(LesserPoisonPotion), "Lesser Poison Potion", 1);
                    AddRes(index, typeof(SulfurousAsh), "Sulfurous Ash", 8);
                }
                else if (m_Player.IsElf())
                {
                    index = AddCraft(typeof(ElvenHealPotion), "Racials", "Elixer of Life", 95.0, 130.0, typeof(Bottle), "Bottle", 1);
                    AddRes(index, typeof(GreaterHealPotion), "Greater Heal Potion", 1);
                    AddRes(index, typeof(Lilypad), "Lilly Pads", 3);
                    AddRes(index, typeof(EyeOfNewt), "Eye of Newt", 1);
                    index = AddCraft(typeof(ElvenPlantPotion), "Racials", "Potion of Plant Growth", 95.0, 130.0, typeof(Bottle), "Bottle", 1);
                    AddRes(index, typeof(StrengthPotion), "Strength Potion", 1);
                    AddRes(index, typeof(KnotGrass), "Knot Grass", 3);
                }
                else if (m_Player.IsGoblin())
                {
                    index = AddCraft(typeof(GoblinSatchel), "Racials", "Explosive Satchel", 85.0, 120.0, typeof(Backpack), "Backpack", 1);
                    AddRes(index, typeof(SulfurousAsh), "Sulfurous Ash", 15);
                    AddRes(index, typeof(BlackPearl), "Black Pearl", 10);
                    AddRes(index, typeof(DragonBlood), "Dragon's Blood", 5);
                }
            }
        }
Exemple #10
0
        public override void CustomSystem(Mobile thePlayer)
        {
            TeiravonMobile m_Player = (TeiravonMobile)thePlayer;
            int            index    = -1;

            // Hats
            AddCraft(typeof(SkullCap), 1011375, 1025444, 0.0, 25.0, typeof(Cloth), 1044286, 2, 1044287);
            AddCraft(typeof(Bandana), 1011375, 1025440, 0.0, 25.0, typeof(Cloth), 1044286, 2, 1044287);
            AddCraft(typeof(FloppyHat), 1011375, 1025907, 6.2, 31.2, typeof(Cloth), 1044286, 11, 1044287);
            AddCraft(typeof(Cap), 1011375, 1025909, -18.8, 6.2, typeof(Cloth), 1044286, 11, 1044287);
            AddCraft(typeof(WideBrimHat), 1011375, 1025908, 6.2, 31.2, typeof(Cloth), 1044286, 12, 1044287);
            AddCraft(typeof(StrawHat), 1011375, 1025911, 6.2, 31.2, typeof(Cloth), 1044286, 10, 1044287);
            AddCraft(typeof(TallStrawHat), 1011375, 1025910, 6.7, 31.7, typeof(Cloth), 1044286, 13, 1044287);
            AddCraft(typeof(WizardsHat), 1011375, 1025912, 7.2, 32.2, typeof(Cloth), 1044286, 15, 1044287);
            AddCraft(typeof(Bonnet), 1011375, 1025913, 6.2, 31.2, typeof(Cloth), 1044286, 11, 1044287);
            AddCraft(typeof(FeatheredHat), 1011375, 1025914, 6.2, 31.2, typeof(Cloth), 1044286, 12, 1044287);
            AddCraft(typeof(TricorneHat), 1011375, 1025915, 6.2, 31.2, typeof(Cloth), 1044286, 12, 1044287);
            AddCraft(typeof(JesterHat), 1011375, 1025916, 7.2, 32.2, typeof(Cloth), 1044286, 15, 1044287);
            // Teiravon custom
            AddCraft(typeof(Cowl), 1011375, "Cowl", 15, 40, typeof(Cloth), "Cloth", 5);

            if (Core.AOS)
            {
                AddCraft(typeof(FlowerGarland), 1011375, 1028965, 10.0, 35.0, typeof(Cloth), 1044286, 5, 1044287);
            }

            // Shirts
            AddCraft(typeof(Doublet), 1015269, 1028059, 0, 25.0, typeof(Cloth), 1044286, 8, 1044287);
            AddCraft(typeof(Shirt), 1015269, 1025399, 20.7, 45.7, typeof(Cloth), 1044286, 8, 1044287);
            AddCraft(typeof(FancyShirt), 1015269, 1027933, 24.8, 49.8, typeof(Cloth), 1044286, 8, 1044287);
            AddCraft(typeof(Tunic), 1015269, 1028097, 00.0, 25.0, typeof(Cloth), 1044286, 12, 1044287);
            AddCraft(typeof(Surcoat), 1015269, 1028189, 8.2, 33.2, typeof(Cloth), 1044286, 14, 1044287);
            AddCraft(typeof(PlainDress), 1015269, 1027937, 12.4, 37.4, typeof(Cloth), 1044286, 10, 1044287);
            AddCraft(typeof(FancyDress), 1015269, 1027935, 33.1, 58.1, typeof(Cloth), 1044286, 12, 1044287);
            AddCraft(typeof(Cloak), 1015269, 1025397, 41.4, 66.4, typeof(Cloth), 1044286, 14, 1044287);
            AddCraft(typeof(Robe), 1015269, 1027939, 53.9, 78.9, typeof(Cloth), 1044286, 16, 1044287);
            AddCraft(typeof(JesterSuit), 1015269, 1028095, 8.2, 33.2, typeof(Cloth), 1044286, 24, 1044287);
            // Teiravon custom - shirts
            AddCraft(typeof(RuffledShirt), 1015269, "Ruffled Shirt", 70, 95, typeof(Cloth), "Cloth", 15);
            AddCraft(typeof(ButtonedShirt), 1015269, "Buttoned Shirt", 55, 85, typeof(Cloth), "Cloth", 20);
            AddCraft(typeof(LayeredShirt), 1015269, "Layered Shirt", 60, 85, typeof(Cloth), "Cloth", 15);
            AddCraft(typeof(SleevelessTop), 1015269, "Sleeveless Top", 55, 80, typeof(Cloth), "Cloth", 10);
            AddCraft(typeof(LayeredTop), 1015269, "Layered Top", 55, 80, typeof(Cloth), "Cloth", 15);
            AddCraft(typeof(BandedTop), 1015269, "Banded Top", 53, 78, typeof(Cloth), "Cloth", 18);
            index = AddCraft(typeof(DarkCorset), 1015269, "Dark Corset", 58, 83, typeof(Cloth), "Cloth", 10);
            AddRes(index, typeof(Leather), "Leather", 5);
            index = AddCraft(typeof(GirdleTop), 1015269, "Girdle Top", 55, 80, typeof(Cloth), "Cloth", 8);
            AddRes(index, typeof(Leather), "Leather", 4);
            AddCraft(typeof(CorsetTop), 1015269, "Corset Top", 55, 80, typeof(Cloth), "Cloth", 12);
            AddCraft(typeof(Corset), 1015269, "Corset", 40, 65, typeof(Cloth), "Cloth", 10);
            index = AddCraft(typeof(VestJacket), 1015269, "Vest Jacket", 65, 90, typeof(Cloth), "Cloth", 10);
            AddRes(index, typeof(Leather), "Leather", 5);
            index = AddCraft(typeof(NobleJacket), 1015269, "Noble Jacket", 70, 95, typeof(Cloth), "Cloth", 10);
            AddRes(index, typeof(Leather), "Leather", 5);
            index = AddCraft(typeof(VestedShirt), 1015269, "Vested Shirt", 65, 90, typeof(Cloth), "Cloth", 10);
            AddRes(index, typeof(Leather), "Leather", 5);
            AddCraft(typeof(PatternedShirt), 1015269, "Patterned Shirt", 70, 95, typeof(Cloth), "Cloth", 15);
            index = AddCraft(typeof(CheckeredShirt), 1015269, "Checkered Shirt", 40, 65, typeof(Cloth), "Cloth", 14);
            AddRes(index, typeof(Leather), "Leather", 1);
            // Teiravon custom - middle torso
            AddCraft(typeof(FittedSurcoat), 1015269, "FittedSurcoat", 60, 85, typeof(Cloth), "Cloth", 15);
            AddCraft(typeof(Tabbard), 1015269, "Tabbard", 55, 80, typeof(Cloth), "Cloth", 15);
            AddCraft(typeof(Vest), 1015269, "Vest", 40, 65, typeof(Cloth), "Cloth", 8);
            AddCraft(typeof(PirateShirt), 1015269, "Pirate Shirt", 65, 90, typeof(Cloth), "Cloth", 15);
            AddCraft(typeof(BeltedVest), 1015269, "Belted Vest", 60, 85, typeof(Leather), "Leather", 10);
            AddCraft(typeof(BuckledVest), 1015269, "Buckled Vest", 60, 85, typeof(Leather), "Leather", 10);
            index = AddCraft(typeof(NobleTabbard), 1015269, "Noble Tabbard", 65, 90, typeof(Cloth), "Cloth", 18);
            AddRes(index, typeof(Leather), "Leather", 2);
            AddCraft(typeof(AscotJacket), 1015269, "Ascot Jacket", 65, 90, typeof(Cloth), "Cloth", 16);
            index = AddCraft(typeof(TunicShirt), 1015269, "Tunic Shirt", 60, 85, typeof(Cloth), "Cloth", 15);
            AddRes(index, typeof(Leather), "Leather", 1);
            AddCraft(typeof(HalfDress), 1015269, "Half Dress", 55, 70, typeof(Cloth), "Cloth", 8);
            // Teiravon custom - outer torso
            index = AddCraft(typeof(BeltedCoat), 1015269, "Belted Coat", 63, 78, typeof(Cloth), "Cloth", 18);
            AddRes(index, typeof(Leather), "Leather", 1);
            AddCraft(typeof(BeltedDress), 1015269, "Belted Dress", 63, 78, typeof(Cloth), "Cloth", 16);
            AddCraft(typeof(WinterCoat), 1015269, "Winter Coat", 70, 95, typeof(Cloth), "Cloth", 18);
            AddCraft(typeof(LayeredDress), 1015269, "Layered Dress", 60, 85, typeof(Cloth), "Cloth", 16);
            AddCraft(typeof(FancyGown), 1015269, "Fancy Gown", 75, 120, typeof(Cloth), "Cloth", 28);
            AddCraft(typeof(NobleGown), 1015269, "Noble Gown", 75, 120, typeof(Cloth), "Cloth", 25);
            AddCraft(typeof(SashDress), 1015269, "Sash Dress", 60, 85, typeof(Cloth), "Cloth", 25);
            AddCraft(typeof(PeasantGown), 1015269, "Peasant Gown", 60, 85, typeof(Cloth), "Cloth", 25);
            AddCraft(typeof(PeasantDress), 1015269, "Peasant Dress", 50, 75, typeof(Cloth), "Cloth", 20);
            AddCraft(typeof(HousewifeDress), 1015269, "Housewife Dress", 50, 75, typeof(Cloth), "Cloth", 20);
            AddCraft(typeof(BarwenchDress), 1015269, "Barwench Dress", 70, 95, typeof(Cloth), "Cloth", 25);
            AddCraft(typeof(LayeredRobe), 1015269, "Layered Robe", 65, 90, typeof(Cloth), "Cloth", 35);
            // Teiravon custom - cloaks
            AddCraft(typeof(HoodedCloak), 1015269, "Hooded Cloak", 95, 110, typeof(Cloth), "Cloth", 25);
            AddCraft(typeof(FancyCloak), 1015269, "Fancy Cloak", 75, 100, typeof(Cloth), "Cloth", 18);
            AddCraft(typeof(HoodedCape), 1015269, "Hooded Cape", 60, 85, typeof(Cloth), "Cloth", 20);

            if (Core.AOS)
            {
                AddCraft(typeof(FurCape), 1015269, 1028969, 35.0, 60.0, typeof(Cloth), 1044286, 13, 1044287);
                AddCraft(typeof(GildedDress), 1015269, 1028973, 37.5, 62.5, typeof(Cloth), 1044286, 16, 1044287);
                AddCraft(typeof(FormalShirt), 1015269, 1028975, 26.0, 51.0, typeof(Cloth), 1044286, 16, 1044287);
            }

            AddCraft(typeof(HoodedRobe), 1015269, "hooded robe", 95.0, 120.0, typeof(Cloth), "Cloth", 10);

            // Pants
            AddCraft(typeof(ShortPants), 1015279, 1025422, 24.8, 49.8, typeof(Cloth), 1044286, 6, 1044287);
            AddCraft(typeof(LongPants), 1015279, 1025433, 24.8, 49.8, typeof(Cloth), 1044286, 8, 1044287);
            AddCraft(typeof(Kilt), 1015279, 1025431, 20.7, 45.7, typeof(Cloth), 1044286, 8, 1044287);
            AddCraft(typeof(Skirt), 1015279, 1025398, 29.0, 54.0, typeof(Cloth), 1044286, 10, 1044287);
            AddCraft(typeof(PeasantSkirt), 1015279, "Peasant Skirt", 35, 60, typeof(Cloth), "Cloth", 12);
            AddCraft(typeof(PlainSkirt), 1015279, "Plain Skirt", 35, 60, typeof(Cloth), "Cloth", 11);
            AddCraft(typeof(LongSkirt), 1015279, "Long Skirt", 35, 60, typeof(Cloth), "Cloth", 12);

            if (Core.AOS)
            {
                AddCraft(typeof(FurSarong), 1015279, 1028971, 35.0, 60.0, typeof(Cloth), 1044286, 12, 1044287);
            }


            // Misc
            AddCraft(typeof(BodySash), 1015283, 1025441, 4.1, 29.1, typeof(Cloth), 1044286, 4, 1044287);
            AddCraft(typeof(HalfApron), 1015283, 1025435, 20.7, 45.7, typeof(Cloth), 1044286, 6, 1044287);
            AddCraft(typeof(FullApron), 1015283, 1025437, 29.0, 54.0, typeof(Cloth), 1044286, 10, 1044287);
            AddCraft(typeof(OilCloth), 1015283, 1041498, 74.6, 99.6, typeof(Cloth), 1044286, 1, 1044287);
            AddCraft(typeof(Bag), 1015283, "bag", 10.0, 30.0, typeof(Leather), "Leather", 1);
            AddCraft(typeof(Pouch), 1015283, "pouch", 10.0, 30.0, typeof(Leather), "Leather", 2);
            AddCraft(typeof(Backpack), 1015283, "backpack", 10.0, 30.0, typeof(Leather), "Leather", 2);
            AddCraft(typeof(ClothGloves), 1015283, "cloth gloves", 45.0, 65.0, typeof(Cloth), "Cloth", 3);
            AddCraft(typeof(BattleNet), 1015283, "sturdy net", 60.0, 85.0, typeof(Leather), "Leather", 10);

            // Footwear
            if (Core.AOS)
            {
                AddCraft(typeof(FurBoots), 1015288, 1028967, 50.0, 75.0, typeof(Cloth), 1044286, 12, 1044287);
            }


            AddCraft(typeof(Sandals), 1015288, 1025901, 12.4, 37.4, typeof(Leather), 1044462, 4, 1044463);
            AddCraft(typeof(Shoes), 1015288, 1025904, 16.5, 41.5, typeof(Leather), 1044462, 6, 1044463);
            AddCraft(typeof(Boots), 1015288, 1025899, 33.1, 58.1, typeof(Leather), 1044462, 8, 1044463);
            AddCraft(typeof(ThighBoots), 1015288, 1025906, 41.4, 66.4, typeof(Leather), 1044462, 10, 1044463);
            // Teiravon custom
            AddCraft(typeof(TravelingBoots), 1015288, "Traveling Boots", 55, 80, typeof(Leather), "Leather", 15);
            AddCraft(typeof(HeeledBoots), 1015288, "Heeled Boots", 60, 85, typeof(Leather), "Leather", 20);

            // Leather Armor
            AddCraft(typeof(LeatherGorget), 1015293, 1025063, 53.9, 78.9, typeof(Leather), 1044462, 4, 1044463);
            AddCraft(typeof(LeatherCap), 1015293, 1027609, 6.2, 31.2, typeof(Leather), 1044462, 2, 1044463);
            AddCraft(typeof(LeatherGloves), 1015293, 1025062, 51.8, 76.8, typeof(Leather), 1044462, 3, 1044463);
            AddCraft(typeof(LeatherArms), 1015293, 1025061, 53.9, 78.9, typeof(Leather), 1044462, 8, 1044463);
            AddCraft(typeof(LeatherLegs), 1015293, 1025067, 66.3, 91.3, typeof(Leather), 1044462, 10, 1044463);
            AddCraft(typeof(LeatherChest), 1015293, 1025068, 70.5, 95.5, typeof(Leather), 1044462, 12, 1044463);

            // Studded Armor
            AddCraft(typeof(StuddedGorget), 1015300, 1025078, 78.8, 103.8, typeof(Leather), 1044462, 6, 1044463);
            AddCraft(typeof(StuddedGloves), 1015300, 1025077, 82.9, 107.9, typeof(Leather), 1044462, 8, 1044463);
            AddCraft(typeof(StuddedArms), 1015300, 1025076, 87.1, 112.1, typeof(Leather), 1044462, 10, 1044463);
            AddCraft(typeof(StuddedLegs), 1015300, 1025082, 91.2, 116.2, typeof(Leather), 1044462, 12, 1044463);
            AddCraft(typeof(StuddedChest), 1015300, 1025083, 94.0, 119.0, typeof(Leather), 1044462, 14, 1044463);

            if (Core.SE)
            {
                /*
                 * index = AddCraft( typeof( StuddedMempo ), 1015300, 1030216, 80.0, 105.0, typeof( Leather ), 1044462, 8, 1044463 );
                 * SetNeedSE( index, true );
                 * index = AddCraft( typeof( StuddedDo ), 1015300, 1030183, 95.0, 120.0, typeof( Leather ), 1044462, 14, 1044463 );
                 * SetNeedSE( index, true );
                 * index = AddCraft( typeof( StuddedHiroSode ), 1015300, 1030186, 85.0, 110.0, typeof( Leather ), 1044462, 8, 1044463 );
                 * SetNeedSE( index, true );
                 * index = AddCraft( typeof( StuddedSuneate ), 1015300, 1030194, 92.0, 117.0, typeof( Leather ), 1044462, 14, 1044463 );
                 * SetNeedSE( index, true );
                 * index = AddCraft( typeof( StuddedHaidate ), 1015300, 1030198, 92.0, 117.0, typeof( Leather ), 1044462, 14, 1044463 );
                 * SetNeedSE( index, true );
                 */
            }


            // Female Armor
            AddCraft(typeof(LeatherShorts), 1015306, 1027168, 62.2, 87.2, typeof(Leather), 1044462, 8, 1044463);
            AddCraft(typeof(LeatherSkirt), 1015306, 1027176, 58.0, 83.0, typeof(Leather), 1044462, 6, 1044463);
            AddCraft(typeof(LeatherBustierArms), 1015306, 1027178, 58.0, 83.0, typeof(Leather), 1044462, 6, 1044463);
            AddCraft(typeof(StuddedBustierArms), 1015306, 1027180, 82.9, 107.9, typeof(Leather), 1044462, 8, 1044463);
            AddCraft(typeof(FemaleLeatherChest), 1015306, 1027174, 62.2, 87.2, typeof(Leather), 1044462, 8, 1044463);
            AddCraft(typeof(FemaleStuddedChest), 1015306, 1027170, 87.1, 112.1, typeof(Leather), 1044462, 10, 1044463);

            // Bone Armor
            index = AddCraft(typeof(BoneHelm), 1049149, 1025206, 85.0, 110.0, typeof(Leather), 1044462, 4, 1044463);
            AddRes(index, typeof(Bone), 1049064, 2, 1049063);

            index = AddCraft(typeof(BoneGloves), 1049149, 1025205, 89.0, 114.0, typeof(Leather), 1044462, 6, 1044463);
            AddRes(index, typeof(Bone), 1049064, 2, 1049063);

            index = AddCraft(typeof(BoneArms), 1049149, 1025203, 92.0, 117.0, typeof(Leather), 1044462, 8, 1044463);
            AddRes(index, typeof(Bone), 1049064, 4, 1049063);

            index = AddCraft(typeof(BoneLegs), 1049149, 1025202, 95.0, 120.0, typeof(Leather), 1044462, 10, 1044463);
            AddRes(index, typeof(Bone), 1049064, 6, 1049063);

            index = AddCraft(typeof(BoneChest), 1049149, 1025199, 96.0, 121.0, typeof(Leather), 1044462, 12, 1044463);
            AddRes(index, typeof(Bone), 1049064, 10, 1049063);

            if ((m_Player.HasFeat(TeiravonMobile.Feats.RacialCrafting) || m_Player.HasFeat(TeiravonMobile.Feats.MasterCraftsman)) && (m_Player.IsTailor() || m_Player.IsMerchant()))
            {
                if (m_Player.IsHuman())
                {
                    index = AddCraft(typeof(HumanFurCloak), "Racials", "Fur Cloak", 95.0, 120.0, typeof(Cloth), "Cloth", 40);
                    AddRes(index, typeof(Leather), "Leather", 5);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    index = AddCraft(typeof(HumanStamBoots), "Racials", "Boots of Running", 95.0, 120.0, typeof(Leather), "Leather", 40);
                    AddRes(index, typeof(YellowScales), "Yellow Scale", 1);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                }
                else if (m_Player.IsOrc())
                {
                    index = AddCraft(typeof(OrcBoots), "Racials", "Spiked Boots", 95.0, 120.0, typeof(Leather), "Leather", 40);
                    AddRes(index, typeof(BronzeIngot), "Bronze Ingots", 3);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    index = AddCraft(typeof(OrcShamanMask), "Racials", "Orc Shaman Mask", 95.0, 120.0, typeof(Cloth), "Cloth", 40);
                    AddRes(index, typeof(AshwoodLog), "Ashwood Log", 2);
                    AddRes(index, typeof(Ruby), "Ruby", 1);
                }
                else if (m_Player.IsDrow())
                {
                    index = AddCraft(typeof(DrowRobe), "Racials", "Shroud of Darkness", 95.0, 120.0, typeof(Cloth), "Cloth", 40);
                    AddRes(index, typeof(SpidersSilk), "Spider Silk", 80);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    index = AddCraft(typeof(Drowcloak), "Racials", "Piwafwi", 95.0, 120.0, typeof(Cloth), "Cloth", 30);
                    AddRes(index, typeof(SpidersSilk), "Spider Silk", 20);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    index = AddCraft(typeof(Drowboots), "Racials", "Padded Boots", 95.0, 120.0, typeof(Leather), "Leather", 20);
                    AddRes(index, typeof(SpidersSilk), "Spider Silk", 10);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    index = AddCraft(typeof(Drowmagerobe), "Racials", "Spider Silk Mage Robe", 95.0, 115.0, typeof(SpidersSilk), "Spider Silk", 400);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                }
                else if (m_Player.IsDwarf())
                {
                    index = AddCraft(typeof(DwarvenLeatherChest), "Racials", "Dwarven Armor Chest", 85.0, 105.0, typeof(Leather), "Leather", 35);
                    AddRes(index, typeof(DwarvenArmorPlate), "Armor Plate", 8);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    index = AddCraft(typeof(DwarvenLeatherLegs), "Racials", "Dwarven Armor Legs", 85.0, 105.0, typeof(Leather), "Leather", 35);
                    AddRes(index, typeof(DwarvenArmorPlate), "Armor Plate", 6);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    index = AddCraft(typeof(DwarvenLeatherArms), "Racials", "Dwarven Armor Arms", 85.0, 105.0, typeof(Leather), "Leather", 35);
                    AddRes(index, typeof(DwarvenArmorPlate), "Armor Plate", 4);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    index = AddCraft(typeof(DwarvenLeatherGloves), "Racials", "Dwarven Armor Gloves", 85.0, 105.0, typeof(Leather), "Leather", 35);
                    AddRes(index, typeof(DwarvenArmorPlate), "Armor Plate", 3);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    index = AddCraft(typeof(DwarvenLeatherGorget), "Racials", "Dwarven Armor Gorget", 85.0, 105.0, typeof(Leather), "Leather", 35);
                    AddRes(index, typeof(DwarvenArmorPlate), "Armor Plate", 2);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    index = AddCraft(typeof(DwarvenLeatherCap), "Racials", "Dwarven Armor Cap", 85.0, 105.0, typeof(Leather), "Leather", 35);
                    AddRes(index, typeof(DwarvenArmorPlate), "Armor Plate", 1);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                }
                else if (m_Player.IsElf())
                {
                    index = AddCraft(typeof(ElvenCloak), "Racials", "Elven Cloak", 95.0, 120.0, typeof(Cloth), "Cloth", 45);
                    AddRes(index, typeof(Vines), "Vines", 2);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    index = AddCraft(typeof(ElvenBoots), "Racials", "Elven Boots", 95.0, 120.0, typeof(Leather), "Leather", 30);
                    AddRes(index, typeof(Lilypad), "Lilly pads", 2);
                    AddRes(index, typeof(SpoolOfThread), "Thread", 5);
                    AddCraft(typeof(ElvenShirt), "Racials", "Elven Shirt", 70, 95, typeof(Cloth), "Cloth", 15);
                }
            }


            // Set the overidable material
            SetSubRes(typeof(Leather), 1049150);

            // Add every material you want the player to be able to chose from
            // This will overide the overidable material
            AddSubRes(typeof(Leather), 1049150, 00.0, 1044462, 1049311);
            AddSubRes(typeof(SpinedLeather), 1049151, 65.0, 1044462, 1049311);
            AddSubRes(typeof(TuftedLeather), "TUFTED LEATHER / HIDES", 70.0, 1049311);
            AddSubRes(typeof(HornedLeather), 1049152, 80.0, 1044462, 1049311);
            AddSubRes(typeof(BarbedLeather), 1049153, 90.0, 1044462, 1049311);
            AddSubRes(typeof(ScaledLeather), "SCALED LEATHER / HIDES", 99.0, 1049311);

            MarkOption = true;
            Repair     = true;
            CanEnhance = Core.AOS;
            CanFinish  = true;
        }
        public override void CustomSystem(Mobile thePlayer)
        {
            TeiravonMobile m_Player = (TeiravonMobile)thePlayer;

            /*
             * Synthax for a SIMPLE craft item
             * AddCraft( ObjectType, Group, MinSkill, MaxSkill, RessourceType, Amount, Message )
             *
             * ObjectType		: The type of the object you want to add to the build list.
             * Group			: The group in wich the object will be showed in the craft menu.
             * MinSkill		: The minimum of skill value
             * MaxSkill		: The maximum of skill value
             * RessourceType	: The type of the ressource the mobile need to create the item
             * Amount			: The amount of the RessourceType it need to create the item
             * Message			: String or Int for Localized.  The message that will be sent to the mobile, if the specified ressource is missing.
             *
             * Synthax for a COMPLEXE craft item.  A complexe item is an item that need either more than
             * only one skill, or more than only one ressource.
             *
             * Coming soon....
             */

            #region Ringmail
            AddCraft(typeof(RingmailGloves), 1011076, 1025099, 12.0, 62.0, typeof(IronIngot), 1044036, 10, 1044037);
            AddCraft(typeof(RingmailLegs), 1011076, 1025104, 19.4, 69.4, typeof(IronIngot), 1044036, 16, 1044037);
            AddCraft(typeof(RingmailArms), 1011076, 1025103, 16.9, 66.9, typeof(IronIngot), 1044036, 14, 1044037);
            AddCraft(typeof(RingmailChest), 1011076, 1025100, 21.9, 71.9, typeof(IronIngot), 1044036, 18, 1044037);
            #endregion

            #region Chainmail
            AddCraft(typeof(ChainCoif), 1011077, 1025051, 14.5, 64.5, typeof(IronIngot), 1044036, 10, 1044037);
            AddCraft(typeof(ChainLegs), 1011077, 1025054, 36.7, 86.7, typeof(IronIngot), 1044036, 18, 1044037);
            AddCraft(typeof(ChainChest), 1011077, 1025055, 39.1, 89.1, typeof(IronIngot), 1044036, 20, 1044037);
            #endregion

            int index = -1;

            #region Platemail
            AddCraft(typeof(PlateArms), 1011078, 1025136, 66.3, 106.3, typeof(IronIngot), 1044036, 18, 1044037);
            AddCraft(typeof(PlateGloves), 1011078, 1025140, 58.9, 108.9, typeof(IronIngot), 1044036, 12, 1044037);
            AddCraft(typeof(PlateGorget), 1011078, 1025139, 56.4, 106.4, typeof(IronIngot), 1044036, 10, 1044037);
            AddCraft(typeof(PlateLegs), 1011078, 1025137, 68.8, 108.8, typeof(IronIngot), 1044036, 20, 1044037);
            AddCraft(typeof(PlateChest), 1011078, 1046431, 75.0, 109.0, typeof(IronIngot), 1044036, 25, 1044037);
            AddCraft(typeof(FemalePlateChest), 1011078, 1046430, 44.1, 94.1, typeof(IronIngot), 1044036, 20, 1044037);

            //if ( Core.AOS ) // exact pre-aos functionality unknown
            //AddCraft( typeof( DragonBardingDeed ), 1011078, 1053012, 72.5, 122.5, typeof( IronIngot ), 1044036, 750, 1044037 );

            if (Core.SE)
            {
                /*
                 *
                 *      index = AddCraft( typeof( PlateMempo ), 1011078, 1030180, 80.0, 130.0, typeof( IronIngot ), 1044036, 18, 1044037 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( PlateDo ), 1011078, 1030184, 80.0, 130.0, typeof( IronIngot ), 1044036, 28, 1044037 ); //Double check skill
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( PlateHiroSode ), 1011078, 1030187, 80.0, 130.0, typeof( IronIngot ), 1044036, 16, 1044037 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( PlateSuneate ), 1011078, 1030195, 65.0, 115.0, typeof( IronIngot ), 1044036, 20, 1044037 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( PlateHaidate ), 1011078, 1030200, 65.0, 115.0, typeof( IronIngot ), 1044036, 20, 1044037 );
                 *      SetNeedSE( index, true );
                 */
            }
            #endregion

            #region Helmets
            AddCraft(typeof(Bascinet), 1011079, 1025132, 8.3, 58.3, typeof(IronIngot), 1044036, 15, 1044037);
            AddCraft(typeof(CloseHelm), 1011079, 1025128, 37.9, 87.9, typeof(IronIngot), 1044036, 15, 1044037);
            AddCraft(typeof(Helmet), 1011079, 1025130, 37.9, 87.9, typeof(IronIngot), 1044036, 15, 1044037);
            AddCraft(typeof(NorseHelm), 1011079, 1025134, 37.9, 87.9, typeof(IronIngot), 1044036, 15, 1044037);
            AddCraft(typeof(PlateHelm), 1011079, 1025138, 62.6, 112.6, typeof(IronIngot), 1044036, 15, 1044037);

            if (Core.SE)
            {
                /*
                 *      index = AddCraft( typeof( ChainHatsuburi ), 1011079, 1030175, 30.0, 80.0, typeof( IronIngot ), 1044036, 20, 1044037 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( PlateHatsuburi ), 1011079, 1030176, 45.0, 95.0, typeof( IronIngot ), 1044036, 20, 1044037 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( HeavyPlateJingasa ), 1011079, 1030178, 45.0, 95.0, typeof( IronIngot ), 1044036, 20, 1044037 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( LightPlateJingasa ), 1011079, 1030188, 45.0, 95.0, typeof( IronIngot ), 1044036, 20, 1044037 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( SmallPlateJingasa ), 1011079, 1030191, 45.0, 95.0, typeof( IronIngot ), 1044036, 20, 1044037 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( DecorativePlateKabuto ), 1011079, 1030179, 90.0, 140.0, typeof( IronIngot ), 1044036, 25, 1044037 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( PlateBattleKabuto ), 1011079, 1030192, 90.0, 140.0, typeof( IronIngot ), 1044036, 25, 1044037 );
                 *      SetNeedSE( index, true );
                 *
                 *      index = AddCraft( typeof( StandardPlateKabuto ), 1011079, 1030196, 90.0, 140.0, typeof( IronIngot ), 1044036, 25, 1044037 );
                 *      SetNeedSE( index, true );
                 */
            }
            #endregion

            #region Shields
            AddCraft(typeof(Buckler), 1011080, 1027027, -25.0, 25.0, typeof(IronIngot), 1044036, 10, 1044037);
            AddCraft(typeof(BronzeShield), 1011080, 1027026, -15.2, 34.8, typeof(IronIngot), 1044036, 12, 1044037);
            AddCraft(typeof(HeaterShield), 1011080, 1027030, 24.3, 74.3, typeof(IronIngot), 1044036, 18, 1044037);
            AddCraft(typeof(MetalShield), 1011080, 1027035, -10.2, 39.8, typeof(IronIngot), 1044036, 14, 1044037);
            AddCraft(typeof(MetalKiteShield), 1011080, 1027028, 4.6, 54.6, typeof(IronIngot), 1044036, 16, 1044037);
            AddCraft(typeof(WoodenKiteShield), 1011080, 1027032, -15.2, 34.8, typeof(IronIngot), 1044036, 8, 1044037);
            AddCraft(typeof(SpikedShield), 1011080, "Spiked Shield", 80.0, 120.0, typeof(IronIngot), 1044036, 18, 1044037);

            /*	if ( Core.AOS )
             *      {
             *              AddCraft( typeof( ChaosShield ), 1011080, 1027107, 85.0, 135.0, typeof( IronIngot ), 1044036, 25, 1044037 );
             *              AddCraft( typeof( OrderShield ), 1011080, 1027108, 85.0, 135.0, typeof( IronIngot ), 1044036, 25, 1044037 );
             *      }
             */
            #endregion

            #region Bladed

            if (m_Player.PlayerRace == TeiravonMobile.Race.Undead)
            {
                AddCraft(typeof(BoneHarvester), 1011081, 1029915, 33.0, 83.0, typeof(IronIngot), 1044036, 10, 1044037);
            }

            AddCraft(typeof(Broadsword), 1011081, 1023934, 35.4, 85.4, typeof(IronIngot), 1044036, 10, 1044037);

            //if ( Core.AOS )
            AddCraft(typeof(CrescentBlade), 1011081, 1029921, 45.0, 95.0, typeof(IronIngot), 1044036, 14, 1044037);

            AddCraft(typeof(Cutlass), 1011081, 1025185, 24.3, 74.3, typeof(IronIngot), 1044036, 8, 1044037);
            AddCraft(typeof(Dagger), 1011081, 1023921, -0.4, 49.6, typeof(IronIngot), 1044036, 3, 1044037);
            AddCraft(typeof(ThrowingKnife), 1011081, "throwing knife", -0.4, 59.6, typeof(IronIngot), 1044036, 3, 1044037);
            //AddCraft( typeof( Katana ),1011081, 1025119, 44.1, 94.1, typeof( IronIngot ), 1044036, 8, 1044037 );
            AddCraft(typeof(Kryss), 1011081, 1025121, 36.7, 86.7, typeof(IronIngot), 1044036, 8, 1044037);
            AddCraft(typeof(Longsword), 1011081, 1023937, 28.0, 78.0, typeof(IronIngot), 1044036, 12, 1044037);
            AddCraft(typeof(Rapier), 1011081, "cavalry blade", 48.0, 84.0, typeof(IronIngot), "Ingots", 9);
            AddCraft(typeof(Scimitar), 1011081, 1025046, 31.7, 81.7, typeof(IronIngot), 1044036, 10, 1044037);
            AddCraft(typeof(VikingSword), 1011081, 1025049, 24.3, 74.3, typeof(IronIngot), 1044036, 14, 1044037);
            AddCraft(typeof(Claymore), 1011081, "Claymore", 85.0, 120.0, typeof(IronIngot), "Ingots", 22);

            if (Core.SE)
            {
                /*
                 *      index = AddCraft( typeof( NoDachi ), 1011081, 1030221, 75.0, 125.0, typeof( IronIngot ), 1044036, 18, 1044037 );
                 *      SetNeedSE( index, true );
                 *      index = AddCraft( typeof( Wakizashi ), 1011081, 1030223, 50.0, 100.0, typeof( IronIngot ), 1044036, 8, 1044037 );
                 *      SetNeedSE( index, true );
                 *      index = AddCraft( typeof( Lajatang ), 1011081, 1030226, 80.0, 130.0, typeof( IronIngot ), 1044036, 25, 1044037 );
                 *      SetNeedSE( index, true );
                 *      index = AddCraft( typeof( Daisho ), 1011081, 1030228, 60.0, 120.0, typeof( IronIngot ), 1044036, 15, 1044037 );
                 *      SetNeedSE( index, true );
                 *      index = AddCraft( typeof( Tekagi ), 1011081, 1030230, 55.0, 105.0, typeof( IronIngot ), 1044036, 12, 1044037 );
                 *      SetNeedSE( index, true );
                 *      //index = AddCraft( typeof( Shuriken ), 1011081, 1030231, 45.0, 95.0, typeof( IronIngot ), 1044036, 5, 1044037 );
                 *      //SetNeedSE( index, true );
                 *      index = AddCraft( typeof( Kama ), 1011081, 1030232, 40.0, 90.0, typeof( IronIngot ), 1044036, 14, 1044037 );
                 *      SetNeedSE( index, true );
                 *      index = AddCraft( typeof( Sai ), 1011081, 1030234, 50.0, 100.0, typeof( IronIngot ), 1044036, 12, 1044037 );
                 *      SetNeedSE( index, true );
                 */
            }
            #endregion

            #region Axes
            AddCraft(typeof(Axe), 1011082, 1023913, 34.2, 84.2, typeof(IronIngot), 1044036, 14, 1044037);
            AddCraft(typeof(BattleAxe), 1011082, 1023911, 30.5, 80.5, typeof(IronIngot), 1044036, 14, 1044037);
            AddCraft(typeof(DoubleAxe), 1011082, 1023915, 29.3, 79.3, typeof(IronIngot), 1044036, 12, 1044037);
            AddCraft(typeof(ExecutionersAxe), 1011082, 1023909, 34.2, 84.2, typeof(IronIngot), 1044036, 14, 1044037);
            AddCraft(typeof(LargeBattleAxe), 1011082, 1025115, 28.0, 78.0, typeof(IronIngot), 1044036, 12, 1044037);
            AddCraft(typeof(TwoHandedAxe), 1011082, 1025187, 33.0, 83.0, typeof(IronIngot), 1044036, 16, 1044037);
            AddCraft(typeof(WarAxe), 1011082, 1025040, 39.1, 89.1, typeof(IronIngot), 1044036, 16, 1044037);
            #endregion

            #region Pole Arms

            AddCraft(typeof(Bardiche), 1011083, 1023917, 31.7, 81.7, typeof(IronIngot), 1044036, 18, 1044037);

            if (Core.AOS)
            {
                AddCraft(typeof(BladedStaff), 1011083, 1029917, 40.0, 90.0, typeof(IronIngot), 1044036, 12, 1044037);
            }

            if (Core.AOS)
            {
                AddCraft(typeof(DoubleBladedStaff), 1011083, 1029919, 45.0, 95.0, typeof(IronIngot), 1044036, 16, 1044037);
            }

            AddCraft(typeof(Halberd), 1011083, 1025183, 39.1, 89.1, typeof(IronIngot), 1044036, 20, 1044037);

            if (Core.AOS)
            {
                index = AddCraft(typeof(Lance), 1011083, 1029920, 80.0, 120.0, typeof(IronIngot), 1044036, 20, 1044037);
                AddRes(index, typeof(Log), 1044041, 20, 1044351);
            }

            if (Core.AOS)
            {
                AddCraft(typeof(Pike), 1011083, 1029918, 47.0, 97.0, typeof(IronIngot), 1044036, 12, 1044037);
            }

            AddCraft(typeof(ShortSpear), 1011083, 1025123, 45.3, 95.3, typeof(IronIngot), 1044036, 6, 1044037);

            if (m_Player.PlayerRace == TeiravonMobile.Race.Undead)
            {
                AddCraft(typeof(Scythe), 1011083, 1029914, 39.0, 89.0, typeof(IronIngot), 1044036, 14, 1044037);
            }

            AddCraft(typeof(Spear), 1011083, 1023938, 49.0, 99.0, typeof(IronIngot), 1044036, 12, 1044037);
            AddCraft(typeof(WarFork), 1011083, 1025125, 42.9, 92.9, typeof(IronIngot), 1044036, 12, 1044037);
            index = AddCraft(typeof(Javelin), 1011083, "Javelin", 49.0, 99.0, typeof(IronIngot), 1044036, 5, 1044037);
            AddRes(index, typeof(Log), 1044041, 4, 1044351);
            // Not craftable (is this an AOS change ??)
            //AddCraft( typeof( Pitchfork ), 1011083, 1023720, 36.1, 86.1, typeof( IronIngot ), 1044036, 12, 1044037 );
            #endregion

            #region Bashing
            AddCraft(typeof(HammerPick), 1011084, 1025181, 34.2, 84.2, typeof(IronIngot), 1044036, 16, 1044037);
            AddCraft(typeof(Mace), 1011084, 1023932, 14.5, 64.5, typeof(IronIngot), 1044036, 6, 1044037);
            AddCraft(typeof(Maul), 1011084, 1025179, 19.4, 69.4, typeof(IronIngot), 1044036, 10, 1044037);
            index = AddCraft(typeof(SpikedBaton), 1011084, "Spiked Baton", 19.4, 64.5, typeof(IronIngot), 1044036, 4, 1044037);
            AddRes(index, typeof(Log), 1044041, 2, 1044351);

            if (m_Player.PlayerRace == TeiravonMobile.Race.Undead)
            {
                AddCraft(typeof(Scepter), 1011084, 1029916, 21.4, 71.4, typeof(IronIngot), 1044036, 10, 1044037);
            }

            AddCraft(typeof(WarMace), 1011084, 1025127, 28.0, 78.0, typeof(IronIngot), 1044036, 14, 1044037);
            AddCraft(typeof(WarHammer), 1011084, 1025177, 34.2, 84.2, typeof(IronIngot), 1044036, 16, 1044037);

            if (Core.SE)
            {
                /*
                 * index = AddCraft( typeof( Tessen ), 1011084, 1030222, 85.0, 135.0, typeof( IronIngot ), 1044036, 16, 1044037 );
                 * AddSkill( index, SkillName.Tailoring, 50.0, 55.0 );
                 * AddRes( index, typeof( Cloth ), 1044286, 10, 1044287 );
                 * SetNeedSE( index, true );
                 */
            }
            #endregion

            #region Miscellaneous
            index = AddCraft(typeof(DragonGloves), 1015283, 1029795, 68.9, 118.9, typeof(RedScales), 1060883, 16, 1060884);
            SetUseSubRes2(index, true);

            index = AddCraft(typeof(DragonHelm), 1015283, 1029797, 72.6, 118.6, typeof(RedScales), 1060883, 20, 1060884);
            SetUseSubRes2(index, true);

            index = AddCraft(typeof(DragonLegs), 1015283, 1029799, 78.8, 119.8, typeof(RedScales), 1060883, 28, 1060884);
            SetUseSubRes2(index, true);

            index = AddCraft(typeof(DragonArms), 1015283, 1029815, 76.3, 119.3, typeof(RedScales), 1060883, 24, 1060884);
            SetUseSubRes2(index, true);

            index = AddCraft(typeof(DragonChest), 1015283, 1029793, 85.0, 121.0, typeof(RedScales), 1060883, 36, 1060884);
            SetUseSubRes2(index, true);

            index = AddCraft(typeof(MetalBox), 1015283, "metal box", 40.0, 60.0, typeof(IronIngot), "Ingots", 10);
            AddRes(index, typeof(Hinge), 1044172, 1, 1044253);
            index = AddCraft(typeof(MetalChest), 1015283, "metal chest", 60.0, 80.0, typeof(IronIngot), "Ingots", 20);
            AddRes(index, typeof(Hinge), 1044172, 1, 1044253);
            index = AddCraft(typeof(MetalGoldenChest), 1015283, "decorated metal chest", 70.0, 90.0, typeof(IronIngot), "Ingots", 25);
            AddRes(index, typeof(Hinge), 1044172, 1, 1044253);
            #endregion

            if ((m_Player.HasFeat(TeiravonMobile.Feats.RacialCrafting) || m_Player.HasFeat(TeiravonMobile.Feats.MasterCraftsman)) && (m_Player.IsBlacksmith() || m_Player.IsMerchant()))
            {
                if (m_Player.IsHuman())
                {
                    index = AddCraft(typeof(HumanBandedLance), "Racials", "Banded Lance", 75.0, 105.0, typeof(IronIngot), "Ingots", 40);
                    AddRes(index, typeof(BlackOakLog), "Black Oak Logs", 20);
                    index = AddCraft(typeof(HumanBattleShield), "Racials", "Battle Shield", 85.0, 120.0, typeof(IronIngot), "Ingots", 30);
                    AddRes(index, typeof(BarbedLeather), "Barbed Leather", 10);
                    index = AddCraft(typeof(HumanFieldPlateHelm), "Racials", "Field Plate Helm", 85.0, 120.0, typeof(IronIngot), "Ingots", 20);
                    AddRes(index, typeof(BarbedLeather), "Barbed Leather", 5);
                    index = AddCraft(typeof(HumanFieldPlateGloves), "Racials", "Field Plate Gloves", 70.0, 120.0, typeof(IronIngot), "Ingots", 15);
                    AddRes(index, typeof(BarbedLeather), "Barbed Leather", 5);
                    index = AddCraft(typeof(HumanFieldPlateGorget), "Racials", "Field Plate Gorget", 75.0, 120.0, typeof(IronIngot), "Ingots", 15);
                    AddRes(index, typeof(BarbedLeather), "Barbed Leather", 3);
                    index = AddCraft(typeof(HumanFieldPlateArms), "Racials", "Field Plate Arms", 82.2, 120.0, typeof(IronIngot), "Ingots", 25);
                    AddRes(index, typeof(BarbedLeather), "Barbed Leather", 15);
                    index = AddCraft(typeof(HumanFieldPlateLegs), "Racials", "Field Plate Legs", 87.5, 120.0, typeof(IronIngot), "Ingots", 30);
                    AddRes(index, typeof(BarbedLeather), "Barbed Leather", 20);
                    index = AddCraft(typeof(HumanFieldPlateChest), "Racials", "Field Plate Chest", 90.0, 120.0, typeof(IronIngot), "Ingots", 50);
                    AddRes(index, typeof(BarbedLeather), "Barbed Leather", 25);
                    index = AddCraft(typeof(HumanFieldPlateBoots), "Racials", "Field Plate Boots", 70.0, 120.0, typeof(IronIngot), "Ingots", 20);
                    AddRes(index, typeof(BarbedLeather), "Barbed Leather", 5);
                }
                else if (m_Player.IsOrc())
                {
                    index = AddCraft(typeof(OrcMace), "Racials", "Dire Mace", 75.0, 105.0, typeof(IronIngot), "Ingots", 20);
                    AddRes(index, typeof(AshwoodLog), "Ashwood Logs", 10);
                    index = AddCraft(typeof(OrcGloves), "Racials", "Spiked Gloves", 85.0, 120.0, typeof(IronIngot), "Ingots", 20);
                    AddRes(index, typeof(HornedLeather), "Horned Leather", 5);
                    index = AddCraft(typeof(OrcSpikedHelm), "Racials", "Spiked Orc Helm", 85.0, 120.0, typeof(IronIngot), "Ingots", 30);
                    AddRes(index, typeof(BarbedLeather), "Barbed Leather", 15);
                }
                else if (m_Player.IsDrow())
                {
                    index = AddCraft(typeof(Drowdagger), "Racials", "Drow Dagger", 85.0, 120.0, typeof(IronIngot), "Ingots", 10);
                    AddRes(index, typeof(Bone), "Bone", 5);
                    index = AddCraft(typeof(Drowsword), "Racials", "Drow Scimitar", 85.0, 120.0, typeof(IronIngot), "Ingots", 25);
                    AddRes(index, typeof(Bone), "Bone", 15);
                    index = AddCraft(typeof(DrowChainChest), "Racials", "Spidermail Chest", 85.0, 120.0, typeof(IronIngot), "Ingots", 40);
                    AddRes(index, typeof(SpidersSilk), "Spider Silk", 100);
                    index = AddCraft(typeof(DrowChainLegs), "Racials", "Spidermail Legs", 85.0, 120.0, typeof(IronIngot), "Ingots", 30);
                    AddRes(index, typeof(SpidersSilk), "Spider Silk", 75);
                    index = AddCraft(typeof(DrowChainCoif), "Racials", "Spidermail Coif", 85.0, 120.0, typeof(IronIngot), "Ingots", 20);
                    AddRes(index, typeof(SpidersSilk), "Spider Silk", 25);

                    index = AddCraft(typeof(HandCrossbow), "Racials", "Reinforced Hand Crossbow", 85.0, 120.0, typeof(IronIngot), "Ingots", 2);
                    AddRes(index, typeof(ReinforcedHandXBowFrame), "Reinforced Hand Crossbow Frame", 1);
                }
                else if (m_Player.IsDwarf())
                {
                    index = AddCraft(typeof(DwarvenAxe), "Racials", "Dwarven Axe", 85.0, 120.0, typeof(IronIngot), "Ingots", 10);
                    AddRes(index, typeof(SilverBirchLog), "Silver Birch Log", 5);
                    index = AddCraft(typeof(DwarvenShield), "Racials", "Dwarven Shield", 85.0, 120.0, typeof(IronIngot), "Ingots", 25);
                    AddRes(index, typeof(SilverBirchLog), "Silver Birch Log", 10);
                    AddRes(index, typeof(SpinedLeather), "Spined Leather", 10);
                    index = AddCraft(typeof(DwarvenArmorPlate), "Racials", "Armor Plate", 85.0, 120.0, typeof(DullCopperIngot), "Dull Copper Ingots", 10);
                    index = AddCraft(typeof(DwarvenGloves), "Racials", "Dwarven Gloves", 85.0, 120.0, typeof(IronIngot), "Ingots", 30);
                    AddRes(index, typeof(BarbedLeather), "Barbed Leather", 5);
                    AddRes(index, typeof(BaseGranite), "Granite", 1);
                }
                else if (m_Player.IsElf())
                {
                    index = AddCraft(typeof(ElvenLongsword), "Racials", "Elven Longsword", 85.0, 120.0, typeof(IronIngot), "Ingots", 25);
                    AddRes(index, typeof(Vines), "Vines", 1);
                    index = AddCraft(typeof(ElvenChainChest), "Racials", "Elven Chainmail Chest", 85.0, 120.0, typeof(IronIngot), "Ingots", 40);
                    AddRes(index, typeof(Ginseng), "Ginseng", 100);
                    index = AddCraft(typeof(ElvenChainLegs), "Racials", "Elven Chainmail Legs", 85.0, 120.0, typeof(IronIngot), "Ingots", 30);
                    AddRes(index, typeof(Ginseng), "Ginseng", 75);
                    index = AddCraft(typeof(ElvenChainCoif), "Racials", "Elven Chainmail Coif", 85.0, 120.0, typeof(IronIngot), "Ingots", 20);
                    AddRes(index, typeof(Ginseng), "Ginseng", 25);

                    index = AddCraft(typeof(Bow), "Racials", "Reinforced Shortbow", 85.0, 120.0, typeof(IronIngot), "Ingots", 2);
                    AddRes(index, typeof(ReinforcedBowFrame), "Reinforced Shortbow Frame", 1);

                    index = AddCraft(typeof(Longbow), "Racials", "Reinforced Longbow", 85.0, 120.0, typeof(IronIngot), "Ingots", 2);
                    AddRes(index, typeof(ReinforcedLongbowFrame), "Reinforced Longbow Frame", 1);
                }
            }

            // Set the overidable material
            SetSubRes(typeof(IronIngot), 1044022);

            // Add every material you want the player to be able to chose from
            // This will overide the overidable material
            AddSubRes(typeof(IronIngot), "IRON", 00.0, 1044267);
            AddSubRes(typeof(DullCopperIngot), "DULL COPPER", 45.0, 1044268);
            AddSubRes(typeof(ShadowIronIngot), "SHADOW IRON", 70.0, 1044268);
            AddSubRes(typeof(CopperIngot), "COPPER", 75.0, 1044268);
            AddSubRes(typeof(BronzeIngot), "BRONZE", 80.0, 1044268);
            AddSubRes(typeof(SilverIngot), "SILVER", 85.0, 1044268);
            AddSubRes(typeof(GoldIngot), "GOLD", 85.0, 1044268);
            AddSubRes(typeof(AgapiteIngot), "AGAPITE", 90.0, 1044268);
            AddSubRes(typeof(VeriteIngot), "VERITE", 95.0, 1044268);
            AddSubRes(typeof(ValoriteIngot), "VALORITE", 99.0, 1044268);
            AddSubRes(typeof(BlackrockIngot), "BLACKROCK", 100.0, 1044268);
            AddSubRes(typeof(MithrilIngot), "MITHRIL", 100.0, 1044268);
            AddSubRes(typeof(BloodrockIngot), "BLOODROCK", 100.0, 1044268);
            AddSubRes(typeof(SteelIngot), "STEEL", 100.0, 1044268);
            AddSubRes(typeof(AdamantiteIngot), "ADAMANTITE", 100.0, 1044268);
            AddSubRes(typeof(IthilmarIngot), "ITHILMAR", 100.0, 1044268);
            AddSubRes(typeof(SkazzIngot), "SKAZZ", 80.0, 1044268);
            AddSubRes(typeof(ElectrumIngot), "ELECTRUM", 100.0, 1044268);

            SetSubRes2(typeof(RedScales), 1060875);

            AddSubRes2(typeof(RedScales), 1060875, 0.0, 1053137, 1044268);
            AddSubRes2(typeof(YellowScales), 1060876, 0.0, 1053137, 1044268);
            AddSubRes2(typeof(BlackScales), 1060877, 0.0, 1053137, 1044268);
            AddSubRes2(typeof(GreenScales), 1060878, 0.0, 1053137, 1044268);
            AddSubRes2(typeof(WhiteScales), 1060879, 0.0, 1053137, 1044268);
            AddSubRes2(typeof(BlueScales), 1060880, 0.0, 1053137, 1044268);

            Resmelt    = true;
            Repair     = true;
            MarkOption = true;
            CanEnhance = Core.AOS;
            CanFinish  = true;
        }
Exemple #12
0
        public override void CustomSystem(Mobile thePlayer)
        {
            TeiravonMobile m_Player = (TeiravonMobile)thePlayer;

            int index = -1;

            // Ammunition
            index = AddCraft(typeof(Arrow), 1044565, 1023903, 0.0, 40.0, typeof(Shaft), 1044560, 1, 1044561);
            AddRes(index, typeof(Feather), 1044562, 1, 1044563);
            SetUseAllRes(index, true);

            index = AddCraft(typeof(Bolt), 1044565, 1027163, 0.0, 40.0, typeof(Shaft), 1044560, 1, 1044561);
            AddRes(index, typeof(Feather), 1044562, 1, 1044563);
            SetUseAllRes(index, true);

            index = AddCraft(typeof(Shaft), 1044565, 1027124, 0.0, 40.0, typeof(Log), 1044041, 1, 1044351);
            SetUseAllRes(index, true);

            AddCraft(typeof(Bow), "Bows", "Shortbow", 15.0, 35.0, typeof(Log), "Log", 5);
            AddCraft(typeof(Longbow), "Bows", "Longbow", 30.0, 60.0, typeof(Log), "Log", 8);
            AddCraft(typeof(CompositeBow), "Bows", "Composite bow", 60.0, 90.0, typeof(Log), "Log", 10);
            AddCraft(typeof(Recurve), "Bows", "Recurve bow", 85.0, 100.0, typeof(Log), "Log", 10);
            AddCraft(typeof(GreatBow), "Bows", "Great bow", 95.0, 120.0, typeof(Log), "Log", 20);

            AddCraft(typeof(HandCrossbow), "Bows", "Hand Crossbow", 35.0, 65.0, typeof(Log), "Log", 8);
            AddCraft(typeof(Crossbow), "Bows", "Crossbow", 65.0, 95.0, typeof(Log), "Log", 10);
            index = AddCraft(typeof(HeavyCrossbow), "Bows", "Heavy Crossbow", 95.0, 105.0, typeof(Log), "Log", 12);
            AddRes(index, typeof(Gears), "Gears", 2);
            index = AddCraft(typeof(LRepeatingXBow), "Bows", "Light Repeating Crossbow", 75.0, 100.0, typeof(Log), "Log", 5);
            AddRes(index, typeof(ValoriteIngot), "Valorite Ingots", 1); AddRes(index, typeof(Gears), "Gears", 2);
            index = AddCraft(typeof(RepeatingCrossbow), "Bows", "Repeating Crossbow", 95.0, 105.0, typeof(Log), "Log", 8);
            AddRes(index, typeof(ValoriteIngot), "Valorite Ingots", 2); AddRes(index, typeof(Gears), "Gears", 3);

            if ((m_Player.HasFeat(TeiravonMobile.Feats.RacialCrafting) || m_Player.HasFeat(TeiravonMobile.Feats.MasterCraftsman)) && (m_Player.IsWoodworker() || m_Player.IsMerchant()))
            {
                if (m_Player.IsHuman())
                {
                    index = AddCraft(typeof(HumanCrossbow), "Racials", "Armor Piercing Crossbow", 85.0, 105.0, typeof(Log), "Logs", 50);
                    AddRes(index, typeof(AgapiteIngot), "Agapite Ingots", 10);
                    AddRes(index, typeof(Gears), "Gears", 5);
                    index = AddCraft(typeof(HumanAPBolt), "Racials", "Armor Piercing Bolt", 85.0, 105.0, typeof(Shaft), "Shaft", 1);
                    AddRes(index, typeof(DullCopperIngot), "Dull Copper Ingots", 1);
                    SetUseAllRes(index, true);
                }
                else if (m_Player.IsOrc())
                {
                    index = AddCraft(typeof(OrcHorngothBow), "Racials", "Horngoth Bow", 85.0, 105.0, typeof(Log), "Logs", 50);
                    AddRes(index, typeof(BronzeIngot), "Bronze Ingots", 4);
                    index = AddCraft(typeof(OrcSling), "Racials", "Sling", 85.0, 105.0, typeof(Log), "Logs", 5);
                    AddRes(index, typeof(Cloth), "Cloth", 10);
                    index = AddCraft(typeof(OrcSlingBullet), "Racials", "Sling Bullet", 85.0, 105.0, typeof(ShadowIronIngot), "Shadow Iron Ingots", 1);
                }
                else if (m_Player.IsDrow())
                {
                    index = AddCraft(typeof(Drowhandbow), "Racials", "Drow Hand Crossbow", 85.0, 105.0, typeof(Log), "Logs", 50);
                    AddRes(index, typeof(Gears), "Gears", 1);
                    AddRes(index, typeof(PoisonPotion), "Poison Potion", 1);
                    index = AddCraft(typeof(Drowxbow), "Racials", "Drow Crossbow", 85.0, 105.0, typeof(Log), "Logs", 50);
                    AddRes(index, typeof(Gears), "Gears", 3);
                    AddRes(index, typeof(SpidersSilk), "Spider Silk", 10);

                    AddCraft(typeof(ReinforcedHandXBowFrame), "Racials", "Reinforced Hand Crossbow Frame", 90.0, 120.0, typeof(Board), "Boards", 10);
                }
                else if (m_Player.IsDwarf())
                {
                    index = AddCraft(typeof(BallistaEastAddonDeed), "Racials", "Ballista", 85.0, 105.0, typeof(WhitePineLog), "White Logs", 500);
                    AddRes(index, typeof(Gears), "Gears", 50);
                    AddRes(index, typeof(DullCopperIngot), "Dull Copper Ingots", 100);
                    index = AddCraft(typeof(DwarvenCrossbow), "Racials", "Dwarven Crossbow", 85.0, 105.0, typeof(Log), "Logs", 30);
                    AddRes(index, typeof(Gears), "Gears", 5);
                    AddRes(index, typeof(DullCopperIngot), "Dull Copper Ingots", 8);
                    index = AddCraft(typeof(DwarvenBallistaBolt), "Racials", "Ballista Bolt", 85.0, 105.0, typeof(AshwoodLog), "Ashwood Logs", 1);
                    AddRes(index, typeof(IronIngot), "Ingots", 2);
                    index = AddCraft(typeof(DwarvenBolt), "Racials", "Iron Bolt", 85.0, 105.0, typeof(IronIngot), "Ingots", 1);
                }
                else if (m_Player.IsElf())
                {
                    index = AddCraft(typeof(Elvenbow), "Racials", "Elven Bow", 85.0, 105.0, typeof(Log), "Logs", 25);
                    AddRes(index, typeof(ValoriteIngot), "Valorite Ingots", 1);
                    AddRes(index, typeof(KnotGrass), "Knot Grass", 2);
                    index = AddCraft(typeof(ElvenQuiver), "Racials", "Elven Quiver", 85.0, 105.0, typeof(Cloth), "Cloth", 10);
                    AddRes(index, typeof(KnotGrass), "Knot Grass", 2);
                    AddRes(index, typeof(Diamond), "Diamond", 1);

                    AddCraft(typeof(ReinforcedBowFrame), "Racials", "Reinforced Shortbow Frame", 85.0, 105.0, typeof(Log), "Log", 5);
                    AddCraft(typeof(ReinforcedLongbowFrame), "Racials", "Reinforced Longbow Frame", 85.0, 105.0, typeof(Log), "Log", 5);
                }
            }


            // Set the overidable material
            SetSubRes(typeof(Log), "Oak");

            // Add every material you want the player to be able to chose from
            // This will overide the overidable material
            AddSubRes(typeof(Log), "Oak", 0.0, "You are not skilled enough to use that material.");
            AddSubRes(typeof(PineLog), "Pine", 35.0, "You are not skilled enough to use that material");
            AddSubRes(typeof(RedwoodLog), "Redwood", 45.0, "You are not skilled enough to use that material");
            AddSubRes(typeof(WhitePineLog), "White Pine", 55.0, "You are not skilled enough to use that material");
            AddSubRes(typeof(AshwoodLog), "Ashwood", 65.0, "You are not skilled enough to use that material");
            AddSubRes(typeof(SilverBirchLog), "Silver Birch", 75.0, "You are not skilled enough to use that material");
            AddSubRes(typeof(YewLog), "Yew", 85.0, "You are not skilled enough to use that material");
            AddSubRes(typeof(BlackOakLog), "Black Oak", 90.0, "You are not skilled enough to use that material");

            MarkOption = true;
            CanEnhance = false;
            CanFinish  = true;
            Repair     = true;
        }