diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-10-31 13:20:48 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-10-31 13:20:48 +0000 |
commit | 5792a98ec3a549d28037c65465db8c64e009823d (patch) | |
tree | 43ac7806ce57d4e678cd995d2a1828f5d44978c5 /src/map/status.h | |
parent | 6e103602b6e23f86fd89f9c48a0846b4243f2c5f (diff) | |
download | hercules-5792a98ec3a549d28037c65465db8c64e009823d.tar.gz hercules-5792a98ec3a549d28037c65465db8c64e009823d.tar.bz2 hercules-5792a98ec3a549d28037c65465db8c64e009823d.tar.xz hercules-5792a98ec3a549d28037c65465db8c64e009823d.zip |
* Added names to the SC_ and SI_ enums, now they can be used to properly indicate where such values are to be used (replaces usage of 'int')
* removed MIN_/MAX_PORTAL_MEMO, set MAX_MEMOPOINTS from 10 to 3
* removed support for @go-ing to your memo points
* simplified the overly verbose @memo command; now re-uses pc_memo()
* cleaned up pc_memo(), now uses semi-correct packet replies
* Minor code cleaning/formatting
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11625 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.h')
-rw-r--r-- | src/map/status.h | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/map/status.h b/src/map/status.h index a3c03557d..074425de6 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -18,8 +18,9 @@ struct status_change; extern unsigned long StatusChangeFlagTable[]; // Status changes listing. These code are for use by the server. -enum { +enum sc_type { //First we enumerate common status ailments which are often used around. + SC_COMMON_MIN = 0, // begin SC_STONE = 0, SC_FREEZE, SC_STUN, @@ -31,6 +32,7 @@ enum { SC_BLIND, SC_BLEEDING, SC_DPOISON, //10 + SC_COMMON_MAX = 10, // end //Next up, we continue on 20, to leave enough room for additional "common" ailments in the future. SC_PROVOKE = 20, @@ -284,7 +286,7 @@ int SkillStatusChangeTable(int skill); extern int StatusSkillChangeTable[SC_MAX]; //Numerates the Number for the status changes (client-dependent), imported from jA -enum { +enum si_type { SI_BLANK = -1, SI_PROVOKE = 0, SI_ENDURE = 1, @@ -593,8 +595,10 @@ int status_heal(struct block_list *bl,int hp,int sp, int flag); int status_revive(struct block_list *bl, unsigned char per_hp, unsigned char per_sp); //Define for copying a status_data structure from b to a, without overwriting current Hp and Sp, nor messing the lhw pointer. -#define status_cpy(a, b) { memcpy(&((a)->max_hp), &((b)->max_hp), sizeof(struct status_data)-(sizeof((a)->hp)+sizeof((a)->sp)+sizeof((a)->lhw))); \ - if ((a)->lhw && (b)->lhw) { memcpy((a)->lhw, (b)->lhw, sizeof(struct weapon_atk)); }} +#define status_cpy(a, b) { \ + memcpy(&((a)->max_hp), &((b)->max_hp), sizeof(struct status_data)-(sizeof((a)->hp)+sizeof((a)->sp)+sizeof((a)->lhw))); \ + if ((a)->lhw && (b)->lhw) { memcpy((a)->lhw, (b)->lhw, sizeof(struct weapon_atk)); } \ +} struct regen_data *status_get_regen_data(struct block_list *bl); struct status_data *status_get_status_data(struct block_list *bl); @@ -655,19 +659,19 @@ struct status_change *status_get_sc(struct block_list *bl); int status_isdead(struct block_list *bl); int status_isimmune(struct block_list *bl); -int status_get_sc_def(struct block_list *bl, int type, int rate, int tick, int flag); +int status_get_sc_def(struct block_list *bl, enum sc_type type, int rate, int tick, int flag); //Short version, receives rate in 1->100 range, and does not uses a flag setting. #define sc_start(bl, type, rate, val1, tick) status_change_start(bl,type,100*(rate),val1,0,0,0,tick,0) #define sc_start2(bl, type, rate, val1, val2, tick) status_change_start(bl,type,100*(rate),val1,val2,0,0,tick,0) #define sc_start4(bl, type, rate, val1, val2, val3, val4, tick) status_change_start(bl,type,100*(rate),val1,val2,val3,val4,tick,0) -int status_change_start(struct block_list *bl,int type,int rate,int val1,int val2,int val3,int val4,int tick,int flag); -int status_change_end( struct block_list* bl , int type,int tid ); +int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val1,int val2,int val3,int val4,int tick,int flag); +int status_change_end(struct block_list* bl, enum sc_type type, int tid); int kaahi_heal_timer(int tid, unsigned int tick, int id, int data); int status_change_timer(int tid, unsigned int tick, int id, int data); -int status_change_timer_sub(struct block_list *bl, va_list ap ); -int status_change_clear(struct block_list *bl,int type); -int status_change_clear_buffs(struct block_list *bl, int type); +int status_change_timer_sub(struct block_list* bl, va_list ap); +int status_change_clear(struct block_list* bl, enum sc_type type); +int status_change_clear_buffs(struct block_list* bl, enum sc_type type); void status_calc_bl(struct block_list *bl, unsigned long flag); int status_calc_pet(struct pet_data* pd, int first); // [Skotlex] |