Planeshift
gemPet Class Reference

#include <gem.h>

Public Member Functions

 gemPet (GEMSupervisor *gemsupervisor, CacheManager *cachemanager, EntityManager *entitymanager, psCharacter *chardata, const char *factname, InstanceID instance, iSector *room, const csVector3 &pos, float rotangle, int clientnum, uint32 id)
 
virtual const char * GetObjectType ()
 
bool IsFamiliar (void)
 
void SetPersistanceLevel (const char *level)
 
const char * SetPersistanceLevel (void)
 
- Public Member Functions inherited from gemNPC
void ActionCommand (bool actionMy, bool actionNarrate, const char *actText, Client *who, bool actionPublic, csTicks &timeDelay)
 Used to allow a NPC to communicate through action to its environment. More...
 
void AddBadText (const char *playerSaid, const char *trigger)
 
virtual void AddLootablePlayer (PID playerID)
 
virtual void ApplyStaminaCalculations (const csVector3 &velocity, float times)
 
virtual void Broadcast (int clientnum, bool control)
 
void CheckSpeakers ()
 Check speakers to see if not spoken to anymore. More...
 
virtual void ForcePositionUpdate ()
 
 gemNPC (GEMSupervisor *gemSupervisor, CacheManager *cachemanager, EntityManager *entityManager, psCharacter *chardata, const char *factname, InstanceID myInstance, iSector *room, const csVector3 &pos, float rotangle, int clientnum)
 
void GetBadText (size_t first, size_t last, csStringArray &saidArray, csStringArray &trigArray)
 
virtual unsigned GetDefaultAttackID ()
 
virtual csString GetDefaultBehavior (const csString &dfltBehaviors)
 
const csArray< PID > & GetLootablePlayers () const
 
virtual psNPCDialogGetNPCDialogPtr ()
 
virtual gemObjectGetOwner ()
 
virtual ClientGetRandomLootClient (int range)
 
virtual AccountID GetSuperclientID ()
 
virtual gemObjectGetTarget ()
 
virtual bool HasKillStealProtection ()
 Returns if the npc has killsteal protection. More...
 
bool IsBusy () const
 True if the NPC client sent the busy command. More...
 
bool IsLootablePlayer (PID playerID)
 
void ReactToPlayerApproach (psNPCCommandsMessage::PerceptionType type, gemActor *player)
 
void RegisterSpeaker (Client *client)
 Register clients that speak to a npc. More...
 
virtual void RemoveLootablePlayer (PID playerID)
 
void Say (const char *sayText, Client *who, bool sayPublic, csTicks &timeDelay)
 Used to allow a NPC to communicate by saying things to its environment. More...
 
virtual bool Send (int clientnum, bool control, bool to_superclients, psPersistAllEntities *allEntities=NULL)
 Send this object to the given client. More...
 
virtual void SendBehaviorMessage (const csString &str, gemObject *obj)
 
virtual void SendGroupStats ()
 
void SetBusy (bool busy)
 To set the busy state of the NPC. More...
 
virtual void SetCombatStance (const Stance &stance)
 
virtual void SetDefaultAttackID (unsigned id)
 
virtual void SetOwner (gemObject *owner)
 
virtual void SetPosition (const csVector3 &pos, float angle, iSector *sector)
 
virtual void SetSuperclientID (AccountID id)
 
virtual void SetTarget (gemObject *newTarget)
 
void SetupDialog (PID npcID, PID masterNpcID, bool force=false)
 
void ShowPopupMenu (Client *client)
 
virtual ~gemNPC ()
 
- Public Member Functions inherited from gemActor
int ActiveSpellCount (const csString &name)
 
void AddActiveSpell (ActiveSpell *asp)
 
void AddAttackerHistory (gemActor *attacker, float damage)
 
void AddAttackerHistory (gemActor *attacker, float hpRate, csTicks duration)
 
bool AddChatReport (gemActor *reporter)
 Adds an active report (file logging session) to this actor. More...
 
bool AtRest () const
 
void AttachScript (ProgressionScript *script, int type)
 
virtual void BroadcastTargetStatDR (ClientConnectionSet *clients)
 
bool CanBeAttackedBy (gemActor *attacker, gemActor *&lastAttacker) const
 
void CancelActiveSpellsForDeath ()
 
void CancelActiveSpellsWhichDamage ()
 
void ClearDamageHistory ()
 
void Defeat ()
 
void DetachScript (ProgressionScript *script, int type)
 
void DoDamage (gemActor *attacker, float damage)
 
void EndAttack ()
 
void FallBegan (const csVector3 &pos, iSector *sector)
 Called when the object began falling - 'fallBeginning' tells where the fall started displaceY is the displacement that needs to be added to due to passing through warping portals portalSector is the final sector of the player after passing through the warping portals. More...
 
float FallEnded (const csVector3 &pos, iSector *sector)
 Called when the object has fallen down - sets its falling status to false. More...
 
ActiveSpellFindActiveSpell (const csString &name, SPELL_TYPE type)
 
int FindAnimIndex (const char *name)
 
gemObjectFindNearbyActorName (const char *name)
 Used by chat manager to identify an npc you are near if you talk to one. More...
 
virtual void ForcePositionUpdate (int32_t loadDelay=0, csString background="", csVector2 point1=0, csVector2 point2=0, csString widget="")
 
 gemActor (GEMSupervisor *gemsupervisor, CacheManager *cachemanager, EntityManager *entitymanager, psCharacter *chardata, const char *factname, InstanceID myInstance, iSector *room, const csVector3 &pos, float rotangle, int clientnum)
 
uint32_t GetActiveMagicSequence ()
 Get the activeMagic sequence, updating to the next value;. More...
 
csArray< ActiveSpell * > & GetActiveSpells ()
 
FrozenBuffableGetBuffableFrozen ()
 
virtual psCharacterGetCharacterData ()
 
virtual ClientGetClient () const
 
const StanceGetCombatStance ()
 
AttackerHistoryGetDamageHistory (int pos) const
 
size_t GetDamageHistoryCount () const
 
csTicks GetFallStartTime ()
 
bool GetFiniteInventory ()
 
const char * GetFirstName ()
 
csPtr< PlayerGroupGetGroup ()
 
int GetGroupID ()
 
psGuildInfoGetGuild ()
 
psGuildLevelGetGuildLevel ()
 
psGuildMemberGetGuildMembership ()
 Gets the psguildmember structure refereed to this actor, if in a guild. More...
 
const char * GetGuildName ()
 
virtual bool GetInvincibility ()
 
void GetLastLocation (csVector3 &pos, float &yrot, iSector *&sector, InstanceID &instance)
 Get the last reported location this actor was at. More...
 
void GetLastProductionPos (csVector3 &pos)
 
virtual void GetLastSuperclientPos (csVector3 &pos, InstanceID &instance, csTicks &last) const
 
int GetMasqueradeLevel ()
 
PSCHARACTER_MODE GetMode ()
 
const char * GetModeStr ()
 Return a string name of the mode. More...
 
psCharacterGetMount () const
 
virtual PID GetPID ()
 
void GetPrevTeleportLocation (csVector3 &pos, float &yrot, iSector *&sector, InstanceID &instance)
 Get the location of the player before he was teleported. More...
 
const csVector3 & GetProductionStartPos (void) const
 Returns the place where the player last started digging. More...
 
float GetRelativeFaction (gemActor *speaker)
 
int GetSecurityLevel ()
 
bool GetSpawnPos (csVector3 &pos, float &yrot, iSector *&sector, bool useRange=false)
 Gets the player spawn position according to his race. More...
 
gemObjectGetTargetObject () const
 
int GetTargetType (gemObject *target)
 Get the target type in regards to attacks. More...
 
psWorkGameEventGetTradeWork ()
 Return trade work event so it can be stopped. More...
 
void GetValidPos (csVector3 &pos, float &yrot, iSector *&sector, InstanceID &instance)
 
virtual float GetVelocity ()
 Get the z velocity of the actor. More...
 
bool GetViewAllObjects ()
 Flag to determine of this player can see all objects. More...
 
virtual bool GetVisibility ()
 
void HandleDeath ()
 
virtual bool HasBeenAttackedBy (gemActor *attacker)
 Checks the attacker history to see if the attacker has actually attacked the entity. More...
 
bool InGroup () const
 
virtual bool InsideGuardedArea (gemObject *object)
 Check if object is inside guarded area. More...
 
void InterruptSpellCasting ()
 
void InvokeAttackScripts (gemActor *defender, psItem *weapon)
 
void InvokeDefenseScripts (gemActor *attacker, psItem *weapon)
 
void InvokeMovementScripts ()
 
void InvokeNearlyDeadScripts (gemActor *defender, psItem *weapon)
 
bool IsAllowedToAttack (gemObject *target, csString &msg)
 Checks if our actor can attack given target. More...
 
bool IsAllowedToMove ()
 
bool IsFalling ()
 Checks if the object is falling. More...
 
bool IsFrozen ()
 
bool IsGroupedWith (gemActor *other, bool IncludePets=false) const
 
bool IsLoggingChat () const
 Returns /report file logging status. More...
 
bool IsMounted ()
 
bool IsMyPet (gemActor *other) const
 
bool IsSpellCasting ()
 
void Kill (gemActor *attacker)
 
bool LogChatMessage (const char *who, const psChatMessage &msg)
 Adds the chat message to the history and optionally to the log file. More...
 
bool LogLine (const char *szLine)
 Saves a line to this actor's chat history and logs it to a file, if there are active reports. More...
 
bool LogSystemMessage (const char *szLine)
 Saves a system message to this actor's chat history and logs it to a file, if there are active reports. More...
 
void MoveToLastPos ()
 Moves player to his last reported location. More...
 
bool MoveToSpawnPos (int32_t delay=0, csString background="", csVector2 point1=0, csVector2 point2=0, csString widget="")
 Moves player to his spawn position. More...
 
bool MoveToValidPos (bool force=false)
 Restores actor to his last valid position. More...
 
void MulticastDRUpdate ()
 
void ProcessStamina ()
 
void ProcessStamina (const csVector3 &velocity, bool force=false)
 
void RegisterCallback (iDeathCallback *receiver)
 
bool RemoveActiveSpell (ActiveSpell *asp)
 
void RemoveAttackerHistory (gemActor *attacker)
 
void RemoveChatReport ()
 Removes an active report (file logging session) for this actor. More...
 
void RemoveFromGroup ()
 
void Resurrect ()
 
virtual bool SeesObject (gemObject *object, float range)
 
void SendActiveSpells ()
 
virtual void SendGroupMessage (MsgEntry *me)
 Distribute this object to all members of a group. More...
 
virtual void SendTargetStatDR (Client *client)
 
void SetAction (const char *anim, csTicks &timeDelay)
 
void SetAllowedToDisconnect (bool allowed)
 Call this to ask the actor to set allowed to disconnect in the connected client. More...
 
void SetAllowedToMove (bool newvalue)
 
void SetDefaults (bool player)
 Set attributes back to default. More...
 
bool SetDRData (psDRMessage &drmsg)
 
void SetEquipment (const char *equip)
 
void SetFiniteInventory (bool v)
 
void SetFrozen (bool flag)
 Check whether the actor is frozen. More...
 
void SetGroup (PlayerGroup *group)
 
void SetInstance (InstanceID worldInstance)
 
virtual void SetInvincibility (bool invincible)
 
void SetLastProductionPos (csVector3 &pos)
 
virtual void SetLastSuperclientPos (const csVector3 &pos, InstanceID instance, const csTicks &now)
 
void SetMasqueradeLevel (int level)
 
bool SetMesh (const char *meshname)
 
void SetMode (PSCHARACTER_MODE newmode, uint32_t extraData=0)
 
void SetMount (psCharacter *newMount)
 
void SetPosition (const csVector3 &pos, float angle, iSector *sector)
 
void SetPrevTeleportLocation (const csVector3 &pos, float yrot, iSector *sector, InstanceID instance)
 Record the location of this actor before he was teleported. More...
 
void SetProductionStartPos (const csVector3 &pos)
 Sets the place where the player started digging. More...
 
void SetSecurityLevel (int level)
 
void SetSpellCasting (psSpellCastGameEvent *event)
 
void SetTargetObject (gemObject *object)
 
void SetTextureParts (const char *parts)
 
void SetTradeWork (psWorkGameEvent *event)
 Assign trade work event so it can be accessed. More...
 
bool SetupCharData ()
 
void SetViewAllObjects (bool v)
 
virtual void SetVisibility (bool visible)
 
void Sit ()
 Make the character sit. More...
 
void Stand ()
 Makes the character stand up. More...
 
bool StartAttack ()
 
void StopMoving (bool worldVel=false)
 
void Teleport (const char *sec, const csVector3 &pos, float yrot, InstanceID instance, int32_t loadDelay=0, csString background="", csVector2 point1=0, csVector2 point2=0, csString widget="")
 
void Teleport (iSector *sector, const csVector3 &pos, float yrot, InstanceID instance, int32_t loadDelay=0, csString background="", csVector2 point1=0, csVector2 point2=0, csString widget="")
 
void Teleport (iSector *sector, const csVector3 &pos, float yrot, int32_t loadDelay=0, csString background="", csVector2 point1=0, csVector2 point2=0, csString widget="")
 
void UnregisterCallback (iDeathCallback *receiver)
 
virtual bool UpdateDR ()
 
void UpdateStats ()
 Checks the vitals (hp, mana, ...) for the specific gemActor If there are updates to publish, it then uses SendStatDRMessage to inform all actors client side. More...
 
void UpdateValidLocation (const csVector3 &pos, float yrot, iSector *sector, InstanceID instance, bool force=false)
 
virtual ~gemActor ()
 
virtual double GetProperty (MathEnvironment *env, const char *ptr)
 
virtual double CalcFunction (MathEnvironment *env, const char *functionName, const double *params)
 
- Public Member Functions inherited from gemObject
virtual void Disconnect ()
 Called when a client disconnects. More...
 
virtual void Dump ()
 Dump debug information. More...
 
gemActorGetActorPtr ()
 
gemActionLocationGetALPtr ()
 
virtual float GetBaseAdvertiseRange ()
 This value indicates the range that this entity would become visible to other entities if no other modifiers were taken into consideration. More...
 
uint32_t GetClientID ()
 
EID GetEID ()
 
InstanceID GetInstance ()
 
psItemGetItem ()
 
gemItemGetItemPtr ()
 
const char * GetName ()
 
gemNPCGetNPCPtr ()
 
gemPetGetPetPtr ()
 
bool IsAlive () const
 Returns whether the object is alive. More...
 
virtual bool IsUpdateReq (csVector3 const &pos, csVector3 const &oldPos)
 
virtual bool IsValid (void)
 
float RangeTo (gemObject *obj, bool ignoreY=false, bool ignoreInstance=false)
 
void RegisterCallback (iDeleteObjectCallback *receiver)
 
void SetAlive (bool flag, bool queue=true)
 Set needed stats for alive or dead for object. More...
 
void SetInstance (InstanceID newInstance)
 
void SetName (const char *n)
 
void UnregisterCallback (iDeleteObjectCallback *receiver)
 
virtual ~gemObject ()
 
virtual const char * ToString ()
 
iMeshWrapper * GetMeshWrapper ()
 
csString GetMesh ()
 
void Move (const csVector3 &pos, float rotangle, iSector *room)
 
bool IsNear (gemObject *obj, float radius, bool ignoreY=false)
 
const csVector3 & GetPosition ()
 
void GetPosition (csVector3 &pos, float &yrot, iSector *&sector)
 
void GetPosition (csVector3 &pos, iSector *&sector)
 
float GetAngle ()
 Get rotation of entity as returned by psWorld::Matrix2YRot. More...
 
iSector * GetSector ()
 
const char * GetSectorName ()
 
csArray< gemObject * > * GetObjectsInRange (float range)
 
ProximityListGetProxList ()
 
csArray< PublishDestination > & GetMulticastClients ()
 Returns all the clients which are inside our proxy list. More...
 
void UpdateProxList (bool force=false)
 Generates proxlist if needed (or forced). More...
 
void RemoveFromAllProx ()
 
void SetAlwaysWatching (bool w)
 
bool AlwaysWatching ()
 
virtual int GetGuildID ()
 
- Public Member Functions inherited from iDeleteNotificationObject
virtual ~iDeleteNotificationObject ()
 
- Public Member Functions inherited from iScriptableVar
virtual ~iScriptableVar ()
 
- Public Member Functions inherited from iDeathNotificationObject
virtual ~iDeathNotificationObject ()
 

Additional Inherited Members

- Public Attributes inherited from gemActor
psLinearMovementpcmove
 
bool nevertired
 These flags are for GM/debug abilities. More...
 
bool infinitemana
 infinite mana More...
 
bool instantcast
 cast spells instantly More...
 
bool safefall
 no fall damage More...
 
bool questtester
 no quest lockouts More...
 
bool givekillexp
 give exp if killed More...
 
- Protected Member Functions inherited from gemActor
bool CanSwitchMode (PSCHARACTER_MODE from, PSCHARACTER_MODE to)
 
bool InitCharData (Client *c)
 
bool InitLinMove (const csVector3 &pos, float angle, iSector *sector)
 Determines the right size and height for the collider for the sprite and sets the actual position of the sprite. More...
 
void SetGMDefaults ()
 Set initial attributes for GMs. More...
 
- Protected Member Functions inherited from gemObject
 gemObject (GEMSupervisor *gemsupervisor, EntityManager *entitymanager, CacheManager *cachemanager, const char *name, const char *factname, InstanceID myinstance, iSector *room, const csVector3 &pos, float rotangle, int clientnum)
 
void InitMesh (const char *name, const csVector3 &pos, const float rotangle, iSector *room)
 
bool InitProximityList (float radius, int clientnum)
 
- Protected Attributes inherited from gemNPC
csPDelArray< DialogCounterbadText
 
bool busy
 Indicator from the NPC client to state the if the NPC is busy. More...
 
unsigned default_attackid
 Default attack type ID. More...
 
csArray< PID > lootablePlayers
 Array of client id's allowed to loot this char. More...
 
csTicks nextLongRangeAvail
 When can npc respond to long range prox trigger again. More...
 
csTicks nextShortRangeAvail
 When can npc respond to short range prox trigger again. More...
 
csTicks nextVeryShortRangeAvail
 When can npc respond to very short range prox trigger again. More...
 
psNPCDialognpcdialog
 
csWeakRef< gemObjectowner
 
int speakers
 
AccountID superClientID
 
csWeakRef< gemObjecttarget
 
- Protected Attributes inherited from gemActor
uint32_t activeMagic_seq
 active magic message seq More...
 
unsigned int activeReports
 unsigned int activeReports Info: Total /report commands filed against this player that are still active (logging). More...
 
csArray< ActiveSpell * > activeSpells
 
bool atRest
 Is this character stationary or moving? More...
 
uint8_t attack_cnt
 Count of attack events in CS event queue. More...
 
csVector3 bottom
 
csArray< ChatHistoryEntrychatHistory
 csArray<ChatHistoryEntry> chatHistory Info: Chat history for this player. A chat line stays in history for CHAT_HISTORY_LIFETIME (defined in gem.cpp). More...
 
csWeakRef< ClientclientRef
 
Stance combat_stance
 
csArray< iDeathCallback * > deathReceivers
 List of objects which are to be notified when this actor dies. More...
 
csPDelArray< AttackerHistorydmgHistory
 
uint8_t DRcounter
 increments in loop to prevent out of order packet overwrites of better data More...
 
csVector3 fallStartPos
 the position where the fall began More...
 
iSector * fallStartSector
 the sector where the fall began More...
 
csTicks fallStartTime
 
uint8_t forceDRcounter
 sequence number for forced position updates More...
 
iSector * forcedSector
 Needed to force the effect of a psForcePositionMessage since sectors are tied to instances and force position messages may be lost on crash, loading failure, etc. This ensures that a DR message containing the new sector is received at least once. More...
 
csRef< PlayerGroupgroup
 
bool invincible
 cannot be attacked More...
 
bool isAllowedToMove
 Is a movement lockout in effect? More...
 
bool isFalling
 is this object falling down ? More...
 
FrozenBuffable isFrozen
 Whether the actor is frozen or not. More...
 
DRstate last_location
 
csVector3 last_production_pos
 
csTicks lastDR
 
unsigned int lastSentSuperclientInstance
 
csVector3 lastSentSuperclientPos
 
csTicks lastSentSuperclientTick
 
csVector3 lastV
 
csRef< iFile > logging_chat_file
 csRef<iFile> logging_chat_file Info: log file handle. More...
 
int masqueradeLevel
 
psCharactermount
 
uint8_t movementMode
 Actor movement mode from DB table movement_modes. More...
 
DRstate newvalid_location
 
csVector3 offset
 
csPDelArray< ProgressionScriptonAttackScripts
 
csPDelArray< ProgressionScriptonDefenseScripts
 
csPDelArray< ProgressionScriptonMovementScripts
 
csPDelArray< ProgressionScriptonNearlyDeadScripts
 
PID pid
 Player ID (also known as character ID or PID) More...
 
PSCHARACTER_MODE player_mode
 
DRstate prev_teleport_location
 
csVector3 productionStartPos
 Production Start Pos is used to record the place where people started digging. More...
 
psCharacterpsChar
 
int securityLevel
 What commands the actor can access. Normally only for a player controlled object. More...
 
psSpellCastGameEventspellCasting
 Hold a pointer to the game event < for the spell currently cast. More...
 
csWeakRef< gemObjecttargetObject
 Is the current targeted object for this actor. More...
 
csVector3 top
 
struct gemActor::DRstate valid_location
 
bool viewAllObjects
 can view invisible objects? More...
 
bool visible
 is visible to clients ? More...
 
psWorkGameEventworkEvent
 
- Protected Attributes inherited from gemObject
bool alwaysWatching
 True if this object always watches (proxlists) regardless of owner. More...
 
CacheManagercacheManager
 
EID eid
 Entity ID (unique identifier for object) More...
 
EntityManagerentityManager
 
csString factname
 Name of CS Mesh Factory used to create this object. More...
 
bool is_alive
 Flag indicating whether object is alive or not. More...
 
csString matname
 Name of base material used by this object. More...
 
csString name
 Name of this object, used mostly for debugging. More...
 
csRef< iMeshFactoryWrapper > nullfact
 Null factory for our mesh instances. More...
 
gemMeshpcmesh
 link to mesh class More...
 
float prox_distance_current
 What is the current actual range for proxlists (they adjust when the # of objects gets too high) More...
 
float prox_distance_desired
 What is the maximum range of proxlist we want. More...
 
ProximityListproxlist
 Proximity List for this object. More...
 
csArray< iDeleteObjectCallback * > receivers
 List of objects which are to be notified when this object is deleted. More...
 
bool valid
 Is object fully loaded. More...
 
InstanceID worldInstance
 Only objects which match instances can see each other. More...
 
- Static Protected Attributes inherited from gemObject
static GEMSupervisorcel
 Static ptr back to main collection of all objects. More...
 

Detailed Description

Definition at line 2119 of file gem.h.

Constructor & Destructor Documentation

gemPet::gemPet ( GEMSupervisor gemsupervisor,
CacheManager cachemanager,
EntityManager entitymanager,
psCharacter chardata,
const char *  factname,
InstanceID  instance,
iSector *  room,
const csVector3 &  pos,
float  rotangle,
int  clientnum,
uint32  id 
)
inline

Definition at line 2123 of file gem.h.

Member Function Documentation

virtual const char* gemPet::GetObjectType ( )
inlinevirtual

Reimplemented from gemNPC.

Definition at line 2132 of file gem.h.

bool gemPet::IsFamiliar ( void  )
inline

Definition at line 2146 of file gem.h.

void gemPet::SetPersistanceLevel ( const char *  level)
inline

Definition at line 2138 of file gem.h.

const char* gemPet::SetPersistanceLevel ( void  )
inline

Definition at line 2142 of file gem.h.


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