37 lines
991 B
Plaintext
37 lines
991 B
Plaintext
//Chest Trap created by Guile 3/9/07
|
|
//Put this script OnOpen
|
|
void main()
|
|
{
|
|
|
|
object oPC = GetLastOpenedBy();
|
|
|
|
if (!GetIsPC(oPC)) return;
|
|
|
|
int DoOnce = GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF));
|
|
|
|
if (DoOnce==TRUE) return;
|
|
|
|
SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), TRUE);
|
|
|
|
object oTarget;
|
|
oTarget = oPC;
|
|
|
|
ActionCastSpellAtObject(SPELL_CHAIN_LIGHTNING, oTarget, METAMAGIC_ANY, TRUE, 0, PROJECTILE_PATH_TYPE_DEFAULT, FALSE);
|
|
|
|
effect eEffect;
|
|
eEffect = EffectDamage(1000, DAMAGE_TYPE_ELECTRICAL, DAMAGE_POWER_ENERGY);
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, 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_IMP_LIGHTNING_M), oTarget);
|
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_LIGHTNING_M), GetLocation(oTarget));
|
|
|
|
}
|
|
|