//::///////////////////////////////////////////////
//:: Example XP2 OnItemAcquireScript
//:: x2_mod_def_aqu
//:: (c) 2003 Bioware Corp.
//:://////////////////////////////////////////////
/*
    Put into: OnItemAcquire Event

*/
//:://////////////////////////////////////////////
//:: Created By: Georg Zoeller
//:: Created On: 2003-07-16
//:: Modified by Genisys / Guile 5/20/08
//:://////////////////////////////////////////////

#include "x2_inc_switches"
void main()
{
    ExecuteScript("prc_onaquire", OBJECT_SELF);

     //IMPORTANT THIS MUST BE IN YOUR OnAcquireItem Module Event Script
     //This is a fix for the Inventory Organizing System!
     object oPC = GetModuleItemAcquiredBy();

     if (!GetIsPC(oPC)) { return; }
     if (GetIsDM(oPC) || GetIsDMPossessed(oPC))
     { return; }

     if(GetLocalInt(oPC, "ORGANIZING")==1)
     { return; }


     object oRobbed = GetModuleItemLostBy();
     object oItem = GetModuleItemAcquired();
     object oTaken = GetModuleItemLost();
     string sTaken = GetName(oTaken);
     string sRecieved = GetName(oItem);
     string sRob = GetName(oRobbed);
     string sPC = GetName(oPC);

     string sCDKey = GetPCPublicCDKey(oPC, FALSE);

    int nCheck = GetLocalInt(oPC, "CHECKING_ROGUE");

    //Do this only if the player has not been checked recently!
    if(nCheck !=1)
    {
    //Watch the rogues..
    if(GetIsPC(oPC) && GetHasSkill(SKILL_PICK_POCKET, oPC) && !GetIsDM(oPC))
    {

     SetLocalInt(oPC, "CHECKING_ROGUE", 1);
     //Prevent Rapid Fire!
     DelayCommand(3.0, SetLocalInt(oPC, "CHECKING_ROGUE", 0));

     if((GetIsPC(oRobbed)) && (!GetIsDM(oRobbed)) && (!GetIsDMPossessed(oRobbed)))
     {
      if(sRob == sPC)
      {
        if(sTaken == sRecieved)
        {
         SendMessageToAllDMs("Player " + GetName(oPC) + " may have performed a pick pocket on " + GetName(oRobbed));
        }
      }
     }
    }
    }

     // * Generic Item Script Execution Code
     // * If MODULE_SWITCH_EXECUTE_TAGBASED_SCRIPTS is set to TRUE on the module,
     // * it will execute a script that has the same name as the item's tag
     // * inside this script you can manage scripts for all events by checking against
     // * GetUserDefinedItemEventNumber(). See x2_it_example.nss
     if (GetModuleSwitchValue(MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS) == TRUE)
     {
        SetUserDefinedItemEventNumber(X2_ITEM_EVENT_ACQUIRE);
        int nRet =   ExecuteScriptAndReturnInt(GetUserDefinedItemEventScriptName(oItem),OBJECT_SELF);
        if (nRet == X2_EXECUTE_SCRIPT_END)
        {
           return;
        }

     }

}