39 lines
781 B
Plaintext
39 lines
781 B
Plaintext
|
void main()
|
||
|
{
|
||
|
|
||
|
object oPC=GetEnteringObject();
|
||
|
|
||
|
if ((GetLocalInt(OBJECT_SELF,"trapped")==TRUE)&&(GetIsObjectValid(oPC))&&(GetObjectType(oPC)==OBJECT_TYPE_CREATURE))
|
||
|
|
||
|
{
|
||
|
|
||
|
int nReflex=ReflexSave(oPC,32,SAVING_THROW_TYPE_TRAP);
|
||
|
int nHP=GetCurrentHitPoints(oPC);
|
||
|
nHP=nHP-d6();
|
||
|
if (nReflex==0)
|
||
|
|
||
|
{
|
||
|
|
||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(nHP,DAMAGE_TYPE_MAGICAL),oPC);
|
||
|
|
||
|
}
|
||
|
|
||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_DESTRUCTION),oPC);
|
||
|
SendMessageToPC(oPC,"You set off a trap!");
|
||
|
PlaySound("as_sw_woodplate1");
|
||
|
|
||
|
SetLocalInt(OBJECT_SELF,"trapped",FALSE);
|
||
|
|
||
|
string sString=GetStringLeft(GetTag(OBJECT_SELF),(GetStringLength(GetTag(OBJECT_SELF))-1));
|
||
|
|
||
|
if (GetIsObjectValid(GetObjectByTag(sString)))
|
||
|
|
||
|
{
|
||
|
DestroyObject(GetObjectByTag(sString));
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|