29 lines
1.1 KiB
Plaintext
29 lines
1.1 KiB
Plaintext
// mane death script - explode in acid cloud
|
|
// 1d6 acid damage to all in 10 feet (3 meters) unless Reflex save 20
|
|
|
|
void main()
|
|
{
|
|
object oMe=OBJECT_SELF;
|
|
effect eVisualAcid=EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_ACID);
|
|
effect eDamage;
|
|
int nN;
|
|
object oCreature;
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,eVisualAcid,oMe);
|
|
nN=1;
|
|
oCreature=GetNearestCreature(CREATURE_TYPE_IS_ALIVE,TRUE,oMe,nN);
|
|
while(GetIsObjectValid(oCreature)&&GetDistanceBetween(oMe,oCreature)<3.5)
|
|
{ // valid
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,eVisualAcid,oCreature);
|
|
if (!GetIsFriend(oCreature,oMe)||GetGameDifficulty()==GAME_DIFFICULTY_DIFFICULT)
|
|
{ // okay to trigger on
|
|
if (ReflexSave(oCreature,20,SAVING_THROW_TYPE_ACID,oMe)==0)
|
|
{ // failed
|
|
eDamage=EffectDamage(d6(),DAMAGE_TYPE_ACID);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,eDamage,oCreature);
|
|
} // failed
|
|
} // okay to trigger on
|
|
nN++;
|
|
oCreature=GetNearestCreature(CREATURE_TYPE_IS_ALIVE,TRUE,oMe,nN);
|
|
} // valid
|
|
}
|