24 #include <iengine/mesh.h> 25 #include <csutil/csobject.h> 53 scfFakeInterface<psNpcMeshAttach> >
84 bool InitMesh(
const char* factname,
const char* filename,
85 const csVector3 &pos,
const float rotangle,
const char* sector);
86 static void FiniMesh();
88 iMeshWrapper* GetMeshWrapper();
89 void Move(
const csVector3 &pos,
float rotangle,
const char* room);
90 void Move(
const csVector3 &pos,
float rotangle,
const char* room,
InstanceID instance);
104 return name.GetDataSafe();
154 virtual void SetAlive(
bool alive);
161 virtual void SetPosition(csVector3 &pos, iSector* sector = NULL,
InstanceID* instance = NULL);
164 this->instance = instance;
223 virtual void AttachNPC(
NPC* newNPC);
233 void SetHP(
float hp);
243 void SetMaxHP(
float maxHP);
248 float GetMaxHP()
const;
253 void SetHPRate(
float hpRate);
258 float GetHPRate()
const;
263 void SetMana(
float mana);
273 void SetMaxMana(
float maxMana);
278 float GetMaxMana()
const;
283 void SetManaRate(
float manaRate);
288 float GetManaRate()
const;
293 void SetPysStamina(
float pysStamina);
298 float GetPysStamina();
303 void SetMaxPysStamina(
float maxPysStamina);
308 float GetMaxPysStamina()
const;
313 void SetPysStaminaRate(
float pysStaminaRate);
318 float GetPysStaminaRate()
const;
323 void SetMenStamina(
float menStamina);
328 float GetMenStamina();
333 void SetMaxMenStamina(
float maxMenStamina);
338 float GetMaxMenStamina()
const;
343 void SetMenStaminaRate(
float menStaminaRate);
348 float GetMenStaminaRate()
const;
353 virtual bool SetWithinTribe(
Tribe* tribe,
Tribe** oldTribe = NULL);
361 virtual double CalcFunction(
MathEnvironment* env,
const char* functionName,
const double* params);
362 virtual const char* ToString();
367 bool InitLinMove(
const csVector3 &pos,
float angle,
const char* sector,
368 csVector3 top, csVector3 bottom, csVector3 offset);
370 bool InitCharData(
const char* textures,
const char* equipment);
405 virtual bool IsPickable();
407 uint32_t GetUID()
const;
408 uint32_t GetTribeID()
const;
gemNPCObject * GetObject()
Get the npc Object that the mesh has attached.
psNPCClient * npcclient
Global connection to the NPC Client.
This is a helper class that defines a mesh on the server.
SCF_INTERFACE(psNpcMeshAttach, 0, 0, 1)
virtual void SetInstance(InstanceID instance)
virtual InstanceID GetInstance()
A specific MathEnvironment to be used in a MathScript.
virtual const char * GetObjectType()
virtual EID GetOwnerEID()
Helper class to attach a PlaneShift npc gem object to a particular mesh.
virtual void SetVisible(bool vis)
virtual const char * GetObjectType()
virtual bool IsInvincible()
Represents a stat for the NPC.
static csRef< iMeshFactoryWrapper > nullfact
virtual void SetInvisible(bool invis)
This object represents each NPC managed by this superclient.
virtual void SetInvincible(bool inv)
The main NPC Client class holding references to important superclient objects.
virtual bool IsInvisible()
psNpcMeshAttach(gemNPCObject *object)
Setup this helper with the object we want to attach with.
psLinearMovement * pcmove
virtual bool IsPickable()
csRef< iThreadReturn > factory
virtual gemNPCActor * GetActorPtr()
virtual gemNPCActor * GetActorPtr()
virtual const char * GetObjectType()
Holds list of tribe members, position of tribe home Keeps resources and handles tribe perceptions...
Stat hp
Points to the tribe home where this tribe is inside.