Author: Basmati
Author Website: n/a
Script Name: Inverse Monsters
Description: This script causes a creature to spawn in 2 new critters when it is killed, however, if a healing spell of any type is cast at the creature it vanishes.
Instructions on Use:
  1. Create a new creature and give it the blueprint-id "stopper" (or change the variable in the script to your id).
  2. Change the creature so that it can't move, only gives about 5 experience and is hostile to the player.
  3. Put some creatures on the path of the players so they can't walk beside the creature, i.e. a small door.
  4. Start the game and watch the players creating dozens of monsters trying to get through the door.

Script 1 (OnDeath):

void main()
{
string creature_id="stopper";
location summonlocation = GetLocation(OBJECT_SELF);
effect StrikeEffect = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE), FALSE);
effect SummonEffect = EffectVisualEffect(VXF_FNF_SUMMON_MONSTER_3,FALSE);
PlaySound("sff_summund");

ApplyEffectAtLocation (DURATION_TYPE_INSTANT, StrikeEffect, summonlocation, 1.5);
ApplyEffectAtLocation (DURATION_TYPE_INSTANT, SummonEffect, summonlocation, 4.0);
object OMonster = CreateObject(OBJECT_TYPE_CREATURE, creature_id, summonlocation, TRUE);
object OMonster2 = CreateObject(OBJECT_TYPE_CREATURE, creature_id, summonlocation, TRUE);
}

Script 2:

#include "NW_I0_GENERIC"
void main()
{
int ispell=GetLastSpell();
if (
ispell==SPELL_HEAL ||
ispell==SPELL_CURE_CRITICAL_WOUNDS ||
ispell==SPELL_CURE_LIGHT_WOUNDS ||
ispell==SPELL_CURE_MINOR_WOUNDS ||
ispell==SPELL_CURE_MODERATE_WOUNDS ||
ispell==SPELL_CURE_SERIOUS_WOUNDS
) DestroyObject(OBJECT_SELF, 0.0);
}