public static void TargetByResource(TargetByResourceMacroEventArgs e)
        {
            Mobile m = e.Mobile;
            Item tool = e.Tool;

            HarvestSystem system = null;
            HarvestDefinition def = null;
            object toHarvest;

            if (tool is IHarvestTool)
            {
                system = ((IHarvestTool)tool).HarvestSystem;
            }

            if (system != null)
            {
                switch (e.ResourceType)
                {
                    case 0: // ore
                        if (system is Mining)
                            def = ((Mining)system).OreAndStone;
                        break;
                    case 1: // sand
                        if (system is Mining)
                            def = ((Mining)system).Sand;
                        break;
                    case 2: // wood
                        if (system is Lumberjacking)
                            def = ((Lumberjacking)system).Definition;
                        break;
                    case 3: // grave
                        if (TryHarvestGrave(m))
                            return;
                        break;
                    case 4: // red shrooms
                        if (TryHarvestShrooms(m))
                            return;
                        break;
                }

                if (def != null && FindValidTile(m, def, out toHarvest))
                {
                    system.StartHarvesting(m, tool, toHarvest);
                    return;
                }

                system.OnBadHarvestTarget(m, tool, new LandTarget(new Point3D(0, 0, 0), Map.Felucca));
            }
        }
Exemple #2
0
        public static void TargetByResourceMacro(NetState ns, PacketReader pvSrc)
        {
            int length = pvSrc.Size;
            int Command = pvSrc.ReadInt16();
            Serial serial = pvSrc.ReadInt32();
            int resourcetype = pvSrc.ReadInt16();

            if (serial.IsItem)
            {
                TargetByResourceMacroEventArgs e = new TargetByResourceMacroEventArgs(ns, World.FindItem(serial), resourcetype);
                EventSink.InvokeTargetByResourceMacro(e);
            }
        }
Exemple #3
0
 public void InvokeTargetByResourceMacro( TargetByResourceMacroEventArgs e )
 {
     if ( TargetByResourceMacro != null )
         TargetByResourceMacro( e );
 }
Exemple #4
0
        public void TargetByResourceMacro( GameClient ns, PacketReader pvSrc )
        {
            /*int command = */
            pvSrc.ReadInt16();
            Serial serial = pvSrc.ReadInt32();
            int resourceType = pvSrc.ReadInt16();

            if ( serial.IsItem )
            {
                TargetByResourceMacroEventArgs e = new TargetByResourceMacroEventArgs( ns, World.Instance.FindItem( serial ), resourceType );
                EventSink.Instance.InvokeTargetByResourceMacro( e );
            }
        }