summaryrefslogtreecommitdiff
path: root/src/map/pc.h
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-11-15 23:05:55 -0200
committershennetsind <ind@henn.et>2013-11-15 23:05:55 -0200
commit7120b55ce40a6a0c4086da49d57c74baa72609d6 (patch)
treef815189db7ad9c88673cfc61609b02b64bc44352 /src/map/pc.h
parentf0591e607e05e34d987a7575fbaf9af53daa5908 (diff)
downloadhercules-7120b55ce40a6a0c4086da49d57c74baa72609d6.tar.gz
hercules-7120b55ce40a6a0c4086da49d57c74baa72609d6.tar.bz2
hercules-7120b55ce40a6a0c4086da49d57c74baa72609d6.tar.xz
hercules-7120b55ce40a6a0c4086da49d57c74baa72609d6.zip
Official expiration timer support
As brought up in http://hercules.ws/board/topic/2225-paid-server/ Special Thanks to Haruna for all the help! Thanks to Beret, Ai4rei for information Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/pc.h')
-rw-r--r--src/map/pc.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/map/pc.h b/src/map/pc.h
index 32ca214c0..71c76b643 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -518,9 +518,14 @@ struct map_session_data {
unsigned char delayed_damage;//ref. counter bugreport:7307 [Ind/Hercules]
+ /* HPM Custom Struct */
struct HPluginData **hdata;
unsigned int hdatac;
+ /* expiration_time timer id */
+ int expiration_tid;
+ time_t expiration_time;
+
/* */
struct {
unsigned int second,third;
@@ -741,6 +746,8 @@ struct pc_interface {
struct sg_data sg_info[MAX_PC_FEELHATE];
/* */
struct eri *sc_display_ers;
+ /* global expiration timer id */
+ int expiration_tid;
/* funcs */
void (*init) (bool minimal);
void (*final) (void);
@@ -985,6 +992,10 @@ struct pc_interface {
void (*scdata_received) (struct map_session_data *sd);
void (*bound_clear) (struct map_session_data *sd, enum e_item_bound_type type);
+
+ int (*expiration_timer) (int tid, int64 tick, int id, intptr_t data);
+ int (*global_expiration_timer) (int tid, int64 tick, int id, intptr_t data);
+ void (*expire_check) (struct map_session_data *sd);
};
struct pc_interface *pc;