Exemplo n.º 1
0
		public ClothchairEAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 1114 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 1114 );
			ac.Hue = 46;
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 10383 );
			ac.Hue = 46;
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 10383 );
			ac.Hue = 46;
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 10385 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 1 );
			ac = new AddonComponent( 10385 );
			ac.Hue = 46;
			AddComponent( ac, 1, -1, 1 );
			ac = new AddonComponent( 10380 );
			ac.Hue = 46;
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 5030 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 3 );
			ac = new AddonComponent( 5031 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 4 );

		}
		public CrystalCluster02Addon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 730 );
			AddComponent( ac, 1, -2, 0 );
			ac = new AddonComponent( 8712 );
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 8765 );
			AddComponent( ac, 2, 1, 0 );
			ac = new AddonComponent( 8762 );
			AddComponent( ac, 1, -1, 0 );
			ac = new AddonComponent( 8763 );
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 8766 );
			AddComponent( ac, 1, 3, 0 );
			ac = new AddonComponent( 8742 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 8732 );
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 8774 );
			AddComponent( ac, 0, 2, 0 );
			ac = new AddonComponent( 8775 );
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 8776 );
			AddComponent( ac, 2, 2, 0 );
			ac = new AddonComponent( 8777 );
			AddComponent( ac, -1, 3, 0 );
			ac = new AddonComponent( 12263 );
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 8732 );
			AddComponent( ac, 2, 0, 0 );

		}
Exemplo n.º 3
0
		public WisteriaTreeAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 3480 );
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 3210 );
			AddComponent( ac, 1, -1, 27 );
			ac = new AddonComponent( 3210 );
			AddComponent( ac, 2, -1, 35 );
			ac = new AddonComponent( 3210 );
			AddComponent( ac, 1, 0, 28 );
			ac = new AddonComponent( 3210 );
			AddComponent( ac, 0, 0, 30 );
			ac = new AddonComponent( 3204 );
			AddComponent( ac, 0, 0, 18 );
			ac = new AddonComponent( 3204 );
			AddComponent( ac, 2, -1, 26 );
			ac = new AddonComponent( 3204 );
			AddComponent( ac, 1, 0, 20 );
			ac = new AddonComponent( 3204 );
			AddComponent( ac, 2, 0, 26 );
			ac = new AddonComponent( 3210 );
			AddComponent( ac, 2, -1, 17 );
			ac = new AddonComponent( 3210 );
			AddComponent( ac, 0, 1, 28 );
			ac = new AddonComponent( 3204 );
			AddComponent( ac, -1, 1, 14 );
			ac = new AddonComponent( 3204 );
			AddComponent( ac, 0, 1, 15 );

		}
Exemplo n.º 4
0
        private static void AddIdentifyAddOnComponent(CEOIdentifyAddon ai, int item, int xoffset, int yoffset, int zoffset, int hue, int lightsource, string name, int amount)
        {
            if (ai == null)
            {
                return;
            }
            AddonComponent ac;

            ac = new AddonComponent(item);
            if (name != null && name.Length > 0)
            {
                ac.Name = name;
            }
            if (hue != 0)
            {
                ac.Hue = hue;
            }
            if (amount > 1) // Note: a warning will show on the console regarding a non-stackable item....
            {
                ac.Stackable = true;
                ac.Amount    = amount;
            }
            if (lightsource != -1)
            {
                ac.Light = (LightType)lightsource;
            }
            ai.AddComponent(ac, xoffset, yoffset, zoffset);
        }
Exemplo n.º 5
0
		public ClothchairSAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 1113 );
			ac.Hue = 46;
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 1113 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 10386 );
			ac.Hue = 46;
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 10386 );
			ac.Hue = 46;
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 10382 );
			ac.Hue = 46;
			AddComponent( ac, -1, 1, 1 );
			ac = new AddonComponent( 10382 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 1 );
			ac = new AddonComponent( 10380 );
			ac.Hue = 46;
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 5015 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 3 );
			ac = new AddonComponent( 5031 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 4 );

		}
Exemplo n.º 6
0
		public OrnatechairEAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 1114 );
			ac.Hue = 46;
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 1114 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 11727 );
			ac.Hue = 46;
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 11727 );
			ac.Hue = 46;
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 11728 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 1 );
			ac = new AddonComponent( 11728 );
			ac.Hue = 46;
			AddComponent( ac, 1, -1, 1 );
			ac = new AddonComponent( 11503 );
			ac.Hue = 46;
			AddComponent( ac, 0, 0, 5 );
			ac = new AddonComponent( 11503 );
			ac.Hue = 46;
			AddComponent( ac, 0, 1, 5 );
			ac = new AddonComponent( 11210 );
			ac.Hue = 46;
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 5036 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 4 );

		}
Exemplo n.º 7
0
		public TreasurePile04Addon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 7019 );
			AddComponent( ac, 2, -1, 0 );
			ac = new AddonComponent( 7018 );
			AddComponent( ac, 1, -1, 0 );
			ac = new AddonComponent( 7017 );
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 7016 );
			AddComponent( ac, -1, -1, 0 );
			ac = new AddonComponent( 7015 );
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 7014 );
			AddComponent( ac, -2, 0, 0 );
			ac = new AddonComponent( 7011 );
			AddComponent( ac, -1, 1, 0 );
			ac = new AddonComponent( 7010 );
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 7009 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 7008 );
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 7007 );
			AddComponent( ac, 2, 0, 0 );

		}
		public CrystalCluster01Addon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 8743 );
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 12253 );
			AddComponent( ac, -1, -1, 0 );
			ac = new AddonComponent( 8738 );
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 8770 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 8769 );
			AddComponent( ac, -1, -2, 0 );
			ac = new AddonComponent( 8768 );
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 8767 );
			AddComponent( ac, 0, 2, 0 );
			ac = new AddonComponent( 8766 );
			AddComponent( ac, -1, 1, 0 );
			ac = new AddonComponent( 8765 );
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 8764 );
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 8736 );
			AddComponent( ac, 0, -2, 0 );

		}
Exemplo n.º 9
0
        public override void Execute(CommandEventArgs args, object o)
        {
            if (o is AddonComponent)
            {
                BaseAddon addon = ((AddonComponent)o).Addon;

                if (addon.Components.Count > 0)
                {
                    for (int i = 0; i < addon.Components.Count; i++)
                    {
                        AddonComponent component = addon.Components[i];
                        Item           newItem   = new Item(component.ItemID);

                        newItem.Hue     = component.Hue;
                        newItem.Light   = component.Light;
                        newItem.Movable = true;
                        newItem.Name    = component.Name;

                        newItem.MoveToWorld(component.Location, component.Map);
                    }
                }

                addon.Delete();

                AddResponse("The add-on has been converted into individual items.");
            }
            else if (o is Item)
            {
                Item i       = (Item)o;
                Item newItem = new Item(i.ItemID);

                newItem.Hue     = i.Hue;
                newItem.Layer   = i.Layer;
                newItem.Light   = i.Light;
                newItem.Movable = true;
                newItem.Name    = i.Name;

                newItem.MoveToWorld(i.Location, i.Map);

                if (i.Parent == args.Mobile)
                {
                    newItem.Bounce(args.Mobile);
                }

                if (i is Container)
                {
                    ((Container)i).Destroy();
                }
                else
                {
                    i.Delete();
                }

                AddResponse("The item has been converted to an item.");
            }
            else
            {
                LogFailure("This command only works with item objects.");
            }
        }
Exemplo n.º 10
0
        protected void AddInstance(int x, int y, int z, Map map, Point3D entranceLoc, Point3D bossSpawnLoc, Rectangle2D regionBounds)
        {
            AddonComponent light = new AddonComponent(0x1ECF);

            m_Instances.Add(new PeerlessInstance(this, map, light, entranceLoc, bossSpawnLoc, regionBounds));

            AddComponent(light, x, y, z);
        }
Exemplo n.º 11
0
		public GlobeOfSosariaAddon()
		{
			AddComponent( new AddonComponent( 13911 ), 0, 0, 0 );
			AddComponent( new AddonComponent( 13920 ), 0, 0, 0 );
			AddonComponent ac;
			ac = new AddonComponent( 13911 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 13920 );
			AddComponent( ac, 0, 0, 0 );
		}
Exemplo n.º 12
0
		public CrystalTableSouthAddon()
		{
			AddComponent( new AddonComponent( 13831 ), 1, 0, 0 );
			AddComponent( new AddonComponent( 13832 ), 0, 0, 0 );
			AddonComponent ac;
			ac = new AddonComponent( 13831 );
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 13832 );
			AddComponent( ac, 0, 0, 0 );
		}
Exemplo n.º 13
0
		public CrystalTableEastAddon()
		{
			AddComponent( new AddonComponent( 13830 ), 0, 0, 0 );
			AddComponent( new AddonComponent( 13829 ), 0, 1, 0 );
			AddonComponent ac;
			ac = new AddonComponent( 13829 );
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 13830 );
			AddComponent( ac, 0, 0, 0 );
		}
Exemplo n.º 14
0
		public ShadowAltarEastAddon()
		{
			AddComponent( new AddonComponent( 13981 ), 0, 0, 0 );
			AddComponent( new AddonComponent( 13982 ), 0, 1, 0 );
			AddonComponent ac;
			ac = new AddonComponent( 13981 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 13982 );
			AddComponent( ac, 0, 1, 0 );
		}
Exemplo n.º 15
0
		public MiniFountainAddon()
		{
			AddComponent( new AddonComponent( 16144 ), 0, 0, 5 );
			AddComponent( new AddonComponent( 1801 ), 0, 0, 0 );
			AddonComponent ac;
			ac = new AddonComponent( 16144 );
			AddComponent( ac, 0, 0, 5 );
			ac = new AddonComponent( 1801 );
			AddComponent( ac, 0, 0, 0 );
		}
Exemplo n.º 16
0
		public ShadowAltarSouthAddon()
		{
			AddComponent( new AddonComponent( 13915 ), 0, 0, 0 );
			AddComponent( new AddonComponent( 13914 ), 1, 0, 0 );
			AddonComponent ac;
			ac = new AddonComponent( 13914 );
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 13915 );
			AddComponent( ac, 0, 0, 0 );
		}
Exemplo n.º 17
0
        public HagCauldron()
        {
            AddonComponent pot;
            pot = new AddonComponent(2420);
            AddComponent(pot, 0, 0, 0);      //pot w/ support

            AddonComponent fire;
            fire = new AddonComponent(4012);      //fire pit
            fire.Light = LightType.Circle150;
            AddComponent(fire, 0, 0, 0);
        }
Exemplo n.º 18
0
 public goldcarpetAddon()
 {
     AddonComponent ac = null;
     ac = new AddonComponent(2779);
     AddComponent(ac, 2, 2, 0);
     ac = new AddonComponent(2785);
     AddComponent(ac, 2, 1, 0);
     ac = new AddonComponent(2785);
     AddComponent(ac, 2, 0, 0);
     ac = new AddonComponent(2786);
     AddComponent(ac, 1, 2, 0);
     ac = new AddonComponent(2786);
     AddComponent(ac, 0, 2, 0);
     ac = new AddonComponent(2781);
     AddComponent(ac, -2, 2, 0);
     ac = new AddonComponent(2786);
     AddComponent(ac, -1, 2, 0);
     ac = new AddonComponent(2782);
     AddComponent(ac, 2, -2, 0);
     ac = new AddonComponent(2783);
     AddComponent(ac, -2, 1, 0);
     ac = new AddonComponent(2783);
     AddComponent(ac, -2, 0, 0);
     ac = new AddonComponent(2783);
     AddComponent(ac, -2, -1, 0);
     ac = new AddonComponent(2784);
     AddComponent(ac, 1, -2, 0);
     ac = new AddonComponent(2784);
     AddComponent(ac, 0, -2, 0);
     ac = new AddonComponent(2784);
     AddComponent(ac, -1, -2, 0);
     ac = new AddonComponent(2785);
     AddComponent(ac, 2, -1, 0);
     ac = new AddonComponent(2780);
     AddComponent(ac, -2, -2, 0);
     ac = new AddonComponent(2778);
     AddComponent(ac, -1, -1, 0);
     ac = new AddonComponent(2778);
     AddComponent(ac, -1, 0, 0);
     ac = new AddonComponent(2778);
     AddComponent(ac, -1, 1, 0);
     ac = new AddonComponent(2778);
     AddComponent(ac, 0, 1, 0);
     ac = new AddonComponent(2778);
     AddComponent(ac, 0, 0, 0);
     ac = new AddonComponent(2778);
     AddComponent(ac, 0, -1, 0);
     ac = new AddonComponent(2778);
     AddComponent(ac, 1, -1, 0);
     ac = new AddonComponent(2778);
     AddComponent(ac, 1, 0, 0);
     ac = new AddonComponent(2778);
     AddComponent(ac, 1, 1, 0);
 }
Exemplo n.º 19
0
        public TentWalls()
        {
            //WALLS
            //Corners - Clockwise from SE
            AddComponent(new AddonComponent(0x2DE), 3, 3, 0);
            AddComponent(new AddonComponent(0x2E2), -2, 3, 0);
            AddComponent(new AddonComponent(0x2E1), -2, -2, 0);
            AddComponent(new AddonComponent(0x2E3), 3, -2, 0);

            //East Side
            AddComponent(new AddonComponent(0x2E0), 3, 2, 0);
            AddComponent(new AddonComponent(0x2E0), 3, -1, 0);

            //South Side
            AddComponent(new AddonComponent(0x2DF), 2, 3, 0);
            AddComponent(new AddonComponent(0x2DF), 1, 3, 0);
            AddComponent(new AddonComponent(0x2DF), 0, 3, 0);
            AddComponent(new AddonComponent(0x2DF), -1, 3, 0);

            //West Side
            AddComponent(new AddonComponent(0x2E5), -2, 2, 0);
            AddComponent(new AddonComponent(0x2E5), -2, 1, 0);
            AddComponent(new AddonComponent(0x2E5), -2, 0, 0);
            AddComponent(new AddonComponent(0x2E5), -2, -1, 0);

            //North Side
            AddComponent(new AddonComponent(0x2E4), -1, -2, 0);
            AddComponent(new AddonComponent(0x2E4), 0, -2, 0);
            AddComponent(new AddonComponent(0x2E4), 1, -2, 0);
            AddComponent(new AddonComponent(0x2E4), 2, -2, 0);

            // custom tent decorations
            //Misc.items
            AddComponent(new AddonComponent(0x1BDF), +4, +3, 0); // Logs
            // orig:	AddComponent( new AddonComponent( 0xFAC ), +7, 0, 0 );   // camp fire
            AddonComponent firepit = new AddonComponent(0xFAC);
            firepit.Light = LightType.Circle300;  // fix light oops

            AddComponent(firepit, +6, 0, 0);   // camp fire -  // moved west

            //	AddComponent( new AddonComponent( 0x1E98 ), +7, 0, 4 );  // rabbit on a spit
            //	AddComponent( new AddonComponent( 0x19AB ), +7, 0, 2 );  // flames			// too much deco
            //	AddComponent( new AddonComponent( 0xFB6 ), +5, +3, 0 );  // horse shoes
            AddonComponent forge = new AddonComponent(0xFB1);
            forge.Light = LightType.Circle300;   // may not work, depends on if your small forge is lit. Can replace with a lit forge.

            AddComponent(forge, +2, +4, 2);  // small forge

            AddComponent(new AddonComponent(0xFB0), +1, +4, 0);  // anvil
            AddComponent(new AddonComponent(0x107B), -1, +4, 0); // stretched hide
            //	AddComponent( new AddonComponent( 0xFFA ), +7, +1, 0 );  // bucket
            //	AddComponent( new AddonComponent( 0x9D7 ), +6, +1, 0 );  // plate
            //	AddComponent( new AddonComponent( 0xA2B ), +6, 0, 0 );   // stool			
        }
Exemplo n.º 20
0
		public FirePitLargeAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 3119 );
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 3118 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 3117 );
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 6012 );
			AddComponent( ac, -1, 2, 0 );
			ac = new AddonComponent( 4970 );
			AddComponent( ac, 0, 2, 0 );
			ac = new AddonComponent( 4966 );
			AddComponent( ac, 1, 2, 0 );
			ac = new AddonComponent( 4973 );
			AddComponent( ac, 1, -1, 0 );
			ac = new AddonComponent( 4972 );
			AddComponent( ac, 1, -1, 5 );
			ac = new AddonComponent( 4966 );
			AddComponent( ac, 0, -1, 3 );
			ac = new AddonComponent( 4971 );
			AddComponent( ac, -1, -1, 0 );
			ac = new AddonComponent( 4966 );
			AddComponent( ac, -1, 1, 3 );
			ac = new AddonComponent( 4969 );
			AddComponent( ac, -1, 0, 2 );
			ac = new AddonComponent( 3120 );
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 3562 );
			AddComponent( ac, -1, 1, 0 );
			ac = new AddonComponent( 3562 );
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 3562 );
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 3561 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, 1, 0, 1 );
			ac = new AddonComponent( 3561 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, 0, 1, 1 );
			ac = new AddonComponent( 3561 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, 0, 0, 1 );
			ac = new AddonComponent( 4972 );
			AddComponent( ac, 2, 2, 3 );
			ac = new AddonComponent( 4966 );
			AddComponent( ac, 2, 1, 0 );
			ac = new AddonComponent( 4965 );
			AddComponent( ac, 2, 0, 0 );
			ac = new AddonComponent( 4972 );
			AddComponent( ac, 2, -1, 0 );

		}
Exemplo n.º 21
0
		public FireOnPillarAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 7978 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 7979 );
			AddComponent( ac, 0, 0, 7 );
			ac = new AddonComponent( 6571 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, 0, 0, 10 );

		}
Exemplo n.º 22
0
		public OrnatecouchSAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 11727 );
			ac.Hue = 46;
			AddComponent( ac, -1, 1, 1 );
			ac = new AddonComponent( 11727 );
			ac.Hue = 46;
			AddComponent( ac, 2, 1, 1 );
			ac = new AddonComponent( 11728 );
			ac.Hue = 46;
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 11728 );
			ac.Hue = 46;
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 11728 );
			ac.Hue = 46;
			AddComponent( ac, 2, 0, 0 );
			ac = new AddonComponent( 11718 );
			ac.Hue = 46;
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 1113 );
			ac.Hue = 46;
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 1113 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 1113 );
			ac.Hue = 46;
			AddComponent( ac, 2, 1, 0 );
			ac = new AddonComponent( 11504 );
			ac.Hue = 46;
			AddComponent( ac, 0, 0, 5 );
			ac = new AddonComponent( 11504 );
			ac.Hue = 46;
			AddComponent( ac, 1, 0, 5 );
			ac = new AddonComponent( 11504 );
			ac.Hue = 46;
			AddComponent( ac, 2, 0, 5 );
			ac = new AddonComponent( 11210 );
			ac.Hue = 46;
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 5035 );
			ac.Hue = 46;
			AddComponent( ac, 2, 1, 5 );

		}
 private static void AddComplexComponent(BaseAddon addon, int item, int xoffset, int yoffset, int zoffset, int hue, int lightsource, string name, int amount)
 {
     AddonComponent ac;
     ac = new AddonComponent(item);
     if (name != null && name.Length > 0)
         ac.Name = name;
     if (hue != 0)
         ac.Hue = hue;
     if (amount > 1)
     {
         ac.Stackable = true;
         ac.Amount = amount;
     }
     if (lightsource != -1)
         ac.Light = (LightType) lightsource;
     addon.AddComponent(ac, xoffset, yoffset, zoffset);
 }
Exemplo n.º 24
0
        public override void OnComponentUsed(AddonComponent c, Mobile from)
        {
            if (from.InRange(c.Location, 3) && from.Backpack != null)
            {
                if (WispOrb.Orbs.Any(x => x.Owner == from))
                {
                    LabelTo(from, 1153357); // Thou can guide but one of us.
                    return;
                }

                Alignment alignment = Alignment.Neutral;

                if (from.Karma > 0 && m_Alignment == Alignment.Good)
                {
                    alignment = Alignment.Good;
                }
                else if (from.Karma < 0 && m_Alignment == Alignment.Evil)
                {
                    alignment = Alignment.Evil;
                }

                if (alignment != Alignment.Neutral)
                {
                    WispOrb orb = new WispOrb(from, alignment);
                    from.Backpack.DropItem(orb);
                    from.SendLocalizedMessage(1153355); // I will follow thy guidance.

                    if (from is PlayerMobile && QuestHelper.HasQuest <WhisperingWithWispsQuest>((PlayerMobile)from))
                    {
                        from.SendLocalizedMessage(1158304);             // The Ankh pulses with energy in front of you! You are drawn to it! As you
                                                                        // place your hand on the ankh an inner voice speaks to you as you are joined to your Wisp companion...
                        from.SendLocalizedMessage(1158320, null, 0x23); // You've completed a quest objective!
                        from.PlaySound(0x5B5);

                        Server.Services.TownCryer.TownCryerSystem.CompleteQuest((PlayerMobile)from, 1158303, 1158308, 0x65C);
                    }
                }
                else
                {
                    LabelTo(from, 1153350);                     // Thy spirit be not compatible with our goals!
                }
            }
        }
Exemplo n.º 25
0
            protected override void OnTick()
            {
                if (_Tick < 0)
                {
                    _Tick = 0;
                }

                if (_Tick >= _Locs.Length)
                {
                    Altar.Complete(Occupier);
                    Stop();
                    return;
                }

                Point3D p = _Locs[_Tick];

                Effects.SendLocationEffect(new Point3D(Altar.X + p.X, Altar.Y + p.Y, Altar.Z + p.Z), Altar.Map, 0x3709, 30, 10);
                Effects.PlaySound(Altar.Location, Altar.Map, 0x208);

                int index = _Tick / 4;

                if (_Tick > 0 && index < Altar.Braziers.Count && (_Tick + 1) % 4 == 0)
                {
                    Server.Timer.DelayCall(TimeSpan.FromSeconds(1), () =>
                        {
                            AddonComponent torch = new AddonComponent(6571);
                            Altar.Torches.Add(torch);

                            Point3D to = Altar.Braziers[index].Location;

                            torch.MoveToWorld(new Point3D(to.X, to.Y, to.Z + 17), Altar.Map);
                            Effects.PlaySound(to, Altar.Map, 0x47);
                        });
                }

                _Tick++;

                if (_Tick >= _Locs.Length)
                {
                    Altar.Complete(Occupier);
                    Stop();
                }
            }
Exemplo n.º 26
0
		public TallPineTree()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 12453 );
			AddComponent( ac, 2, -1, 0 );
			ac = new AddonComponent( 12448 );
			AddComponent( ac, -1, 3, 0 );
			ac = new AddonComponent( 12447 );
			AddComponent( ac, 0, 3, 0 );
			ac = new AddonComponent( 12457 );
			AddComponent( ac, -1, 3, 0 );
			ac = new AddonComponent( 12456 );
			AddComponent( ac, 0, 3, 0 );
			ac = new AddonComponent( 12455 );
			AddComponent( ac, 1, 3, 0 );
			ac = new AddonComponent( 12454 );
			AddComponent( ac, 2, 3, 0 );
			ac = new AddonComponent( 12462 );
			AddComponent( ac, 2, -2, 0 );
			ac = new AddonComponent( 12461 );
			AddComponent( ac, 2, -1, 0 );
			ac = new AddonComponent( 12460 );
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 12459 );
			AddComponent( ac, 2, 1, 0 );
			ac = new AddonComponent( 12458 );
			AddComponent( ac, 2, 2, 0 );
			ac = new AddonComponent( 12452 );
			AddComponent( ac, 2, -1, 0 );
			ac = new AddonComponent( 12451 );
			AddComponent( ac, 2, 0, 0 );
			ac = new AddonComponent( 12450 );
			AddComponent( ac, 2, 1, 0 );
			ac = new AddonComponent( 12449 );
			AddComponent( ac, 2, 2, 0 );
			ac = new AddonComponent( 12446 );
			AddComponent( ac, 1, 3, 0 );
			ac = new AddonComponent( 12445 );
			AddComponent( ac, 1, 3, 0 );
			ac = new AddonComponent( 12444 );
			AddComponent( ac, 2, 3, 0 );

		}
Exemplo n.º 27
0
		public AmethystTreeAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 3302 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 3207 );
			AddComponent( ac, -1, 1, 20 );
			ac = new AddonComponent( 3207 );
			AddComponent( ac, 1, -1, 18 );
			ac = new AddonComponent( 3207 );
			AddComponent( ac, 1, 1, 33 );
			ac = new AddonComponent( 3207 );
			AddComponent( ac, -1, 1, 10 );
			ac = new AddonComponent( 3207 );
			AddComponent( ac, 1, -1, 10 );
			ac = new AddonComponent( 3207 );
			AddComponent( ac, 1, 1, 20 );

		}
Exemplo n.º 28
0
        public override void OnComponentUsed(AddonComponent c, Mobile from)
        {
            if (from.InRange(c.Location, 3))
            {
                BaseHouse house = BaseHouse.FindHouseAt(from);

                if (house != null)
                {
                    if (CheckAccessible(from, this))
                    {
                        if (RewardCount >= 2)
                        {
                            if (Activator.CreateInstance(GraniteType[Utility.Random(GraniteType.Length)]) is Item granite)
                            {
                                granite.Amount = 2;

                                if (from.Backpack != null)
                                {
                                    from.AddToBackpack(granite);
                                    RewardCount -= 2;
                                }
                            }
                        }
                        else
                        {
                            from.SendLocalizedMessage(1094725); // There are no more resources available at this time.
                        }
                    }
                    else
                    {
                        from.SendLocalizedMessage(1061637); // You are not allowed to access this.
                    }
                }
                else
                {
                    from.SendLocalizedMessage(502092); // You must be in your house to do this.
                }
            }
            else
            {
                from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that.
            }
        }
Exemplo n.º 29
0
		public TreasurePile02Addon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 6986 );
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 6987 );
			AddComponent( ac, -1, 1, 0 );
			ac = new AddonComponent( 6988 );
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 6991 );
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 6990 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 6993 );
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 6989 );
			AddComponent( ac, -1, -1, 0 );
			ac = new AddonComponent( 6992 );
			AddComponent( ac, 1, -1, 0 );

		}
Exemplo n.º 30
0
		public ClothcouchSAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 1113 );
			ac.Hue = 46;
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 1113 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 1113 );
			ac.Hue = 46;
			AddComponent( ac, 2, 1, 0 );
			ac = new AddonComponent( 10386 );
			ac.Hue = 46;
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 10386 );
			ac.Hue = 46;
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 10386 );
			ac.Hue = 46;
			AddComponent( ac, 2, 0, 0 );
			ac = new AddonComponent( 10382 );
			ac.Hue = 46;
			AddComponent( ac, 2, 1, 1 );
			ac = new AddonComponent( 10382 );
			ac.Hue = 46;
			AddComponent( ac, -1, 1, 1 );
			ac = new AddonComponent( 10380 );
			ac.Hue = 46;
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 5031 );
			ac.Hue = 46;
			AddComponent( ac, 2, 1, 1 );
			ac = new AddonComponent( 5030 );
			ac.Hue = 46;
			AddComponent( ac, 2, 1, 5 );

		}
Exemplo n.º 31
0
		public ClothcouchEAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 1114 );
			ac.Hue = 46;
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 10385 );
			ac.Hue = 46;
			AddComponent( ac, 1, -1, 1 );
			ac = new AddonComponent( 10383 );
			ac.Hue = 46;
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 10380 );
			ac.Hue = 46;
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 1114 );
			ac.Hue = 46;
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 1114 );
			ac.Hue = 46;
			AddComponent( ac, 1, 2, 0 );
			ac = new AddonComponent( 10385 );
			ac.Hue = 46;
			AddComponent( ac, 1, 2, 1 );
			ac = new AddonComponent( 10383 );
			ac.Hue = 46;
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 10383 );
			ac.Hue = 46;
			AddComponent( ac, 0, 2, 0 );
			ac = new AddonComponent( 5015 );
			ac.Hue = 46;
			AddComponent( ac, 1, 2, 3 );
			ac = new AddonComponent( 5031 );
			ac.Hue = 46;
			AddComponent( ac, 1, 2, 2 );

		}
Exemplo n.º 32
0
		public TreasurePile03Addon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 6995 );
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 6997 );
			AddComponent( ac, -1, 1, 0 );
			ac = new AddonComponent( 6998 );
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 6999 );
			AddComponent( ac, -1, -1, 0 );
			ac = new AddonComponent( 7000 );
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 7001 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 7002 );
			AddComponent( ac, 1, -1, 0 );
			ac = new AddonComponent( 7003 );
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 6996 );
			AddComponent( ac, 1, 1, 0 );

		}
Exemplo n.º 33
0
		public TreasurePile01Addon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 6975 );
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 6976 );
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 6977 );
			AddComponent( ac, -1, 1, 0 );
			ac = new AddonComponent( 6979 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 6978 );
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 6980 );
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 6982 );
			AddComponent( ac, -1, -1, 0 );
			ac = new AddonComponent( 6983 );
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 6984 );
			AddComponent( ac, 1, -1, 0 );

		}
Exemplo n.º 34
0
        private static void AddComplexComponent(BaseAddon addon, int item, int xoffset, int yoffset, int zoffset, int hue, int lightsource, string name, int amount)
        {
            AddonComponent ac;

            ac = new AddonComponent(item);
            if (name != null && name.Length > 0)
            {
                ac.Name = name;
            }
            if (hue != 0)
            {
                ac.Hue = hue;
            }
            if (amount > 1)
            {
                ac.Stackable = true;
                ac.Amount    = amount;
            }
            if (lightsource != -1)
            {
                ac.Light = (LightType)lightsource;
            }
            addon.AddComponent(ac, xoffset, yoffset, zoffset);
        }
Exemplo n.º 35
0
        public VvVAltar(VvVBattle battle)
        {
            Battle = battle;

            Braziers = new List<Item>();
            Torches = new List<Item>();

            int virtue = Utility.Random(8);

            AddComponent(new AddonComponent(1822), -2, -2, 0);
            AddComponent(new AddonComponent(1822), -1, -2, 0);
            AddComponent(new AddonComponent(1822), 0, -2, 0);
            AddComponent(new AddonComponent(1822), 1, -2, 0);
            AddComponent(new AddonComponent(1822), 2, -2, 0);

            AddComponent(new AddonComponent(1822), -2, -1, 0);
            AddComponent(new AddonComponent(1822), -1, -1, 0);
            AddComponent(new AddonComponent(1822), 0, -1, 0);
            AddComponent(new AddonComponent(1822), 1, -1, 0);
            AddComponent(new AddonComponent(1822), 2, -1, 0);

            AddComponent(new AddonComponent(1822), -2, 0, 0);
            AddComponent(new AddonComponent(1822), -1, 0, 0);
            AddComponent(new AddonComponent(1822), 0, 0, 0);
            AddComponent(new AddonComponent(1822), 1, 0, 0);
            AddComponent(new AddonComponent(1822), 2, 0, 0);

            AddComponent(new AddonComponent(1822), -2, 1, 0);
            AddComponent(new AddonComponent(1822), -1, 1, 0);
            AddComponent(new AddonComponent(1822), 0, 1, 0);
            AddComponent(new AddonComponent(1822), 1, 1, 0);
            AddComponent(new AddonComponent(1822), 2, 1, 0);

            AddComponent(new AddonComponent(1822), -2, 2, 0);
            AddComponent(new AddonComponent(1822), -1, 2, 0);
            AddComponent(new AddonComponent(1822), 0, 2, 0);
            AddComponent(new AddonComponent(1822), 1, 2, 0);
            AddComponent(new AddonComponent(1822), 2, 2, 0);

            //NorthWest
            AddComponent(new AddonComponent(_Tiles[0][virtue]), -2, -2, 5);
            AddComponent(new AddonComponent(_Tiles[0][virtue] + 1), -2, -1, 5);
            AddComponent(new AddonComponent(_Tiles[0][virtue] + 2), -1, -1, 5);
            AddComponent(new AddonComponent(_Tiles[0][virtue] + 3), -1, -2, 5);

            // SouthEast
            AddComponent(new AddonComponent(_Tiles[0][virtue]), 1, 1, 5);
            AddComponent(new AddonComponent(_Tiles[0][virtue] + 1), 1, 2, 5);
            AddComponent(new AddonComponent(_Tiles[0][virtue] + 2), 2, 2, 5);
            AddComponent(new AddonComponent(_Tiles[0][virtue] + 3), 2, 1, 5);

            //SouthWest
            AddComponent(new AddonComponent(_Tiles[1][virtue]), -2, 1, 5);
            AddComponent(new AddonComponent(_Tiles[1][virtue] + 1), -1, 1, 5);
            AddComponent(new AddonComponent(_Tiles[1][virtue] + 2), -2, 2, 5);
            AddComponent(new AddonComponent(_Tiles[1][virtue] + 3), -1, 2, 5);

            //NorthEast
            AddComponent(new AddonComponent(_Tiles[1][virtue]), 1, -2, 5);
            AddComponent(new AddonComponent(_Tiles[1][virtue] + 1), 2, -2, 5);
            AddComponent(new AddonComponent(_Tiles[1][virtue] + 2), 1, -1, 5);
            AddComponent(new AddonComponent(_Tiles[1][virtue] + 3), 2, -1, 5);

            AddComponent(new AddonComponent(1866), -1, -3, 0);
            AddComponent(new AddonComponent(1847), 0, -3, 0);
            AddComponent(new AddonComponent(1868), 1, -3, 0);

            AddComponent(new AddonComponent(1868), 3, -1, 0);
            AddComponent(new AddonComponent(1846), 3, 0, 0);
            AddComponent(new AddonComponent(1867), 3, 1, 0);

            AddComponent(new AddonComponent(1869), -1, 3, 0);
            AddComponent(new AddonComponent(1823), 0, 3, 0);
            AddComponent(new AddonComponent(1867), 1, 3, 0);

            AddComponent(new AddonComponent(1866), -3, -1, 0);
            AddComponent(new AddonComponent(1865), -3, 0, 0);
            AddComponent(new AddonComponent(1869), -3, 1, 0);

            AddonComponent c = new AddonComponent(6570);
            AddComponent(c, 3, -3, 0);
            Braziers.Add(c);

            c = new AddonComponent(6570);
            AddComponent(c, 3, 3, 0);
            Braziers.Add(c);

            c = new AddonComponent(6570);
            AddComponent(c, -3, 3, 0);
            Braziers.Add(c);

            c = new AddonComponent(6570);
            AddComponent(c, -3, -3, 0);
            Braziers.Add(c);
        }
		public MarbleShrineSmallAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -2, -2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -2, -1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -2, 0, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -2, 1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -2, 2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -2, 3, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -2, 4, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -3, -2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -3, -1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -3, 0, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -3, 1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -3, 2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -3, 3, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -3, 4, 0 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -3, -2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -3, -1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -3, 0, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -3, 1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -3, 2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -3, 3, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -3, 4, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -2, -2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -2, -1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -2, 0, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -2, 1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -2, 2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -2, 3, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -2, 4, 20 );
			ac = new AddonComponent( 672 );
			AddComponent( ac, -4, -3, 0 );
			ac = new AddonComponent( 671 );
			AddComponent( ac, -4, -2, 0 );
			ac = new AddonComponent( 671 );
			AddComponent( ac, -4, 0, 0 );
			ac = new AddonComponent( 671 );
			AddComponent( ac, -4, 1, 0 );
			ac = new AddonComponent( 671 );
			AddComponent( ac, -4, 2, 0 );
			ac = new AddonComponent( 671 );
			AddComponent( ac, -4, 4, 0 );
			ac = new AddonComponent( 670 );
			AddComponent( ac, -3, -3, 0 );
			ac = new AddonComponent( 670 );
			AddComponent( ac, -2, -3, 0 );
			ac = new AddonComponent( 670 );
			AddComponent( ac, -3, 4, 0 );
			ac = new AddonComponent( 670 );
			AddComponent( ac, -2, 4, 0 );
			ac = new AddonComponent( 685 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, -4, -1, 0 );
			ac = new AddonComponent( 685 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, -4, 3, 0 );
			ac = new AddonComponent( 700 );
			AddComponent( ac, -4, -3, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, -4, -2, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, -4, -1, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, -4, 0, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, -4, 1, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, -4, 2, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, -4, 3, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, -4, 4, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, -3, -3, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, -2, -3, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, -3, 4, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, -2, 4, 20 );
			ac = new AddonComponent( 1801 );
			AddComponent( ac, -3, 1, 0 );
			ac = new AddonComponent( 1801 );
			AddComponent( ac, -3, 0, 0 );
			ac = new AddonComponent( 1801 );
			AddComponent( ac, -2, 0, 0 );
			ac = new AddonComponent( 1801 );
			AddComponent( ac, -2, 1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -1, -2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -1, -1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -1, 1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -1, 2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -1, 3, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, -1, 4, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 0, -2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 0, 1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 0, 2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 0, 3, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 0, 4, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 1, -2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 1, -1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 1, 1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 1, 2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 1, 3, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 1, 4, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 2, -2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 2, -1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 2, 0, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 2, 1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 2, 2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 2, 3, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 2, 4, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 3, -2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 3, -1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 3, 0, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 3, 1, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 3, 2, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 3, 3, 0 );
			ac = new AddonComponent( 1296 );
			AddComponent( ac, 3, 4, 0 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -1, -2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -1, -1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -1, 0, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -1, 1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -1, 2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -1, 3, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, -1, 4, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 0, -2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 0, -1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 0, 0, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 0, 1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 0, 2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 0, 3, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 0, 4, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 1, -2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 1, -1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 1, 0, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 1, 1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 1, 2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 1, 3, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 1, 4, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 2, -2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 2, -1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 2, 0, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 2, 1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 2, 2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 2, 3, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 2, 4, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 3, -2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 3, -1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 3, 0, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 3, 1, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 3, 2, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 3, 3, 20 );
			ac = new AddonComponent( 1597 );
			AddComponent( ac, 3, 4, 20 );
			ac = new AddonComponent( 670 );
			AddComponent( ac, 0, -3, 0 );
			ac = new AddonComponent( 670 );
			AddComponent( ac, 2, -3, 0 );
			ac = new AddonComponent( 670 );
			AddComponent( ac, 3, -3, 0 );
			ac = new AddonComponent( 670 );
			AddComponent( ac, 0, 4, 0 );
			ac = new AddonComponent( 670 );
			AddComponent( ac, 2, 4, 0 );
			ac = new AddonComponent( 669 );
			AddComponent( ac, 3, 4, 0 );
			ac = new AddonComponent( 671 );
			AddComponent( ac, 3, -2, 0 );
			ac = new AddonComponent( 1097 );
			AddComponent( ac, 3, 2, 0 );
			ac = new AddonComponent( 1098 );
			AddComponent( ac, 3, 0, 0 );
			ac = new AddonComponent( 685 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, 3, -1, 0 );
			ac = new AddonComponent( 685 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, 3, 3, 0 );
			ac = new AddonComponent( 686 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, -1, -3, 0 );
			ac = new AddonComponent( 686 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, 1, -3, 0 );
			ac = new AddonComponent( 686 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, -1, 4, 0 );
			ac = new AddonComponent( 686 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, 1, 4, 0 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, -1, -3, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, 0, -3, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, 1, -3, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, 2, -3, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, 3, -3, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, -1, 4, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, 0, 4, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, 1, 4, 20 );
			ac = new AddonComponent( 698 );
			AddComponent( ac, 2, 4, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, 3, -2, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, 3, -1, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, 3, 0, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, 3, 1, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, 3, 2, 20 );
			ac = new AddonComponent( 699 );
			AddComponent( ac, 3, 3, 20 );
			ac = new AddonComponent( 697 );
			AddComponent( ac, 3, 4, 20 );
			ac = new AddonComponent( 679 );
			AddComponent( ac, 4, 4, 0 );
			ac = new AddonComponent( 1114 );
			AddComponent( ac, 2, -1, 0 );
			ac = new AddonComponent( 1114 );
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 1114 );
			AddComponent( ac, 2, 2, 0 );
			ac = new AddonComponent( 1114 );
			AddComponent( ac, 0, 2, 0 );
			ac = new AddonComponent( 679 );
			AddComponent( ac, 4, -3, 0 );

		}
Exemplo n.º 37
0
		public LightHouseLightAddon()
		{
			AddonComponent ac = null;
			ac = new AddonComponent( 6822 );
			AddComponent( ac, 1, 3, 0 );
			ac = new AddonComponent( 6821 );
			AddComponent( ac, 0, 3, 0 );
			ac = new AddonComponent( 6820 );
			AddComponent( ac, -1, 3, 0 );
			ac = new AddonComponent( 6864 );
			ac.Light = LightType.ArchedWindowEast;
			AddComponent( ac, 2, 2, 0 );
			ac = new AddonComponent( 6855 );
			AddComponent( ac, -1, 1, 0 );
			ac = new AddonComponent( 6832 );
			AddComponent( ac, 1, -1, 0 );
			ac = new AddonComponent( 6829 );
			AddComponent( ac, 2, -1, 0 );
			ac = new AddonComponent( 6852 );
			AddComponent( ac, -1, 2, 0 );
			ac = new AddonComponent( 6838 );
			AddComponent( ac, 0, -2, 0 );
			ac = new AddonComponent( 6846 );
			AddComponent( ac, -2, 0, 0 );
			ac = new AddonComponent( 6835 );
			AddComponent( ac, 1, -2, 0 );
			ac = new AddonComponent( 6849 );
			AddComponent( ac, -2, 1, 0 );
			ac = new AddonComponent( 6858 );
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 6860 );
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 6823 );
			AddComponent( ac, 2, 3, 0 );
			ac = new AddonComponent( 6825 );
			AddComponent( ac, 3, 2, 0 );
			ac = new AddonComponent( 6824 );
			AddComponent( ac, 3, 3, 0 );
			ac = new AddonComponent( 6826 );
			AddComponent( ac, 3, 1, 0 );
			ac = new AddonComponent( 6827 );
			AddComponent( ac, 3, 0, 0 );
			ac = new AddonComponent( 6828 );
			AddComponent( ac, 3, -1, 0 );
			ac = new AddonComponent( 6859 );
			AddComponent( ac, -1, -1, 0 );
			ac = new AddonComponent( 6861 );
			AddComponent( ac, -2, -1, 0 );
			ac = new AddonComponent( 6863 );
			AddComponent( ac, -1, -2, 0 );
			ac = new AddonComponent( 6862 );
			AddComponent( ac, -2, -2, 0 );
			ac = new AddonComponent( 6843 );
			AddComponent( ac, -3, -3, 0 );
			ac = new AddonComponent( 6844 );
			AddComponent( ac, -3, -2, 0 );
			ac = new AddonComponent( 6842 );
			AddComponent( ac, -2, -3, 0 );
			ac = new AddonComponent( 6841 );
			AddComponent( ac, -1, -3, 0 );
			ac = new AddonComponent( 6845 );
			AddComponent( ac, -3, -1, 0 );

		}
Exemplo n.º 38
0
        public Item Construct()
        {
            Item item;

            try
            {
                if (m_Type == typeofStatic)
                {
                    item = new Static(m_ItemID);
                }
                else if (m_Type == typeofLocalizedStatic)
                {
                    int labelNumber = 0;

                    for (int i = 0; i < m_Params.Length; ++i)
                    {
                        if (m_Params[i].StartsWith("LabelNumber"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                labelNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                                break;
                            }
                        }
                    }

                    item = new LocalizedStatic(m_ItemID, labelNumber);
                }
                else if (m_Type == typeofLocalizedSign)
                {
                    int labelNumber = 0;

                    for (int i = 0; i < m_Params.Length; ++i)
                    {
                        if (m_Params[i].StartsWith("LabelNumber"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                labelNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                                break;
                            }
                        }
                    }

                    item = new LocalizedSign(m_ItemID, labelNumber);
                }
                else if (m_Type == typeofAnkhWest || m_Type == typeofAnkhNorth)
                {
                    bool bloodied = false;

                    for (int i = 0; !bloodied && i < m_Params.Length; ++i)
                    {
                        bloodied = (m_Params[i] == "Bloodied");
                    }

                    if (m_Type == typeofAnkhWest)
                    {
                        item = new AnkhWest(bloodied);
                    }
                    else
                    {
                        item = new AnkhNorth(bloodied);
                    }
                }
                else if (m_Type == typeofMarkContainer)
                {
                    bool bone   = false;
                    bool locked = false;
                    Map  map    = Map.Malas;

                    for (int i = 0; i < m_Params.Length; ++i)
                    {
                        if (m_Params[i] == "Bone")
                        {
                            bone = true;
                        }
                        else if (m_Params[i] == "Locked")
                        {
                            locked = true;
                        }
                        else if (m_Params[i].StartsWith("TargetMap"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                map = Map.Parse(m_Params[i].Substring(++indexOf));
                            }
                        }
                    }

                    MarkContainer mc = new MarkContainer(bone, locked);

                    mc.TargetMap   = map;
                    mc.Description = "strange location";

                    item = mc;
                }
                else if (m_Type == typeofHintItem)
                {
                    int      range         = 0;
                    int      messageNumber = 0;
                    string   messageString = null;
                    int      hintNumber    = 0;
                    string   hintString    = null;
                    TimeSpan resetDelay    = TimeSpan.Zero;

                    for (int i = 0; i < m_Params.Length; ++i)
                    {
                        if (m_Params[i].StartsWith("Range"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                range = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                            }
                        }
                        else if (m_Params[i].StartsWith("WarningString"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                messageString = m_Params[i].Substring(++indexOf);
                            }
                        }
                        else if (m_Params[i].StartsWith("WarningNumber"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                messageNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                            }
                        }
                        else if (m_Params[i].StartsWith("HintString"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                hintString = m_Params[i].Substring(++indexOf);
                            }
                        }
                        else if (m_Params[i].StartsWith("HintNumber"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                hintNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                            }
                        }
                        else if (m_Params[i].StartsWith("ResetDelay"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                resetDelay = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
                            }
                        }
                    }

                    HintItem hi = new HintItem(m_ItemID, range, messageNumber, hintNumber);

                    hi.WarningString = messageString;
                    hi.HintString    = hintString;
                    hi.ResetDelay    = resetDelay;

                    item = hi;
                }
                else if (m_Type == typeofWarningItem)
                {
                    int      range         = 0;
                    int      messageNumber = 0;
                    string   messageString = null;
                    TimeSpan resetDelay    = TimeSpan.Zero;

                    for (int i = 0; i < m_Params.Length; ++i)
                    {
                        if (m_Params[i].StartsWith("Range"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                range = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                            }
                        }
                        else if (m_Params[i].StartsWith("WarningString"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                messageString = m_Params[i].Substring(++indexOf);
                            }
                        }
                        else if (m_Params[i].StartsWith("WarningNumber"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                messageNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                            }
                        }
                        else if (m_Params[i].StartsWith("ResetDelay"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                resetDelay = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
                            }
                        }
                    }

                    WarningItem wi = new WarningItem(m_ItemID, range, messageNumber);

                    wi.WarningString = messageString;
                    wi.ResetDelay    = resetDelay;

                    item = wi;
                }
                else if (m_Type == typeofCannon)
                {
                    CannonDirection direction = CannonDirection.North;

                    for (int i = 0; i < m_Params.Length; ++i)
                    {
                        if (m_Params[i].StartsWith("CannonDirection"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                direction = (CannonDirection)Enum.Parse(typeof(CannonDirection), m_Params[i].Substring(++indexOf), true);
                            }
                        }
                    }

                    item = new Cannon(direction);
                }
                else if (m_Type == typeofSerpentPillar)
                {
                    string      word        = null;
                    Rectangle2D destination = new Rectangle2D();

                    for (int i = 0; i < m_Params.Length; ++i)
                    {
                        if (m_Params[i].StartsWith("Word"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                word = m_Params[i].Substring(++indexOf);
                            }
                        }
                        else if (m_Params[i].StartsWith("DestStart"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                destination.Start = Point2D.Parse(m_Params[i].Substring(++indexOf));
                            }
                        }
                        else if (m_Params[i].StartsWith("DestEnd"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                destination.End = Point2D.Parse(m_Params[i].Substring(++indexOf));
                            }
                        }
                    }

                    item = new SerpentPillar(word, destination);
                }
                else if (m_Type.IsSubclassOf(typeofBeverage))
                {
                    BeverageType content = BeverageType.Liquor;
                    bool         fill    = false;

                    for (int i = 0; !fill && i < m_Params.Length; ++i)
                    {
                        if (m_Params[i].StartsWith("Content"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                content = (BeverageType)Enum.Parse(typeof(BeverageType), m_Params[i].Substring(++indexOf), true);
                                fill    = true;
                            }
                        }
                    }

                    if (fill)
                    {
                        item = (Item)Activator.CreateInstance(m_Type, new object[] { content });
                    }
                    else
                    {
                        item = (Item)Activator.CreateInstance(m_Type);
                    }
                }
                else if (m_Type.IsSubclassOf(typeofBaseDoor))
                {
                    DoorFacing facing = DoorFacing.WestCW;

                    for (int i = 0; i < m_Params.Length; ++i)
                    {
                        if (m_Params[i].StartsWith("Facing"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                facing = (DoorFacing)Enum.Parse(typeof(DoorFacing), m_Params[i].Substring(++indexOf), true);
                                break;
                            }
                        }
                    }

                    item = (Item)Activator.CreateInstance(m_Type, new object[] { facing });
                }
                else
                {
                    item = (Item)Activator.CreateInstance(m_Type);
                }
            }
            catch (Exception e)
            {
                throw new Exception(String.Format("Bad type: {0}", m_Type), e);
            }

            if (item is BaseAddon)
            {
                if (item is MaabusCoffin)
                {
                    MaabusCoffin coffin = (MaabusCoffin)item;

                    for (int i = 0; i < m_Params.Length; ++i)
                    {
                        if (m_Params[i].StartsWith("SpawnLocation"))
                        {
                            int indexOf = m_Params[i].IndexOf('=');

                            if (indexOf >= 0)
                            {
                                coffin.SpawnLocation = Point3D.Parse(m_Params[i].Substring(++indexOf));
                            }
                        }
                    }
                }
                else if (m_ItemID > 0)
                {
                    List <AddonComponent> comps = ((BaseAddon)item).Components;

                    for (int i = 0; i < comps.Count; ++i)
                    {
                        AddonComponent comp = comps[i];

                        if (comp.Offset == Point3D.Zero)
                        {
                            comp.ItemID = m_ItemID;
                        }
                    }
                }
            }
            else if (item is BaseLight)
            {
                bool unlit = false, unprotected = false;

                for (int i = 0; i < m_Params.Length; ++i)
                {
                    if (!unlit && m_Params[i] == "Unlit")
                    {
                        unlit = true;
                    }
                    else if (!unprotected && m_Params[i] == "Unprotected")
                    {
                        unprotected = true;
                    }

                    if (unlit && unprotected)
                    {
                        break;
                    }
                }

                if (!unlit)
                {
                    ((BaseLight)item).Ignite();
                }
                if (!unprotected)
                {
                    ((BaseLight)item).Protected = true;
                }

                if (m_ItemID > 0)
                {
                    item.ItemID = m_ItemID;
                }
            }
            else if (item is Spawner)
            {
                Spawner sp = (Spawner)item;

                sp.NextSpawn = TimeSpan.Zero;

                for (int i = 0; i < m_Params.Length; ++i)
                {
                    if (m_Params[i].StartsWith("Spawn"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            sp.SpawnNames.Add(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("MinDelay"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            sp.MinDelay = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("MaxDelay"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            sp.MaxDelay = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("NextSpawn"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            sp.NextSpawn = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Count"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            sp.Count = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Team"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            sp.Team = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("HomeRange"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            sp.HomeRange = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Running"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            sp.Running = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Group"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            sp.Group = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                }
            }
            else if (item is RecallRune)
            {
                RecallRune rune = (RecallRune)item;

                for (int i = 0; i < m_Params.Length; ++i)
                {
                    if (m_Params[i].StartsWith("Description"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            rune.Description = m_Params[i].Substring(++indexOf);
                        }
                    }
                    else if (m_Params[i].StartsWith("Marked"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            rune.Marked = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("TargetMap"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            rune.TargetMap = Map.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Target"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            rune.Target = Point3D.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                }
            }
            else if (item is SkillTeleporter)
            {
                SkillTeleporter tp = (SkillTeleporter)item;

                for (int i = 0; i < m_Params.Length; ++i)
                {
                    if (m_Params[i].StartsWith("Skill"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Skill = (SkillName)Enum.Parse(typeof(SkillName), m_Params[i].Substring(++indexOf), true);
                        }
                    }
                    else if (m_Params[i].StartsWith("RequiredFixedPoint"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Required = Utility.ToInt32(m_Params[i].Substring(++indexOf)) * 0.01;
                        }
                    }
                    else if (m_Params[i].StartsWith("Required"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Required = Utility.ToDouble(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("MessageString"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.MessageString = m_Params[i].Substring(++indexOf);
                        }
                    }
                    else if (m_Params[i].StartsWith("MessageNumber"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.MessageNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("PointDest"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.PointDest = Point3D.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("MapDest"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.MapDest = Map.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Creatures"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Creatures = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("SourceEffect"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.SourceEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("DestEffect"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.DestEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("SoundID"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.SoundID = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Delay"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Delay = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                }

                if (m_ItemID > 0)
                {
                    item.ItemID = m_ItemID;
                }
            }
            else if (item is KeywordTeleporter)
            {
                KeywordTeleporter tp = (KeywordTeleporter)item;

                for (int i = 0; i < m_Params.Length; ++i)
                {
                    if (m_Params[i].StartsWith("Substring"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Substring = m_Params[i].Substring(++indexOf);
                        }
                    }
                    else if (m_Params[i].StartsWith("Keyword"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Keyword = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Range"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Range = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("PointDest"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.PointDest = Point3D.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("MapDest"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.MapDest = Map.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Creatures"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Creatures = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("SourceEffect"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.SourceEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("DestEffect"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.DestEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("SoundID"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.SoundID = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Delay"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Delay = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                }

                if (m_ItemID > 0)
                {
                    item.ItemID = m_ItemID;
                }
            }
            else if (item is Teleporter)
            {
                Teleporter tp = (Teleporter)item;

                for (int i = 0; i < m_Params.Length; ++i)
                {
                    if (m_Params[i].StartsWith("PointDest"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.PointDest = Point3D.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("MapDest"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.MapDest = Map.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Creatures"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Creatures = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("SourceEffect"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.SourceEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("DestEffect"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.DestEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("SoundID"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.SoundID = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                        }
                    }
                    else if (m_Params[i].StartsWith("Delay"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            tp.Delay = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
                        }
                    }
                }

                if (m_ItemID > 0)
                {
                    item.ItemID = m_ItemID;
                }
            }
            else if (item is FillableContainer)
            {
                FillableContainer cont = (FillableContainer)item;

                for (int i = 0; i < m_Params.Length; ++i)
                {
                    if (m_Params[i].StartsWith("ContentType"))
                    {
                        int indexOf = m_Params[i].IndexOf('=');

                        if (indexOf >= 0)
                        {
                            cont.ContentType = (FillableContentType)Enum.Parse(typeof(FillableContentType), m_Params[i].Substring(++indexOf), true);
                        }
                    }
                }

                if (m_ItemID > 0)
                {
                    item.ItemID = m_ItemID;
                }
            }
            else if (m_ItemID > 0)
            {
                item.ItemID = m_ItemID;
            }

            item.Movable = false;

            for (int i = 0; i < m_Params.Length; ++i)
            {
                if (m_Params[i].StartsWith("Light"))
                {
                    int indexOf = m_Params[i].IndexOf('=');

                    if (indexOf >= 0)
                    {
                        item.Light = (LightType)Enum.Parse(typeof(LightType), m_Params[i].Substring(++indexOf), true);
                    }
                }
                else if (m_Params[i].StartsWith("Hue"))
                {
                    int indexOf = m_Params[i].IndexOf('=');

                    if (indexOf >= 0)
                    {
                        int hue = Utility.ToInt32(m_Params[i].Substring(++indexOf));

                        if (item is DyeTub)
                        {
                            ((DyeTub)item).DyedHue = hue;
                        }
                        else
                        {
                            item.Hue = hue;
                        }
                    }
                }
                else if (m_Params[i].StartsWith("Name"))
                {
                    int indexOf = m_Params[i].IndexOf('=');

                    if (indexOf >= 0)
                    {
                        item.Name = m_Params[i].Substring(++indexOf);
                    }
                }
                else if (m_Params[i].StartsWith("Amount"))
                {
                    int indexOf = m_Params[i].IndexOf('=');

                    if (indexOf >= 0)
                    {
                        // Must supress stackable warnings

                        bool wasStackable = item.Stackable;

                        item.Stackable = true;
                        item.Amount    = Utility.ToInt32(m_Params[i].Substring(++indexOf));
                        item.Stackable = wasStackable;
                    }
                }
            }

            return(item);
        }
Exemplo n.º 39
0
		public StarGateAddon()
		{
			AddComponent( new AddonComponent( 1958 ), -1, -1, 0 );
			AddComponent( new AddonComponent( 1955 ), -1, 0, 0 );
			AddComponent( new AddonComponent( 1955 ), -1, 0, 25 );
			AddComponent( new AddonComponent( 1959 ), -1, 0, 30 );
			AddComponent( new AddonComponent( 1955 ), 0, 0, 0 );
			AddComponent( new AddonComponent( 1955 ), 0, 0, 25 );
			AddComponent( new AddonComponent( 1955 ), 0, 0, 30 );
			AddComponent( new AddonComponent( 1958 ), 0, -1, 0 );
			AddComponent( new AddonComponent( 1955 ), -2, 0, 0 );
			AddComponent( new AddonComponent( 1955 ), -2, 0, 5 );
			AddComponent( new AddonComponent( 1955 ), -2, 0, 10 );
			AddComponent( new AddonComponent( 1955 ), -2, 0, 15 );
			AddComponent( new AddonComponent( 1955 ), -2, 0, 20 );
			AddComponent( new AddonComponent( 1959 ), -2, 0, 25 );
			AddComponent( new AddonComponent( 1960 ), -2, -1, 0 );
			AddComponent( new AddonComponent( 1958 ), 1, -1, 0 );
			AddComponent( new AddonComponent( 1955 ), 1, 0, 0 );
			AddComponent( new AddonComponent( 1955 ), 1, 0, 25 );
			AddComponent( new AddonComponent( 1957 ), 1, 0, 30 );
			AddComponent( new AddonComponent( 1956 ), 1, 1, 0 );
			AddComponent( new AddonComponent( 1956 ), 0, 1, 0 );
			AddComponent( new AddonComponent( 1961 ), 2, 1, 0 );
			AddComponent( new AddonComponent( 1955 ), 2, 0, 0 );
			AddComponent( new AddonComponent( 1955 ), 2, 0, 5 );
			AddComponent( new AddonComponent( 1955 ), 2, 0, 10 );
			AddComponent( new AddonComponent( 1955 ), 2, 0, 15 );
			AddComponent( new AddonComponent( 1955 ), 2, 0, 20 );
			AddComponent( new AddonComponent( 1957 ), 2, 0, 25 );
			AddComponent( new AddonComponent( 1962 ), 2, -1, 0 );
			AddComponent( new AddonComponent( 1956 ), -1, 1, 0 );
			AddComponent( new AddonComponent( 1963 ), -2, 1, 0 );
			AddonComponent ac = null;
			ac = new AddonComponent( 1955 );
			AddComponent( ac, -2, 0, 0 );
			ac = new AddonComponent( 1960 );
			AddComponent( ac, -2, -1, 0 );
			ac = new AddonComponent( 1958 );
			AddComponent( ac, -1, -1, 0 );
			ac = new AddonComponent( 1958 );
			AddComponent( ac, 0, -1, 0 );
			ac = new AddonComponent( 1958 );
			AddComponent( ac, 1, -1, 0 );
			ac = new AddonComponent( 1955 );
			AddComponent( ac, -1, 0, 0 );
			ac = new AddonComponent( 1955 );
			AddComponent( ac, 0, 0, 0 );
			ac = new AddonComponent( 1955 );
			AddComponent( ac, 1, 0, 0 );
			ac = new AddonComponent( 1955 );
			AddComponent( ac, -2, 0, 5 );
			ac = new AddonComponent( 1955 );
			AddComponent( ac, -2, 0, 10 );
			ac = new AddonComponent( 1955 );
			AddComponent( ac, -2, 0, 15 );
			ac = new AddonComponent( 1955 );
			AddComponent( ac, -2, 0, 20 );
			ac = new AddonComponent( 1959 );
			AddComponent( ac, -2, 0, 25 );
			ac = new AddonComponent( 1955 );
			AddComponent( ac, 1, 0, 25 );
			ac = new AddonComponent( 1955 );
			AddComponent( ac, 0, 0, 25 );
			ac = new AddonComponent( 1955 );
			AddComponent( ac, -1, 0, 25 );
			ac = new AddonComponent( 1957 );
			AddComponent( ac, 1, 0, 30 );
			ac = new AddonComponent( 1959 );
			AddComponent( ac, -1, 0, 30 );
			ac = new AddonComponent( 1955 );
			AddComponent( ac, 0, 0, 30 );
			ac = new AddonComponent( 6732 );
			ac.Hue = 1152;
			AddComponent( ac, 1, 0, 15 );
			ac = new AddonComponent( 6732 );
			ac.Hue = 1152;
			AddComponent( ac, 0, 0, 15 );
			ac = new AddonComponent( 6732 );
			ac.Hue = 1152;
			AddComponent( ac, -1, 0, 15 );
			ac = new AddonComponent( 6732 );
			ac.Hue = 1152;
			AddComponent( ac, -1, 0, 5 );
			ac = new AddonComponent( 6732 );
			ac.Hue = 1152;
			AddComponent( ac, 0, 0, 5 );
			ac = new AddonComponent( 6732 );
			ac.Hue = 1152;
			AddComponent( ac, 1, 0, 5 );
		}