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))); }