//:://///////////////////////////////////////////// //:: Name s_itemacquired //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* This script is intended to be called by or incorporated into the Module:OnAcquireItem event (script). It works in conjuction with s_cleartrash by clearing the destruct time on items picked up by PC's so they will not near-instantly be destroyed if dropped. Once dropped, however, they will be marked for destruction by s_cleartrash. */ //::////////////////////////////////////////////// //:: Created By: Scott Thorne (Thornex2@wans.net) //:: Created On: July 27, 2002 //::////////////////////////////////////////////// #include "sha_artif_syste2" void main() { //Don't fire before first time entry. object oPC = GetModuleItemAcquiredBy(); if(GetLocalInt(oPC, "RHUN_ONCE")) { OnArtifactAcquire(); } object oItem = GetModuleItemAcquired(); string sTag = GetTag(oItem); if (GetIsPC(GetItemPossessor(oItem))) { DeleteLocalInt(oItem, "CT_DESTRUCT_TIME"); } ExecuteScript ("x2_mod_def_aqu", OBJECT_SELF); // Added by Grug 23-04-2004 // If it is being aquired then a couple of wizards are trying to exploit with polymorph if((sTag == "NW_WSWMLS013") /* Tenser's Sword */ || (sTag == "X2_IT_CREWPWHIP") /* Shocking Whip */ || (sTag == "X2_IT_CREWPWHIP2") /* Epic Shocking Whip */ || (sTag == "X2_IT_CREWPKOBSW") /* Kobold Commando Sword */ || (sTag == "X2_IT_CREWPKOBS2") /* Kobold Commando Sword */ || (sTag == "X2_WDROWLS002") /* Drow Venomblade +3 */ || (sTag == "x2_it_wplmss011") /* Drider Spear +2 */ || (sTag == "x2_it_crewpvscyt") /* Risen Lord Scythe */ || (sTag == "x2_it_frzdrowbld") /* Frozen Drow Blade */ || (sTag == "x2_it_wplmss012") /* Drider Spear +5 */ || (sTag == "X2_IT_MINOAXE") /* Epic Minotaur Axe */ || (sTag == "x2_it_rakstaff") /* Rakshasa Staff */ || (sTag == "X2_IT_CREWMAZERA") /* Azer Flaming Waraxe +5 */ /* || "NW_WAXMBT002" Battleaxe +1 - Allowed because it is a drop*/) { DestroyObject(oItem); return; } if (!GetIsPC(oPC) || GetIsDM(oPC)){ return;} string sBaseType = "unknown object"; string sItemName = GetName (oItem); switch(GetBaseItemType(oItem)) { case BASE_ITEM_AMULET: sBaseType ="Amulet";break; case BASE_ITEM_ARMOR: sBaseType ="Armor";break; case BASE_ITEM_ARROW: sBaseType ="Arrow";break; case BASE_ITEM_BASTARDSWORD: sBaseType ="Bastard Sword";break; case BASE_ITEM_BATTLEAXE: sBaseType ="Battle Axe";break; case BASE_ITEM_BELT: sBaseType ="Belt";break; case BASE_ITEM_BOLT : sBaseType ="Bolt";break; case BASE_ITEM_BOOK: sBaseType ="Book";break; case BASE_ITEM_BOOTS: sBaseType ="Boots";break; case BASE_ITEM_BRACER: sBaseType ="Bracers";break; case BASE_ITEM_BULLET: sBaseType ="Bullet";break; case BASE_ITEM_CLOAK: sBaseType ="Cloak";break; case BASE_ITEM_CLUB: sBaseType ="Club";break; case BASE_ITEM_CRAFTMATERIALMED: sBaseType ="Medium Crafting Item";break; case BASE_ITEM_CRAFTMATERIALSML: sBaseType ="Small Crafting Item";break; case BASE_ITEM_DAGGER: sBaseType ="Dagger";break; case BASE_ITEM_DART: sBaseType ="Dart";break; case BASE_ITEM_DIREMACE: sBaseType ="Mace";break; case BASE_ITEM_DOUBLEAXE: sBaseType ="Double Axe";break; case BASE_ITEM_DWARVENWARAXE: sBaseType ="Dwarven War Axe";break; case BASE_ITEM_GEM: sBaseType ="Gem";break; case BASE_ITEM_GLOVES: sBaseType ="Gloves";break; case BASE_ITEM_GREATAXE: sBaseType ="Great Axe";break; case BASE_ITEM_GREATSWORD: sBaseType ="Great Sword";break; case BASE_ITEM_GOLD: sBaseType ="Some Gold";break; case BASE_ITEM_HALBERD: sBaseType ="Halberd";break; case BASE_ITEM_HANDAXE: sBaseType ="Hand Axe";break; case BASE_ITEM_HEALERSKIT: sBaseType ="Healers Kit";break; case BASE_ITEM_HEAVYCROSSBOW: sBaseType ="Heavy Crossbow";break; case BASE_ITEM_HEAVYFLAIL: sBaseType ="Heavy Flail";break; case BASE_ITEM_HELMET: sBaseType ="Helmet";break; case BASE_ITEM_INVALID: sBaseType ="";break; case BASE_ITEM_KAMA: sBaseType ="Kama";break; case BASE_ITEM_KATANA: sBaseType ="Katana";break; case BASE_ITEM_KEY: sBaseType ="Key";break; case BASE_ITEM_KUKRI: sBaseType ="Kukri";break; case BASE_ITEM_LARGEBOX: sBaseType ="Large Box";break; case BASE_ITEM_LARGESHIELD: sBaseType ="Large Shield";break; case BASE_ITEM_LIGHTCROSSBOW: sBaseType ="Light Crossbow";break; case BASE_ITEM_LIGHTFLAIL: sBaseType ="Light Flail";break; case BASE_ITEM_LIGHTHAMMER: sBaseType ="Light Hammer";break; case BASE_ITEM_LIGHTMACE: sBaseType ="Light Mace";break; case BASE_ITEM_LONGBOW: sBaseType ="Long Bow";break; case BASE_ITEM_LONGSWORD: sBaseType ="Long Sword";break; case BASE_ITEM_MAGICROD: sBaseType ="Magic Rod";break; case BASE_ITEM_MAGICSTAFF: sBaseType ="Magic Staff";break; case BASE_ITEM_MAGICWAND: sBaseType ="Magic Wand";break; case BASE_ITEM_MISCLARGE: sBaseType ="Large Item";break; case BASE_ITEM_MISCMEDIUM: sBaseType ="Medium Item";break; case BASE_ITEM_MISCSMALL: sBaseType ="Small Item";break; case BASE_ITEM_MISCTALL: sBaseType ="Tall Item";break; case BASE_ITEM_MISCTHIN: sBaseType ="Thin Item";break; case BASE_ITEM_MISCWIDE: sBaseType ="Wide Item";break; case BASE_ITEM_MORNINGSTAR: sBaseType ="Morningstar";break; case BASE_ITEM_POTIONS: sBaseType ="Potion";break; case BASE_ITEM_QUARTERSTAFF: sBaseType ="Quarterstaff";break; case BASE_ITEM_RAPIER: sBaseType ="Rapier";break; case BASE_ITEM_RING: sBaseType ="Ring";break; case BASE_ITEM_SCIMITAR: sBaseType ="Scimitar";break; case BASE_ITEM_SCYTHE: sBaseType ="Scythe";break; case BASE_ITEM_SHORTBOW: sBaseType ="Short bow";break; case BASE_ITEM_SHORTSPEAR: sBaseType ="Short Spear";break; case BASE_ITEM_SHORTSWORD: sBaseType ="Short Sword";break; case BASE_ITEM_SHURIKEN: sBaseType ="Shuriken";break; case BASE_ITEM_SICKLE: sBaseType ="Sickle";break; case BASE_ITEM_SLING: sBaseType ="Sling";break; case BASE_ITEM_SMALLSHIELD: sBaseType ="Small Shield";break; case BASE_ITEM_SPELLSCROLL: sBaseType ="Scroll";break; case BASE_ITEM_THIEVESTOOLS: sBaseType ="Thieves Tools";break; case BASE_ITEM_THROWINGAXE: sBaseType ="Throwing Axe";break; case BASE_ITEM_TORCH: sBaseType ="Torch";break; case BASE_ITEM_TOWERSHIELD: sBaseType ="Tower Shield";break; case BASE_ITEM_TRAPKIT: sBaseType ="Trap Kit";break; case BASE_ITEM_TRIDENT: sBaseType ="Trident";break; case BASE_ITEM_TWOBLADEDSWORD: sBaseType ="Two Bladed Sword";break; case BASE_ITEM_WARHAMMER: sBaseType ="Warhammer";break; case BASE_ITEM_WHIP: sBaseType ="Whip";break; } if( oItem != OBJECT_INVALID ) // this means the item was destroyed or its gold { if( !GetIdentified( oItem ) ) { AssignCommand(oPC, ActionSpeakString("Found an unidentified " + sBaseType + "." , TALKVOLUME_TALK)); } else { AssignCommand(oPC, ActionSpeakString("Found " + sItemName + "." , TALKVOLUME_TALK)); } } }