73 lines
2.3 KiB
Plaintext
73 lines
2.3 KiB
Plaintext
#include "rd_spawnzones"
|
|
|
|
void main()
|
|
{
|
|
object oPC;
|
|
vector vPC;
|
|
vector vNew;
|
|
location lLoc;
|
|
int iRndX;
|
|
int iRndY;
|
|
int iLevel;
|
|
string sTag;
|
|
effect eCast;
|
|
|
|
oPC = GetEnteringObject();
|
|
if (GetIsPC(oPC))
|
|
{
|
|
if (Random(20) == 0)
|
|
{
|
|
if (GetLocalInt(GetArea(OBJECT_SELF),"SpecialTrig") == 0)
|
|
{
|
|
SetLocalInt(GetArea(OBJECT_SELF),"SpecialTrig",1);
|
|
SendMessageToPC(oPC,"You feel a chill wind brush past your face...");
|
|
iLevel = GetHitDice(oPC);
|
|
iLevel = ZoneLevel(GetArea(oPC),iLevel);
|
|
vPC = GetPosition(oPC);
|
|
iRndX = Random(6) + 4;
|
|
iRndY = Random(6) + 4;
|
|
|
|
if (Random(2) == 1) iRndX=iRndX * -1;
|
|
if (Random(2) == 1) iRndY=iRndY * -1;
|
|
|
|
vNew = vPC + Vector( iRndX/1.0, iRndY/1.0, 0.0 );
|
|
lLoc = Location(GetArea(oPC), vNew, VectorToAngle( -1.0 * vNew ) );
|
|
|
|
eCast = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3);
|
|
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eCast, lLoc);
|
|
CreateObject(OBJECT_TYPE_CREATURE,"en4_passassin",lLoc);
|
|
if (Random(2) == 0)
|
|
{
|
|
eCast = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3);
|
|
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eCast, lLoc);
|
|
CreateObject(OBJECT_TYPE_CREATURE,"en4_passassin",lLoc);
|
|
}
|
|
|
|
vPC = GetPosition(oPC);
|
|
iRndX = Random(6) + 4;
|
|
iRndY = Random(6) + 4;
|
|
|
|
if (Random(2) == 1) iRndX=iRndX * -1;
|
|
if (Random(2) == 1) iRndY=iRndY * -1;
|
|
|
|
vNew = vPC + Vector( iRndX/1.0, iRndY/1.0, 0.0 );
|
|
lLoc = Location(GetArea(oPC), vNew, VectorToAngle( -1.0 * vNew ) );
|
|
|
|
eCast = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3);
|
|
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eCast, lLoc);
|
|
CreateObject(OBJECT_TYPE_CREATURE,"en4_passassin",lLoc);
|
|
if (Random(2) == 0)
|
|
{
|
|
eCast = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3);
|
|
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eCast, lLoc);
|
|
CreateObject(OBJECT_TYPE_CREATURE,"en4_passassin",lLoc);
|
|
}
|
|
|
|
} else {
|
|
SetLocalInt(GetArea(OBJECT_SELF),"SpecialTrig",0);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|