PRC8_fork/nwn/nwnprc/trunk/scripts/prc_evnt_brtbn.nss

33 lines
1.4 KiB
Plaintext
Raw Permalink Normal View History

/////////////////////////////////////////////////////////
// Brittlebone On-death
// prc_evnt_brtbn.nss
/////////////////////////////////////////////////////////
/*Brittlebone: This unguent must be spread over a set of
bones before animation as a skeleton. The ointment reduces
the skeleton<6F>s natural armor by 2 points (to a minimum of 0),
but when the skeleton is destroyed, its bones splinter and fl y
apart, sending shards in all directions. Any creature within
the skeleton<6F>s reach takes 1 point of piercing damage per HD
of the skeleton (Reflex DC 15 half; minimum 1 point).
*/
#include "prc_inc_spells"
void main()
{
object oSkell = GetLastBeingDied();
object oTarget = MyFirstObjectInShape(SHAPE_SPHERE, FeetToMeters(10.0), GetLocation(oSkell), TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_DOOR);
int nDam = GetHitDice(oSkell);
while(GetIsObjectValid(oTarget))
{
if(PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, 15, SAVING_THROW_TYPE_NONE))
{
nDam = nDam / 2;
}
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDam, DAMAGE_TYPE_PIERCING), oTarget);
oTarget = MyNextObjectInShape(SHAPE_SPHERE, FeetToMeters(10.0), GetLocation(oSkell), TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_DOOR);
}
}