Initial upload
Initial upload.
This commit is contained in:
63
_module/nss/re_spawnerhb.nss
Normal file
63
_module/nss/re_spawnerhb.nss
Normal file
@@ -0,0 +1,63 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: FileName re_spawnerhb
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
This script is used in the heartbeat of the
|
||||
BESIE MMORPG Spawner tool, part of the BESIE Random
|
||||
Encounter package by Ray Miller.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Ray Miller
|
||||
//:: Created On: 9-2-02
|
||||
//:://////////////////////////////////////////////
|
||||
#include "re_rndenc"
|
||||
void main()
|
||||
{
|
||||
///////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////
|
||||
//Set this parameter to FALSE if you wish
|
||||
//your encounter distances to be constant
|
||||
//
|
||||
int RandomDistance = TRUE
|
||||
//
|
||||
//////////////////////////////////////////////////////
|
||||
|
||||
;
|
||||
float fChanceOfEncounter = IntToFloat(GetMaxHitPoints(OBJECT_SELF)) / 100;
|
||||
object oEncounterObject = GetArea(OBJECT_SELF);
|
||||
string sTemplate = GetTag(OBJECT_SELF);
|
||||
int iNumberOfParties;
|
||||
int iOrientation = 0;
|
||||
int iMinDistance = RandomDistance;
|
||||
int iDifficulty = GetFortitudeSavingThrow(OBJECT_SELF);
|
||||
int iChanceFromBehind = GetReflexSavingThrow(OBJECT_SELF);
|
||||
int iMaxDistance = GetWillSavingThrow(OBJECT_SELF);
|
||||
if(!iMaxDistance)
|
||||
{
|
||||
iMaxDistance = 1;
|
||||
}
|
||||
if(GetStringLeft(sTemplate, 3) != "re_")
|
||||
sTemplate = "random";
|
||||
object oObject = GetFirstObjectInArea(oEncounterObject);
|
||||
while(GetIsObjectValid(oObject))
|
||||
{
|
||||
if(GetIsPC(oObject))
|
||||
{
|
||||
if(GetFactionLeader(oObject) == oObject)
|
||||
{
|
||||
iNumberOfParties++;
|
||||
}
|
||||
}
|
||||
oObject = GetNextObjectInArea(oEncounterObject);
|
||||
}
|
||||
fChanceOfEncounter = IntToFloat(iNumberOfParties) * fChanceOfEncounter;
|
||||
|
||||
if((Random(99) + 1) < iChanceFromBehind)
|
||||
{
|
||||
iOrientation = 180;
|
||||
iMaxDistance = 2;
|
||||
}
|
||||
RandomEncounter(fChanceOfEncounter, oEncounterObject, sTemplate, 0, 0, iMinDistance, iMaxDistance, iOrientation, 30, 0, iDifficulty);
|
||||
CleanHouse();
|
||||
}
|
||||
Reference in New Issue
Block a user