29 lines
828 B
Plaintext
29 lines
828 B
Plaintext
|
void main()
|
||
|
{
|
||
|
if (GetLocalInt(GetArea(OBJECT_SELF),"andtrap")==2)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
object oPC=GetEnteringObject();
|
||
|
|
||
|
object oBoulder=CreateObject(OBJECT_TYPE_PLACEABLE,"jw_smash_skulls",GetLocation(oPC));
|
||
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectVisualEffect(VFX_DUR_PROT_SHADOW_ARMOR),oBoulder);
|
||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDeath(TRUE,FALSE),oBoulder);
|
||
|
int nSave=FortitudeSave(oPC,28,SAVING_THROW_TYPE_SPELL);
|
||
|
|
||
|
int nDamage=d6(5);
|
||
|
if (nSave!=0)
|
||
|
{
|
||
|
nDamage=nDamage/2;
|
||
|
SendMessageToPC(oPC,"Saved for half damage");
|
||
|
}
|
||
|
|
||
|
effect eVisual=EffectVisualEffect(VFX_COM_HIT_SONIC);
|
||
|
effect eDamage=EffectDamage(nDamage,DAMAGE_TYPE_MAGICAL,DAMAGE_POWER_PLUS_FIVE);
|
||
|
effect eLink=EffectLinkEffects(eVisual,eDamage);
|
||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,eLink,oPC);
|
||
|
AssignCommand(oPC,PlayVoiceChat(14+Random(3)));
|
||
|
|
||
|
}
|