summaryrefslogtreecommitdiff
path: root/src/map/skill.h
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-07-08 22:40:21 -0300
committershennetsind <ind@henn.et>2013-07-08 22:40:21 -0300
commit629fbd735a2a09d865dda51f0d128fc90039ea5a (patch)
tree46d69c137a1b2f7e0980bf42aa34922e5e72d91e /src/map/skill.h
parenta2eacedd5df4a0bea47a15fa3a7f92e36f901b9f (diff)
downloadhercules-629fbd735a2a09d865dda51f0d128fc90039ea5a.tar.gz
hercules-629fbd735a2a09d865dda51f0d128fc90039ea5a.tar.bz2
hercules-629fbd735a2a09d865dda51f0d128fc90039ea5a.tar.xz
hercules-629fbd735a2a09d865dda51f0d128fc90039ea5a.zip
For Bug #7494
Modified skill cool down storage (also interfaced the remaining 2 static ers) http://hercules.ws/board/tracker/issue-7494-crash-crash-crash/ Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/skill.h')
-rw-r--r--src/map/skill.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/map/skill.h b/src/map/skill.h
index 35cb36809..1ca5f235a 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -1713,6 +1713,16 @@ struct s_skill_magicmushroom_db {
};
extern struct s_skill_magicmushroom_db skill_magicmushroom_db[MAX_SKILL_MAGICMUSHROOM_DB];
+struct skill_cd_entry {
+ int duration;//milliseconds
+#if PACKETVER >= 20120604
+ int total;
+#endif
+ short skidx;//the skill index entries belong to
+ unsigned int started;
+ uint16 skill_id;//skill id
+};
+
/**
* Skill Cool Down Delay Saving
* Struct skill_cd is not a member of struct map_session_data
@@ -1720,13 +1730,7 @@ extern struct s_skill_magicmushroom_db skill_magicmushroom_db[MAX_SKILL_MAGICMUS
* All cooldowns are reset when server is restarted.
**/
struct skill_cd {
- int duration[MAX_SKILL_TREE];//milliseconds
-#if PACKETVER >= 20120604
- int total[MAX_SKILL_TREE];
-#endif
- short skidx[MAX_SKILL_TREE];//the skill index entries belong to
- short nameid[MAX_SKILL_TREE];//skill id
- unsigned int started[MAX_SKILL_TREE];
+ struct skill_cd_entry *entry[MAX_SKILL_TREE];
unsigned char cursor;
};
@@ -1747,6 +1751,11 @@ struct skill_interface {
void (*read_db) (void);
/* */
DBMap* cd_db; // char_id -> struct skill_cd
+ /* */
+ struct eri *unit_ers; //For handling skill_unit's [Skotlex]
+ struct eri *timer_ers; //For handling skill_timerskills [Skotlex]
+ struct eri *cd_ers; // ERS Storage for skill cool down managers [Ind/Hercules]
+ struct eri *cd_entry_ers; // ERS Storage for skill cool down entries [Ind/Hercules]
/* accesssors */
int (*get_index) ( uint16 skill_id );
int (*get_type) ( uint16 skill_id );