Initial upload
Initial upload.
This commit is contained in:
53
_module/nss/pgs_mssngr_hb.nss
Normal file
53
_module/nss/pgs_mssngr_hb.nss
Normal file
@@ -0,0 +1,53 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Name: pgs_mssngr_hb
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Heartbeat event for PGS Messengers. This
|
||||
script is to ensure the messenger remains close
|
||||
to the player - if not, they "fly away."
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Samius Maximus
|
||||
//:: Created On:
|
||||
//:://////////////////////////////////////////////
|
||||
#include "inc_gsystem_cnfg"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPlayer = GetLocalObject (OBJECT_SELF, "Temp_Player");
|
||||
float fMaxDistance;
|
||||
|
||||
//--------------------------------------------
|
||||
//Determine distance type to check against.
|
||||
//--------------------------------------------
|
||||
if (GetLocalInt (OBJECT_SELF, "Messenger_Following") == TRUE)
|
||||
fMaxDistance = PGS_MAX_MESSENGER_FOLLOW_DISTANCE;
|
||||
else
|
||||
fMaxDistance = PGS_MAX_MESSENGER_STAND_DISTANCE;
|
||||
|
||||
//--------------------------------------------
|
||||
//Check for out-of-bounds by messenger creature.
|
||||
//--------------------------------------------
|
||||
if (GetDistanceToObject (oPlayer) > fMaxDistance)
|
||||
{
|
||||
SetLocalInt (OBJECT_SELF, "Out_Of_Bounds_Count", GetLocalInt (OBJECT_SELF,
|
||||
"Out_Of_Bounds_Count") + 1);
|
||||
|
||||
//--------------------------------------------
|
||||
//If out of bounds max number of times, fly away.
|
||||
//--------------------------------------------
|
||||
if (GetLocalInt (OBJECT_SELF, "Out_Of_Bounds_Count") >= PGS_MESSENGER_HEARTBEAT_COUNT)
|
||||
{
|
||||
//--------------------------------------------
|
||||
//Inform player, and remove messenger.
|
||||
//--------------------------------------------
|
||||
SendMessageToPC (oPlayer, "You're messenger creature was unable " +
|
||||
"to keep, and has fled to the sky.");
|
||||
DeleteLocalObject (oPlayer, "Temp_Messenger_Creature");
|
||||
ApplyEffectToObject (DURATION_TYPE_INSTANT, EffectDisappear(), OBJECT_SELF);
|
||||
}
|
||||
}
|
||||
else
|
||||
DeleteLocalInt (OBJECT_SELF, "Out_Of_Bounds_Count");
|
||||
}
|
||||
Reference in New Issue
Block a user