diff options
Diffstat (limited to 'src/map/status.h')
-rw-r--r-- | src/map/status.h | 104 |
1 files changed, 54 insertions, 50 deletions
diff --git a/src/map/status.h b/src/map/status.h index d3148b4e0..06bea3908 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -373,7 +373,7 @@ typedef enum sc_type { /** * 3rd **/ - SC_FEAR, + SC_FEAR, // 310 SC_FROSTMISTY, /** * Rune Knight @@ -386,20 +386,20 @@ typedef enum sc_type { SC_REUSE_REFRESH, SC_GIANTGROWTH, SC_STONEHARDSKIN, - SC_VITALITYACTIVATION, + SC_VITALITYACTIVATION, // 320 SC_STORMBLAST, SC_FIGHTINGSPIRIT, SC_ABUNDANCE, /** * Arch Bishop - **/ + **/ SC_ADORAMUS, SC_EPICLESIS, SC_ORATIO, SC_LAUDAAGNUS, SC_LAUDARAMUS, SC_RENOVATIO, - SC_EXPIATIO, + SC_EXPIATIO, // 330 SC_DUPLELIGHT, SC_SECRAMENT, /** @@ -412,7 +412,7 @@ typedef enum sc_type { SC_SUMMON1, SC_SUMMON2, SC_SUMMON3, - SC_SUMMON4, + SC_SUMMON4, // 340 SC_SUMMON5, SC_READING_SB, SC_FREEZINGSP, @@ -428,7 +428,7 @@ typedef enum sc_type { * Mechanic **/ SC_ACCELERATION, - SC_HOVERING, + SC_HOVERING, // 350 SC_SHAPESHIFT, SC_INFRAREDSCAN, SC_ANALYZE, @@ -438,7 +438,7 @@ typedef enum sc_type { SC_STEALTHFIELD, SC_STEALTHFIELD_MASTER, SC_OVERHEAT, - SC_OVERHEAT_LIMITPOINT, + SC_OVERHEAT_LIMITPOINT, // 360 /** * Guillotine Cross **/ @@ -451,7 +451,7 @@ typedef enum sc_type { SC_ROLLINGCUTTER, SC_TOXIN, SC_PARALYSE, - SC_VENOMBLEED, + SC_VENOMBLEED, // 370 SC_MAGICMUSHROOM, SC_DEATHHURT, SC_PYREXIA, @@ -464,7 +464,7 @@ typedef enum sc_type { SC_FORCEOFVANGUARD, SC_SHIELDSPELL_DEF, SC_SHIELDSPELL_MDEF, - SC_SHIELDSPELL_REF, + SC_SHIELDSPELL_REF, // 380 SC_EXEEDBREAK, SC_PRESTIGE, SC_BANDING, @@ -477,7 +477,7 @@ typedef enum sc_type { SC_SPELLFIST, SC_COLD, SC_STRIKING, - SC_WARMER, + SC_WARMER, // 390 SC_VACUUM_EXTREME, SC_PROPERTYWALK, /** @@ -490,30 +490,30 @@ typedef enum sc_type { SC_ECHOSONG, SC_HARMONIZE, SC_SIREN, - SC_DEEP_SLEEP, + SC_DEEP_SLEEP, // 400 SC_SIRCLEOFNATURE, SC_GLOOMYDAY, - SC_GLOOMYDAY_SK, - SC_SONG_OF_MANA, + //SC_GLOOMYDAY_SK, + SC_SONG_OF_MANA = 404, SC_DANCE_WITH_WUG, SC_SATURDAY_NIGHT_FEVER, SC_LERADS_DEW, SC_MELODYOFSINK, SC_BEYOND_OF_WARCRY, - SC_UNLIMITED_HUMMING_VOICE, + SC_UNLIMITED_HUMMING_VOICE, // 410 SC_SITDOWN_FORCE, - SC_NETHERWORLD, + //SC_NETHERWORLD, /** * Sura **/ - SC_CRESCENTELBOW, + SC_CRESCENTELBOW = 413, SC_CURSEDCIRCLE_ATKER, SC_CURSEDCIRCLE_TARGET, SC_LIGHTNINGWALK, SC_RAISINGDRAGON, SC_GENTLETOUCH_ENERGYGAIN, SC_GENTLETOUCH_CHANGE, - SC_GENTLETOUCH_REVITALIZE, + SC_GENTLETOUCH_REVITALIZE, // 420 /** * Genetic **/ @@ -526,7 +526,7 @@ typedef enum sc_type { SC_STOMACHACHE, SC_MYSTERIOUS_POWDER, SC_MELON_BOMB, - SC_BANANA_BOMB, + SC_BANANA_BOMB, // 430 SC_BANANA_BOMB_SITDOWN_POSTDELAY, SC_SAVAGE_STEAK, SC_COCKTAIL_WARG_BLOOD, @@ -536,7 +536,7 @@ typedef enum sc_type { SC_PUTTI_TAILS_NOODLES, SC_BOOST500, SC_FULL_SWING_K, - SC_MANA_PLUS, + SC_MANA_PLUS, // 440 SC_MUSTLE_M, SC_LIFE_FORCE_F, SC_EXTRACT_WHITE_POTION_Z, @@ -549,7 +549,7 @@ typedef enum sc_type { SC__AUTOSHADOWSPELL, SC__SHADOWFORM, SC__BODYPAINT, - SC__INVISIBILITY, + SC__INVISIBILITY, // 450 SC__DEADLYINFECT, SC__ENERVATION, SC__GROOMY, @@ -559,7 +559,7 @@ typedef enum sc_type { SC__WEAKNESS, SC__STRIPACCESSARY, SC__MANHOLE, - SC__BLOODYLUST, + SC__BLOODYLUST, // 460 /** * Elemental Spirits **/ @@ -572,7 +572,7 @@ typedef enum sc_type { SC_WATER_DROP, SC_WATER_DROP_OPTION, SC_WATER_BARRIER, - SC_WIND_STEP, + SC_WIND_STEP, // 470 SC_WIND_STEP_OPTION, SC_WIND_CURTAIN, SC_WIND_CURTAIN_OPTION, @@ -582,7 +582,7 @@ typedef enum sc_type { SC_STONE_SHIELD, SC_STONE_SHIELD_OPTION, SC_POWER_OF_GAIA, - SC_PYROTECHNIC, + SC_PYROTECHNIC, // 480 SC_PYROTECHNIC_OPTION, SC_HEATER, SC_HEATER_OPTION, @@ -592,7 +592,7 @@ typedef enum sc_type { SC_AQUAPLAY_OPTION, SC_COOLER, SC_COOLER_OPTION, - SC_CHILLY_AIR, + SC_CHILLY_AIR, // 490 SC_CHILLY_AIR_OPTION, SC_GUST, SC_GUST_OPTION, @@ -602,7 +602,7 @@ typedef enum sc_type { SC_WILD_STORM_OPTION, SC_PETROLOGY, SC_PETROLOGY_OPTION, - SC_CURSED_SOIL, + SC_CURSED_SOIL, // 500 SC_CURSED_SOIL_OPTION, SC_UPHEAVAL, SC_UPHEAVAL_OPTION, @@ -613,21 +613,21 @@ typedef enum sc_type { /* Guild Aura */ SC_LEADERSHIP, SC_GLORYWOUNDS, - SC_SOULCOLD, + SC_SOULCOLD, // 510 SC_HAWKEYES, /* ... */ SC_ODINS_POWER, /* Sorcerer .extra */ SC_FIRE_INSIGNIA, SC_WATER_INSIGNIA, - SC_WIND_INSIGNIA, + SC_WIND_INSIGNIA, SC_EARTH_INSIGNIA, /* new pushcart */ SC_PUSH_CART, /* Warlock Spell books */ SC_SPELLBOOK1, SC_SPELLBOOK2, - SC_SPELLBOOK3, + SC_SPELLBOOK3, // 520 SC_SPELLBOOK4, SC_SPELLBOOK5, SC_SPELLBOOK6, @@ -639,13 +639,13 @@ typedef enum sc_type { /* Max HP & SP */ SC_INCMHP, SC_INCMSP, - SC_PARTYFLEE, + SC_PARTYFLEE, /** * Kagerou & Oboro [malufett] **/ SC_MEIKYOUSISUI, SC_KO_JYUMONJIKIRI, - SC_KYOUGAKU, + SC_KYOUGAKU, // 530 SC_IZAYOI, SC_ZENKAI, SC_KG_KAGEHUMI, @@ -656,19 +656,19 @@ typedef enum sc_type { SC_AKAITSUKI, //homon S - SC_STYLE_CHANGE, - SC_GOLDENE_FERSE, - SC_ANGRIFFS_MODUS, - SC_ERASER_CUTTER, - SC_OVERED_BOOST, - SC_LIGHT_OF_REGENE, - SC_VOLCANIC_ASH, - SC_GRANITIC_ARMOR, - SC_MAGMA_FLOW, - SC_PYROCLASTIC, - SC_NEEDLE_OF_PARALYZE, - SC_PAIN_KILLER, -#ifdef RENEWAL + SC_STYLE_CHANGE, + SC_GOLDENE_FERSE, // 540 + SC_ANGRIFFS_MODUS, + SC_ERASER_CUTTER, + SC_OVERED_BOOST, + SC_LIGHT_OF_REGENE, + SC_VOLCANIC_ASH, + SC_GRANITIC_ARMOR, + SC_MAGMA_FLOW, + SC_PYROCLASTIC, + SC_NEEDLE_OF_PARALYZE, + SC_PAIN_KILLER, // 550 +#ifdef RENEWAL SC_EXTREMITYFIST2, SC_RAID, #endif @@ -679,7 +679,7 @@ typedef enum sc_type { SC_KINGS_GRACE, SC_TELEKINESIS_INTENSE, SC_OFFERTORIUM, - SC_FRIGG_SONG, + SC_FRIGG_SONG, // 560 SC_ALL_RIDING, SC_HANBOK, @@ -691,7 +691,7 @@ typedef enum sc_type { SC_MTF_RANGEATK, SC_MTF_MATK, SC_MTF_MLEATKED, - SC_MTF_CRIDAMAGE, + SC_MTF_CRIDAMAGE, // 570 SC_MOONSTAR, SC_SUPER_STAR, @@ -700,6 +700,8 @@ typedef enum sc_type { SC_STRANGELIGHTS, SC_DECORATION_OF_MUSIC, + SC__MAELSTROM, + SC__CHAOS, SC_MAX, //Automatically updated max, used in for's to check we are within bounds. } sc_type; // Official status change ids, used to display status icons on the client. @@ -1434,6 +1436,7 @@ enum si_type { //SI_ = 735, SI_CHILL = 736, SI_BURNT = 737, + SI_FLASHCOMBO = 740, SI_B_TRAP = 752, SI_E_CHAIN = 753, SI_E_QD_SHOT_READY = 754, @@ -1833,9 +1836,9 @@ struct status_change { #define status_get_mode(bl) (status->get_status_data(bl)->mode) //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)) +#define sc_start(src, bl, type, rate, val1, tick) (status->change_start((src),(bl),(type),100*(rate),(val1),0,0,0,(tick),0)) +#define sc_start2(src, bl, type, rate, val1, val2, tick) (status->change_start((src),(bl),(type),100*(rate),(val1),(val2),0,0,(tick),0)) +#define sc_start4(src, bl, type, rate, val1, val2, val3, val4, tick) (status->change_start((src),(bl),(type),100*(rate),(val1),(val2),(val3),(val4),(tick),0)) #define status_change_end(bl,type,tid) (status->change_end_((bl),(type),(tid),__FILE__,__LINE__)) @@ -1912,6 +1915,7 @@ struct status_interface { int (*set_sp) (struct block_list *bl, unsigned int sp, int flag); int (*heal) (struct block_list *bl,int64 hp,int64 sp, int flag); int (*revive) (struct block_list *bl, unsigned char per_hp, unsigned char per_sp); + int (*fixed_revive) (struct block_list *bl, unsigned int per_hp, unsigned int per_sp); struct regen_data * (*get_regen_data) (struct block_list *bl); struct status_data * (*get_status_data) (struct block_list *bl); struct status_data * (*get_base_status) (struct block_list *bl); @@ -1932,8 +1936,8 @@ struct status_interface { struct status_change * (*get_sc) (struct block_list *bl); int (*isdead) (struct block_list *bl); int (*isimmune) (struct block_list *bl); - int (*get_sc_def) (struct block_list *bl, enum sc_type type, int rate, int tick, int flag); - int (*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 (*get_sc_def) (struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int tick, int flag); + int (*change_start) (struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int flag); int (*change_end_) (struct block_list* bl, enum sc_type type, int tid, const char* file, int line); int (*kaahi_heal_timer) (int tid, int64 tick, int id, intptr_t data); int (*change_timer) (int tid, int64 tick, int id, intptr_t data); |