//:://///////////////////////////////////////////// //:: Example XP2 OnItemEquipped //:: ar_mod_unequip //:: (c) 2003 Bioware Corp. //::////////////////////////////////////////////// /* Put into: OnUnEquip Event */ //::////////////////////////////////////////////// //:: Created By: Georg Zoeller //:: Created On: 2003-07-16 //::////////////////////////////////////////////// //:: Modified By: Deva Winblood //:: Modified On: April 15th, 2008 //:: Added Support for Mounted Archery Feat penalties //::////////////////////////////////////////////// #include "x2_inc_switches" #include "x2_inc_intweapon" #include "x3_inc_horse" void main() { object oItem = GetPCItemLastUnequipped(); object oPC = GetPCItemLastUnequippedBy(); // ------------------------------------------------------------------------- // Intelligent Weapon System // ------------------------------------------------------------------------- if (IPGetIsIntelligentWeapon(oItem)) { IWSetIntelligentWeaponEquipped(oPC,OBJECT_INVALID); IWPlayRandomUnequipComment(oPC,oItem); } // ------------------------------------------------------------------------- // Mounted benefits control // ------------------------------------------------------------------------- if (GetWeaponRanged(oItem)) { DeleteLocalInt(oPC,"bX3_M_ARCHERY"); HORSE_SupportAdjustMountedArcheryPenalty(oPC); } // ------------------------------------------------------------------------- // 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_UNEQUIP); int nRet = ExecuteScriptAndReturnInt(GetUserDefinedItemEventScriptName(oItem),OBJECT_SELF); if (nRet == X2_EXECUTE_SCRIPT_END) { return; } } }