Planeshift
NPCManager Class Reference

#include <npcmanager.h>

Public Member Functions

void AddEntity (gemObject *obj)
 Communicate a entity added to connected superclients. More...
 
void AddPoint (const psPath *path, const psPathPoint *point)
 Notify superclients that a point has been added to a path. More...
 
void ChangeNPCBrain (gemNPC *npc, Client *client, const char *brainName)
 Requests the npcclient to change the brain of this npc (the type) to another one. More...
 
void CheckWorkLocation (gemNPC *npc, Location *location)
 Check work location. More...
 
void ControlNPC (gemNPC *npc)
 Tell a superclient to control an existing npc. More...
 
PetOwnerSession * CreatePetOwnerSession (gemActor *, psCharacter *)
 Add Session for pets. More...
 
void DebugNPC (gemNPC *npc, Client *client, uint8_t debugLevel)
 Requests the npcclient to change the debug level of this npc. More...
 
void DebugTribe (gemNPC *npc, Client *client, uint8_t debugLevel)
 Requests the npcclient to change the debug level of this npc. More...
 
void DeletedNPCNotify (PID player_id)
 Send a deleted npc to a superclient to un-manage it. More...
 
void Disconnect (Client *client)
 Remove a disconnecting superclient from the active list. More...
 
void DismissPet (gemNPC *pet, Client *owner)
 Dismiss active (summoned) pet. More...
 
MathScriptGetMaxPetTime ()
 
MathScriptGetPetDeathLockoutTime ()
 
MathScriptGetPetDepletedLockoutTime ()
 
MathScriptGetPetDismissLockoutTime ()
 
PSSKILL GetPetSkill ()
 Returns the skill used to handle pet operations. More...
 
MathScriptGetPetTrainingLockoutTime ()
 
csArray< PublishDestination > & GetSuperClients ()
 Get the vector of active superclients, used in Multicast(). More...
 
bool Initialize ()
 Initialize the npc manager. More...
 
void LocationAdjusted (Location *location)
 Notify superclients that a location where adjusted. More...
 
void LocationCreated (Location *location)
 Notify superclients that a location where created. More...
 
void LocationInserted (Location *location)
 Notify superclients that a location where inserted into a region. More...
 
void LocationRadius (Location *location)
 Notify superclients that a location radius where chaned. More...
 
void LocationTypeAdd (LocationType *locationType)
 Notify superclients that a location type has been added. More...
 
void LocationTypeRemove (const csString &locationTypeName)
 Notify superclients that a location type has been deleted. More...
 
void NewNPCNotify (PID player_id, PID master_id, PID owner_id)
 Send a newly spawned npc to a superclient to manage it. More...
 
 NPCManager (ClientConnectionSet *pCCS, psDatabase *db, EventManager *evtmgr, GEMSupervisor *gemsupervisor, CacheManager *cachemanager, EntityManager *entitymanager)
 
void PathCreate (const psPath *path)
 Notify superclients that a path has been created. More...
 
void PathPointAdjusted (psPathPoint *point)
 Notify superclients that a pathpoint where adjusted. More...
 
void PathRename (const psPath *path)
 Notify superclients that a path has been renamed. More...
 
void PathSetFlag (const psPath *path, const csString &flag, bool enable)
 Notify superclients that a flag has been changed for a path. More...
 
void PetHasBeenKilled (gemNPC *pet)
 Notification that an pet has been killed. Upon notification of a killed pet this function will start a timer that prevent resummon of dead PETs. More...
 
void PetInfo (Client *client, psCharacter *pet)
 Provide response for the /info commands for GMs for pets. More...
 
void QueueAssessPerception (EID entityEID, EID targetEID, const csString &physicalAssessmentPerception, const csString &physicalAssessmentDifferencePerception, const csString &magicalAssessmentPerception, const csString &magicalAssessmentDifferencePerception, const csString &overallAssessmentPerception, const csString &overallAssessmentDifferencePerception)
 Let the superclient know the result of an assessment. More...
 
void QueueAttackPerception (gemActor *attacker, gemNPC *target)
 Let the superclient know that a player has attacked one of its npcs. More...
 
void QueueChangeOwnerPerception (gemNPC *npc, EID owner)
 Send a change owner perception. More...
 
void QueueDamagePerception (gemActor *attacker, gemNPC *target, float dmg)
 Let the superclient know that a player has taken HP from one of its npcs. More...
 
void QueueDeathPerception (gemObject *who)
 Let the superclient know that one of its npcs has died. More...
 
void QueueEnemyPerception (psNPCCommandsMessage::PerceptionType type, gemActor *npc, gemActor *player, float relative_faction)
 Let the superclient know that one enemy is close. More...
 
void QueueFailedToAttackPerception (gemNPC *attacker, gemObject *target)
 Let the superclient know that an attempt to attack failed. More...
 
void QueueFlagPerception (gemActor *owner)
 Let the superclient know that one of the actors flags has changed. More...
 
void QueueInfoRequestPerception (gemNPC *npc, Client *client, const char *infoRequestSubCmd)
 Let the superclient know that info is requested for a npc. More...
 
void QueueInventoryPerception (gemActor *owner, psItem *itemdata, bool inserted)
 Let the superclient know that one of its npcs has a change in inventory. More...
 
void QueueNPCCmdPerception (gemActor *owner, const csString &cmd)
 Let the superclient know that a response has commanded a npc. More...
 
void QueueOwnerCmdPerception (gemActor *owner, gemNPC *pet, psPETCommandMessage::PetCommand_t command)
 Let the superclient know that one of its npcs has been commanded to stay. More...
 
void QueuePerceptPerception (gemNPC *npc, csString perception, csString type)
 Send a perception to the super client for the npc. More...
 
void QueueSpawnedPerception (gemNPC *spawned, gemNPC *spawner, const csString &tribeMemberType)
 Let the superclient know the npc was spawned successfully. More...
 
void QueueSpellPerception (gemActor *caster, gemObject *target, const char *spell_cat, uint32_t spell_category, float severity)
 Let the superclient know that a spell has been cast. More...
 
void QueueSpokenToPerception (gemNPC *npc, bool spokenTo)
 Send a spoken to perception to the super client for the npc. More...
 
void QueueStatDR (gemActor *actor, unsigned int statsDirtyFlags)
 
void QueueTalkPerception (gemActor *speaker, gemNPC *target)
 Let the superclient know that a player has said something to one of its npcs. More...
 
void QueueTeleportPerception (gemNPC *npc, csVector3 &pos, float yrot, iSector *sector, InstanceID instance)
 Let the superclient know that the npc was teleported. More...
 
void QueueTransferPerception (gemActor *owner, psItem *itemdata, csString target)
 Let the superclient know that a transfer has happend. More...
 
void RemoveEntity (MsgEntry *me)
 Communicate a entity going away to connected superclients. More...
 
void RemovePetOwnerSession (PetOwnerSession *session)
 Remove Session for pets. More...
 
void RemovePoint (const psPath *path, int pointId)
 Notify superclients that a point has been removed from a path. More...
 
void SendAllCommands (bool createNewTick)
 Send all queued commands and perceptions to active superclients and reset the queues. More...
 
void SendAllNPCStats (Client *client)
 Send stats for all managed NPCs to a newly connecting superclient. More...
 
void SendNPCList (Client *client)
 Send a list of managed NPCs to a newly connecting superclient. More...
 
void UpdatePetTime ()
 Updates time in game for a pet. More...
 
void UpdateWorldPositions ()
 Build a message with all changed world positions for superclients to get. More...
 
void WaypointAddAlias (const Waypoint *wp, const WaypointAlias *alias)
 Notify superclients that a alias has been added to a waypoint. More...
 
void WaypointAdjusted (Waypoint *wp)
 Notify superclients that a waypoint where adjusted. More...
 
void WaypointAliasRotation (const Waypoint *wp, const WaypointAlias *alias)
 Notify superclients that a alias has been added to a waypoint. More...
 
void WaypointCreate (const Waypoint *waypoint)
 Notify superclients that a waypoint has been created. More...
 
void WaypointRadius (const Waypoint *waypoint)
 Notify superclients that a waypoint has changed radius. More...
 
void WaypointRemoveAlias (const Waypoint *wp, const csString &alias)
 Notify superclients that a alias has been removed from a waypoint. More...
 
void WaypointRename (const Waypoint *waypoint)
 Notify superclients that a waypoint has been renamed. More...
 
void WaypointSetFlag (const Waypoint *wp, const csString &flag, bool enable)
 Notify superclients that a flag has been changed for waypoint. More...
 
void WorkDoneNotify (EID npcEID, csString reward, csString nick)
 Inform the npc about the reward granted after a work done. More...
 
virtual ~NPCManager ()
 
- Public Member Functions inherited from MessageManager< NPCManager >
void HandleMessage (MsgEntry *msg, Client *client)
 Transfers the message to the manager specific function. More...
 
void Subscribe (FunctionPointer fpt, msgtype type, uint32_t flags=0x01)
 Subscribes this manager to a specific message type with a custom callback. More...
 
bool Unsubscribe (msgtype type)
 Unsubscribes this manager from a specific message type. More...
 
bool Unsubscribe (FunctionPointer handler, msgtype type)
 Unsubscribes a specific handler from a specific message type. More...
 
bool UnsubscribeAll ()
 Unsubscribes this manager from all message types. More...
 
virtual ~MessageManager ()
 Unsubscribes all messages then destroys this object. More...
 
- Public Member Functions inherited from MessageManagerBase
csArray< csString > DecodeCommandArea (Client *client, csString target)
 Decodes an area: expression. More...
 
gemObjectFindObjectByString (const csString &str, gemActor *me) const
 Find the object we are referring to in str. More...
 
ClientFindPlayerClient (const char *name)
 Finds Client* of character with given name. More...
 
virtual bool Verify (MsgEntry *pMsg, unsigned int flags, Client *&client)
 

Protected Member Functions

bool CanPetHearYou (int clientnum, Client *owner, gemNPC *pet, const char *type)
 Check if a pet is within range to react to commands. More...
 
void CheckSendPerceptionQueue (size_t expectedAddSize)
 Check if the perception queue is going to overflow with the next perception. More...
 
void HandleAuthentRequest (MsgEntry *me, Client *client)
 Handle a login message from a superclient. More...
 
void HandleCommandList (MsgEntry *me, Client *client)
 Handle a network msg with a list of npc directives. More...
 
void HandleConsoleCommand (MsgEntry *me, Client *client)
 Handle network message with console commands from npcclient. More...
 
void HandleDamageEvent (MsgEntry *me, Client *client)
 Catch an internal server event for damage so a perception can be sent about it. More...
 
void HandleDeathEvent (MsgEntry *me, Client *client)
 Catch an internal server event for death so a perception can be sent about it. More...
 
void HandleNPCReady (MsgEntry *me, Client *client)
 
void HandlePetCommand (MsgEntry *me, Client *client)
 Handle network message with pet directives. More...
 
void HandlePetSkill (MsgEntry *me, Client *client)
 Handle network message with pet skills. More...
 
void HandleSimpleRenderMesh (MsgEntry *me, Client *client)
 Handle debug meshes from superclient. More...
 
void PrepareMessage ()
 Create an empty command list message, waiting for items to be queued in it. More...
 
void SendMapList (Client *client)
 Send the list of maps for the superclient to load on startup. More...
 
void SendPetSkillList (Client *client, bool forceOpen=true, PSSKILL focus=PSSKILL_NONE)
 
void SendRaces (Client *client)
 Send the list of races for the superclient to load on startup. More...
 
bool WillPetReact (int clientnum, Client *owner, gemNPC *pet, const char *type, int level)
 Check if your pet will reacto to your command based on skills. More...
 

Protected Attributes

CacheManagercacheManager
 
ClientConnectionSetclients
 
int cmd_count
 
psDatabasedatabase
 
EntityManagerentityManager
 
EventManagereventmanager
 
GEMSupervisorgemSupervisor
 
MathScriptmaxPetTime
 
psNPCCommandsMessageoutbound
 
csHash< PetOwnerSession *, PID > OwnerPetList
 
MathScriptpetDeathLockoutTime
 
MathScriptpetDepletedLockoutTime
 
MathScriptpetDismissLockoutTime
 
MathScriptpetRangeScript
 Math script setup for pet range check. More...
 
MathScriptpetReactScript
 Math script setup for pet should react check. More...
 
optionEntrypetSkill
 
MathScriptpetTrainingLockoutTime
 
csArray< PublishDestinationsuperclients
 List of active superclients. More...
 

Additional Inherited Members

- Public Types inherited from MessageManager< NPCManager >
typedef void(NPCManager::* FunctionPointer) (MsgEntry *, Client *)
 

Detailed Description

Definition at line 60 of file npcmanager.h.

Constructor & Destructor Documentation

NPCManager::NPCManager ( ClientConnectionSet pCCS,
psDatabase db,
EventManager evtmgr,
GEMSupervisor gemsupervisor,
CacheManager cachemanager,
EntityManager entitymanager 
)
virtual NPCManager::~NPCManager ( )
virtual

Member Function Documentation

void NPCManager::AddEntity ( gemObject obj)

Communicate a entity added to connected superclients.

void NPCManager::AddPoint ( const psPath path,
const psPathPoint point 
)

Notify superclients that a point has been added to a path.

Parameters
pathThe path where the point where added.
pointThe point that where added.
bool NPCManager::CanPetHearYou ( int  clientnum,
Client owner,
gemNPC pet,
const char *  type 
)
protected

Check if a pet is within range to react to commands.

void NPCManager::ChangeNPCBrain ( gemNPC npc,
Client client,
const char *  brainName 
)

Requests the npcclient to change the brain of this npc (the type) to another one.

Parameters
npcThe npc which will be changed.
clientThe client requesting the action.
brainNameThe name of the new brain (npctype) to associate to the npc.
void NPCManager::CheckSendPerceptionQueue ( size_t  expectedAddSize)
protected

Check if the perception queue is going to overflow with the next perception.

If the queue is going to overflow it will automatically send the commands and clean up to allow new messages to be queued. Pet time updates and world position updates are still left to the npc ticks.

Parameters
expectedAddSizeThe size this percention is expecting to add, remember to update this in any perception being expanded
void NPCManager::CheckWorkLocation ( gemNPC npc,
Location location 
)

Check work location.

Parameters
npcUse the superclient of this npc to verify the location.
locationThe location to verify.
void NPCManager::ControlNPC ( gemNPC npc)

Tell a superclient to control an existing npc.

PetOwnerSession* NPCManager::CreatePetOwnerSession ( gemActor ,
psCharacter  
)

Add Session for pets.

void NPCManager::DebugNPC ( gemNPC npc,
Client client,
uint8_t  debugLevel 
)

Requests the npcclient to change the debug level of this npc.

Parameters
npcThe npc which will be changed.
clientThe client requesting the action.
debugLevelThe new debug level for the npc.
void NPCManager::DebugTribe ( gemNPC npc,
Client client,
uint8_t  debugLevel 
)

Requests the npcclient to change the debug level of this npc.

Parameters
npcThe npc which will be changed.
clientThe client requesting the action.
debugLevelThe new debug level for the npc.
void NPCManager::DeletedNPCNotify ( PID  player_id)

Send a deleted npc to a superclient to un-manage it.

void NPCManager::Disconnect ( Client client)

Remove a disconnecting superclient from the active list.

void NPCManager::DismissPet ( gemNPC pet,
Client owner 
)

Dismiss active (summoned) pet.

MathScript* NPCManager::GetMaxPetTime ( )
inline

Definition at line 349 of file npcmanager.h.

MathScript* NPCManager::GetPetDeathLockoutTime ( )
inline

Definition at line 350 of file npcmanager.h.

MathScript* NPCManager::GetPetDepletedLockoutTime ( )
inline

Definition at line 347 of file npcmanager.h.

MathScript* NPCManager::GetPetDismissLockoutTime ( )
inline

Definition at line 348 of file npcmanager.h.

PSSKILL NPCManager::GetPetSkill ( )
inline

Returns the skill used to handle pet operations.

Returns
A PSSKILL which is the skill choosen to handle pet operations.

Definition at line 227 of file npcmanager.h.

MathScript* NPCManager::GetPetTrainingLockoutTime ( )
inline

Definition at line 351 of file npcmanager.h.

csArray<PublishDestination>& NPCManager::GetSuperClients ( )
inline

Get the vector of active superclients, used in Multicast().

Definition at line 187 of file npcmanager.h.

void NPCManager::HandleAuthentRequest ( MsgEntry me,
Client client 
)
protected

Handle a login message from a superclient.

void NPCManager::HandleCommandList ( MsgEntry me,
Client client 
)
protected

Handle a network msg with a list of npc directives.

void NPCManager::HandleConsoleCommand ( MsgEntry me,
Client client 
)
protected

Handle network message with console commands from npcclient.

void NPCManager::HandleDamageEvent ( MsgEntry me,
Client client 
)
protected

Catch an internal server event for damage so a perception can be sent about it.

void NPCManager::HandleDeathEvent ( MsgEntry me,
Client client 
)
protected

Catch an internal server event for death so a perception can be sent about it.

void NPCManager::HandleNPCReady ( MsgEntry me,
Client client 
)
protected
void NPCManager::HandlePetCommand ( MsgEntry me,
Client client 
)
protected

Handle network message with pet directives.

void NPCManager::HandlePetSkill ( MsgEntry me,
Client client 
)
protected

Handle network message with pet skills.

void NPCManager::HandleSimpleRenderMesh ( MsgEntry me,
Client client 
)
protected

Handle debug meshes from superclient.

bool NPCManager::Initialize ( )

Initialize the npc manager.

void NPCManager::LocationAdjusted ( Location location)

Notify superclients that a location where adjusted.

Parameters
locationThe location that has been adjusted.
void NPCManager::LocationCreated ( Location location)

Notify superclients that a location where created.

Parameters
locationThe location that has been created.
void NPCManager::LocationInserted ( Location location)

Notify superclients that a location where inserted into a region.

Parameters
locationThe location that has been inserted.
void NPCManager::LocationRadius ( Location location)

Notify superclients that a location radius where chaned.

Parameters
locationThe location that has been chaned.
void NPCManager::LocationTypeAdd ( LocationType locationType)

Notify superclients that a location type has been added.

Parameters
locationTypeThe location type that has been created.
void NPCManager::LocationTypeRemove ( const csString &  locationTypeName)

Notify superclients that a location type has been deleted.

Parameters
locationTypeNameThe name of the location type that has been deleted.
void NPCManager::NewNPCNotify ( PID  player_id,
PID  master_id,
PID  owner_id 
)

Send a newly spawned npc to a superclient to manage it.

void NPCManager::PathCreate ( const psPath path)

Notify superclients that a path has been created.

Parameters
pathThe path that where created.
void NPCManager::PathPointAdjusted ( psPathPoint point)

Notify superclients that a pathpoint where adjusted.

Parameters
pointThe pathpoint that has been adjusted.
void NPCManager::PathRename ( const psPath path)

Notify superclients that a path has been renamed.

Parameters
pathThe path that where changed.
void NPCManager::PathSetFlag ( const psPath path,
const csString &  flag,
bool  enable 
)

Notify superclients that a flag has been changed for a path.

Parameters
pathThe path that where changed.
flagThe flag that where changed.
enableTrue if the flag where enabled.
void NPCManager::PetHasBeenKilled ( gemNPC pet)

Notification that an pet has been killed. Upon notification of a killed pet this function will start a timer that prevent resummon of dead PETs.

void NPCManager::PetInfo ( Client client,
psCharacter pet 
)

Provide response for the /info commands for GMs for pets.

void NPCManager::PrepareMessage ( )
protected

Create an empty command list message, waiting for items to be queued in it.

void NPCManager::QueueAssessPerception ( EID  entityEID,
EID  targetEID,
const csString &  physicalAssessmentPerception,
const csString &  physicalAssessmentDifferencePerception,
const csString &  magicalAssessmentPerception,
const csString &  magicalAssessmentDifferencePerception,
const csString &  overallAssessmentPerception,
const csString &  overallAssessmentDifferencePerception 
)

Let the superclient know the result of an assessment.

void NPCManager::QueueAttackPerception ( gemActor attacker,
gemNPC target 
)

Let the superclient know that a player has attacked one of its npcs.

void NPCManager::QueueChangeOwnerPerception ( gemNPC npc,
EID  owner 
)

Send a change owner perception.

void NPCManager::QueueDamagePerception ( gemActor attacker,
gemNPC target,
float  dmg 
)

Let the superclient know that a player has taken HP from one of its npcs.

void NPCManager::QueueDeathPerception ( gemObject who)

Let the superclient know that one of its npcs has died.

void NPCManager::QueueEnemyPerception ( psNPCCommandsMessage::PerceptionType  type,
gemActor npc,
gemActor player,
float  relative_faction 
)

Let the superclient know that one enemy is close.

void NPCManager::QueueFailedToAttackPerception ( gemNPC attacker,
gemObject target 
)

Let the superclient know that an attempt to attack failed.

void NPCManager::QueueFlagPerception ( gemActor owner)

Let the superclient know that one of the actors flags has changed.

void NPCManager::QueueInfoRequestPerception ( gemNPC npc,
Client client,
const char *  infoRequestSubCmd 
)

Let the superclient know that info is requested for a npc.

void NPCManager::QueueInventoryPerception ( gemActor owner,
psItem itemdata,
bool  inserted 
)

Let the superclient know that one of its npcs has a change in inventory.

void NPCManager::QueueNPCCmdPerception ( gemActor owner,
const csString &  cmd 
)

Let the superclient know that a response has commanded a npc.

void NPCManager::QueueOwnerCmdPerception ( gemActor owner,
gemNPC pet,
psPETCommandMessage::PetCommand_t  command 
)

Let the superclient know that one of its npcs has been commanded to stay.

void NPCManager::QueuePerceptPerception ( gemNPC npc,
csString  perception,
csString  type 
)

Send a perception to the super client for the npc.

void NPCManager::QueueSpawnedPerception ( gemNPC spawned,
gemNPC spawner,
const csString &  tribeMemberType 
)

Let the superclient know the npc was spawned successfully.

void NPCManager::QueueSpellPerception ( gemActor caster,
gemObject target,
const char *  spell_cat,
uint32_t  spell_category,
float  severity 
)

Let the superclient know that a spell has been cast.

void NPCManager::QueueSpokenToPerception ( gemNPC npc,
bool  spokenTo 
)

Send a spoken to perception to the super client for the npc.

void NPCManager::QueueStatDR ( gemActor actor,
unsigned int  statsDirtyFlags 
)
void NPCManager::QueueTalkPerception ( gemActor speaker,
gemNPC target 
)

Let the superclient know that a player has said something to one of its npcs.

void NPCManager::QueueTeleportPerception ( gemNPC npc,
csVector3 &  pos,
float  yrot,
iSector *  sector,
InstanceID  instance 
)

Let the superclient know that the npc was teleported.

void NPCManager::QueueTransferPerception ( gemActor owner,
psItem itemdata,
csString  target 
)

Let the superclient know that a transfer has happend.

void NPCManager::RemoveEntity ( MsgEntry me)

Communicate a entity going away to connected superclients.

void NPCManager::RemovePetOwnerSession ( PetOwnerSession *  session)

Remove Session for pets.

void NPCManager::RemovePoint ( const psPath path,
int  pointId 
)

Notify superclients that a point has been removed from a path.

Parameters
pathThe path where the point where removed.
pointIdThe point that where removed.
void NPCManager::SendAllCommands ( bool  createNewTick)

Send all queued commands and perceptions to active superclients and reset the queues.

void NPCManager::SendAllNPCStats ( Client client)

Send stats for all managed NPCs to a newly connecting superclient.

void NPCManager::SendMapList ( Client client)
protected

Send the list of maps for the superclient to load on startup.

void NPCManager::SendNPCList ( Client client)

Send a list of managed NPCs to a newly connecting superclient.

void NPCManager::SendPetSkillList ( Client client,
bool  forceOpen = true,
PSSKILL  focus = PSSKILL_NONE 
)
protected
void NPCManager::SendRaces ( Client client)
protected

Send the list of races for the superclient to load on startup.

void NPCManager::UpdatePetTime ( )

Updates time in game for a pet.

void NPCManager::UpdateWorldPositions ( )

Build a message with all changed world positions for superclients to get.

void NPCManager::WaypointAddAlias ( const Waypoint wp,
const WaypointAlias alias 
)

Notify superclients that a alias has been added to a waypoint.

Parameters
wpThe waypoint that got a new alias.
aliasThe alias that was added.
void NPCManager::WaypointAdjusted ( Waypoint wp)

Notify superclients that a waypoint where adjusted.

Parameters
wpThe waypoint that has been adjusted.
void NPCManager::WaypointAliasRotation ( const Waypoint wp,
const WaypointAlias alias 
)

Notify superclients that a alias has been added to a waypoint.

Parameters
wpThe waypoint that got a new alias.
aliasThe alias that was added.
void NPCManager::WaypointCreate ( const Waypoint waypoint)

Notify superclients that a waypoint has been created.

Parameters
waypointThe waypoint that where created.
void NPCManager::WaypointRadius ( const Waypoint waypoint)

Notify superclients that a waypoint has changed radius.

Parameters
waypointThe waypoint that where changed.
void NPCManager::WaypointRemoveAlias ( const Waypoint wp,
const csString &  alias 
)

Notify superclients that a alias has been removed from a waypoint.

Parameters
wpThe waypoint that a alias where removed.
aliasThe alias that was removed.
void NPCManager::WaypointRename ( const Waypoint waypoint)

Notify superclients that a waypoint has been renamed.

Parameters
waypointThe waypoint that where changed.
void NPCManager::WaypointSetFlag ( const Waypoint wp,
const csString &  flag,
bool  enable 
)

Notify superclients that a flag has been changed for waypoint.

Parameters
wpThe waypoint that where changed.
flagThe flag that where changed.
enableTrue if the flag where enabled.
bool NPCManager::WillPetReact ( int  clientnum,
Client owner,
gemNPC pet,
const char *  type,
int  level 
)
protected

Check if your pet will reacto to your command based on skills.

void NPCManager::WorkDoneNotify ( EID  npcEID,
csString  reward,
csString  nick 
)

Inform the npc about the reward granted after a work done.

Member Data Documentation

CacheManager* NPCManager::cacheManager
protected

Definition at line 424 of file npcmanager.h.

ClientConnectionSet* NPCManager::clients
protected

Definition at line 426 of file npcmanager.h.

int NPCManager::cmd_count
protected

Definition at line 428 of file npcmanager.h.

psDatabase* NPCManager::database
protected

Definition at line 421 of file npcmanager.h.

EntityManager* NPCManager::entityManager
protected

Definition at line 425 of file npcmanager.h.

EventManager* NPCManager::eventmanager
protected

Definition at line 422 of file npcmanager.h.

GEMSupervisor* NPCManager::gemSupervisor
protected

Definition at line 423 of file npcmanager.h.

MathScript* NPCManager::maxPetTime
protected

Definition at line 441 of file npcmanager.h.

psNPCCommandsMessage* NPCManager::outbound
protected

Definition at line 427 of file npcmanager.h.

csHash<PetOwnerSession*, PID> NPCManager::OwnerPetList
protected

Definition at line 431 of file npcmanager.h.

MathScript* NPCManager::petDeathLockoutTime
protected

Definition at line 442 of file npcmanager.h.

MathScript* NPCManager::petDepletedLockoutTime
protected

Definition at line 439 of file npcmanager.h.

MathScript* NPCManager::petDismissLockoutTime
protected

Definition at line 440 of file npcmanager.h.

MathScript* NPCManager::petRangeScript
protected

Math script setup for pet range check.

Definition at line 434 of file npcmanager.h.

MathScript* NPCManager::petReactScript
protected

Math script setup for pet should react check.

Definition at line 437 of file npcmanager.h.

optionEntry* NPCManager::petSkill
protected

Definition at line 429 of file npcmanager.h.

MathScript* NPCManager::petTrainingLockoutTime
protected

Definition at line 443 of file npcmanager.h.

csArray<PublishDestination> NPCManager::superclients
protected

List of active superclients.

Definition at line 419 of file npcmanager.h.


The documentation for this class was generated from the following file: