void main() { object oPC=GetEnteringObject(); if (GetLocalInt(OBJECT_SELF,"trapped")==TRUE&&GetIsObjectValid(oPC)&&(GetObjectType(oPC)==OBJECT_TYPE_CREATURE)) { if (ReflexSave(oPC,24,SAVING_THROW_TYPE_TRAP)==0) { ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(d6(5)+8,DAMAGE_TYPE_PIERCING),oPC); } ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_SPIKE_TRAP ),oPC); SendMessageToPC(oPC,"You set off a trap!"); PlaySound("as_sw_woodplate1"); SetLocalInt(OBJECT_SELF,"trapped",FALSE); string sString=GetStringLeft(GetTag(OBJECT_SELF),15); if (GetIsObjectValid(GetObjectByTag(sString))) { DestroyObject(GetObjectByTag(sString)); } } }