26 #ifndef __USERMANAGER_H__    27 #define __USERMANAGER_H__    46 class PendingDuelInvite;
   136                                         int &theirPhysicalLevel, 
int &theirMagicalLevel,
   137                                         int &physicalDiff, 
int &magicalDiff, 
int &overallLevelComparison);
   206     bool LoadEmotes(
const char* xmlfile, iVFS* vfs);
   225     void Emote(csString general, csString specific, csString animation, 
gemActor* actor);
   262     bool WhoProcessClient(
Client* curr, 
int guildId, csString* message, csString filter, 
bool check, 
unsigned* count);
 void HandleTraining(psUserCmdMessage &msg, Client *client)
Handles a player command to start training with targeted entity. 
 
void HandleGMEvents(Client *client)
Sends a client a list of their current assigned event. 
 
void Guard(Client *client, gemObject *object, csString action)
Handles a player command to guard/unguard an item. 
 
Manages CEL entities on the server. 
 
void HandleMarriage(psUserCmdMessage &msg, Client *client)
Command to marry/divorce someone. 
 
void Assist(psUserCmdMessage &msg, Client *client)
Handles an /Assist command comming from the client. 
 
void HandleUserCommand(MsgEntry *me, Client *client)
Take a user command from a client, and send it to be handled by a function. 
 
void HandleEntranceMessage(MsgEntry *me, Client *client)
 
void HandleBanking(psUserCmdMessage &msg, Client *client)
Handles a player command to start banking with the targeted entity. 
 
bool Animation(csString animation, gemActor *actor)
This function will start an animation on the actor, it will not repeat, so if you need an animation l...
 
void HandleStopAttack(psUserCmdMessage &msg, Client *client)
Command to stop attacking your target. 
 
void Emote(csString general, csString specific, csString animation, gemActor *actor)
Process an emote command. 
 
CacheManager * cacheManager
 
csHash< EMOTE *, csString > emoteHash
 
Used to manage incoming user commands from a client. 
 
void RollDice(psUserCmdMessage &msg, Client *client)
Calculates a dice roll from a player based on number of die and sides. 
 
void HandleAttack(psUserCmdMessage &msg, Client *client)
Command to start attacking something. 
 
void HandleUnmount(psUserCmdMessage &msg, Client *client)
Handles a player command to unmount. 
 
void StopTrading(psUserCmdMessage &msg, Client *client)
Handle the /stoptrading command. 
 
The structure of 1 queue entry (pointer to a message) 
 
void HandleLoot(psUserCmdMessage &msg, Client *client)
Handles a /loot command from a player to loot something. 
 
void LootMoney(gemActor *actor, Client *client)
Attempt to loot money from the target. 
 
void StartTrading(psUserCmdMessage &msg, Client *client)
Handle the /starttrading command. 
 
void HandleQuests(Client *client)
Sends a client a list of their current assigned quests. 
 
void HandleDie(psUserCmdMessage &msg, Client *client)
Handles a player command to die. 
 
void ChallengeToDuel(psUserCmdMessage &msg, Client *client)
Command to challenge someone to a duel. 
 
void Mount(gemActor *rider, gemActor *mount)
Handles the /mount command. 
 
void BuddyList(Client *client, int clientnum, bool filter)
Send a buddy list to a player. 
 
void NotifyPlayerBuddies(Client *client, bool loggedon)
Send a notification to all player (non GM/Dev) clients on a person buddy list that they have logged o...
 
void Pickup(Client *client, csString target)
Handles a player command to pickup an item. 
 
virtual bool Initialize(GEMSupervisor *gemsupervisor)
 
void ReportPosition(psUserCmdMessage &msg, Client *client)
Sends the player their current position and sector. 
 
void GiveTip(psUserCmdMessage &msg, Client *client)
Give a tip from the database to the client. 
 
void HandleTakeStackAll(psUserCmdMessage &me, Client *client)
Handle taking all items from a container ignoring some qualities when stacking. 
 
void HandleGuard(psUserCmdMessage &msg, Client *client)
Handle the /guard command, send it to Guard() 
 
Any semi-autonomous object, either a player or an NPC. 
 
void HandleCharDetailsRequest(MsgEntry *me, Client *client)
Handle a request to send a character description. 
 
void HandleUse(Client *client, bool on)
Handles a player request to 'use' the targeted item. 
 
void HandleAdminCommand(psUserCmdMessage &msg, Client *client)
Handles the /admin command. 
 
void HandleQueueAttack(psUserCmdMessage &msg, Client *client)
command to add an attack to the attackQueue 
 
void HandleMount(psUserCmdMessage &msg, Client *client)
Handles a player command to mount. 
 
void HandleRotate(psUserCmdMessage &msg, Client *client)
Handle the /rotate command, send it to Rotate() 
 
void HandleTakeAll(psUserCmdMessage &me, Client *client)
Handle taking all items from a container. 
 
void UserStatRegeneration()
 
void AcceptDuel(PendingDuelInvite *invite)
This is called by the Pending Invite if the duel is accepted. 
 
void HandleRename(psUserCmdMessage &msg, Client *client)
 
void YieldDuel(Client *client)
Command to surrender to someone in a duel. 
 
bool WhoProcessClient(Client *curr, int guildId, csString *message, csString filter, bool check, unsigned *count)
Formats output of a player and adds it to a message. 
 
void HandleTargetEvent(MsgEntry *me, Client *client)
 
void SendCharacterDescription(Client *client, gemActor *actor, bool full, bool simple, const csString &requestor)
Sends detail information about 'charData' to 'client'. 
 
void HandleUnstick(psUserCmdMessage &msg, Client *client)
Moves a player back to his last valid position. 
 
void SendPlayerMoney(Client *client)
 
UserManager(ClientConnectionSet *pCCS, CacheManager *cachemanager, BankManager *bankmanager, EntityManager *entitymanager)
 
csHash< userCmdPointer, csString > userCommandHash
Hash of the user commands, the key is the command name. 
 
void ShowNpcMenu(psUserCmdMessage &msg, Client *client)
Handles a player command to show the popup dialog menu of the currently targeted NPC, if any. 
 
EntityManager * entityManager
 
This class collects data of a netclient. 
 
void HandleClientReady(MsgEntry *me, Client *client)
 
void Rename(Client *client, csString *target, psItem *item)
 
void LootItems(gemActor *actor, Client *client, csString categories="all", uint8_t lootAction=0)
Attempt to loot all or certain items from target. 
 
void Loot(Client *client)
Attempt to loot the target using the loot window. 
 
bool CheckTargetLootable(gemActor *actor, Client *client)
Checks whether target is lootable. 
 
void Attack(Stance stance, Client *client)
 
void HandleStand(psUserCmdMessage &msg, Client *client)
Handles a player command to stand up. 
 
BankManager * bankManager
 
void HandlePickup(psUserCmdMessage &msg, Client *client)
Handle the /pickup command, send it to Pickup() 
 
This class manages the caching of data that is unchanging during server operation. 
 
void LogStuck(Client *client)
Helper function to log a stuck character's details. 
 
A gemObject is any solid, graphical object visible in PS with normal physics and normal collision det...
 
void HandleYield(psUserCmdMessage &msg, Client *client)
Handle the yield command. 
 
This class holds the refs to the core factories, etc in CEL. 
 
void NotifyAllianceBuddies(Client *client, bool loggedon)
Send a notification to all clients on a person alliance if they log on/off. 
 
void HandleMOTDRequest(MsgEntry *me, Client *client)
Sends to client the MOTD and tip, and his guild's MOTD if needed. 
 
void(UserManager::* userCmdPointer)(psUserCmdMessage &msg, Client *client)
pointer to member function typedef, improves readability 
 
void SwitchAttackTarget(Client *targeter, Client *targeted)
 
void StopAllCombat(Client *client)
Helper function to make the character stop attacking. 
 
This class is a list of several CLient objects, it's designed for finding clients very fast based on ...
 
void HandleCharDescUpdate(MsgEntry *me, Client *client)
Handle a message to update a character's description. 
 
void Rotate(Client *client, gemObject *target, csString action)
Handles a player command to rotate an item. 
 
void CalculateComparativeDifference(psCharacter *myCharData, psCharacter *theirCharData, int &theirPhysicalLevel, int &theirMagicalLevel, int &physicalDiff, int &magicalDiff, int &overallLevelComparison)
Calcualte a comarative difference between two characters for physical, magical, and overall level...
 
void StrToLowerCase(csString &str)
Converts a string to lowercase. 
 
void HandleSit(psUserCmdMessage &msg, Client *client)
Handles a player command to sit down. 
 
void Buddy(psUserCmdMessage &msg, Client *client)
Adds/removes a person to a player's buddy list. 
 
void GiveMOTD(psUserCmdMessage &msg, Client *client)
Sends the MOTD to the client. 
 
void Who(psUserCmdMessage &msg, Client *client)
Send a list of the players that are online to a client. 
 
Struct to hold our emote data. 
 
void HandleQuestsCommand(psUserCmdMessage &msg, Client *client)
Sends a client a list of their current assigned quests and events. 
 
void NotifyBuddies(Client *client, bool loggedon)
Send a notification to all clients on a person buddy list if they log on/off. 
 
void NotifyGuildBuddies(Client *client, bool loggedon)
Send a notification to all clients on a person guild if they log on/off. 
 
bool CheckForEmote(csString command, bool execute, gemActor *actor)
Check to see if command is an emote. 
 
bool LoadEmotes(const char *xmlfile, iVFS *vfs)
Load emotes from xml. 
 
ClientConnectionSet * clients
 
This class embodies item instances in the game. 
 
Provides a manager to facilitate subscriptions.