mirror of
https://github.com/EQEmu/Server.git
synced 2026-09-05 19:46:35 +00:00
Merge branch 'master' into movement_manager
This commit is contained in:
+41
-11
@@ -106,7 +106,7 @@ public:
|
||||
static bool SpawnZoneController();
|
||||
static int8 GetAILevel(bool iForceReRead = false);
|
||||
|
||||
NPC(const NPCType* data, Spawn2* respawn, const glm::vec4& position, GravityBehavior iflymode, bool IsCorpse = false);
|
||||
NPC(const NPCType* npc_type_data, Spawn2* respawn, const glm::vec4& position, GravityBehavior iflymode, bool IsCorpse = false);
|
||||
|
||||
virtual ~NPC();
|
||||
|
||||
@@ -142,9 +142,6 @@ public:
|
||||
virtual void AI_Event_SpellCastFinished(bool iCastSucceeded, uint16 slot);
|
||||
|
||||
void LevelScale();
|
||||
void CalcNPCResists();
|
||||
void CalcNPCRegen();
|
||||
void CalcNPCDamage();
|
||||
|
||||
virtual void SetTarget(Mob* mob);
|
||||
virtual uint16 GetSkill(EQEmu::skills::SkillType skill_num) const { if (skill_num <= EQEmu::skills::HIGHEST_SKILL) { return skills[skill_num]; } return 0; }
|
||||
@@ -252,12 +249,23 @@ public:
|
||||
|
||||
void SignalNPC(int _signal_id);
|
||||
|
||||
inline int32 GetNPCFactionID() const { return npc_faction_id; }
|
||||
inline int32 GetPrimaryFaction() const { return primary_faction; }
|
||||
int32 GetNPCHate(Mob* in_ent) {return hate_list.GetEntHateAmount(in_ent);}
|
||||
bool IsOnHatelist(Mob*p) { return hate_list.IsEntOnHateList(p);}
|
||||
inline int32 GetNPCFactionID() const
|
||||
{ return npc_faction_id; }
|
||||
|
||||
void SetNPCFactionID(int32 in) { npc_faction_id = in; database.GetFactionIdsForNPC(npc_faction_id, &faction_list, &primary_faction); }
|
||||
inline int32 GetPrimaryFaction() const
|
||||
{ return primary_faction; }
|
||||
|
||||
int32 GetNPCHate(Mob *in_ent)
|
||||
{ return hate_list.GetEntHateAmount(in_ent); }
|
||||
|
||||
bool IsOnHatelist(Mob *p)
|
||||
{ return hate_list.IsEntOnHateList(p); }
|
||||
|
||||
void SetNPCFactionID(int32 in)
|
||||
{
|
||||
npc_faction_id = in;
|
||||
database.GetFactionIdsForNPC(npc_faction_id, &faction_list, &primary_faction);
|
||||
}
|
||||
|
||||
glm::vec4 m_SpawnPoint;
|
||||
|
||||
@@ -309,6 +317,9 @@ public:
|
||||
inline bool IsGuarding() const { return(m_GuardPoint.w != 0); }
|
||||
void SaveGuardSpotCharm();
|
||||
|
||||
uint16 GetMeleeTexture1() const;
|
||||
uint16 GetMeleeTexture2() const;
|
||||
|
||||
void RestoreGuardSpotCharm();
|
||||
|
||||
void AI_SetRoambox(
|
||||
@@ -338,6 +349,13 @@ public:
|
||||
inline const uint32 GetNPCSpellsID() const { return npc_spells_id; }
|
||||
inline const uint32 GetNPCSpellsEffectsID() const { return npc_spells_effects_id; }
|
||||
|
||||
float GetProximityMinX();
|
||||
float GetProximityMaxX();
|
||||
float GetProximityMinY();
|
||||
float GetProximityMaxY();
|
||||
float GetProximityMinZ();
|
||||
float GetProximityMaxZ();
|
||||
|
||||
ItemList itemlist; //kathgar - why is this public? Doing other things or I would check the code
|
||||
|
||||
NPCProximity* proximity;
|
||||
@@ -354,7 +372,7 @@ public:
|
||||
void SetAvoidanceRating(int32 d) { avoidance_rating = d;}
|
||||
int32 GetRawAC() const { return AC; }
|
||||
|
||||
void ModifyNPCStat(const char *identifier, const char *newValue);
|
||||
void ModifyNPCStat(const char *identifier, const char *new_value);
|
||||
virtual void SetLevel(uint8 in_level, bool command = false);
|
||||
|
||||
bool IsLDoNTrapped() const { return (ldon_trapped); }
|
||||
@@ -432,6 +450,17 @@ public:
|
||||
|
||||
bool IgnoreDespawn() { return ignore_despawn; }
|
||||
|
||||
float GetRoamboxMaxX() const;
|
||||
float GetRoamboxMaxY() const;
|
||||
float GetRoamboxMinX() const;
|
||||
float GetRoamboxMinY() const;
|
||||
float GetRoamboxDistance() const;
|
||||
float GetRoamboxDestinationX() const;
|
||||
float GetRoamboxDestinationY() const;
|
||||
float GetRoamboxDestinationZ() const;
|
||||
uint32 GetRoamboxDelay() const;
|
||||
uint32 GetRoamboxMinDelay() const;
|
||||
|
||||
std::unique_ptr<Timer> AIautocastspell_timer;
|
||||
|
||||
virtual int GetStuckBehavior() const { return NPCTypedata_ours ? NPCTypedata_ours->stuck_behavior : NPCTypedata->stuck_behavior; }
|
||||
@@ -548,7 +577,8 @@ protected:
|
||||
uint32 equipment[EQEmu::invslot::EQUIPMENT_COUNT]; //this is an array of item IDs
|
||||
|
||||
uint32 herosforgemodel; //this is the Hero Forge Armor Model (i.e 63 or 84 or 203)
|
||||
uint16 d_melee_texture1; //this is an item Material value
|
||||
uint16 d_melee_texture1;
|
||||
//this is an item Material value
|
||||
uint16 d_melee_texture2; //this is an item Material value (offhand)
|
||||
const char* ammo_idfile; //this determines projectile graphic "IT###" (see item field 'idfile')
|
||||
uint8 prim_melee_type; //Sets the Primary Weapon attack message and animation
|
||||
|
||||
Reference in New Issue
Block a user