public static void DoOnTarget(Mobile from, object o, Squire squire)
        {
            ArrayList items = new ArrayList();
            bool rejected = false;
            bool lootAdded = false;
            if (o is Item)
            {
                Item item = (Item)o;

                if (squire.InRange(item, 2))
                {
                    if (item.Movable)
                    {
                        items.Add(item);
                        if (squire.m_SquireBeQuiet == false)
                            squire.Emote("*Picks the item off of the ground.*");
                    }
                    else if (item is Corpse)
                    {
                        if (squire.m_SquireBeQuiet == false)
                        {
                            SquireDialog.DoSquireDialog(from, squire, SquireDialogTree.SquireCantLiftCorpse, null, null);
                        }
                    }
                    foreach (Item i in items)
                    {
                        if (!squire.Backpack.CheckHold(squire, i, false, true))
                            rejected = true;
                        else
                        {
                            bool isRejected;
                            LRReason reason;

                            squire.NextActionTime = 5;
                            squire.Lift(i, i.Amount, out isRejected, out reason);

                            if (!isRejected)
                            {
                                squire.Drop(squire, Point3D.Zero);
                                lootAdded = true;
                            }
                            else
                            {
                                rejected = true;
                            }
                        }
                    }
                    if (lootAdded)
                    {
                        squire.PlaySound(0x2E6); //drop gold sound
                    }
                    if (rejected)
                    {
                        if (squire.m_SquireBeQuiet == false)
                        {
                            SquireDialog.DoSquireDialog(from, squire, SquireDialogTree.SquireCantLiftItem, null, null);
                        }
                    }
                }
                else
                {
                    if (squire.m_SquireBeQuiet == false)
                    {
                        SquireDialog.DoSquireDialog(from, squire, SquireDialogTree.SquireCantReach, null, null);
                    }
                }
            }
            else
            {
                if (squire.m_SquireBeQuiet == false)
                {
                    SquireDialog.DoSquireDialog(from, squire, SquireDialogTree.SquireCantLiftNotItem, null, null);
                }
            }
        }
                public static void DoOnTarget( Mobile from, object o, Squire squire )
                {
                    ArrayList items = new ArrayList();
                    ArrayList myitems = new ArrayList(); // Added 1.9.1
                    bool rejected = false;
                    bool lootAdded = false;
                    if ( o is Item )
                    {
                        Item item = ( Item )o;

                        if ( squire.InRange( item, 2 ) )
                        {
                            if ( item.Movable )
                            {
                                if( squire.m_SquireBeQuiet == false )
                                {
                                    SquireDialog.DoSquireDialog( from, squire, SquireDialogTree.ItemIsNotCorpse, null, null );
                                }
                            }
                            else if ( item is Corpse )
                            {
                                if( ((Corpse)item).Owner != null && ((Corpse)item).Owner.Player ) // Added check for non-null to avoid crashing. 1.9.1
                                {
                                    if( squire.m_SquireBeQuiet == false )
                                    {
                                        SquireDialog.DoSquireDialog( from, squire, SquireDialogTree.RefusesToLootPlayers, null, null );
                                    }
                                }
                                else if ( ((Corpse)item).Owner != null && ((Corpse)item).Owner == squire ) // Added 1.9.1
                                {
                                    if( squire.m_SquireBeQuiet == false )
                                    {
                                        squire.Emote( "*Rummages through items in a corpse.*" );
                                    }
                                    foreach ( Item corpseItem in ((Corpse)item).Items )
                                        myitems.Add( corpseItem );
                                }
                                else
                                {
                                    if( squire.m_SquireBeQuiet == false )
                                    {
                                        squire.Emote( "*Rummages through items in a corpse.*" );
                                    }

                                    foreach ( Item corpseItem in ((Corpse)item).Items )
                                    {
                                        items.Add( corpseItem );
                                    }
                                }
                            }
                            foreach ( Item i in items )
                            {
                                if ( !squire.Backpack.CheckHold( squire, i, false, true ) )
                                    rejected = true;
                                else
                                {
                                    bool isRejected;
                                    LRReason reason;

                                    squire.NextActionTime = 5;
                                    squire.Lift( i, i.Amount, out isRejected, out reason );

                                    if ( !isRejected )
                                    {
                                        if ( squire.AutoEquipLoot == false )
                                        {
                                      //      squire.Drop( squire.Backpack, new Point3D ( Utility.Random( 29, 108 ), Utility.Random( 34, 94 ), 0 ) ); byte gridloc; //Randomly set them in their pack.
                                        }
                                        else
                                        {
                                            squire.Drop( squire, Point3D.Zero );
                                        }
                                        lootAdded = true;
                                    }
                                    else
                                    {
                                        rejected = true;
                                    }
                                }
                            }
                            foreach ( Item myitem in myitems ) // Added 1.9.1
                            {
                                if ( !squire.Backpack.CheckHold( squire, myitem, false, true ) )
                                    rejected = true;
                                else
                                {
                                    bool isRejected;
                                    LRReason reason;

                                    squire.NextActionTime = 5;
                                    squire.Lift( myitem, myitem.Amount, out isRejected, out reason );

                                    if ( !isRejected )
                                    {
                                        squire.Drop( squire, Point3D.Zero );
                                        lootAdded = true;
                                    }
                                    else
                                    {
                                        rejected = true;
                                    }
                                }
                            }
                            if ( lootAdded )
                            {
                                squire.PlaySound( 0x2E6 ); //drop gold sound
                            }
                            if ( rejected )
                            {
                                if( squire.m_SquireBeQuiet == false )
                                {
                                    SquireDialog.DoSquireDialog( from, squire, SquireDialogTree.SquireCantLootAllItems, null, null );
                                }
                            }
                        }
                        else
                        {
                            if( squire.m_SquireBeQuiet == false )
                            {
                                SquireDialog.DoSquireDialog( from, squire, SquireDialogTree.SquireCantReach, null, null );
                            }
                        }
                    }
                    else
                    {
                        if( squire.m_SquireBeQuiet == false )
                        {
                            SquireDialog.DoSquireDialog( from, squire, SquireDialogTree.SquireCantLootNotCorpse, null, null );
                        }
                    }
                }