45 lines
1.4 KiB
Plaintext
45 lines
1.4 KiB
Plaintext
|
|
#include "nw_i0_generic"
|
|
|
|
void main()
|
|
|
|
{
|
|
object oSpawn;
|
|
effect eVFX;
|
|
|
|
// Get the creature who triggered this event.
|
|
object oPC = GetEnteringObject();
|
|
|
|
// Only fire for (real) PCs.
|
|
if ( !GetIsPC(oPC) || GetIsDMPossessed(oPC) )
|
|
return;
|
|
|
|
// Abort if the PC does not have the item "ningstone".
|
|
if ( GetItemPossessedBy(oPC, "ningstone") == OBJECT_INVALID )
|
|
return;
|
|
|
|
// Spawn some critters.
|
|
|
|
eVFX = EffectVisualEffect(VFX_IMP_TORNADO);
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "ashkalite001", GetLocation(oPC));
|
|
AssignCommand(oSpawn, DetermineCombatRound(oPC));
|
|
DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn));
|
|
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "ashkalite001", GetLocation(oPC));
|
|
AssignCommand(oSpawn, DetermineCombatRound(oPC));
|
|
DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn));
|
|
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "ashkalite001", GetLocation(oPC));
|
|
AssignCommand(oSpawn, DetermineCombatRound(oPC));
|
|
DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn));
|
|
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "ashkalite001", GetLocation(oPC));
|
|
AssignCommand(oSpawn, DetermineCombatRound(oPC));
|
|
DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oSpawn));
|
|
|
|
|
|
DestroyObject(OBJECT_SELF);
|
|
|
|
}
|
|
|