Replaced npcspecialatk with special_attacks, needs more testing also gotta export new api for it as I can't remove the legacy one. Too many quests rely on the legacy functionality.

This commit is contained in:
KimLS
2013-07-06 03:45:06 -07:00
parent 0c675c33e2
commit 63d678ce29
32 changed files with 355 additions and 663 deletions
+19 -7
View File
@@ -37,6 +37,11 @@ public:
CLIENT_KICKED, DISCONNECTED, CLIENT_ERROR, CLIENT_CONNECTINGALL };
enum eStandingPetOrder { SPO_Follow, SPO_Sit, SPO_Guard };
struct SpecialAbility {
int level;
Timer *timer;
};
Mob(const char* in_name,
const char* in_lastname,
int32 in_cur_hp,
@@ -758,12 +763,19 @@ public:
void SetNextIncHPEvent( int inchpevent );
bool DivineAura() const;
bool SpecAttacks[SPECATK_MAXNUM];
bool HasNPCSpecialAtk(const char* parse);
int GetSpecialAbility(int ability);
void SetSpecialAbility(int ability, int level);
void StartSpecialAbilityTimer(int ability, uint32 time);
void StopSpecialAbilityTimer(int ability);
Timer *GetSpecialAbilityTimer(int ability);
void ClearSpecialAbilities();
void ProcessSpecialAbilities(const std::string str);
Shielders_Struct shielder[MAX_SHIELDERS];
Trade* trade;
inline float GetCWPX() const { return(cur_wp_x); }
inline float GetCWPY() const { return(cur_wp_y); }
inline float GetCWPZ() const { return(cur_wp_z); }
@@ -947,10 +959,6 @@ protected:
char clean_name[64];
char lastname[64];
bool bEnraged;
Timer *SpecAttackTimers[SPECATK_MAXNUM];
bool destructibleobject;
int32 delta_heading;
float delta_x;
float delta_y;
@@ -1145,6 +1153,10 @@ protected:
void InsertQuestGlobal(int charid, int npcid, int zoneid, const char *name, const char *value, int expdate);
uint16 emoteid;
std::map<int, SpecialAbility> SpecialAbilities;
bool bEnraged;
bool destructibleobject;
private:
void _StopSong(); //this is not what you think it is
Mob* target;