/* Script generated by Lilac Soul's NWN Script Generator, v. 2.3 For download info, please visit: http://nwvault.ign.com/View.php?view=Other.Detail&id=4683&id=625 */ //Put this script OnUsed void main() { object oPC = GetLastUsedBy(); if (!GetIsPC(oPC)) return; object oTarget; object oSpawn; location lTarget; oTarget = oPC; lTarget = GetLocation(oTarget); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "elecguard", lTarget); oTarget = oSpawn; SetIsTemporaryEnemy(oPC, oTarget); AssignCommand(oTarget, ActionAttack(oPC)); oTarget = oPC; //Visual effects can't be applied to waypoints, so if it is a WP //the VFX will be applied to the WP's location instead int nInt; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_COM_HIT_ELECTRICAL), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_COM_HIT_ELECTRICAL), GetLocation(oTarget)); { // * note that nActive == 1 does not necessarily mean the placeable is active // * that depends on the initial state of the object int nActive = GetLocalInt (OBJECT_SELF,"X2_L_PLC_ACTIVATED_STATE"); // * Play Appropriate Animation if (!nActive) { ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE); } else { ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE); } // * Store New State SetLocalInt(OBJECT_SELF,"X2_L_PLC_ACTIVATED_STATE",!nActive); } }