RATDOG/_module/nss/re_or.nss
Jaysyn904 ae152d0814 Added BESIE, MS Moneclature
Added BESIE, Markshire's Nomeclature & started initial setup for commoners in Baleas.
2021-09-01 23:42:36 -04:00

60 lines
2.1 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Name re_or.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
This script is intended to be executed by
"re_onrest". It should not be executed alone
*/
//:://////////////////////////////////////////////
//:: Created By: Ray Miller
//:: Created On: 1-6-03
//:://////////////////////////////////////////////
#include "re_rndenc"
void main()
{
object oPC = OBJECT_SELF;
if(GetLocalInt(oPC, "re_resting"))
{
object oArea = GetArea(oPC);
int iMinDistance = 1;
int iMaxDistance = 5;
struct RndEncProperties strProps = GetRndEncProperties(oArea);
if(!strProps.bInitialized) strProps = GetRndEncProperties(GetModule());
if(!strProps.bInitialized)
{
SetRndEncProperties(GetModule());
strProps = GetRndEncProperties(GetModule());
}
//If a friendly creature is awake and within 20 meters, then increase
//the distance at which the encounter can spawn.
int iCounter1 = 1;
object oPlayer = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oPC, iCounter1);
while(GetIsObjectValid(oPlayer) && GetDistanceToObject(oPlayer) <= 20.0)
{
iCounter1++;
if(GetIsFriend(oPlayer, oPC))
{
iMinDistance = 6;
iMaxDistance = 12;
}
oPlayer = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oPC, iCounter1);
}
//The purpose of the following local int is to cause the spawns
//to be facing the PC who generated the encounter.
SetLocalInt(oPC, "re_Facing", TRUE);
object oEncounter = RandomEncounter(IntToFloat(strProps.iChanceOnRest), oPC, strProps.sCreatureTable, 0, 0, iMinDistance, iMaxDistance, 360, 0, 0, 0, strProps.iDifficulty);
/*if(GetIsObjectValid(oEncounter))
{
//DeleteLocalInt(oPC, "re_resting");
effect eEffect = GetFirstEffect(oPC);
while(GetIsEffectValid(eEffect))
{
if(GetEffectType(eEffect) == EFFECT_TYPE_BLINDNESS && GetEffectCreator(eEffect) == GetModule()) RemoveEffect(oPC, eEffect);
eEffect = GetNextEffect(oPC);
}
}*/
}
}