From c6635fbf0145b03656d1b90212a3f3093de228d3 Mon Sep 17 00:00:00 2001 From: Asheraf Date: Tue, 5 Nov 2019 22:04:26 +0100 Subject: Dehardcode Status Icons --- src/map/atcommand.c | 2 +- src/map/battle.c | 2 +- src/map/clif.c | 37 +- src/map/clif.h | 4 +- src/map/constants.inc | 1029 ----------------------------------------------- src/map/pc.c | 26 +- src/map/script.c | 3 +- src/map/skill.c | 16 +- src/map/status.c | 1040 ++++++++++++++++++++---------------------------- src/map/status.h | 1055 ++----------------------------------------------- src/map/unit.c | 4 +- 11 files changed, 489 insertions(+), 2729 deletions(-) delete mode 100644 src/map/constants.inc (limited to 'src/map') diff --git a/src/map/atcommand.c b/src/map/atcommand.c index f57583cfc..3684c1d9f 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -2477,7 +2477,7 @@ ACMD(displaystatus) if( flag == 0 ) clif->sc_end(&sd->bl,sd->bl.id,AREA,type); else - clif->status_change(&sd->bl, type, flag, tick, val1, val2, val3); + clif->status_change(&sd->bl, type, BL_PC, flag, tick, val1, val2, val3); return true; } diff --git a/src/map/battle.c b/src/map/battle.c index 7fb5355e6..2b1b34d1a 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -6457,7 +6457,7 @@ static enum damage_lv battle_weapon_attack(struct block_list *src, struct block_ skill->castend_type(type, src, target, r_skill, r_lv, tick, flag); sd->state.autocast = 0; sd->ud.canact_tick = tick + skill->delay_fix(src, r_skill, r_lv); - clif->status_change(src, SI_POSTDELAY, 1, skill->delay_fix(src, r_skill, r_lv), 0, 0, 1); + clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, skill->delay_fix(src, r_skill, r_lv), 0, 0, 1); } } diff --git a/src/map/clif.c b/src/map/clif.c index 9f30408e4..0034ae28e 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -1586,7 +1586,8 @@ static bool clif_spawn(struct block_list *bl) if (sd->bg_id != 0 && map->list[sd->bl.m].flag.battleground) clif->sendbgemblem_area(sd); for (i = 0; i < sd->sc_display_count; i++) { - clif->sc_continue(&sd->bl, sd->bl.id,AREA,status->dbs->IconChangeTable[sd->sc_display[i]->type],sd->sc_display[i]->val1,sd->sc_display[i]->val2,sd->sc_display[i]->val3); + clif->sc_continue(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(sd->sc_display[i]->type), sd->sc_display[i]->val1, sd->sc_display[i]->val2, sd->sc_display[i]->val3); + } if (sd->charm_type != CHARM_TYPE_NONE && sd->charm_count > 0) clif->spiritcharm(sd); @@ -1612,7 +1613,7 @@ static bool clif_spawn(struct block_list *bl) else if (nd->size == SZ_MEDIUM) clif->specialeffect(&nd->bl,421,AREA); if (nd->clan_id > 0) - clif->sc_load(&nd->bl, nd->bl.id, AREA, status->dbs->IconChangeTable[SC_CLAN_INFO], 0, nd->clan_id, 0); + clif->sc_load(&nd->bl, nd->bl.id, AREA, status->get_sc_icon(SC_CLAN_INFO), 0, nd->clan_id, 0); } break; case BL_PET: @@ -3873,7 +3874,7 @@ static void clif_arrowequip(struct map_session_data *sd, int val) nullpo_retv(sd); #if PACKETVER >= 20121128 - clif->status_change(&sd->bl, SI_CLIENT_ONLY_EQUIP_ARROW, 1, INVALID_TIMER, 0, 0, 0); + clif->status_change(&sd->bl, status->get_sc_icon(SC_CLIENT_ONLY_EQUIP_ARROW), status->get_sc_relevant_bl_types(SC_CLIENT_ONLY_EQUIP_ARROW), 1, INVALID_TIMER, 0, 0, 0); #endif fd=sd->fd; WFIFOHEAD(fd, packet_len(0x013c)); @@ -4676,7 +4677,7 @@ static void clif_getareachar_pc(struct map_session_data *sd, struct map_session_ clif->charm_single(sd->fd, dstsd); for( i = 0; i < dstsd->sc_display_count; i++ ) { - clif->sc_continue(&sd->bl,dstsd->bl.id,SELF,status->dbs->IconChangeTable[dstsd->sc_display[i]->type],dstsd->sc_display[i]->val1,dstsd->sc_display[i]->val2,dstsd->sc_display[i]->val3); + clif->sc_continue(&sd->bl, dstsd->bl.id, SELF, status->get_sc_icon(dstsd->sc_display[i]->type), dstsd->sc_display[i]->val1, dstsd->sc_display[i]->val2, dstsd->sc_display[i]->val3); } if( (sd->status.party_id && dstsd->status.party_id == sd->status.party_id) || //Party-mate, or hpdisp setting. (sd->bg_id && sd->bg_id == dstsd->bg_id) || //BattleGround @@ -4757,7 +4758,7 @@ static void clif_getareachar_unit(struct map_session_data *sd, struct block_list else if (nd->size == SZ_MEDIUM) clif->specialeffect_single(bl,421,sd->fd); if (nd->clan_id > 0) - clif->sc_load(&nd->bl, nd->bl.id, AREA, status->dbs->IconChangeTable[SC_CLAN_INFO], 0, nd->clan_id, 0); + clif->sc_load(&nd->bl, nd->bl.id, AREA, status->get_sc_icon(SC_CLAN_INFO), 0, nd->clan_id, 0); } break; case BL_MOB: @@ -6041,7 +6042,7 @@ static void clif_cooking_list(struct map_session_data *sd, int trigger, uint16 s } } -static void clif_status_change_notick(struct block_list *bl, int type, int flag, int tick, int total_tick, int val1, int val2, int val3) +static void clif_status_change_notick(struct block_list *bl, int type, int relevant_bl, int flag, int tick, int total_tick, int val1, int val2, int val3) { struct packet_sc_notick p; struct map_session_data *sd; @@ -6051,7 +6052,7 @@ static void clif_status_change_notick(struct block_list *bl, int type, int flag, if (type == SI_BLANK) //It shows nothing on the client... return; - if (!(status->type2relevant_bl_types(type)&bl->type)) // only send status changes that actually matter to the client + if (!(relevant_bl & bl->type)) // only send status changes that actually matter to the client return; sd = BL_CAST(BL_PC, bl); @@ -6070,7 +6071,7 @@ static void clif_status_change_notick(struct block_list *bl, int type, int flag, /// 08ff .L .W .L { .L }*3 (PACKETVER >= 20111108) /// 0983 .W .L .B .L .L { .L }*3 (PACKETVER >= 20120618) /// 0984 .L .W .L .L { .L }*3 (PACKETVER >= 20120618) -static void clif_status_change_sub(struct block_list *bl, int type, int flag, int tick, int total_tick, int val1, int val2, int val3) +static void clif_status_change_sub(struct block_list *bl, int type, int relevant_bl, int flag, int tick, int total_tick, int val1, int val2, int val3) { struct packet_status_change p; struct map_session_data *sd; @@ -6080,7 +6081,7 @@ static void clif_status_change_sub(struct block_list *bl, int type, int flag, in nullpo_retv(bl); - if (!(status->type2relevant_bl_types(type)&bl->type)) // only send status changes that actually matter to the client + if (!(relevant_bl & bl->type)) // only send status changes that actually matter to the client return; if ( tick < 0 ) @@ -6107,9 +6108,9 @@ static void clif_status_change_sub(struct block_list *bl, int type, int flag, in /// Notifies clients of a status change. /// @see clif_status_change_sub -static void clif_status_change(struct block_list *bl, int type, int flag, int total_tick, int val1, int val2, int val3) +static void clif_status_change(struct block_list *bl, int type, int relevant_bl, int flag, int total_tick, int val1, int val2, int val3) { - clif->status_change_sub(bl, type, flag, total_tick, total_tick, val1, val2, val3); + clif->status_change_sub(bl, type, relevant_bl, flag, total_tick, total_tick, val1, val2, val3); } /// Send message (modified by [Yor]) (ZC_NOTIFY_PLAYERCHAT). @@ -10681,11 +10682,11 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd) clif->initialstatus(sd); if (pc_isfalcon(sd)) - clif->status_change(&sd->bl, SI_FALCON, 1, 0, 0, 0, 0); + clif->status_change(&sd->bl, status->get_sc_icon(SC_FALCON), status->get_sc_relevant_bl_types(SC_FALCON), 1, 0, 0, 0, 0); if (pc_isridingpeco(sd) || pc_isridingdragon(sd)) - clif->status_change(&sd->bl, SI_RIDING, 1, 0, 0, 0, 0); + clif->status_change(&sd->bl, status->get_sc_icon(SC_RIDING), status->get_sc_relevant_bl_types(SC_RIDING), 1, 0, 0, 0, 0); else if (pc_isridingwug(sd)) - clif->status_change(&sd->bl, SI_WUGRIDER, 1, 0, 0, 0, 0); + clif->status_change(&sd->bl, status->get_sc_icon(SC_WUGRIDER), status->get_sc_relevant_bl_types(SC_WUGRIDER), 1, 0, 0, 0, 0); if(sd->status.manner < 0) sc_start(NULL,&sd->bl,SC_NOCHAT,100,0,0); @@ -10709,7 +10710,7 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd) if (map->night_flag && map->list[sd->bl.m].flag.nightenabled) { sd->state.night = 1; - clif->status_change(&sd->bl, SI_SKE, 1, 0, 0, 0, 0); + clif->status_change(&sd->bl, status->get_sc_icon(SC_SKE), status->get_sc_relevant_bl_types(SC_SKE), 1, 0, 0, 0, 0); } // Notify everyone that this char logged in [Skotlex]. @@ -10761,11 +10762,11 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd) //Display night. if( !sd->state.night ) { sd->state.night = 1; - clif->status_change(&sd->bl, SI_SKE, 1, 0, 0, 0, 0); + clif->status_change(&sd->bl, status->get_sc_icon(SC_SKE), status->get_sc_relevant_bl_types(SC_SKE), 1, 0, 0, 0, 0); } } else if( sd->state.night ) { //Clear night display. sd->state.night = 0; - clif->sc_end(&sd->bl, sd->bl.id, SELF, SI_SKE); + clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_SKE)); } if( map->list[sd->bl.m].flag.battleground ) { @@ -10813,7 +10814,7 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd) npc->script_event(sd, NPCE_LOADMAP); if (pc->checkskill(sd, SG_DEVIL) && !pc->nextjobexp(sd)) //blindness [Komurka] - clif->sc_end(&sd->bl, sd->bl.id, SELF, SI_DEVIL1); + clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_DEVIL1)); if (sd->sc.opt2) //Client loses these on warp. clif->changeoption(&sd->bl); diff --git a/src/map/clif.h b/src/map/clif.h index 0dfc00c01..4bbf36247 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -902,8 +902,8 @@ struct clif_interface { void (*cooking_list) (struct map_session_data *sd, int trigger, uint16 skill_id, int qty, int list_type); void (*autospell) (struct map_session_data *sd,uint16 skill_lv); void (*combo_delay) (struct block_list *bl,int wait); - void (*status_change) (struct block_list *bl, int type, int flag, int total_tick, int val1, int val2, int val3); - void (*status_change_sub) (struct block_list *bl, int type, int flag, int tick, int total_tick, int val1, int val2, int val3); + void (*status_change) (struct block_list *bl, int relevant_bl, int type, int flag, int total_tick, int val1, int val2, int val3); + void (*status_change_sub) (struct block_list *bl, int type, int relevant_bl, int flag, int tick, int total_tick, int val1, int val2, int val3); void (*insert_card) (struct map_session_data *sd,int idx_equip,int idx_card,int flag); void (*inventoryList) (struct map_session_data *sd); void (*inventoryItems) (struct map_session_data *sd, enum inventory_type type); diff --git a/src/map/constants.inc b/src/map/constants.inc deleted file mode 100644 index 355e2a825..000000000 --- a/src/map/constants.inc +++ /dev/null @@ -1,1029 +0,0 @@ - script->constdb_comment("Status Icons"); - - script->set_constant("SI_BLANK", SI_BLANK, false, false); - - script->set_constant("SI_PROVOKE", SI_PROVOKE, false, false); - script->set_constant("SI_ENDURE", SI_ENDURE, false, false); - script->set_constant("SI_TWOHANDQUICKEN", SI_TWOHANDQUICKEN, false, false); - script->set_constant("SI_CONCENTRATION", SI_CONCENTRATION, false, false); - script->set_constant("SI_HIDING", SI_HIDING, false, false); - script->set_constant("SI_CLOAKING", SI_CLOAKING, false, false); - script->set_constant("SI_ENCHANTPOISON", SI_ENCHANTPOISON, false, false); - script->set_constant("SI_POISONREACT", SI_POISONREACT, false, false); - script->set_constant("SI_QUAGMIRE", SI_QUAGMIRE, false, false); - script->set_constant("SI_ANGELUS", SI_ANGELUS, false, false); - script->set_constant("SI_BLESSING", SI_BLESSING, false, false); - script->set_constant("SI_CRUCIS", SI_CRUCIS, false, false); - script->set_constant("SI_INC_AGI", SI_INC_AGI, false, false); - script->set_constant("SI_DEC_AGI", SI_DEC_AGI, false, false); - script->set_constant("SI_SLOWPOISON", SI_SLOWPOISON, false, false); - script->set_constant("SI_IMPOSITIO", SI_IMPOSITIO, false, false); - script->set_constant("SI_SUFFRAGIUM", SI_SUFFRAGIUM, false, false); - script->set_constant("SI_ASPERSIO", SI_ASPERSIO, false, false); - script->set_constant("SI_BENEDICTIO", SI_BENEDICTIO, false, false); - script->set_constant("SI_KYRIE", SI_KYRIE, false, false); - script->set_constant("SI_MAGNIFICAT", SI_MAGNIFICAT, false, false); - script->set_constant("SI_GLORIA", SI_GLORIA, false, false); - script->set_constant("SI_LEXAETERNA", SI_LEXAETERNA, false, false); - script->set_constant("SI_ADRENALINE", SI_ADRENALINE, false, false); - script->set_constant("SI_WEAPONPERFECT", SI_WEAPONPERFECT, false, false); - script->set_constant("SI_OVERTHRUST", SI_OVERTHRUST, false, false); - script->set_constant("SI_MAXIMIZE", SI_MAXIMIZE, false, false); - script->set_constant("SI_RIDING", SI_RIDING, false, false); - script->set_constant("SI_FALCON", SI_FALCON, false, false); - script->set_constant("SI_TRICKDEAD", SI_TRICKDEAD, false, false); - script->set_constant("SI_SHOUT", SI_SHOUT, false, false); - script->set_constant("SI_ENERGYCOAT", SI_ENERGYCOAT, false, false); - script->set_constant("SI_BROKENARMOR", SI_BROKENARMOR, false, false); - script->set_constant("SI_BROKENWEAPON", SI_BROKENWEAPON, false, false); - script->set_constant("SI_ILLUSION", SI_ILLUSION, false, false); - script->set_constant("SI_WEIGHTOVER50", SI_WEIGHTOVER50, false, false); - script->set_constant("SI_WEIGHTOVER90", SI_WEIGHTOVER90, false, false); - script->set_constant("SI_ATTHASTE_POTION1", SI_ATTHASTE_POTION1, false, false); - script->set_constant("SI_ATTHASTE_POTION2", SI_ATTHASTE_POTION2, false, false); - script->set_constant("SI_ATTHASTE_POTION3", SI_ATTHASTE_POTION3, false, false); - script->set_constant("SI_ATTHASTE_INFINITY", SI_ATTHASTE_INFINITY, false, false); - script->set_constant("SI_MOVHASTE_POTION", SI_MOVHASTE_POTION, false, false); - script->set_constant("SI_MOVHASTE_INFINITY", SI_MOVHASTE_INFINITY, false, false); - //script->set_constant("SI_AUTOCOUNTER", SI_AUTOCOUNTER, false, false); - //script->set_constant("SI_SPLASHER", SI_SPLASHER, false, false); - script->set_constant("SI_ANKLESNARE", SI_ANKLESNARE, false, false); - script->set_constant("SI_POSTDELAY", SI_POSTDELAY, false, false); - //script->set_constant("SI_NOACTION", SI_NOACTION, false, false); - //script->set_constant("SI_IMPOSSIBLEPICKUP", SI_IMPOSSIBLEPICKUP, false, false); - //script->set_constant("SI_BARRIER", SI_BARRIER, false, false); - - script->set_constant("SI_NOEQUIPWEAPON", SI_NOEQUIPWEAPON, false, false); - script->set_constant("SI_NOEQUIPSHIELD", SI_NOEQUIPSHIELD, false, false); - script->set_constant("SI_NOEQUIPARMOR", SI_NOEQUIPARMOR, false, false); - script->set_constant("SI_NOEQUIPHELM", SI_NOEQUIPHELM, false, false); - script->set_constant("SI_PROTECTWEAPON", SI_PROTECTWEAPON, false, false); - script->set_constant("SI_PROTECTSHIELD", SI_PROTECTSHIELD, false, false); - script->set_constant("SI_PROTECTARMOR", SI_PROTECTARMOR, false, false); - script->set_constant("SI_PROTECTHELM", SI_PROTECTHELM, false, false); - script->set_constant("SI_AUTOGUARD", SI_AUTOGUARD, false, false); - script->set_constant("SI_REFLECTSHIELD", SI_REFLECTSHIELD, false, false); - //script->set_constant("SI_DEVOTION", SI_DEVOTION, false, false); - script->set_constant("SI_PROVIDENCE", SI_PROVIDENCE, false, false); - script->set_constant("SI_DEFENDER", SI_DEFENDER, false, false); - //script->set_constant("SI_MAGICROD", SI_MAGICROD, false, false); - //script->set_constant("SI_WEAPONPROPERTY", SI_WEAPONPROPERTY, false, false); - script->set_constant("SI_AUTOSPELL", SI_AUTOSPELL, false, false); - //script->set_constant("SI_SPECIALZONE", SI_SPECIALZONE, false, false); - //script->set_constant("SI_MASK", SI_MASK, false, false); - script->set_constant("SI_SPEARQUICKEN", SI_SPEARQUICKEN, false, false); - //script->set_constant("SI_BDPLAYING", SI_BDPLAYING, false, false); - //script->set_constant("SI_WHISTLE", SI_WHISTLE, false, false); - //script->set_constant("SI_ASSASSINCROSS", SI_ASSASSINCROSS, false, false); - //script->set_constant("SI_POEMBRAGI", SI_POEMBRAGI, false, false); - //script->set_constant("SI_APPLEIDUN", SI_APPLEIDUN, false, false); - //script->set_constant("SI_HUMMING", SI_HUMMING, false, false); - //script->set_constant("SI_DONTFORGETME", SI_DONTFORGETME, false, false); - //script->set_constant("SI_FORTUNEKISS", SI_FORTUNEKISS, false, false); - //script->set_constant("SI_SERVICEFORYOU", SI_SERVICEFORYOU, false, false); - //script->set_constant("SI_RICHMANKIM", SI_RICHMANKIM, false, false); - //script->set_constant("SI_ETERNALCHAOS", SI_ETERNALCHAOS, false, false); - //script->set_constant("SI_DRUMBATTLEFIELD", SI_DRUMBATTLEFIELD, false, false); - //script->set_constant("SI_RINGNIBELUNGEN", SI_RINGNIBELUNGEN, false, false); - //script->set_constant("SI_ROKISWEIL", SI_ROKISWEIL, false, false); - //script->set_constant("SI_INTOABYSS", SI_INTOABYSS, false, false); - //script->set_constant("SI_SIEGFRIED", SI_SIEGFRIED, false, false); - //script->set_constant("SI_BLADESTOP", SI_BLADESTOP, false, false); - script->set_constant("SI_EXPLOSIONSPIRITS", SI_EXPLOSIONSPIRITS, false, false); - script->set_constant("SI_STEELBODY", SI_STEELBODY, false, false); - script->set_constant("SI_EXTREMITYFIST", SI_EXTREMITYFIST, false, false); - //script->set_constant("SI_COMBOATTACK", SI_COMBOATTACK, false, false); - script->set_constant("SI_PROPERTYFIRE", SI_PROPERTYFIRE, false, false); - script->set_constant("SI_PROPERTYWATER", SI_PROPERTYWATER, false, false); - script->set_constant("SI_PROPERTYWIND", SI_PROPERTYWIND, false, false); - script->set_constant("SI_PROPERTYGROUND", SI_PROPERTYGROUND, false, false); - //script->set_constant("SI_MAGICATTACK", SI_MAGICATTACK, false, false); - script->set_constant("SI_STOP", SI_STOP, false, false); - //script->set_constant("SI_WEAPONBRAKER", SI_WEAPONBRAKER, false, false); - script->set_constant("SI_PROPERTYUNDEAD", SI_PROPERTYUNDEAD, false, false); - //script->set_constant("SI_POWERUP", SI_POWERUP, false, false); - //script->set_constant("SI_AGIUP", SI_AGIUP, false, false); - - //script->set_constant("SI_SIEGEMODE", SI_SIEGEMODE, false, false); - //script->set_constant("SI_INVISIBLE", SI_INVISIBLE, false, false); - //script->set_constant("SI_STATUSONE", SI_STATUSONE, false, false); - script->set_constant("SI_AURABLADE", SI_AURABLADE, false, false); - script->set_constant("SI_PARRYING", SI_PARRYING, false, false); - script->set_constant("SI_LKCONCENTRATION", SI_LKCONCENTRATION, false, false); - script->set_constant("SI_TENSIONRELAX", SI_TENSIONRELAX, false, false); - script->set_constant("SI_BERSERK", SI_BERSERK, false, false); - //script->set_constant("SI_SACRIFICE", SI_SACRIFICE, false, false); - //script->set_constant("SI_GOSPEL", SI_GOSPEL, false, false); - script->set_constant("SI_ASSUMPTIO", SI_ASSUMPTIO, false, false); - //script->set_constant("SI_BASILICA", SI_BASILICA, false, false); - script->set_constant("SI_GROUNDMAGIC", SI_GROUNDMAGIC, false, false); - script->set_constant("SI_MAGICPOWER", SI_MAGICPOWER, false, false); - script->set_constant("SI_EDP", SI_EDP, false, false); - script->set_constant("SI_TRUESIGHT", SI_TRUESIGHT, false, false); - script->set_constant("SI_WINDWALK", SI_WINDWALK, false, false); - script->set_constant("SI_MELTDOWN", SI_MELTDOWN, false, false); - script->set_constant("SI_CARTBOOST", SI_CARTBOOST, false, false); - //script->set_constant("SI_CHASEWALK", SI_CHASEWALK, false, false); - script->set_constant("SI_SWORDREJECT", SI_SWORDREJECT, false, false); - script->set_constant("SI_MARIONETTE_MASTER", SI_MARIONETTE_MASTER, false, false); - script->set_constant("SI_MARIONETTE", SI_MARIONETTE, false, false); - script->set_constant("SI_MOON", SI_MOON, false, false); - script->set_constant("SI_BLOODING", SI_BLOODING, false, false); - script->set_constant("SI_JOINTBEAT", SI_JOINTBEAT, false, false); - //script->set_constant("SI_MINDBREAKER", SI_MINDBREAKER, false, false); - //script->set_constant("SI_MEMORIZE", SI_MEMORIZE, false, false); - //script->set_constant("SI_FOGWALL", SI_FOGWALL, false, false); - //script->set_constant("SI_SPIDERWEB", SI_SPIDERWEB, false, false); - script->set_constant("SI_PROTECTEXP", SI_PROTECTEXP, false, false); - //script->set_constant("SI_SUB_WEAPONPROPERTY", SI_SUB_WEAPONPROPERTY, false, false); - script->set_constant("SI_AUTOBERSERK", SI_AUTOBERSERK, false, false); - script->set_constant("SI_RUN", SI_RUN, false, false); - script->set_constant("SI_TING", SI_TING, false, false); - script->set_constant("SI_STORMKICK_ON", SI_STORMKICK_ON, false, false); - script->set_constant("SI_STORMKICK_READY", SI_STORMKICK_READY, false, false); - script->set_constant("SI_DOWNKICK_ON", SI_DOWNKICK_ON, false, false); - script->set_constant("SI_DOWNKICK_READY", SI_DOWNKICK_READY, false, false); - script->set_constant("SI_TURNKICK_ON", SI_TURNKICK_ON, false, false); - script->set_constant("SI_TURNKICK_READY", SI_TURNKICK_READY, false, false); - script->set_constant("SI_COUNTER_ON", SI_COUNTER_ON, false, false); - script->set_constant("SI_COUNTER_READY", SI_COUNTER_READY, false, false); - script->set_constant("SI_DODGE_ON", SI_DODGE_ON, false, false); - script->set_constant("SI_DODGE_READY", SI_DODGE_READY, false, false); - script->set_constant("SI_STRUP", SI_STRUP, false, false); - script->set_constant("SI_PROPERTYDARK", SI_PROPERTYDARK, false, false); - script->set_constant("SI_ADRENALINE2", SI_ADRENALINE2, false, false); - script->set_constant("SI_PROPERTYTELEKINESIS", SI_PROPERTYTELEKINESIS, false, false); - script->set_constant("SI_SOULLINK", SI_SOULLINK, false, false); - - script->set_constant("SI_PLUSATTACKPOWER", SI_PLUSATTACKPOWER, false, false); - script->set_constant("SI_PLUSMAGICPOWER", SI_PLUSMAGICPOWER, false, false); - script->set_constant("SI_DEVIL1", SI_DEVIL1, false, false); - script->set_constant("SI_KAITE", SI_KAITE, false, false); - //script->set_constant("SI_SWOO", SI_SWOO, false, false); - //script->set_constant("SI_STAR2", SI_STAR2, false, false); - script->set_constant("SI_KAIZEL", SI_KAIZEL, false, false); - script->set_constant("SI_KAAHI", SI_KAAHI, false, false); - script->set_constant("SI_KAUPE", SI_KAUPE, false, false); - script->set_constant("SI_SMA_READY", SI_SMA_READY, false, false); - script->set_constant("SI_SKE", SI_SKE, false, false); - script->set_constant("SI_ONEHANDQUICKEN", SI_ONEHANDQUICKEN, false, false); - //script->set_constant("SI_FRIEND", SI_FRIEND, false, false); - //script->set_constant("SI_FRIENDUP", SI_FRIENDUP, false, false); - //script->set_constant("SI_SG_WARM", SI_SG_WARM, false, false); - script->set_constant("SI_SG_SUN_WARM", SI_SG_SUN_WARM, false, false); - //script->set_constant("SI_SG_MOON_WARM", SI_SG_MOON_WARM, false, false); - //script->set_constant("SI_SG_STAR_WARM", SI_SG_STAR_WARM, false, false); - //script->set_constant("SI_EMOTION", SI_EMOTION, false, false); - script->set_constant("SI_SUN_COMFORT", SI_SUN_COMFORT, false, false); - script->set_constant("SI_MOON_COMFORT", SI_MOON_COMFORT, false, false); - script->set_constant("SI_STAR_COMFORT", SI_STAR_COMFORT, false, false); - //script->set_constant("SI_EXPUP", SI_EXPUP, false, false); - //script->set_constant("SI_GDSKILL_BATTLEORDER", SI_GDSKILL_BATTLEORDER, false, false); - //script->set_constant("SI_GDSKILL_REGENERATION", SI_GDSKILL_REGENERATION, false, false); - //script->set_constant("SI_GDSKILL_POSTDELAY", SI_GDSKILL_POSTDELAY, false, false); - //script->set_constant("SI_RESISTHANDICAP", SI_RESISTHANDICAP, false, false); - //script->set_constant("SI_MAXHPPERCENT", SI_MAXHPPERCENT, false, false); - //script->set_constant("SI_MAXSPPERCENT", SI_MAXSPPERCENT, false, false); - //script->set_constant("SI_DEFENCE", SI_DEFENCE, false, false); - //script->set_constant("SI_SLOWDOWN", SI_SLOWDOWN, false, false); - script->set_constant("SI_PRESERVE", SI_PRESERVE, false, false); - script->set_constant("SI_INCSTR", SI_INCSTR, false, false); - //script->set_constant("SI_NOT_EXTREMITYFIST", SI_NOT_EXTREMITYFIST, false, false); - script->set_constant("SI_CLAIRVOYANCE", SI_CLAIRVOYANCE, false, false); - script->set_constant("SI_MOVESLOW_POTION", SI_MOVESLOW_POTION, false, false); - script->set_constant("SI_DOUBLECASTING", SI_DOUBLECASTING, false, false); - //script->set_constant("SI_GRAVITATION", SI_GRAVITATION, false, false); - script->set_constant("SI_OVERTHRUSTMAX", SI_OVERTHRUSTMAX, false, false); - //script->set_constant("SI_LONGING", SI_LONGING, false, false); - //script->set_constant("SI_HERMODE", SI_HERMODE, false, false); - script->set_constant("SI_TAROTCARD", SI_TAROTCARD, false, false); - //script->set_constant("SI_HLIF_AVOID", SI_HLIF_AVOID, false, false); - //script->set_constant("SI_HFLI_FLEET", SI_HFLI_FLEET, false, false); - //script->set_constant("SI_HFLI_SPEED", SI_HFLI_SPEED, false, false); - //script->set_constant("SI_HLIF_CHANGE", SI_HLIF_CHANGE, false, false); - //script->set_constant("SI_HAMI_BLOODLUST", SI_HAMI_BLOODLUST, false, false); - script->set_constant("SI_CR_SHRINK", SI_CR_SHRINK, false, false); - script->set_constant("SI_WZ_SIGHTBLASTER", SI_WZ_SIGHTBLASTER, false, false); - script->set_constant("SI_DC_WINKCHARM", SI_DC_WINKCHARM, false, false); - - script->set_constant("SI_RG_CCONFINE_M", SI_RG_CCONFINE_M, false, false); - script->set_constant("SI_RG_CCONFINE_S", SI_RG_CCONFINE_S, false, false); - //script->set_constant("SI_DISABLEMOVE", SI_DISABLEMOVE, false, false); - script->set_constant("SI_GS_MADNESSCANCEL", SI_GS_MADNESSCANCEL, false, false); - script->set_constant("SI_GS_GATLINGFEVER", SI_GS_GATLINGFEVER, false, false); - script->set_constant("SI_EARTHSCROLL", SI_EARTHSCROLL, false, false); - script->set_constant("SI_NJ_UTSUSEMI", SI_NJ_UTSUSEMI, false, false); - script->set_constant("SI_NJ_BUNSINJYUTSU", SI_NJ_BUNSINJYUTSU, false, false); - script->set_constant("SI_NJ_NEN", SI_NJ_NEN, false, false); - script->set_constant("SI_GS_ADJUSTMENT", SI_GS_ADJUSTMENT, false, false); - script->set_constant("SI_GS_ACCURACY", SI_GS_ACCURACY, false, false); - script->set_constant("SI_NJ_SUITON", SI_NJ_SUITON, false, false); - //script->set_constant("SI_PET", SI_PET, false, false); - //script->set_constant("SI_MENTAL", SI_MENTAL, false, false); - //script->set_constant("SI_EXPMEMORY", SI_EXPMEMORY, false, false); - //script->set_constant("SI_PERFORMANCE", SI_PERFORMANCE, false, false); - //script->set_constant("SI_GAIN", SI_GAIN, false, false); - //script->set_constant("SI_GRIFFON", SI_GRIFFON, false, false); - //script->set_constant("SI_DRIFT", SI_DRIFT, false, false); - //script->set_constant("SI_WALLSHIFT", SI_WALLSHIFT, false, false); - //script->set_constant("SI_REINCARNATION", SI_REINCARNATION, false, false); - //script->set_constant("SI_PATTACK", SI_PATTACK, false, false); - //script->set_constant("SI_PSPEED", SI_PSPEED, false, false); - //script->set_constant("SI_PDEFENSE", SI_PDEFENSE, false, false); - //script->set_constant("SI_PCRITICAL", SI_PCRITICAL, false, false); - //script->set_constant("SI_RANKING", SI_RANKING, false, false); - //script->set_constant("SI_PTRIPLE", SI_PTRIPLE, false, false); - //script->set_constant("SI_DENERGY", SI_DENERGY, false, false); - //script->set_constant("SI_WAVE1", SI_WAVE1, false, false); - //script->set_constant("SI_WAVE2", SI_WAVE2, false, false); - //script->set_constant("SI_WAVE3", SI_WAVE3, false, false); - //script->set_constant("SI_WAVE4", SI_WAVE4, false, false); - //script->set_constant("SI_DAURA", SI_DAURA, false, false); - //script->set_constant("SI_DFREEZER", SI_DFREEZER, false, false); - //script->set_constant("SI_DPUNISH", SI_DPUNISH, false, false); - //script->set_constant("SI_DBARRIER", SI_DBARRIER, false, false); - //script->set_constant("SI_DWARNING", SI_DWARNING, false, false); - //script->set_constant("SI_MOUSEWHEEL", SI_MOUSEWHEEL, false, false); - //script->set_constant("SI_DGAUGE", SI_DGAUGE, false, false); - //script->set_constant("SI_DACCEL", SI_DACCEL, false, false); - //script->set_constant("SI_DBLOCK", SI_DBLOCK, false, false); - script->set_constant("SI_FOOD_STR", SI_FOOD_STR, false, false); - script->set_constant("SI_FOOD_AGI", SI_FOOD_AGI, false, false); - script->set_constant("SI_FOOD_VIT", SI_FOOD_VIT, false, false); - script->set_constant("SI_FOOD_DEX", SI_FOOD_DEX, false, false); - script->set_constant("SI_FOOD_INT", SI_FOOD_INT, false, false); - script->set_constant("SI_FOOD_LUK", SI_FOOD_LUK, false, false); - script->set_constant("SI_FOOD_BASICAVOIDANCE", SI_FOOD_BASICAVOIDANCE, false, false); - script->set_constant("SI_FOOD_BASICHIT", SI_FOOD_BASICHIT, false, false); - script->set_constant("SI_FOOD_CRITICALSUCCESSVALUE", SI_FOOD_CRITICALSUCCESSVALUE, false, false); - - script->set_constant("SI_CASH_PLUSEXP", SI_CASH_PLUSEXP, false, false); - script->set_constant("SI_CASH_DEATHPENALTY", SI_CASH_DEATHPENALTY, false, false); - script->set_constant("SI_CASH_RECEIVEITEM", SI_CASH_RECEIVEITEM, false, false); - script->set_constant("SI_CASH_BOSS_ALARM", SI_CASH_BOSS_ALARM, false, false); - //script->set_constant("SI_DA_ENERGY", SI_DA_ENERGY, false, false); - //script->set_constant("SI_DA_FIRSTSLOT", SI_DA_FIRSTSLOT, false, false); - //script->set_constant("SI_DA_HEADDEF", SI_DA_HEADDEF, false, false); - //script->set_constant("SI_DA_SPACE", SI_DA_SPACE, false, false); - //script->set_constant("SI_DA_TRANSFORM", SI_DA_TRANSFORM, false, false); - //script->set_constant("SI_DA_ITEMREBUILD", SI_DA_ITEMREBUILD, false, false); - //script->set_constant("SI_DA_ILLUSION", SI_DA_ILLUSION, false, false); - //script->set_constant("SI_DA_DARKPOWER", SI_DA_DARKPOWER, false, false); - //script->set_constant("SI_DA_EARPLUG", SI_DA_EARPLUG, false, false); - //script->set_constant("SI_DA_CONTRACT", SI_DA_CONTRACT, false, false); - //script->set_constant("SI_DA_BLACK", SI_DA_BLACK, false, false); - //script->set_constant("SI_DA_MAGICCART", SI_DA_MAGICCART, false, false); - //script->set_constant("SI_CRYSTAL", SI_CRYSTAL, false, false); - //script->set_constant("SI_DA_REBUILD", SI_DA_REBUILD, false, false); - //script->set_constant("SI_DA_EDARKNESS", SI_DA_EDARKNESS, false, false); - //script->set_constant("SI_DA_EGUARDIAN", SI_DA_EGUARDIAN, false, false); - //script->set_constant("SI_DA_TIMEOUT", SI_DA_TIMEOUT, false, false); - script->set_constant("SI_FOOD_STR_CASH", SI_FOOD_STR_CASH, false, false); - script->set_constant("SI_FOOD_AGI_CASH", SI_FOOD_AGI_CASH, false, false); - script->set_constant("SI_FOOD_VIT_CASH", SI_FOOD_VIT_CASH, false, false); - script->set_constant("SI_FOOD_DEX_CASH", SI_FOOD_DEX_CASH, false, false); - script->set_constant("SI_FOOD_INT_CASH", SI_FOOD_INT_CASH, false, false); - script->set_constant("SI_FOOD_LUK_CASH", SI_FOOD_LUK_CASH, false, false); - script->set_constant("SI_MER_FLEE", SI_MER_FLEE, false, false); - script->set_constant("SI_MER_ATK", SI_MER_ATK, false, false); - script->set_constant("SI_MER_HP", SI_MER_HP, false, false); - script->set_constant("SI_MER_SP", SI_MER_SP, false, false); - script->set_constant("SI_MER_HIT", SI_MER_HIT, false, false); - script->set_constant("SI_SLOWCAST", SI_SLOWCAST, false, false); - //script->set_constant("SI_MAGICMIRROR", SI_MAGICMIRROR, false, false); - //script->set_constant("SI_STONESKIN", SI_STONESKIN, false, false); - //script->set_constant("SI_ANTIMAGIC", SI_ANTIMAGIC, false, false); - script->set_constant("SI_CRITICALWOUND", SI_CRITICALWOUND, false, false); - //script->set_constant("SI_NPC_DEFENDER", SI_NPC_DEFENDER, false, false); - //script->set_constant("SI_NOACTION_WAIT", SI_NOACTION_WAIT, false, false); - script->set_constant("SI_MOVHASTE_HORSE", SI_MOVHASTE_HORSE, false, false); - script->set_constant("SI_PROTECT_DEF", SI_PROTECT_DEF, false, false); - script->set_constant("SI_PROTECT_MDEF", SI_PROTECT_MDEF, false, false); - script->set_constant("SI_HEALPLUS", SI_HEALPLUS, false, false); - script->set_constant("SI_S_LIFEPOTION", SI_S_LIFEPOTION, false, false); - script->set_constant("SI_L_LIFEPOTION", SI_L_LIFEPOTION, false, false); - script->set_constant("SI_CRITICALPERCENT", SI_CRITICALPERCENT, false, false); - script->set_constant("SI_PLUSAVOIDVALUE", SI_PLUSAVOIDVALUE, false, false); - script->set_constant("SI_ATKER_ASPD", SI_ATKER_ASPD, false, false); - script->set_constant("SI_TARGET_ASPD", SI_TARGET_ASPD, false, false); - script->set_constant("SI_ATKER_MOVESPEED", SI_ATKER_MOVESPEED, false, false); - - script->set_constant("SI_ATKER_BLOOD", SI_ATKER_BLOOD, false, false); - script->set_constant("SI_TARGET_BLOOD", SI_TARGET_BLOOD, false, false); - script->set_constant("SI_ARMOR_PROPERTY", SI_ARMOR_PROPERTY, false, false); - //script->set_constant("SI_REUSE_LIMIT_A", SI_REUSE_LIMIT_A, false, false); - script->set_constant("SI_HELLPOWER", SI_HELLPOWER, false, false); - script->set_constant("SI_STEAMPACK", SI_STEAMPACK, false, false); - //script->set_constant("SI_REUSE_LIMIT_B", SI_REUSE_LIMIT_B, false, false); - //script->set_constant("SI_REUSE_LIMIT_C", SI_REUSE_LIMIT_C, false, false); - //script->set_constant("SI_REUSE_LIMIT_D", SI_REUSE_LIMIT_D, false, false); - //script->set_constant("SI_REUSE_LIMIT_E", SI_REUSE_LIMIT_E, false, false); - //script->set_constant("SI_REUSE_LIMIT_F", SI_REUSE_LIMIT_F, false, false); - script->set_constant("SI_INVINCIBLE", SI_INVINCIBLE, false, false); - script->set_constant("SI_CASH_PLUSONLYJOBEXP", SI_CASH_PLUSONLYJOBEXP, false, false); - script->set_constant("SI_PARTYFLEE", SI_PARTYFLEE, false, false); - script->set_constant("SI_ANGEL_PROTECT", SI_ANGEL_PROTECT, false, false); - //script->set_constant("SI_ENDURE_MDEF", SI_ENDURE_MDEF, false, false); - script->set_constant("SI_ENCHANTBLADE", SI_ENCHANTBLADE, false, false); - script->set_constant("SI_DEATHBOUND", SI_DEATHBOUND, false, false); - script->set_constant("SI_REFRESH", SI_REFRESH, false, false); - script->set_constant("SI_GIANTGROWTH", SI_GIANTGROWTH, false, false); - script->set_constant("SI_STONEHARDSKIN", SI_STONEHARDSKIN, false, false); - script->set_constant("SI_VITALITYACTIVATION", SI_VITALITYACTIVATION, false, false); - script->set_constant("SI_FIGHTINGSPIRIT", SI_FIGHTINGSPIRIT, false, false); - script->set_constant("SI_ABUNDANCE", SI_ABUNDANCE, false, false); - script->set_constant("SI_REUSE_MILLENNIUMSHIELD", SI_REUSE_MILLENNIUMSHIELD, false, false); - script->set_constant("SI_REUSE_CRUSHSTRIKE", SI_REUSE_CRUSHSTRIKE, false, false); - script->set_constant("SI_REUSE_REFRESH", SI_REUSE_REFRESH, false, false); - script->set_constant("SI_REUSE_STORMBLAST", SI_REUSE_STORMBLAST, false, false); - script->set_constant("SI_VENOMIMPRESS", SI_VENOMIMPRESS, false, false); - script->set_constant("SI_EPICLESIS", SI_EPICLESIS, false, false); - script->set_constant("SI_ORATIO", SI_ORATIO, false, false); - script->set_constant("SI_LAUDAAGNUS", SI_LAUDAAGNUS, false, false); - script->set_constant("SI_LAUDARAMUS", SI_LAUDARAMUS, false, false); - script->set_constant("SI_CLOAKINGEXCEED", SI_CLOAKINGEXCEED, false, false); - script->set_constant("SI_HALLUCINATIONWALK", SI_HALLUCINATIONWALK, false, false); - script->set_constant("SI_HALLUCINATIONWALK_POSTDELAY", SI_HALLUCINATIONWALK_POSTDELAY, false, false); - script->set_constant("SI_RENOVATIO", SI_RENOVATIO, false, false); - script->set_constant("SI_WEAPONBLOCKING", SI_WEAPONBLOCKING, false, false); - script->set_constant("SI_WEAPONBLOCKING_POSTDELAY", SI_WEAPONBLOCKING_POSTDELAY, false, false); - script->set_constant("SI_ROLLINGCUTTER", SI_ROLLINGCUTTER, false, false); - script->set_constant("SI_EXPIATIO", SI_EXPIATIO, false, false); - script->set_constant("SI_POISONINGWEAPON", SI_POISONINGWEAPON, false, false); - script->set_constant("SI_TOXIN", SI_TOXIN, false, false); - script->set_constant("SI_PARALYSE", SI_PARALYSE, false, false); - script->set_constant("SI_VENOMBLEED", SI_VENOMBLEED, false, false); - script->set_constant("SI_MAGICMUSHROOM", SI_MAGICMUSHROOM, false, false); - script->set_constant("SI_DEATHHURT", SI_DEATHHURT, false, false); - script->set_constant("SI_PYREXIA", SI_PYREXIA, false, false); - script->set_constant("SI_OBLIVIONCURSE", SI_OBLIVIONCURSE, false, false); - script->set_constant("SI_LEECHESEND", SI_LEECHESEND, false, false); - - script->set_constant("SI_DUPLELIGHT", SI_DUPLELIGHT, false, false); - script->set_constant("SI_FROSTMISTY", SI_FROSTMISTY, false, false); - script->set_constant("SI_FEARBREEZE", SI_FEARBREEZE, false, false); - script->set_constant("SI_ELECTRICSHOCKER", SI_ELECTRICSHOCKER, false, false); - script->set_constant("SI_MARSHOFABYSS", SI_MARSHOFABYSS, false, false); - script->set_constant("SI_RECOGNIZEDSPELL", SI_RECOGNIZEDSPELL, false, false); - script->set_constant("SI_STASIS", SI_STASIS, false, false); - script->set_constant("SI_WUGRIDER", SI_WUGRIDER, false, false); - script->set_constant("SI_WUGDASH", SI_WUGDASH, false, false); - script->set_constant("SI_WUGBITE", SI_WUGBITE, false, false); - script->set_constant("SI_CAMOUFLAGE", SI_CAMOUFLAGE, false, false); - script->set_constant("SI_ACCELERATION", SI_ACCELERATION, false, false); - script->set_constant("SI_HOVERING", SI_HOVERING, false, false); - script->set_constant("SI_SPHERE_1", SI_SPHERE_1, false, false); - script->set_constant("SI_SPHERE_2", SI_SPHERE_2, false, false); - script->set_constant("SI_SPHERE_3", SI_SPHERE_3, false, false); - script->set_constant("SI_SPHERE_4", SI_SPHERE_4, false, false); - script->set_constant("SI_SPHERE_5", SI_SPHERE_5, false, false); - script->set_constant("SI_MVPCARD_TAOGUNKA", SI_MVPCARD_TAOGUNKA, false, false); - script->set_constant("SI_MVPCARD_MISTRESS", SI_MVPCARD_MISTRESS, false, false); - script->set_constant("SI_MVPCARD_ORCHERO", SI_MVPCARD_ORCHERO, false, false); - script->set_constant("SI_MVPCARD_ORCLORD", SI_MVPCARD_ORCLORD, false, false); - script->set_constant("SI_OVERHEAT_LIMITPOINT", SI_OVERHEAT_LIMITPOINT, false, false); - script->set_constant("SI_OVERHEAT", SI_OVERHEAT, false, false); - script->set_constant("SI_SHAPESHIFT", SI_SHAPESHIFT, false, false); - script->set_constant("SI_INFRAREDSCAN", SI_INFRAREDSCAN, false, false); - script->set_constant("SI_MAGNETICFIELD", SI_MAGNETICFIELD, false, false); - script->set_constant("SI_NEUTRALBARRIER", SI_NEUTRALBARRIER, false, false); - script->set_constant("SI_NEUTRALBARRIER_MASTER", SI_NEUTRALBARRIER_MASTER, false, false); - script->set_constant("SI_STEALTHFIELD", SI_STEALTHFIELD, false, false); - script->set_constant("SI_STEALTHFIELD_MASTER", SI_STEALTHFIELD_MASTER, false, false); - script->set_constant("SI_MANU_ATK", SI_MANU_ATK, false, false); - script->set_constant("SI_MANU_DEF", SI_MANU_DEF, false, false); - script->set_constant("SI_SPL_ATK", SI_SPL_ATK, false, false); - script->set_constant("SI_SPL_DEF", SI_SPL_DEF, false, false); - script->set_constant("SI_REPRODUCE", SI_REPRODUCE, false, false); - script->set_constant("SI_MANU_MATK", SI_MANU_MATK, false, false); - script->set_constant("SI_SPL_MATK", SI_SPL_MATK, false, false); - script->set_constant("SI_STR_SCROLL", SI_STR_SCROLL, false, false); - script->set_constant("SI_INT_SCROLL", SI_INT_SCROLL, false, false); - script->set_constant("SI_LG_REFLECTDAMAGE", SI_LG_REFLECTDAMAGE, false, false); - script->set_constant("SI_FORCEOFVANGUARD", SI_FORCEOFVANGUARD, false, false); - script->set_constant("SI_BUCHEDENOEL", SI_BUCHEDENOEL, false, false); - script->set_constant("SI_AUTOSHADOWSPELL", SI_AUTOSHADOWSPELL, false, false); - script->set_constant("SI_SHADOWFORM", SI_SHADOWFORM, false, false); - script->set_constant("SI_RAID", SI_RAID, false, false); - script->set_constant("SI_SHIELDSPELL_DEF", SI_SHIELDSPELL_DEF, false, false); - script->set_constant("SI_SHIELDSPELL_MDEF", SI_SHIELDSPELL_MDEF, false, false); - script->set_constant("SI_SHIELDSPELL_REF", SI_SHIELDSPELL_REF, false, false); - script->set_constant("SI_BODYPAINT", SI_BODYPAINT, false, false); - - script->set_constant("SI_EXEEDBREAK", SI_EXEEDBREAK, false, false); - script->set_constant("SI_ADORAMUS", SI_ADORAMUS, false, false); - script->set_constant("SI_PRESTIGE", SI_PRESTIGE, false, false); - script->set_constant("SI_INVISIBILITY", SI_INVISIBILITY, false, false); - script->set_constant("SI_DEADLYINFECT", SI_DEADLYINFECT, false, false); - script->set_constant("SI_BANDING", SI_BANDING, false, false); - script->set_constant("SI_EARTHDRIVE", SI_EARTHDRIVE, false, false); - script->set_constant("SI_INSPIRATION", SI_INSPIRATION, false, false); - script->set_constant("SI_ENERVATION", SI_ENERVATION, false, false); - script->set_constant("SI_GROOMY", SI_GROOMY, false, false); - script->set_constant("SI_RAISINGDRAGON", SI_RAISINGDRAGON, false, false); - script->set_constant("SI_IGNORANCE", SI_IGNORANCE, false, false); - script->set_constant("SI_LAZINESS", SI_LAZINESS, false, false); - script->set_constant("SI_LIGHTNINGWALK", SI_LIGHTNINGWALK, false, false); - script->set_constant("SI_ACARAJE", SI_ACARAJE, false, false); - script->set_constant("SI_UNLUCKY", SI_UNLUCKY, false, false); - script->set_constant("SI_CURSEDCIRCLE_ATKER", SI_CURSEDCIRCLE_ATKER, false, false); - script->set_constant("SI_CURSEDCIRCLE_TARGET", SI_CURSEDCIRCLE_TARGET, false, false); - script->set_constant("SI_WEAKNESS", SI_WEAKNESS, false, false); - script->set_constant("SI_CRESCENTELBOW", SI_CRESCENTELBOW, false, false); - script->set_constant("SI_NOEQUIPACCESSARY", SI_NOEQUIPACCESSARY, false, false); - script->set_constant("SI_STRIPACCESSARY", SI_STRIPACCESSARY, false, false); - script->set_constant("SI_MANHOLE", SI_MANHOLE, false, false); - script->set_constant("SI_POPECOOKIE", SI_POPECOOKIE, false, false); - script->set_constant("SI_FALLENEMPIRE", SI_FALLENEMPIRE, false, false); - script->set_constant("SI_GENTLETOUCH_ENERGYGAIN", SI_GENTLETOUCH_ENERGYGAIN, false, false); - script->set_constant("SI_GENTLETOUCH_CHANGE", SI_GENTLETOUCH_CHANGE, false, false); - script->set_constant("SI_GENTLETOUCH_REVITALIZE", SI_GENTLETOUCH_REVITALIZE, false, false); - script->set_constant("SI_BLOODYLUST", SI_BLOODYLUST, false, false); - script->set_constant("SI_SWINGDANCE", SI_SWINGDANCE, false, false); - script->set_constant("SI_SYMPHONYOFLOVERS", SI_SYMPHONYOFLOVERS, false, false); - script->set_constant("SI_PROPERTYWALK", SI_PROPERTYWALK, false, false); - script->set_constant("SI_SPELLFIST", SI_SPELLFIST, false, false); - script->set_constant("SI_NETHERWORLD", SI_NETHERWORLD, false, false); - script->set_constant("SI_SIREN", SI_SIREN, false, false); - script->set_constant("SI_DEEPSLEEP", SI_DEEPSLEEP, false, false); - script->set_constant("SI_SIRCLEOFNATURE", SI_SIRCLEOFNATURE, false, false); - script->set_constant("SI_COLD", SI_COLD, false, false); - script->set_constant("SI_GLOOMYDAY", SI_GLOOMYDAY, false, false); - script->set_constant("SI_SONG_OF_MANA", SI_SONG_OF_MANA, false, false); - script->set_constant("SI_CLOUDKILL", SI_CLOUDKILL, false, false); - script->set_constant("SI_DANCEWITHWUG", SI_DANCEWITHWUG, false, false); - script->set_constant("SI_RUSHWINDMILL", SI_RUSHWINDMILL, false, false); - script->set_constant("SI_ECHOSONG", SI_ECHOSONG, false, false); - script->set_constant("SI_HARMONIZE", SI_HARMONIZE, false, false); - script->set_constant("SI_STRIKING", SI_STRIKING, false, false); - //script->set_constant("SI_WARMER", SI_WARMER, false, false); - script->set_constant("SI_MOONLITSERENADE", SI_MOONLITSERENADE, false, false); - script->set_constant("SI_SATURDAYNIGHTFEVER", SI_SATURDAYNIGHTFEVER, false, false); - script->set_constant("SI_SITDOWN_FORCE", SI_SITDOWN_FORCE, false, false); - - script->set_constant("SI_ANALYZE", SI_ANALYZE, false, false); - script->set_constant("SI_LERADSDEW", SI_LERADSDEW, false, false); - script->set_constant("SI_MELODYOFSINK", SI_MELODYOFSINK, false, false); - script->set_constant("SI_WARCRYOFBEYOND", SI_WARCRYOFBEYOND, false, false); - script->set_constant("SI_UNLIMITEDHUMMINGVOICE", SI_UNLIMITEDHUMMINGVOICE, false, false); - script->set_constant("SI_SPELLBOOK1", SI_SPELLBOOK1, false, false); - script->set_constant("SI_SPELLBOOK2", SI_SPELLBOOK2, false, false); - script->set_constant("SI_SPELLBOOK3", SI_SPELLBOOK3, false, false); - script->set_constant("SI_FREEZE_SP", SI_FREEZE_SP, false, false); - script->set_constant("SI_GN_TRAINING_SWORD", SI_GN_TRAINING_SWORD, false, false); - script->set_constant("SI_GN_REMODELING_CART", SI_GN_REMODELING_CART, false, false); - script->set_constant("SI_CARTSBOOST", SI_CARTSBOOST, false, false); - script->set_constant("SI_FIXEDCASTINGTM_REDUCE", SI_FIXEDCASTINGTM_REDUCE, false, false); - script->set_constant("SI_THORNTRAP", SI_THORNTRAP, false, false); - script->set_constant("SI_BLOODSUCKER", SI_BLOODSUCKER, false, false); - script->set_constant("SI_SPORE_EXPLOSION", SI_SPORE_EXPLOSION, false, false); - script->set_constant("SI_DEMONIC_FIRE", SI_DEMONIC_FIRE, false, false); - script->set_constant("SI_FIRE_EXPANSION_SMOKE_POWDER", SI_FIRE_EXPANSION_SMOKE_POWDER, false, false); - script->set_constant("SI_FIRE_EXPANSION_TEAR_GAS", SI_FIRE_EXPANSION_TEAR_GAS, false, false); - script->set_constant("SI_BLOCKING_PLAY", SI_BLOCKING_PLAY, false, false); - script->set_constant("SI_MANDRAGORA", SI_MANDRAGORA, false, false); - script->set_constant("SI_ACTIVATE", SI_ACTIVATE, false, false); - script->set_constant("SI_SECRAMENT", SI_SECRAMENT, false, false); - script->set_constant("SI_ASSUMPTIO2", SI_ASSUMPTIO2, false, false); - script->set_constant("SI_TK_SEVENWIND", SI_TK_SEVENWIND, false, false); - script->set_constant("SI_LIMIT_ODINS_RECALL", SI_LIMIT_ODINS_RECALL, false, false); - script->set_constant("SI_STOMACHACHE", SI_STOMACHACHE, false, false); - script->set_constant("SI_MYSTERIOUS_POWDER", SI_MYSTERIOUS_POWDER, false, false); - script->set_constant("SI_MELON_BOMB", SI_MELON_BOMB, false, false); - script->set_constant("SI_BANANA_BOMB_SITDOWN_POSTDELAY", SI_BANANA_BOMB_SITDOWN_POSTDELAY, false, false); - script->set_constant("SI_PROMOTE_HEALTH_RESERCH", SI_PROMOTE_HEALTH_RESERCH, false, false); - script->set_constant("SI_ENERGY_DRINK_RESERCH", SI_ENERGY_DRINK_RESERCH, false, false); - script->set_constant("SI_EXTRACT_WHITE_POTION_Z", SI_EXTRACT_WHITE_POTION_Z, false, false); - script->set_constant("SI_VITATA_500", SI_VITATA_500, false, false); - script->set_constant("SI_EXTRACT_SALAMINE_JUICE", SI_EXTRACT_SALAMINE_JUICE, false, false); - script->set_constant("SI_BOOST500", SI_BOOST500, false, false); - script->set_constant("SI_FULL_SWING_K", SI_FULL_SWING_K, false, false); - script->set_constant("SI_MANA_PLUS", SI_MANA_PLUS, false, false); - script->set_constant("SI_MUSTLE_M", SI_MUSTLE_M, false, false); - script->set_constant("SI_LIFE_FORCE_F", SI_LIFE_FORCE_F, false, false); - script->set_constant("SI_VACUUM_EXTREME", SI_VACUUM_EXTREME, false, false); - script->set_constant("SI_SAVAGE_STEAK", SI_SAVAGE_STEAK, false, false); - script->set_constant("SI_COCKTAIL_WARG_BLOOD", SI_COCKTAIL_WARG_BLOOD, false, false); - script->set_constant("SI_MINOR_BBQ", SI_MINOR_BBQ, false, false); - script->set_constant("SI_SIROMA_ICE_TEA", SI_SIROMA_ICE_TEA, false, false); - script->set_constant("SI_DROCERA_HERB_STEAMED", SI_DROCERA_HERB_STEAMED, false, false); - script->set_constant("SI_PUTTI_TAILS_NOODLES", SI_PUTTI_TAILS_NOODLES, false, false); - script->set_constant("SI_BANANA_BOMB", SI_BANANA_BOMB, false, false); - script->set_constant("SI_SUMMON_AGNI", SI_SUMMON_AGNI, false, false); - script->set_constant("SI_SPELLBOOK4", SI_SPELLBOOK4, false, false); - - script->set_constant("SI_SPELLBOOK5", SI_SPELLBOOK5, false, false); - script->set_constant("SI_SPELLBOOK6", SI_SPELLBOOK6, false, false); - script->set_constant("SI_SPELLBOOK7", SI_SPELLBOOK7, false, false); - script->set_constant("SI_ELEMENTAL_AGGRESSIVE", SI_ELEMENTAL_AGGRESSIVE, false, false); - script->set_constant("SI_RETURN_TO_ELDICASTES", SI_RETURN_TO_ELDICASTES, false, false); - script->set_constant("SI_BANDING_DEFENCE", SI_BANDING_DEFENCE, false, false); - script->set_constant("SI_SKELSCROLL", SI_SKELSCROLL, false, false); - script->set_constant("SI_DISTRUCTIONSCROLL", SI_DISTRUCTIONSCROLL, false, false); - script->set_constant("SI_ROYALSCROLL", SI_ROYALSCROLL, false, false); - script->set_constant("SI_IMMUNITYSCROLL", SI_IMMUNITYSCROLL, false, false); - script->set_constant("SI_MYSTICSCROLL", SI_MYSTICSCROLL, false, false); - script->set_constant("SI_BATTLESCROLL", SI_BATTLESCROLL, false, false); - script->set_constant("SI_ARMORSCROLL", SI_ARMORSCROLL, false, false); - script->set_constant("SI_FREYJASCROLL", SI_FREYJASCROLL, false, false); - script->set_constant("SI_SOULSCROLL", SI_SOULSCROLL, false, false); - script->set_constant("SI_CIRCLE_OF_FIRE", SI_CIRCLE_OF_FIRE, false, false); - script->set_constant("SI_CIRCLE_OF_FIRE_OPTION", SI_CIRCLE_OF_FIRE_OPTION, false, false); - script->set_constant("SI_FIRE_CLOAK", SI_FIRE_CLOAK, false, false); - script->set_constant("SI_FIRE_CLOAK_OPTION", SI_FIRE_CLOAK_OPTION, false, false); - script->set_constant("SI_WATER_SCREEN", SI_WATER_SCREEN, false, false); - script->set_constant("SI_WATER_SCREEN_OPTION", SI_WATER_SCREEN_OPTION, false, false); - script->set_constant("SI_WATER_DROP", SI_WATER_DROP, false, false); - script->set_constant("SI_WATER_DROP_OPTION", SI_WATER_DROP_OPTION, false, false); - script->set_constant("SI_WIND_STEP", SI_WIND_STEP, false, false); - script->set_constant("SI_WIND_STEP_OPTION", SI_WIND_STEP_OPTION, false, false); - script->set_constant("SI_WIND_CURTAIN", SI_WIND_CURTAIN, false, false); - script->set_constant("SI_WIND_CURTAIN_OPTION", SI_WIND_CURTAIN_OPTION, false, false); - script->set_constant("SI_WATER_BARRIER", SI_WATER_BARRIER, false, false); - script->set_constant("SI_ZEPHYR", SI_ZEPHYR, false, false); - script->set_constant("SI_SOLID_SKIN", SI_SOLID_SKIN, false, false); - script->set_constant("SI_SOLID_SKIN_OPTION", SI_SOLID_SKIN_OPTION, false, false); - script->set_constant("SI_STONE_SHIELD", SI_STONE_SHIELD, false, false); - script->set_constant("SI_STONE_SHIELD_OPTION", SI_STONE_SHIELD_OPTION, false, false); - script->set_constant("SI_POWER_OF_GAIA", SI_POWER_OF_GAIA, false, false); - //script->set_constant("SI_EL_WAIT", SI_EL_WAIT, false, false); - //script->set_constant("SI_EL_PASSIVE", SI_EL_PASSIVE, false, false); - //script->set_constant("SI_EL_DEFENSIVE", SI_EL_DEFENSIVE, false, false); - //script->set_constant("SI_EL_OFFENSIVE", SI_EL_OFFENSIVE, false, false); - //script->set_constant("SI_EL_COST", SI_EL_COST, false, false); - script->set_constant("SI_PYROTECHNIC", SI_PYROTECHNIC, false, false); - script->set_constant("SI_PYROTECHNIC_OPTION", SI_PYROTECHNIC_OPTION, false, false); - script->set_constant("SI_HEATER", SI_HEATER, false, false); - script->set_constant("SI_HEATER_OPTION", SI_HEATER_OPTION, false, false); - script->set_constant("SI_TROPIC", SI_TROPIC, false, false); - script->set_constant("SI_TROPIC_OPTION", SI_TROPIC_OPTION, false, false); - script->set_constant("SI_AQUAPLAY", SI_AQUAPLAY, false, false); - script->set_constant("SI_AQUAPLAY_OPTION", SI_AQUAPLAY_OPTION, false, false); - script->set_constant("SI_COOLER", SI_COOLER, false, false); - script->set_constant("SI_COOLER_OPTION", SI_COOLER_OPTION, false, false); - script->set_constant("SI_CHILLY_AIR", SI_CHILLY_AIR, false, false); - - script->set_constant("SI_CHILLY_AIR_OPTION", SI_CHILLY_AIR_OPTION, false, false); - script->set_constant("SI_GUST", SI_GUST, false, false); - script->set_constant("SI_GUST_OPTION", SI_GUST_OPTION, false, false); - script->set_constant("SI_BLAST", SI_BLAST, false, false); - script->set_constant("SI_BLAST_OPTION", SI_BLAST_OPTION, false, false); - script->set_constant("SI_WILD_STORM", SI_WILD_STORM, false, false); - script->set_constant("SI_WILD_STORM_OPTION", SI_WILD_STORM_OPTION, false, false); - script->set_constant("SI_PETROLOGY", SI_PETROLOGY, false, false); - script->set_constant("SI_PETROLOGY_OPTION", SI_PETROLOGY_OPTION, false, false); - script->set_constant("SI_CURSED_SOIL", SI_CURSED_SOIL, false, false); - script->set_constant("SI_CURSED_SOIL_OPTION", SI_CURSED_SOIL_OPTION, false, false); - script->set_constant("SI_UPHEAVAL", SI_UPHEAVAL, false, false); - script->set_constant("SI_UPHEAVAL_OPTION", SI_UPHEAVAL_OPTION, false, false); - script->set_constant("SI_TIDAL_WEAPON", SI_TIDAL_WEAPON, false, false); - script->set_constant("SI_TIDAL_WEAPON_OPTION", SI_TIDAL_WEAPON_OPTION, false, false); - script->set_constant("SI_ROCK_CRUSHER", SI_ROCK_CRUSHER, false, false); - script->set_constant("SI_ROCK_CRUSHER_ATK", SI_ROCK_CRUSHER_ATK, false, false); - script->set_constant("SI_FIRE_INSIGNIA", SI_FIRE_INSIGNIA, false, false); - script->set_constant("SI_WATER_INSIGNIA", SI_WATER_INSIGNIA, false, false); - script->set_constant("SI_WIND_INSIGNIA", SI_WIND_INSIGNIA, false, false); - script->set_constant("SI_EARTH_INSIGNIA", SI_EARTH_INSIGNIA, false, false); - script->set_constant("SI_EQUIPED_FLOOR", SI_EQUIPED_FLOOR, false, false); - script->set_constant("SI_GUARDIAN_RECALL", SI_GUARDIAN_RECALL, false, false); - script->set_constant("SI_MORA_BUFF", SI_MORA_BUFF, false, false); - script->set_constant("SI_REUSE_LIMIT_G", SI_REUSE_LIMIT_G, false, false); - script->set_constant("SI_REUSE_LIMIT_H", SI_REUSE_LIMIT_H, false, false); - script->set_constant("SI_NEEDLE_OF_PARALYZE", SI_NEEDLE_OF_PARALYZE, false, false); - script->set_constant("SI_PAIN_KILLER", SI_PAIN_KILLER, false, false); - script->set_constant("SI_G_LIFEPOTION", SI_G_LIFEPOTION, false, false); - script->set_constant("SI_VITALIZE_POTION", SI_VITALIZE_POTION, false, false); - script->set_constant("SI_LIGHT_OF_REGENE", SI_LIGHT_OF_REGENE, false, false); - script->set_constant("SI_OVERED_BOOST", SI_OVERED_BOOST, false, false); - script->set_constant("SI_SILENT_BREEZE", SI_SILENT_BREEZE, false, false); - script->set_constant("SI_ODINS_POWER", SI_ODINS_POWER, false, false); - script->set_constant("SI_STYLE_CHANGE", SI_STYLE_CHANGE, false, false); - script->set_constant("SI_SONIC_CLAW_POSTDELAY", SI_SONIC_CLAW_POSTDELAY, false, false); - // 586 - // 587 - // 588 - // 589 - // 590 - // 591 - // 592 - // 593 - // 594 - // 595 - script->set_constant("SI_SILVERVEIN_RUSH_POSTDELAY", SI_SILVERVEIN_RUSH_POSTDELAY, false, false); - script->set_constant("SI_MIDNIGHT_FRENZY_POSTDELAY", SI_MIDNIGHT_FRENZY_POSTDELAY, false, false); - script->set_constant("SI_GOLDENE_FERSE", SI_GOLDENE_FERSE, false, false); - script->set_constant("SI_ANGRIFFS_MODUS", SI_ANGRIFFS_MODUS, false, false); - - script->set_constant("SI_TINDER_BREAKER", SI_TINDER_BREAKER, false, false); - script->set_constant("SI_TINDER_BREAKER_POSTDELAY", SI_TINDER_BREAKER_POSTDELAY, false, false); - script->set_constant("SI_CBC", SI_CBC, false, false); - script->set_constant("SI_CBC_POSTDELAY", SI_CBC_POSTDELAY, false, false); - script->set_constant("SI_EQC", SI_EQC, false, false); - script->set_constant("SI_MAGMA_FLOW", SI_MAGMA_FLOW, false, false); - script->set_constant("SI_GRANITIC_ARMOR", SI_GRANITIC_ARMOR, false, false); - script->set_constant("SI_PYROCLASTIC", SI_PYROCLASTIC, false, false); - script->set_constant("SI_VOLCANIC_ASH", SI_VOLCANIC_ASH, false, false); - script->set_constant("SI_SPIRITS_SAVEINFO1", SI_SPIRITS_SAVEINFO1, false, false); - script->set_constant("SI_SPIRITS_SAVEINFO2", SI_SPIRITS_SAVEINFO2, false, false); - script->set_constant("SI_MAGIC_CANDY", SI_MAGIC_CANDY, false, false); - script->set_constant("SI_SEARCH_STORE_INFO", SI_SEARCH_STORE_INFO, false, false); - script->set_constant("SI_ALL_RIDING", SI_ALL_RIDING, false, false); - script->set_constant("SI_ALL_RIDING_REUSE_LIMIT", SI_ALL_RIDING_REUSE_LIMIT, false, false); - script->set_constant("SI_MACRO", SI_MACRO, false, false); - script->set_constant("SI_MACRO_POSTDELAY", SI_MACRO_POSTDELAY, false, false); - script->set_constant("SI_BEER_BOTTLE_CAP", SI_BEER_BOTTLE_CAP, false, false); - script->set_constant("SI_OVERLAPEXPUP", SI_OVERLAPEXPUP, false, false); - script->set_constant("SI_PC_IZ_DUN05", SI_PC_IZ_DUN05, false, false); - script->set_constant("SI_CRUSHSTRIKE", SI_CRUSHSTRIKE, false, false); - script->set_constant("SI_MONSTER_TRANSFORM", SI_MONSTER_TRANSFORM, false, false); - script->set_constant("SI_SIT", SI_SIT, false, false); - script->set_constant("SI_ONAIR", SI_ONAIR, false, false); - script->set_constant("SI_MTF_ASPD", SI_MTF_ASPD, false, false); - script->set_constant("SI_MTF_RANGEATK", SI_MTF_RANGEATK, false, false); - script->set_constant("SI_MTF_MATK", SI_MTF_MATK, false, false); - script->set_constant("SI_MTF_MLEATKED", SI_MTF_MLEATKED, false, false); - script->set_constant("SI_MTF_CRIDAMAGE", SI_MTF_CRIDAMAGE, false, false); - script->set_constant("SI_REUSE_LIMIT_MTF", SI_REUSE_LIMIT_MTF, false, false); - script->set_constant("SI_MACRO_PERMIT", SI_MACRO_PERMIT, false, false); - script->set_constant("SI_MACRO_PLAY", SI_MACRO_PLAY, false, false); - script->set_constant("SI_SKF_CAST", SI_SKF_CAST, false, false); - script->set_constant("SI_SKF_ASPD", SI_SKF_ASPD, false, false); - script->set_constant("SI_SKF_ATK", SI_SKF_ATK, false, false); - script->set_constant("SI_SKF_MATK", SI_SKF_MATK, false, false); - script->set_constant("SI_REWARD_PLUSONLYJOBEXP", SI_REWARD_PLUSONLYJOBEXP, false, false); - script->set_constant("SI_HANDICAPSTATE_NORECOVER", SI_HANDICAPSTATE_NORECOVER, false, false); - script->set_constant("SI_SET_NUM_DEF", SI_SET_NUM_DEF, false, false); - script->set_constant("SI_SET_NUM_MDEF", SI_SET_NUM_MDEF, false, false); - script->set_constant("SI_SET_PER_DEF", SI_SET_PER_DEF, false, false); - script->set_constant("SI_SET_PER_MDEF", SI_SET_PER_MDEF, false, false); - script->set_constant("SI_PARTYBOOKING_SEARCH_DEALY", SI_PARTYBOOKING_SEARCH_DEALY, false, false); - script->set_constant("SI_PARTYBOOKING_REGISTER_DEALY", SI_PARTYBOOKING_REGISTER_DEALY, false, false); - script->set_constant("SI_PERIOD_TIME_CHECK_DETECT_SKILL", SI_PERIOD_TIME_CHECK_DETECT_SKILL, false, false); - script->set_constant("SI_KO_JYUMONJIKIRI", SI_KO_JYUMONJIKIRI, false, false); - script->set_constant("SI_MEIKYOUSISUI", SI_MEIKYOUSISUI, false, false); - script->set_constant("SI_ATTHASTE_CASH", SI_ATTHASTE_CASH, false, false); - script->set_constant("SI_EQUIPPED_DIVINE_ARMOR", SI_EQUIPPED_DIVINE_ARMOR, false, false); - script->set_constant("SI_EQUIPPED_HOLY_ARMOR", SI_EQUIPPED_HOLY_ARMOR, false, false); - - script->set_constant("SI_2011RWC", SI_2011RWC, false, false); - script->set_constant("SI_KYOUGAKU", SI_KYOUGAKU, false, false); - script->set_constant("SI_IZAYOI", SI_IZAYOI, false, false); - script->set_constant("SI_ZENKAI", SI_ZENKAI, false, false); - script->set_constant("SI_KG_KAGEHUMI", SI_KG_KAGEHUMI, false, false); - script->set_constant("SI_KYOMU", SI_KYOMU, false, false); - script->set_constant("SI_KAGEMUSYA", SI_KAGEMUSYA, false, false); - script->set_constant("SI_ZANGETSU", SI_ZANGETSU, false, false); - script->set_constant("SI_PHI_DEMON", SI_PHI_DEMON, false, false); - script->set_constant("SI_GENSOU", SI_GENSOU, false, false); - script->set_constant("SI_AKAITSUKI", SI_AKAITSUKI, false, false); - script->set_constant("SI_TETANY", SI_TETANY, false, false); - script->set_constant("SI_GM_BATTLE", SI_GM_BATTLE, false, false); - script->set_constant("SI_GM_BATTLE2", SI_GM_BATTLE2, false, false); - script->set_constant("SI_2011RWC_SCROLL", SI_2011RWC_SCROLL, false, false); - script->set_constant("SI_ACTIVE_MONSTER_TRANSFORM", SI_ACTIVE_MONSTER_TRANSFORM, false, false); - script->set_constant("SI_MYSTICPOWDER", SI_MYSTICPOWDER, false, false); - script->set_constant("SI_ECLAGE_RECALL", SI_ECLAGE_RECALL, false, false); - script->set_constant("SI_ENTRY_QUEUE_APPLY_DELAY", SI_ENTRY_QUEUE_APPLY_DELAY, false, false); - script->set_constant("SI_REUSE_LIMIT_ECL", SI_REUSE_LIMIT_ECL, false, false); - script->set_constant("SI_M_LIFEPOTION", SI_M_LIFEPOTION, false, false); - script->set_constant("SI_ENTRY_QUEUE_NOTIFY_ADMISSION_TIME_OUT", SI_ENTRY_QUEUE_NOTIFY_ADMISSION_TIME_OUT, false, false); - script->set_constant("SI_UNKNOWN_NAME", SI_UNKNOWN_NAME, false, false); - script->set_constant("SI_ON_PUSH_CART", SI_ON_PUSH_CART, false, false); - script->set_constant("SI_HAT_EFFECT", SI_HAT_EFFECT, false, false); - script->set_constant("SI_FLOWER_LEAF", SI_FLOWER_LEAF, false, false); - script->set_constant("SI_RAY_OF_PROTECTION", SI_RAY_OF_PROTECTION, false, false); - script->set_constant("SI_GLASTHEIM_ATK", SI_GLASTHEIM_ATK, false, false); - script->set_constant("SI_GLASTHEIM_DEF", SI_GLASTHEIM_DEF, false, false); - script->set_constant("SI_GLASTHEIM_HEAL", SI_GLASTHEIM_HEAL, false, false); - script->set_constant("SI_GLASTHEIM_HIDDEN", SI_GLASTHEIM_HIDDEN, false, false); - script->set_constant("SI_GLASTHEIM_STATE", SI_GLASTHEIM_STATE, false, false); - script->set_constant("SI_GLASTHEIM_ITEMDEF", SI_GLASTHEIM_ITEMDEF, false, false); - script->set_constant("SI_GLASTHEIM_HPSP", SI_GLASTHEIM_HPSP, false, false); - script->set_constant("SI_HOMUN_SKILL_POSTDELAY", SI_HOMUN_SKILL_POSTDELAY, false, false); - script->set_constant("SI_ALMIGHTY", SI_ALMIGHTY, false, false); - script->set_constant("SI_GVG_GIANT", SI_GVG_GIANT, false, false); - script->set_constant("SI_GVG_GOLEM", SI_GVG_GOLEM, false, false); - script->set_constant("SI_GVG_STUN", SI_GVG_STUN, false, false); - script->set_constant("SI_GVG_STONE", SI_GVG_STONE, false, false); - script->set_constant("SI_GVG_FREEZ", SI_GVG_FREEZ, false, false); - script->set_constant("SI_GVG_SLEEP", SI_GVG_SLEEP, false, false); - script->set_constant("SI_GVG_CURSE", SI_GVG_CURSE, false, false); - script->set_constant("SI_GVG_SILENCE", SI_GVG_SILENCE, false, false); - script->set_constant("SI_GVG_BLIND", SI_GVG_BLIND, false, false); - script->set_constant("SI_CLIENT_ONLY_EQUIP_ARROW", SI_CLIENT_ONLY_EQUIP_ARROW, false, false); - script->set_constant("SI_CLAN_INFO", SI_CLAN_INFO, false, false); - script->set_constant("SI_JP_EVENT01", SI_JP_EVENT01, false, false); - script->set_constant("SI_JP_EVENT02", SI_JP_EVENT02, false, false); - script->set_constant("SI_JP_EVENT03", SI_JP_EVENT03, false, false); - - script->set_constant("SI_JP_EVENT04", SI_JP_EVENT04, false, false); - script->set_constant("SI_TELEPORT_FIXEDCASTINGDELAY", SI_TELEPORT_FIXEDCASTINGDELAY, false, false); - script->set_constant("SI_GEFFEN_MAGIC1", SI_GEFFEN_MAGIC1, false, false); - script->set_constant("SI_GEFFEN_MAGIC2", SI_GEFFEN_MAGIC2, false, false); - script->set_constant("SI_GEFFEN_MAGIC3", SI_GEFFEN_MAGIC3, false, false); - script->set_constant("SI_QUEST_BUFF1", SI_QUEST_BUFF1, false, false); - script->set_constant("SI_QUEST_BUFF2", SI_QUEST_BUFF2, false, false); - script->set_constant("SI_QUEST_BUFF3", SI_QUEST_BUFF3, false, false); - script->set_constant("SI_REUSE_LIMIT_RECALL", SI_REUSE_LIMIT_RECALL, false, false); - script->set_constant("SI_SAVEPOSITION", SI_SAVEPOSITION, false, false); - script->set_constant("SI_HANDICAPSTATE_ICEEXPLO", SI_HANDICAPSTATE_ICEEXPLO, false, false); - script->set_constant("SI_FENRIR_CARD", SI_FENRIR_CARD, false, false); - script->set_constant("SI_REUSE_LIMIT_ASPD_POTION", SI_REUSE_LIMIT_ASPD_POTION, false, false); - script->set_constant("SI_MAXPAIN", SI_MAXPAIN, false, false); - script->set_constant("SI_PC_STOP", SI_PC_STOP, false, false); - script->set_constant("SI_FRIGG_SONG", SI_FRIGG_SONG, false, false); - script->set_constant("SI_OFFERTORIUM", SI_OFFERTORIUM, false, false); - script->set_constant("SI_TELEKINESIS_INTENSE", SI_TELEKINESIS_INTENSE, false, false); - script->set_constant("SI_MOONSTAR", SI_MOONSTAR, false, false); - script->set_constant("SI_STRANGELIGHTS", SI_STRANGELIGHTS, false, false); - script->set_constant("SI_FULL_THROTTLE", SI_FULL_THROTTLE, false, false); - script->set_constant("SI_REBOUND", SI_REBOUND, false, false); - script->set_constant("SI_UNLIMIT", SI_UNLIMIT, false, false); - script->set_constant("SI_KINGS_GRACE", SI_KINGS_GRACE, false, false); - script->set_constant("SI_ITEM_ATKMAX", SI_ITEM_ATKMAX, false, false); - script->set_constant("SI_ITEM_ATKMIN", SI_ITEM_ATKMIN, false, false); - script->set_constant("SI_ITEM_MATKMAX", SI_ITEM_MATKMAX, false, false); - script->set_constant("SI_ITEM_MATKMIN", SI_ITEM_MATKMIN, false, false); - script->set_constant("SI_SUPER_STAR", SI_SUPER_STAR, false, false); - script->set_constant("SI_HIGH_RANKER", SI_HIGH_RANKER, false, false); - script->set_constant("SI_DARKCROW", SI_DARKCROW, false, false); - script->set_constant("SI_2013_VALENTINE1", SI_2013_VALENTINE1, false, false); - script->set_constant("SI_2013_VALENTINE2", SI_2013_VALENTINE2, false, false); - script->set_constant("SI_2013_VALENTINE3", SI_2013_VALENTINE3, false, false); - script->set_constant("SI_ILLUSIONDOPING", SI_ILLUSIONDOPING, false, false); - //script->set_constant("SI_WIDEWEB", SI_WIDEWEB, false, false); - script->set_constant("SI_CHILL", SI_CHILL, false, false); - script->set_constant("SI_BURNT", SI_BURNT, false, false); - //script->set_constant("SI_PCCAFE_PLAY_TIME", SI_PCCAFE_PLAY_TIME, false, false); - //script->set_constant("SI_TWISTED_TIME", SI_TWISTED_TIME, false, false); - script->set_constant("SI_FLASHCOMBO", SI_FLASHCOMBO, false, false); - //script->set_constant("SI_JITTER_BUFF1", SI_JITTER_BUFF1, false, false); - //script->set_constant("SI_JITTER_BUFF2", SI_JITTER_BUFF2, false, false); - //script->set_constant("SI_JITTER_BUFF3", SI_JITTER_BUFF3, false, false); - //script->set_constant("SI_JITTER_BUFF4", SI_JITTER_BUFF4, false, false); - //script->set_constant("SI_JITTER_BUFF5", SI_JITTER_BUFF5, false, false); - //script->set_constant("SI_JITTER_BUFF6", SI_JITTER_BUFF6, false, false); - //script->set_constant("SI_JITTER_BUFF7", SI_JITTER_BUFF7, false, false); - //script->set_constant("SI_JITTER_BUFF8", SI_JITTER_BUFF8, false, false); - //script->set_constant("SI_JITTER_BUFF9", SI_JITTER_BUFF9, false, false); - - //script->set_constant("SI_JITTER_BUFF10", SI_JITTER_BUFF10, false, false); - script->set_constant("SI_CUP_OF_BOZA", SI_CUP_OF_BOZA, false, false); - script->set_constant("SI_B_TRAP", SI_B_TRAP, false, false); - script->set_constant("SI_E_CHAIN", SI_E_CHAIN, false, false); - script->set_constant("SI_E_QD_SHOT_READY", SI_E_QD_SHOT_READY, false, false); - script->set_constant("SI_C_MARKER", SI_C_MARKER, false, false); - script->set_constant("SI_H_MINE", SI_H_MINE, false, false); - script->set_constant("SI_H_MINE_SPLASH", SI_H_MINE_SPLASH, false, false); - script->set_constant("SI_P_ALTER", SI_P_ALTER, false, false); - script->set_constant("SI_HEAT_BARREL", SI_HEAT_BARREL, false, false); - script->set_constant("SI_ANTI_M_BLAST", SI_ANTI_M_BLAST, false, false); - script->set_constant("SI_SLUGSHOT", SI_SLUGSHOT, false, false); - script->set_constant("SI_SWORDCLAN", SI_SWORDCLAN, false, false); - script->set_constant("SI_ARCWANDCLAN", SI_ARCWANDCLAN, false, false); - script->set_constant("SI_GOLDENMACECLAN", SI_GOLDENMACECLAN, false, false); - script->set_constant("SI_CROSSBOWCLAN", SI_CROSSBOWCLAN, false, false); - script->set_constant("SI_PACKING_ENVELOPE1", SI_PACKING_ENVELOPE1, false, false); - script->set_constant("SI_PACKING_ENVELOPE2", SI_PACKING_ENVELOPE2, false, false); - script->set_constant("SI_PACKING_ENVELOPE3", SI_PACKING_ENVELOPE3, false, false); - script->set_constant("SI_PACKING_ENVELOPE4", SI_PACKING_ENVELOPE4, false, false); - script->set_constant("SI_PACKING_ENVELOPE5", SI_PACKING_ENVELOPE5, false, false); - script->set_constant("SI_PACKING_ENVELOPE6", SI_PACKING_ENVELOPE6, false, false); - script->set_constant("SI_PACKING_ENVELOPE7", SI_PACKING_ENVELOPE7, false, false); - script->set_constant("SI_PACKING_ENVELOPE8", SI_PACKING_ENVELOPE8, false, false); - script->set_constant("SI_PACKING_ENVELOPE9", SI_PACKING_ENVELOPE9, false, false); - script->set_constant("SI_PACKING_ENVELOPE10", SI_PACKING_ENVELOPE10, false, false); - script->set_constant("SI_GLASTHEIM_TRANS", SI_GLASTHEIM_TRANS, false, false); - //script->set_constant("SI_ZONGZI_POUCH_TRANS", SI_ZONGZI_POUCH_TRANS, false, false); - script->set_constant("SI_HEAT_BARREL_AFTER", SI_HEAT_BARREL_AFTER, false, false); - script->set_constant("SI_DECORATION_OF_MUSIC", SI_DECORATION_OF_MUSIC, false, false); - //script->set_constant("SI_OVERSEAEXPUP", SI_OVERSEAEXPUP, false, false); - //script->set_constant("SI_CLOWN_N_GYPSY_CARD", SI_CLOWN_N_GYPSY_CARD, false, false); - //script->set_constant("SI_OPEN_NPC_MARKET", SI_OPEN_NPC_MARKET, false, false); - //script->set_constant("SI_BEEF_RIB_STEW", SI_BEEF_RIB_STEW, false, false); - //script->set_constant("SI_PORK_RIB_STEW", SI_PORK_RIB_STEW, false, false); - //script->set_constant("SI_CHUSEOK_MONDAY", SI_CHUSEOK_MONDAY, false, false); - //script->set_constant("SI_CHUSEOK_TUESDAY", SI_CHUSEOK_TUESDAY, false, false); - //script->set_constant("SI_CHUSEOK_WEDNESDAY", SI_CHUSEOK_WEDNESDAY, false, false); - //script->set_constant("SI_CHUSEOK_THURSDAY", SI_CHUSEOK_THURSDAY, false, false); - //script->set_constant("SI_CHUSEOK_FRIDAY", SI_CHUSEOK_FRIDAY, false, false); - //script->set_constant("SI_CHUSEOK_WEEKEND", SI_CHUSEOK_WEEKEND, false, false); - //script->set_constant("SI_ALL_LIGHTGUARD", SI_ALL_LIGHTGUARD, false, false); - //script->set_constant("SI_ALL_LIGHTGUARD_COOL_TIME", SI_ALL_LIGHTGUARD_COOL_TIME, false, false); - script->set_constant("SI_MTF_MHP", SI_MTF_MHP, false, false); - script->set_constant("SI_MTF_MSP", SI_MTF_MSP, false, false); - script->set_constant("SI_MTF_PUMPKIN", SI_MTF_PUMPKIN, false, false); - script->set_constant("SI_MTF_HITFLEE", SI_MTF_HITFLEE, false, false); - //script->set_constant("SI_MTF_CRIDAMAGE2", SI_MTF_CRIDAMAGE2, false, false); - //script->set_constant("SI_MTF_SPDRAIN", SI_MTF_SPDRAIN, false, false); - //script->set_constant("SI_ACUO_MINT_GUM", SI_ACUO_MINT_GUM, false, false); - - //script->set_constant("SI_S_HEALPOTION", SI_S_HEALPOTION, false, false); - //script->set_constant("SI_REUSE_LIMIT_S_HEAL_POTION", SI_REUSE_LIMIT_S_HEAL_POTION, false, false); - //script->set_constant("SI_PLAYTIME_STATISTICS", SI_PLAYTIME_STATISTICS, false, false); - //script->set_constant("SI_GN_CHANGEMATERIAL_OPERATOR", SI_GN_CHANGEMATERIAL_OPERATOR, false, false); - //script->set_constant("SI_GN_MIX_COOKING_OPERATOR", SI_GN_MIX_COOKING_OPERATOR, false, false); - //script->set_constant("SI_GN_MAKEBOMB_OPERATOR", SI_GN_MAKEBOMB_OPERATOR, false, false); - //script->set_constant("SI_GN_S_PHARMACY_OPERATOR", SI_GN_S_PHARMACY_OPERATOR, false, false); - //script->set_constant("SI_SO_EL_ANALYSIS_DISASSEMBLY_OPERATOR", SI_SO_EL_ANALYSIS_DISASSEMBLY_OPERATOR, false, false); - //script->set_constant("SI_SO_EL_ANALYSIS_COMBINATION_OPERATOR", SI_SO_EL_ANALYSIS_COMBINATION_OPERATOR, false, false); - //script->set_constant("SI_NC_MAGICDECOY_OPERATOR", SI_NC_MAGICDECOY_OPERATOR, false, false); - //script->set_constant("SI_GUILD_STORAGE", SI_GUILD_STORAGE, false, false); - //script->set_constant("SI_GC_POISONINGWEAPON_OPERATOR", SI_GC_POISONINGWEAPON_OPERATOR, false, false); - //script->set_constant("SI_WS_WEAPONREFINE_OPERATOR", SI_WS_WEAPONREFINE_OPERATOR, false, false); - //script->set_constant("SI_BS_REPAIRWEAPON_OPERATOR", SI_BS_REPAIRWEAPON_OPERATOR, false, false); - //script->set_constant("SI_GET_MAILBOX", SI_GET_MAILBOX, false, false); - //script->set_constant("SI_JUMPINGCLAN", SI_JUMPINGCLAN, false, false); - //script->set_constant("SI_JP_OTP", SI_JP_OTP, false, false); - //script->set_constant("SI_HANDICAPTOLERANCE_LEVELGAP", SI_HANDICAPTOLERANCE_LEVELGAP, false, false); - //script->set_constant("SI_MTF_RANGEATK2", SI_MTF_RANGEATK2, false, false); - //script->set_constant("SI_MTF_ASPD2", SI_MTF_ASPD2, false, false); - //script->set_constant("SI_MTF_MATK2", SI_MTF_MATK2, false, false); - //script->set_constant("SI_SHOW_NPCHPBAR", SI_SHOW_NPCHPBAR, false, false); - script->set_constant("SI_FLOWERSMOKE", SI_FLOWERSMOKE, false, false); - script->set_constant("SI_FSTONE", SI_FSTONE, false, false); - //script->set_constant("SI_DAILYSENDMAILCNT", SI_DAILYSENDMAILCNT, false, false); - //script->set_constant("SI_QSCARABA", SI_QSCARABA, false, false); - script->set_constant("SI_LJOSALFAR", SI_LJOSALFAR, false, false); - //script->set_constant("SI_PAD_READER_KNIGHT", SI_PAD_READER_KNIGHT, false, false); - //script->set_constant("SI_PAD_READER_CRUSADER", SI_PAD_READER_CRUSADER, false, false); - //script->set_constant("SI_PAD_READER_BLACKSMITH", SI_PAD_READER_BLACKSMITH, false, false); - //script->set_constant("SI_PAD_READER_ALCHEMIST", SI_PAD_READER_ALCHEMIST, false, false); - //script->set_constant("SI_PAD_READER_ASSASSIN", SI_PAD_READER_ASSASSIN, false, false); - //script->set_constant("SI_PAD_READER_ROGUE", SI_PAD_READER_ROGUE, false, false); - //script->set_constant("SI_PAD_READER_WIZARD", SI_PAD_READER_WIZARD, false, false); - //script->set_constant("SI_PAD_READER_SAGE", SI_PAD_READER_SAGE, false, false); - //script->set_constant("SI_PAD_READER_PRIEST", SI_PAD_READER_PRIEST, false, false); - //script->set_constant("SI_PAD_READER_MONK", SI_PAD_READER_MONK, false, false); - //script->set_constant("SI_PAD_READER_HUNTER", SI_PAD_READER_HUNTER, false, false); - //script->set_constant("SI_PAD_READER_BARD", SI_PAD_READER_BARD, false, false); - //script->set_constant("SI_PAD_READER_DANCER", SI_PAD_READER_DANCER, false, false); - //script->set_constant("SI_PAD_READER_TAEKWON", SI_PAD_READER_TAEKWON, false, false); - //script->set_constant("SI_PAD_READER_NINJA", SI_PAD_READER_NINJA, false, false); - //script->set_constant("SI_PAD_READER_GUNSLINGER", SI_PAD_READER_GUNSLINGER, false, false); - //script->set_constant("SI_PAD_READER_SUPERNOVICE", SI_PAD_READER_SUPERNOVICE, false, false); - //script->set_constant("SI_ESSENCE_OF_TIME", SI_ESSENCE_OF_TIME, false, false); - //script->set_constant("SI_MINIGAME_ROULETTE", SI_MINIGAME_ROULETTE, false, false); - //script->set_constant("SI_MINIGAME_GOLD_POINT", SI_MINIGAME_GOLD_POINT, false, false); - //script->set_constant("SI_MINIGAME_SILVER_POINT", SI_MINIGAME_SILVER_POINT, false, false); - //script->set_constant("SI_MINIGAME_BRONZE_POINT", SI_MINIGAME_BRONZE_POINT, false, false); - script->set_constant("SI_HAPPINESS_STAR", SI_HAPPINESS_STAR, false, false); - - //script->set_constant("SI_SUMMEREVENT01", SI_SUMMEREVENT01, false, false); - //script->set_constant("SI_SUMMEREVENT02", SI_SUMMEREVENT02, false, false); - //script->set_constant("SI_SUMMEREVENT03", SI_SUMMEREVENT03, false, false); - //script->set_constant("SI_SUMMEREVENT04", SI_SUMMEREVENT04, false, false); - //script->set_constant("SI_SUMMEREVENT05", SI_SUMMEREVENT05, false, false); - //script->set_constant("SI_MINIGAME_ROULETTE_BONUS_ITEM", SI_MINIGAME_ROULETTE_BONUS_ITEM, false, false); - //script->set_constant("SI_DRESS_UP", SI_DRESS_UP, false, false); - script->set_constant("SI_MAPLE_FALLS", SI_MAPLE_FALLS, false, false); - //script->set_constant("SI_ALL_NIFLHEIM_RECALL", SI_ALL_NIFLHEIM_RECALL, false, false); - // 859 - //script->set_constant("SI_MTF_MARIONETTE", SI_MTF_MARIONETTE, false, false); - //script->set_constant("SI_MTF_LUDE", SI_MTF_LUDE, false, false); - //script->set_constant("SI_MTF_CRUISER", SI_MTF_CRUISER, false, false); - script->set_constant("SI_MERMAID_LONGING", SI_MERMAID_LONGING, false, false); - script->set_constant("SI_MAGICAL_FEATHER", SI_MAGICAL_FEATHER, false, false); - //script->set_constant("SI_DRACULA_CARD", SI_DRACULA_CARD, false, false); - // 866 - //script->set_constant("SI_LIMIT_POWER_BOOSTER", SI_LIMIT_POWER_BOOSTER, false, false); - // 868 - // 869 - // 870 - // 871 - script->set_constant("SI_TIME_ACCESSORY", SI_TIME_ACCESSORY, false, false); - //script->set_constant("SI_EP16_DEF", SI_EP16_DEF, false, false); - //script->set_constant("SI_NORMAL_ATKED_SP", SI_NORMAL_ATKED_SP, false, false); - //script->set_constant("SI_BODYSTATE_STONECURSE", SI_BODYSTATE_STONECURSE, false, false); - //script->set_constant("SI_BODYSTATE_FREEZING", SI_BODYSTATE_FREEZING, false, false); - //script->set_constant("SI_BODYSTATE_STUN", SI_BODYSTATE_STUN, false, false); - //script->set_constant("SI_BODYSTATE_SLEEP", SI_BODYSTATE_SLEEP, false, false); - //script->set_constant("SI_BODYSTATE_UNDEAD", SI_BODYSTATE_UNDEAD, false, false); - //script->set_constant("SI_BODYSTATE_STONECURSE_ING", SI_BODYSTATE_STONECURSE_ING, false, false); - //script->set_constant("SI_BODYSTATE_BURNNING", SI_BODYSTATE_BURNNING, false, false); - //script->set_constant("SI_BODYSTATE_IMPRISON", SI_BODYSTATE_IMPRISON, false, false); - //script->set_constant("SI_HEALTHSTATE_POISON", SI_HEALTHSTATE_POISON, false, false); - //script->set_constant("SI_HEALTHSTATE_CURSE", SI_HEALTHSTATE_CURSE, false, false); - //script->set_constant("SI_HEALTHSTATE_SILENCE", SI_HEALTHSTATE_SILENCE, false, false); - //script->set_constant("SI_HEALTHSTATE_CONFUSION", SI_HEALTHSTATE_CONFUSION, false, false); - //script->set_constant("SI_HEALTHSTATE_BLIND", SI_HEALTHSTATE_BLIND, false, false); - //script->set_constant("SI_HEALTHSTATE_ANGELUS", SI_HEALTHSTATE_ANGELUS, false, false); - //script->set_constant("SI_HEALTHSTATE_BLOODING", SI_HEALTHSTATE_BLOODING, false, false); - //script->set_constant("SI_HEALTHSTATE_HEAVYPOISON", SI_HEALTHSTATE_HEAVYPOISON, false, false); - //script->set_constant("SI_HEALTHSTATE_FEAR", SI_HEALTHSTATE_FEAR, false, false); - //script->set_constant("SI_CHERRY_BLOSSOM_CAKE", SI_CHERRY_BLOSSOM_CAKE, false, false); - script->set_constant("SI_SU_STOOP", SI_SU_STOOP, false, false); - script->set_constant("SI_CATNIPPOWDER", SI_CATNIPPOWDER, false, false); - script->set_constant("SI_BLOSSOM_FLUTTERING", SI_BLOSSOM_FLUTTERING, false, false); - script->set_constant("SI_SV_ROOTTWIST", SI_SV_ROOTTWIST, false, false); - //script->set_constant("SI_ATTACK_PROPERTY_NOTHING", SI_ATTACK_PROPERTY_NOTHING, false, false); - //script->set_constant("SI_ATTACK_PROPERTY_WATER", SI_ATTACK_PROPERTY_WATER, false, false); - //script->set_constant("SI_ATTACK_PROPERTY_GROUND", SI_ATTACK_PROPERTY_GROUND, false, false); - - //script->set_constant("SI_ATTACK_PROPERTY_FIRE", SI_ATTACK_PROPERTY_FIRE, false, false); - //script->set_constant("SI_ATTACK_PROPERTY_WIND", SI_ATTACK_PROPERTY_WIND, false, false); - //script->set_constant("SI_ATTACK_PROPERTY_POISON", SI_ATTACK_PROPERTY_POISON, false, false); - //script->set_constant("SI_ATTACK_PROPERTY_SAINT", SI_ATTACK_PROPERTY_SAINT, false, false); - //script->set_constant("SI_ATTACK_PROPERTY_DARKNESS", SI_ATTACK_PROPERTY_DARKNESS, false, false); - //script->set_constant("SI_ATTACK_PROPERTY_TELEKINESIS", SI_ATTACK_PROPERTY_TELEKINESIS, false, false); - //script->set_constant("SI_ATTACK_PROPERTY_UNDEAD", SI_ATTACK_PROPERTY_UNDEAD, false, false); - //script->set_constant("SI_RESIST_PROPERTY_NOTHING", SI_RESIST_PROPERTY_NOTHING, false, false); - //script->set_constant("SI_RESIST_PROPERTY_WATER", SI_RESIST_PROPERTY_WATER, false, false); - //script->set_constant("SI_RESIST_PROPERTY_GROUND", SI_RESIST_PROPERTY_GROUND, false, false); - //script->set_constant("SI_RESIST_PROPERTY_FIRE", SI_RESIST_PROPERTY_FIRE, false, false); - //script->set_constant("SI_RESIST_PROPERTY_WIND", SI_RESIST_PROPERTY_WIND, false, false); - //script->set_constant("SI_RESIST_PROPERTY_POISON", SI_RESIST_PROPERTY_POISON, false, false); - //script->set_constant("SI_RESIST_PROPERTY_SAINT", SI_RESIST_PROPERTY_SAINT, false, false); - //script->set_constant("SI_RESIST_PROPERTY_DARKNESS", SI_RESIST_PROPERTY_DARKNESS, false, false); - //script->set_constant("SI_RESIST_PROPERTY_TELEKINESIS", SI_RESIST_PROPERTY_TELEKINESIS, false, false); - //script->set_constant("SI_RESIST_PROPERTY_UNDEAD", SI_RESIST_PROPERTY_UNDEAD, false, false); - script->set_constant("SI_BITESCAR", SI_BITESCAR, false, false); - script->set_constant("SI_ARCLOUSEDASH", SI_ARCLOUSEDASH, false, false); - script->set_constant("SI_TUNAPARTY", SI_TUNAPARTY, false, false); - script->set_constant("SI_SHRIMP", SI_SHRIMP, false, false); - script->set_constant("SI_FRESHSHRIMP", SI_FRESHSHRIMP, false, false); - //script->set_constant("SI_PERIOD_RECEIVEITEM", SI_PERIOD_RECEIVEITEM, false, false); - //script->set_constant("SI_PERIOD_PLUSEXP", SI_PERIOD_PLUSEXP, false, false); - //script->set_constant("SI_PERIOD_PLUSJOBEXP", SI_PERIOD_PLUSJOBEXP, false, false); - //script->set_constant("SI_RUNEHELM", SI_RUNEHELM, false, false); - //script->set_constant("SI_HELM_VERKANA", SI_HELM_VERKANA, false, false); - //script->set_constant("SI_HELM_RHYDO", SI_HELM_RHYDO, false, false); - //script->set_constant("SI_HELM_TURISUS", SI_HELM_TURISUS, false, false); - //script->set_constant("SI_HELM_HAGALAS", SI_HELM_HAGALAS, false, false); - //script->set_constant("SI_HELM_ISIA", SI_HELM_ISIA, false, false); - //script->set_constant("SI_HELM_ASIR", SI_HELM_ASIR, false, false); - //script->set_constant("SI_HELM_URJ", SI_HELM_URJ, false, false); - script->set_constant("SI_SUHIDE", SI_SUHIDE, false, false); - // 934 - //script->set_constant("SI_DORAM_BUF_01", SI_DORAM_BUF_01, false, false); - //script->set_constant("SI_DORAM_BUF_02", SI_DORAM_BUF_02, false, false); - script->set_constant("SI_SPRITEMABLE", SI_SPRITEMABLE, false, false); - //script->set_constant("SI_AID_PERIOD_RECEIVEITEM", SI_AID_PERIOD_RECEIVEITEM, false, false); - //script->set_constant("SI_AID_PERIOD_PLUSEXP", SI_AID_PERIOD_PLUSEXP, false, false); - //script->set_constant("SI_AID_PERIOD_PLUSJOBEXP", SI_AID_PERIOD_PLUSJOBEXP, false, false); - //script->set_constant("SI_AID_PERIOD_DEADPENALTY", SI_AID_PERIOD_DEADPENALTY, false, false); - //script->set_constant("SI_AID_PERIOD_ADDSTOREITEMCOUNT", SI_AID_PERIOD_ADDSTOREITEMCOUNT, false, false); - // 943 - // 944 - // 945 - // 946 - // 947 - // 948 - // 949 - //script->set_constant("SI_HISS", SI_HISS, false, false); - // 951 - //script->set_constant("SI_NYANGGRASS", SI_NYANGGRASS, false, false); - //script->set_constant("SI_CHATTERING", SI_CHATTERING, false, false); - // 954 - // 955 - // 956 - // 957 - // 958 - // 959 - // 960 - //script->set_constant("SI_GROOMING", SI_GROOMING, false, false); - //script->set_constant("SI_PROTECTIONOFSHRIMP", SI_PROTECTIONOFSHRIMP, false, false); - //script->set_constant("SI_EP16_2_BUFF_SS", SI_EP16_2_BUFF_SS, false, false); - //script->set_constant("SI_EP16_2_BUFF_SC", SI_EP16_2_BUFF_SC, false, false); - //script->set_constant("SI_EP16_2_BUFF_AC", SI_EP16_2_BUFF_AC, false, false); - //script->set_constant("SI_GS_MAGICAL_BULLET", SI_GS_MAGICAL_BULLET, false, false); - // 967 - // 968 - // 969 - // 970 - // 971 - // 972 - // 973 - // 974 - // 975 - //script->set_constant("SI_FALLEN_ANGEL", SI_FALLEN_ANGEL, false, false); - // 977 - // 978 - //script->set_constant("SI_BLAZE_BEAD", SI_BLAZE_BEAD, false, false); - //script->set_constant("SI_FROZEN_BEAD", SI_FROZEN_BEAD, false, false); - //script->set_constant("SI_BREEZE_BEAD", SI_BREEZE_BEAD, false, false); - // 982 - //script->set_constant("SI_AID_PERIOD_RECEIVEITEM_2ND", SI_AID_PERIOD_RECEIVEITEM_2ND, false, false); - //script->set_constant("SI_AID_PERIOD_PLUSEXP_2ND", SI_AID_PERIOD_PLUSEXP_2ND, false, false); - //script->set_constant("SI_AID_PERIOD_PLUSJOBEXP_2ND", SI_AID_PERIOD_PLUSJOBEXP_2ND, false, false); - //script->set_constant("SI_PRONTERA_JP", SI_PRONTERA_JP, false, false); - // 987 - //script->set_constant("SI_GLOOM_CARD", SI_GLOOM_CARD, false, false); - //script->set_constant("SI_PHARAOH_CARD", SI_PHARAOH_CARD, false, false); - //script->set_constant("SI_KIEL_CARD", SI_KIEL_CARD, false, false); - // 991 - //script->set_constant("SI_CHEERUP", SI_CHEERUP, false, false); - // 993 - // 994 - //script->set_constant("SI_S_MANAPOTION", SI_S_MANAPOTION, false, false); - //script->set_constant("SI_M_DEFSCROLL", SI_M_DEFSCROLL, false, false); - // 997 - // 998 - // 999 - //script->set_constant("SI_AS_RAGGED_GOLEM_CARD", SI_AS_RAGGED_GOLEM_CARD, false, false); - //script->set_constant("SI_LHZ_DUN_N1", SI_LHZ_DUN_N1, false, false); - //script->set_constant("SI_LHZ_DUN_N2", SI_LHZ_DUN_N2, false, false); - //script->set_constant("SI_LHZ_DUN_N3", SI_LHZ_DUN_N3, false, false); - //script->set_constant("SI_LHZ_DUN_N4", SI_LHZ_DUN_N4, false, false); - - script->set_constant("SI_MAX", SI_MAX, false, false); diff --git a/src/map/pc.c b/src/map/pc.c index a8ff661e8..cbb14c778 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -2839,7 +2839,7 @@ static int pc_bonus(struct map_session_data *sd, int type, int val) case SP_INTRAVISION: // Maya Purple Card effect allowing to see Hiding/Cloaking people [DracoRPG] if(sd->state.lr_flag != 2) { sd->special_state.intravision = 1; - clif->status_change(&sd->bl, SI_CLAIRVOYANCE, 1, 0, 0, 0, 0); + clif->status_change(&sd->bl, status->get_sc_icon(SC_CLAIRVOYANCE), status->get_sc_relevant_bl_types(SC_CLAIRVOYANCE), 1, 0, 0, 0, 0); } break; case SP_NO_KNOCKBACK: @@ -6916,7 +6916,7 @@ static int pc_checkjoblevelup(struct map_session_data *sd) status_calc_pc(sd,SCO_FORCE); clif->misceffect(&sd->bl,1); if (pc->checkskill(sd, SG_DEVIL) && !pc->nextjobexp(sd)) - clif->status_change(&sd->bl,SI_DEVIL1, 1, 0, 0, 0, 1); //Permanent blind effect from SG_DEVIL. + clif->status_change(&sd->bl, status->get_sc_icon(SC_DEVIL1), status->get_sc_relevant_bl_types(SC_DEVIL1), 1, 0, 0, 0, 1); //Permanent blind effect from SG_DEVIL. npc->script_event(sd, NPCE_JOBLVUP); @@ -7686,7 +7686,7 @@ static int pc_resetskill(struct map_session_data *sd, int flag) return 0; if( pc->checkskill(sd, SG_DEVIL) && !pc->nextjobexp(sd) ) //Remove perma blindness due to skill-reset. [Skotlex] - clif->sc_end(&sd->bl, sd->bl.id, SELF, SI_DEVIL1); + clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_DEVIL1)); i = sd->sc.option; if( i&OPTION_RIDING && pc->checkskill(sd, KN_RIDING) ) i &= ~OPTION_RIDING; @@ -8056,7 +8056,7 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src) /* e.g. not killed through pc->damage */ if( pc_issit(sd) ) { - clif->sc_end(&sd->bl,sd->bl.id,SELF,SI_SIT); + clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_SIT)); } pc_setdead(sd); @@ -9155,11 +9155,11 @@ static int pc_setoption(struct map_session_data *sd, int type) if( (type&OPTION_RIDING && !(p_type&OPTION_RIDING)) || (type&OPTION_DRAGON && !(p_type&OPTION_DRAGON) && pc->checkskill(sd,RK_DRAGONTRAINING) > 0) ) { // Mounting - clif->sc_load(&sd->bl,sd->bl.id,AREA,SI_RIDING, 0, 0, 0); + clif->sc_load(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_RIDING), 0, 0, 0); status_calc_pc(sd,SCO_NONE); } else if( (!(type&OPTION_RIDING) && p_type&OPTION_RIDING) || (!(type&OPTION_DRAGON) && p_type&OPTION_DRAGON) ) { // Dismount - clif->sc_end(&sd->bl,sd->bl.id,AREA,SI_RIDING); + clif->sc_end(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_RIDING)); status_calc_pc(sd,SCO_NONE); } @@ -9179,15 +9179,15 @@ static int pc_setoption(struct map_session_data *sd, int type) #endif if (type&OPTION_FALCON && !(p_type&OPTION_FALCON)) //Falcon ON - clif->sc_load(&sd->bl,sd->bl.id,AREA,SI_FALCON, 0, 0, 0); + clif->sc_load(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_FALCON), 0, 0, 0); else if (!(type&OPTION_FALCON) && p_type&OPTION_FALCON) //Falcon OFF - clif->sc_end(&sd->bl,sd->bl.id,AREA,SI_FALCON); + clif->sc_end(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_FALCON)); if( type&OPTION_WUGRIDER && !(p_type&OPTION_WUGRIDER) ) { // Mounting - clif->sc_load(&sd->bl,sd->bl.id,AREA,SI_WUGRIDER, 0, 0, 0); + clif->sc_load(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_WUGRIDER), 0, 0, 0); status_calc_pc(sd,SCO_NONE); } else if( !(type&OPTION_WUGRIDER) && p_type&OPTION_WUGRIDER ) { // Dismount - clif->sc_end(&sd->bl,sd->bl.id,AREA,SI_WUGRIDER); + clif->sc_end(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_WUGRIDER)); status_calc_pc(sd,SCO_NONE); } @@ -9275,7 +9275,7 @@ static int pc_setcart(struct map_session_data *sd, int type) clif->cartList(sd); clif->updatestatus(sd, SP_CARTINFO); sc_start(NULL,&sd->bl, SC_PUSH_CART, 100, type, 0); - clif->sc_load(&sd->bl, sd->bl.id, AREA, SI_ON_PUSH_CART, type, 0, 0); + clif->sc_load(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_ON_PUSH_CART), type, 0, 0); if( sd->sc.data[SC_PUSH_CART] )/* forcefully update */ sd->sc.data[SC_PUSH_CART]->val1 = type; break; @@ -10913,7 +10913,7 @@ static int pc_daynight_timer_sub(struct map_session_data *sd, va_list ap) { nullpo_ret(sd); if (sd->state.night != map->night_flag && map->list[sd->bl.m].flag.nightenabled) { //Night/day state does not match. - clif->status_change(&sd->bl, SI_SKE, map->night_flag, 0, 0, 0, 0); //New night effect by dynamix [Skotlex] + clif->status_change(&sd->bl, status->get_sc_icon(SC_SKE), status->get_sc_relevant_bl_types(SC_SKE), map->night_flag, 0, 0, 0, 0); //New night effect by dynamix [Skotlex] sd->state.night = map->night_flag; return 1; } @@ -10966,7 +10966,7 @@ static void pc_setstand(struct map_session_data *sd) nullpo_retv(sd); status_change_end(&sd->bl, SC_TENSIONRELAX, INVALID_TIMER); - clif->sc_end(&sd->bl,sd->bl.id,SELF,SI_SIT); + clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_SIT)); //Reset sitting tick. sd->ssregen.tick.hp = sd->ssregen.tick.sp = 0; if (pc_isdead(sd)) { diff --git a/src/map/script.c b/src/map/script.c index bd0fbb611..6139b22d8 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -25462,7 +25462,7 @@ static BUILDIN(clan_master) } nd->clan_id = clan_id; - clif->sc_load(&nd->bl, nd->bl.id, AREA, status->dbs->IconChangeTable[SC_CLAN_INFO], 0, clan_id, 0); + clif->sc_load(&nd->bl, nd->bl.id, AREA, status->get_sc_icon(SC_CLAN_INFO), 0, clan_id, 0); script_pushint(st, true); return true; @@ -27245,7 +27245,6 @@ static void script_hardcoded_constants(void) script->set_constant("RENEWAL_ASPD", 0, false, false); #endif script->constdb_comment(NULL); -#include "constants.inc" } /** diff --git a/src/map/skill.c b/src/map/skill.c index 7451fbf41..17cc83033 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2043,7 +2043,7 @@ static int skill_additional_effect(struct block_list *src, struct block_list *bl if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){ ud->canact_tick = tick+rate; if ( battle_config.display_status_timers ) - clif->status_change(src, SI_POSTDELAY, 1, rate, 0, 0, 0); + clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, rate, 0, 0, 0); } } } @@ -2129,7 +2129,7 @@ static int skill_additional_effect(struct block_list *src, struct block_list *bl if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){ ud->canact_tick = tick+rate; if (battle_config.display_status_timers) - clif->status_change(src, SI_POSTDELAY, 1, rate, 0, 0, 0); + clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, rate, 0, 0, 0); } } } @@ -2470,7 +2470,7 @@ static int skill_counter_additional_effect(struct block_list *src, struct block_ if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){ ud->canact_tick = tick+rate; if (battle_config.display_status_timers) - clif->status_change(bl, SI_POSTDELAY, 1, rate, 0, 0, 0); + clif->status_change(bl, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, rate, 0, 0, 0); } } } @@ -5168,7 +5168,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl skill->castend_type(skill->get_casttype(spell_skill_id), src, bl, spell_skill_id, spell_skill_lv, tick, 0); sd->ud.canact_tick = tick + skill->delay_fix(src, spell_skill_id, spell_skill_lv); - clif->status_change(src, SI_POSTDELAY, 1, skill->delay_fix(src, spell_skill_id, spell_skill_lv), 0, 0, 0); + clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, skill->delay_fix(src, spell_skill_id, spell_skill_lv), 0, 0, 0); cooldown = skill->get_cooldown(spell_skill_id, spell_skill_lv); for (i = 0; i < ARRAYLENGTH(sd->skillcooldown) && sd->skillcooldown[i].id; i++) { @@ -5782,7 +5782,7 @@ static int skill_castend_id(int tid, int64 tick, int id, intptr_t data) skill->blockpc_start(sd, ud->skill_id, cooldown); } if( battle_config.display_status_timers && sd ) - clif->status_change(src, SI_POSTDELAY, 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0); + clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0); if( sd ) { switch( ud->skill_id ) @@ -10783,7 +10783,7 @@ static int skill_castend_pos(int tid, int64 tick, int id, intptr_t data) skill->blockpc_start(sd, ud->skill_id, cooldown); } if( battle_config.display_status_timers && sd ) - clif->status_change(src, SI_POSTDELAY, 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0); + clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0); #if 0 if (sd) { switch (ud->skill_id) { @@ -16413,9 +16413,9 @@ static int skill_sit(struct map_session_data *sd, int type) } if( type ) { - clif->sc_load(&sd->bl,sd->bl.id,SELF,SI_SIT,0,0,0); + clif->sc_load(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_SIT), 0, 0, 0); } else { - clif->sc_end(&sd->bl,sd->bl.id,SELF,SI_SIT); + clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_SIT)); } if (!flag) return 0; diff --git a/src/map/status.c b/src/map/status.c index 1d856a4a3..a99e31f56 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -115,20 +115,27 @@ static unsigned int status_sc2scb_flag(sc_type sc) /** * Returns the bl types which require a status change packet to be sent for a given client status identifier. - * @param type The client-side status identifier to look up (see enum si_type) + * @param type status identifier to look up (see enum sc_type) * @return The bl types relevant to the type (see enum bl_type) */ -static int status_type2relevant_bl_types(int type) +static int status_get_sc_relevant_bl_types(enum sc_type type) { - if( type < 0 || type >= SI_MAX ) { - ShowError("status_type2relevant_bl_types: Unsupported type %d\n", type); + if (type < 0 || type >= SC_MAX) { + ShowError("status_get_sc_relevant_bl_types: Unsupported type %d\n", type); return BL_NUL; } - return status->dbs->RelevantBLTypes[type]; + return status->dbs->IconChangeTable[type].relevant_bl_types; } -static void status_set_sc(uint16 skill_id, sc_type sc, int icon, unsigned int flag) +static int status_get_sc_icon(enum sc_type type) +{ + Assert_retr(SI_BLANK, type >= SC_NONE && type < SC_MAX); + + return status->dbs->IconChangeTable[type].id; +} + +static void status_set_sc(uint16 skill_id, sc_type sc, unsigned int flag) { uint16 idx; if( (idx = skill->get_index(skill_id)) == 0 ) { @@ -142,8 +149,6 @@ static void status_set_sc(uint16 skill_id, sc_type sc, int icon, unsigned int fl if( status->dbs->SkillChangeTable[sc] == 0 ) status->dbs->SkillChangeTable[sc] = skill_id; - if( status->dbs->IconChangeTable[sc] == SI_BLANK ) - status->dbs->IconChangeTable[sc] = icon; status->dbs->ChangeFlagTable[sc] |= flag; if( status->dbs->Skill2SCTable[idx] == SC_NONE ) @@ -152,103 +157,102 @@ static void status_set_sc(uint16 skill_id, sc_type sc, int icon, unsigned int fl static void initChangeTables(void) { -#define add_sc(skill,sc) status->set_sc((skill),(sc),SI_BLANK,SCB_NONE) +#define add_sc(skill,sc) status->set_sc((skill),(sc),SCB_NONE) // indicates that the status displays a visual effect for the affected unit, and should be sent to the client for all supported units -#define set_sc_with_vfx(skill, sc, icon, flag) do { status->set_sc((skill), (sc), (icon), (flag)); if((icon) < SI_MAX) status->dbs->RelevantBLTypes[(icon)] |= BL_SCEFFECT; } while(0) +#define set_sc_with_vfx(skill, sc, flag) do { status->set_sc((skill), (sc), (flag)); status->dbs->IconChangeTable[sc].relevant_bl_types |= BL_SCEFFECT; } while(0) int i; - for (i = 0; i < SC_MAX; i++) - status->dbs->IconChangeTable[i] = SI_BLANK; - for (i = 0; i < MAX_SKILL_DB; i++) status->dbs->Skill2SCTable[i] = SC_NONE; - for (i = 0; i < SI_MAX; i++) - status->dbs->RelevantBLTypes[i] = BL_PC; + for (i = 0; i < SC_MAX; i++) { + status->dbs->IconChangeTable[i].id = SI_BLANK; + status->dbs->IconChangeTable[i].relevant_bl_types = BL_PC; + } memset(status->dbs->SkillChangeTable, 0, sizeof(status->dbs->SkillChangeTable)); memset(status->dbs->ChangeFlagTable, 0, sizeof(status->dbs->ChangeFlagTable)); memset(status->dbs->DisplayType, 0, sizeof(status->dbs->DisplayType)); //First we define the skill for common ailments. These are used in skill_additional_effect through sc cards. [Skotlex] - status->set_sc( NPC_PETRIFYATTACK , SC_STONE , SI_BLANK , SCB_DEF_ELE|SCB_DEF|SCB_MDEF ); - status->set_sc( NPC_WIDEFREEZE , SC_FREEZE , SI_BLANK , SCB_DEF_ELE|SCB_DEF|SCB_MDEF ); - status->set_sc( NPC_STUNATTACK , SC_STUN , SI_BLANK , SCB_NONE ); - status->set_sc( NPC_SLEEPATTACK , SC_SLEEP , SI_BLANK , SCB_NONE ); - status->set_sc( NPC_POISON , SC_POISON , SI_BLANK , SCB_DEF2|SCB_REGEN ); - status->set_sc( NPC_CURSEATTACK , SC_CURSE , SI_BLANK , SCB_LUK|SCB_BATK|SCB_WATK|SCB_SPEED ); - status->set_sc( NPC_SILENCEATTACK , SC_SILENCE , SI_BLANK , SCB_NONE ); - status->set_sc( NPC_WIDECONFUSE , SC_CONFUSION , SI_BLANK , SCB_NONE ); - status->set_sc( NPC_BLINDATTACK , SC_BLIND , SI_BLANK , SCB_HIT|SCB_FLEE ); - status->set_sc( NPC_BLEEDING , SC_BLOODING , SI_BLOODING , SCB_REGEN ); - status->set_sc( NPC_POISON , SC_DPOISON , SI_BLANK , SCB_DEF2|SCB_REGEN ); + status->set_sc( NPC_PETRIFYATTACK , SC_STONE , SCB_DEF_ELE|SCB_DEF|SCB_MDEF ); + status->set_sc( NPC_WIDEFREEZE , SC_FREEZE , SCB_DEF_ELE|SCB_DEF|SCB_MDEF ); + status->set_sc( NPC_STUNATTACK , SC_STUN , SCB_NONE ); + status->set_sc( NPC_SLEEPATTACK , SC_SLEEP , SCB_NONE ); + status->set_sc( NPC_POISON , SC_POISON , SCB_DEF2|SCB_REGEN ); + status->set_sc( NPC_CURSEATTACK , SC_CURSE , SCB_LUK|SCB_BATK|SCB_WATK|SCB_SPEED ); + status->set_sc( NPC_SILENCEATTACK , SC_SILENCE , SCB_NONE ); + status->set_sc( NPC_WIDECONFUSE , SC_CONFUSION , SCB_NONE ); + status->set_sc( NPC_BLINDATTACK , SC_BLIND , SCB_HIT|SCB_FLEE ); + status->set_sc( NPC_BLEEDING , SC_BLOODING , SCB_REGEN ); + status->set_sc( NPC_POISON , SC_DPOISON , SCB_DEF2|SCB_REGEN ); //The main status definitions add_sc( SM_BASH , SC_STUN ); - status->set_sc( SM_PROVOKE , SC_PROVOKE , SI_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK ); + status->set_sc( SM_PROVOKE , SC_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK ); add_sc( SM_MAGNUM , SC_SUB_WEAPONPROPERTY ); - status->set_sc( SM_ENDURE , SC_ENDURE , SI_ENDURE , SCB_MDEF|SCB_DSPD ); + status->set_sc( SM_ENDURE , SC_ENDURE , SCB_MDEF|SCB_DSPD ); add_sc( MG_SIGHT , SC_SIGHT ); add_sc( MG_SAFETYWALL , SC_SAFETYWALL ); add_sc( MG_FROSTDIVER , SC_FREEZE ); add_sc( MG_STONECURSE , SC_STONE ); add_sc( AL_RUWACH , SC_RUWACH ); add_sc( AL_PNEUMA , SC_PNEUMA ); - status->set_sc( AL_INCAGI , SC_INC_AGI , SI_INC_AGI , SCB_AGI|SCB_SPEED ); - status->set_sc( AL_DECAGI , SC_DEC_AGI , SI_DEC_AGI , SCB_AGI|SCB_SPEED ); - status->set_sc( AL_CRUCIS , SC_CRUCIS , SI_CRUCIS , SCB_DEF ); - status->set_sc( AL_ANGELUS , SC_ANGELUS , SI_ANGELUS , SCB_DEF2 ); - status->set_sc( AL_BLESSING , SC_BLESSING , SI_BLESSING , SCB_STR|SCB_INT|SCB_DEX ); - status->set_sc( AC_CONCENTRATION , SC_CONCENTRATION , SI_CONCENTRATION , SCB_AGI|SCB_DEX ); - status->set_sc( TF_HIDING , SC_HIDING , SI_HIDING , SCB_SPEED ); + status->set_sc( AL_INCAGI , SC_INC_AGI , SCB_AGI|SCB_SPEED ); + status->set_sc( AL_DECAGI , SC_DEC_AGI , SCB_AGI|SCB_SPEED ); + status->set_sc( AL_CRUCIS , SC_CRUCIS , SCB_DEF ); + status->set_sc( AL_ANGELUS , SC_ANGELUS , SCB_DEF2 ); + status->set_sc( AL_BLESSING , SC_BLESSING , SCB_STR|SCB_INT|SCB_DEX ); + status->set_sc( AC_CONCENTRATION , SC_CONCENTRATION , SCB_AGI|SCB_DEX ); + status->set_sc( TF_HIDING , SC_HIDING , SCB_SPEED ); add_sc( TF_POISON , SC_POISON ); - status->set_sc( KN_TWOHANDQUICKEN , SC_TWOHANDQUICKEN , SI_TWOHANDQUICKEN , SCB_ASPD ); + status->set_sc( KN_TWOHANDQUICKEN , SC_TWOHANDQUICKEN , SCB_ASPD ); add_sc( KN_AUTOCOUNTER , SC_AUTOCOUNTER ); - status->set_sc( PR_IMPOSITIO , SC_IMPOSITIO , SI_IMPOSITIO , + status->set_sc( PR_IMPOSITIO , SC_IMPOSITIO , #ifdef RENEWAL SCB_NONE ); #else SCB_WATK ); #endif - status->set_sc( PR_SUFFRAGIUM , SC_SUFFRAGIUM , SI_SUFFRAGIUM , SCB_NONE ); - status->set_sc( PR_ASPERSIO , SC_ASPERSIO , SI_ASPERSIO , SCB_ATK_ELE ); - status->set_sc( PR_BENEDICTIO , SC_BENEDICTIO , SI_BENEDICTIO , SCB_DEF_ELE ); - status->set_sc( PR_SLOWPOISON , SC_SLOWPOISON , SI_SLOWPOISON , SCB_REGEN ); - status->set_sc( PR_KYRIE , SC_KYRIE , SI_KYRIE , SCB_NONE ); - status->set_sc( PR_MAGNIFICAT , SC_MAGNIFICAT , SI_MAGNIFICAT , SCB_REGEN ); - status->set_sc( PR_GLORIA , SC_GLORIA , SI_GLORIA , SCB_LUK ); + status->set_sc( PR_SUFFRAGIUM , SC_SUFFRAGIUM , SCB_NONE ); + status->set_sc( PR_ASPERSIO , SC_ASPERSIO , SCB_ATK_ELE ); + status->set_sc( PR_BENEDICTIO , SC_BENEDICTIO , SCB_DEF_ELE ); + status->set_sc( PR_SLOWPOISON , SC_SLOWPOISON , SCB_REGEN ); + status->set_sc( PR_KYRIE , SC_KYRIE , SCB_NONE ); + status->set_sc( PR_MAGNIFICAT , SC_MAGNIFICAT , SCB_REGEN ); + status->set_sc( PR_GLORIA , SC_GLORIA , SCB_LUK ); add_sc( PR_LEXDIVINA , SC_SILENCE ); - status->set_sc( PR_LEXAETERNA , SC_LEXAETERNA , SI_LEXAETERNA , SCB_NONE ); + status->set_sc( PR_LEXAETERNA , SC_LEXAETERNA , SCB_NONE ); add_sc( WZ_METEOR , SC_STUN ); add_sc( WZ_VERMILION , SC_BLIND ); add_sc( WZ_FROSTNOVA , SC_FREEZE ); add_sc( WZ_STORMGUST , SC_FREEZE ); - status->set_sc( WZ_QUAGMIRE , SC_QUAGMIRE , SI_QUAGMIRE , SCB_AGI|SCB_DEX|SCB_ASPD|SCB_SPEED ); - status->set_sc( BS_ADRENALINE , SC_ADRENALINE , SI_ADRENALINE , SCB_ASPD ); - status->set_sc( BS_WEAPONPERFECT , SC_WEAPONPERFECT , SI_WEAPONPERFECT, SCB_NONE ); - status->set_sc( BS_OVERTHRUST , SC_OVERTHRUST , SI_OVERTHRUST , SCB_NONE ); - status->set_sc( BS_MAXIMIZE , SC_MAXIMIZEPOWER , SI_MAXIMIZE , SCB_REGEN ); + status->set_sc( WZ_QUAGMIRE , SC_QUAGMIRE , SCB_AGI|SCB_DEX|SCB_ASPD|SCB_SPEED ); + status->set_sc( BS_ADRENALINE , SC_ADRENALINE , SCB_ASPD ); + status->set_sc( BS_WEAPONPERFECT , SC_WEAPONPERFECT , SCB_NONE ); + status->set_sc( BS_OVERTHRUST , SC_OVERTHRUST , SCB_NONE ); + status->set_sc( BS_MAXIMIZE , SC_MAXIMIZEPOWER , SCB_REGEN ); add_sc( HT_LANDMINE , SC_STUN ); - status->set_sc( HT_ANKLESNARE , SC_ANKLESNARE , SI_ANKLESNARE , SCB_NONE ); + status->set_sc( HT_ANKLESNARE , SC_ANKLESNARE , SCB_NONE ); add_sc( HT_SANDMAN , SC_SLEEP ); add_sc( HT_FLASHER , SC_BLIND ); add_sc( HT_FREEZINGTRAP , SC_FREEZE ); - status->set_sc( AS_CLOAKING , SC_CLOAKING , SI_CLOAKING , SCB_CRI|SCB_SPEED ); + status->set_sc( AS_CLOAKING , SC_CLOAKING , SCB_CRI|SCB_SPEED ); add_sc( AS_SONICBLOW , SC_STUN ); - status->set_sc( AS_ENCHANTPOISON , SC_ENCHANTPOISON , SI_ENCHANTPOISON, SCB_ATK_ELE ); - status->set_sc( AS_POISONREACT , SC_POISONREACT , SI_POISONREACT , SCB_NONE ); + status->set_sc( AS_ENCHANTPOISON , SC_ENCHANTPOISON , SCB_ATK_ELE ); + status->set_sc( AS_POISONREACT , SC_POISONREACT , SCB_NONE ); add_sc( AS_VENOMDUST , SC_POISON ); add_sc( AS_SPLASHER , SC_SPLASHER ); - status->set_sc( NV_TRICKDEAD , SC_TRICKDEAD , SI_TRICKDEAD , SCB_REGEN ); - status->set_sc( SM_AUTOBERSERK , SC_AUTOBERSERK , SI_AUTOBERSERK , SCB_NONE ); + status->set_sc( NV_TRICKDEAD , SC_TRICKDEAD , SCB_REGEN ); + status->set_sc( SM_AUTOBERSERK , SC_AUTOBERSERK , SCB_NONE ); add_sc( TF_SPRINKLESAND , SC_BLIND ); add_sc( TF_THROWSTONE , SC_STUN ); - status->set_sc( MC_LOUD , SC_SHOUT , SI_SHOUT , SCB_STR ); - status->set_sc( MG_ENERGYCOAT , SC_ENERGYCOAT , SI_ENERGYCOAT , SCB_NONE ); - status->set_sc( NPC_EMOTION , SC_MODECHANGE , SI_BLANK , SCB_MODE ); + status->set_sc( MC_LOUD , SC_SHOUT , SCB_STR ); + status->set_sc( MG_ENERGYCOAT , SC_ENERGYCOAT , SCB_NONE ); + status->set_sc( NPC_EMOTION , SC_MODECHANGE , SCB_MODE ); add_sc( NPC_EMOTION_ON , SC_MODECHANGE ); - status->set_sc( NPC_ATTRICHANGE , SC_ARMOR_PROPERTY , SI_ARMOR_PROPERTY , SCB_DEF_ELE ); + status->set_sc( NPC_ATTRICHANGE , SC_ARMOR_PROPERTY , SCB_DEF_ELE ); add_sc( NPC_CHANGEWATER , SC_ARMOR_PROPERTY ); add_sc( NPC_CHANGEGROUND , SC_ARMOR_PROPERTY ); add_sc( NPC_CHANGEFIRE , SC_ARMOR_PROPERTY ); @@ -265,184 +269,184 @@ static void initChangeTables(void) add_sc( NPC_CURSEATTACK , SC_CURSE ); add_sc( NPC_SLEEPATTACK , SC_SLEEP ); add_sc( NPC_MAGICALATTACK , SC_MAGICALATTACK ); - status->set_sc( NPC_KEEPING , SC_KEEPING , SI_BLANK , SCB_DEF ); + status->set_sc( NPC_KEEPING , SC_KEEPING , SCB_DEF ); add_sc( NPC_DARKBLESSING , SC_COMA ); - status->set_sc( NPC_BARRIER , SC_BARRIER , SI_BLANK , SCB_MDEF|SCB_DEF ); + status->set_sc( NPC_BARRIER , SC_BARRIER , SCB_MDEF|SCB_DEF ); add_sc( NPC_DEFENDER , SC_ARMOR ); add_sc( NPC_LICK , SC_STUN ); - status->set_sc( NPC_HALLUCINATION , SC_ILLUSION , SI_ILLUSION , SCB_NONE ); + status->set_sc( NPC_HALLUCINATION , SC_ILLUSION , SCB_NONE ); add_sc( NPC_REBIRTH , SC_REBIRTH ); add_sc( RG_RAID , SC_STUN ); #ifdef RENEWAL add_sc( RG_RAID , SC_RAID ); add_sc( RG_BACKSTAP , SC_STUN ); #endif - status->set_sc( RG_STRIPWEAPON , SC_NOEQUIPWEAPON , SI_NOEQUIPWEAPON , SCB_WATK ); - status->set_sc( RG_STRIPSHIELD , SC_NOEQUIPSHIELD , SI_NOEQUIPSHIELD , SCB_DEF ); - status->set_sc( RG_STRIPARMOR , SC_NOEQUIPARMOR , SI_NOEQUIPARMOR , SCB_VIT ); - status->set_sc( RG_STRIPHELM , SC_NOEQUIPHELM , SI_NOEQUIPHELM , SCB_INT ); + status->set_sc( RG_STRIPWEAPON , SC_NOEQUIPWEAPON , SCB_WATK ); + status->set_sc( RG_STRIPSHIELD , SC_NOEQUIPSHIELD , SCB_DEF ); + status->set_sc( RG_STRIPARMOR , SC_NOEQUIPARMOR , SCB_VIT ); + status->set_sc( RG_STRIPHELM , SC_NOEQUIPHELM , SCB_INT ); add_sc( AM_ACIDTERROR , SC_BLOODING ); - status->set_sc( AM_CP_WEAPON , SC_PROTECTWEAPON , SI_PROTECTWEAPON , SCB_NONE ); - status->set_sc( AM_CP_SHIELD , SC_PROTECTSHIELD , SI_PROTECTSHIELD , SCB_NONE ); - status->set_sc( AM_CP_ARMOR , SC_PROTECTARMOR , SI_PROTECTARMOR , SCB_NONE ); - status->set_sc( AM_CP_HELM , SC_PROTECTHELM , SI_PROTECTHELM , SCB_NONE ); - status->set_sc( CR_AUTOGUARD , SC_AUTOGUARD , SI_AUTOGUARD , SCB_NONE ); + status->set_sc( AM_CP_WEAPON , SC_PROTECTWEAPON , SCB_NONE ); + status->set_sc( AM_CP_SHIELD , SC_PROTECTSHIELD , SCB_NONE ); + status->set_sc( AM_CP_ARMOR , SC_PROTECTARMOR , SCB_NONE ); + status->set_sc( AM_CP_HELM , SC_PROTECTHELM , SCB_NONE ); + status->set_sc( CR_AUTOGUARD , SC_AUTOGUARD , SCB_NONE ); add_sc( CR_SHIELDCHARGE , SC_STUN ); - status->set_sc( CR_REFLECTSHIELD , SC_REFLECTSHIELD , SI_REFLECTSHIELD , SCB_NONE ); + status->set_sc( CR_REFLECTSHIELD , SC_REFLECTSHIELD , SCB_NONE ); add_sc( CR_HOLYCROSS , SC_BLIND ); add_sc( CR_GRANDCROSS , SC_BLIND ); add_sc( CR_DEVOTION , SC_DEVOTION ); - status->set_sc( CR_PROVIDENCE , SC_PROVIDENCE , SI_PROVIDENCE , SCB_ALL ); - status->set_sc( CR_DEFENDER , SC_DEFENDER , SI_DEFENDER , SCB_SPEED|SCB_ASPD ); - status->set_sc( CR_SPEARQUICKEN , SC_SPEARQUICKEN , SI_SPEARQUICKEN , SCB_ASPD|SCB_CRI|SCB_FLEE ); - status->set_sc( MO_STEELBODY , SC_STEELBODY , SI_STEELBODY , SCB_DEF|SCB_MDEF|SCB_ASPD|SCB_SPEED ); + status->set_sc( CR_PROVIDENCE , SC_PROVIDENCE , SCB_ALL ); + status->set_sc( CR_DEFENDER , SC_DEFENDER , SCB_SPEED|SCB_ASPD ); + status->set_sc( CR_SPEARQUICKEN , SC_SPEARQUICKEN , SCB_ASPD|SCB_CRI|SCB_FLEE ); + status->set_sc( MO_STEELBODY , SC_STEELBODY , SCB_DEF|SCB_MDEF|SCB_ASPD|SCB_SPEED ); add_sc( MO_BLADESTOP , SC_BLADESTOP_WAIT ); add_sc( MO_BLADESTOP , SC_BLADESTOP ); - status->set_sc( MO_EXPLOSIONSPIRITS , SC_EXPLOSIONSPIRITS, SI_EXPLOSIONSPIRITS, SCB_CRI|SCB_REGEN ); - status->set_sc( MO_EXTREMITYFIST , SC_EXTREMITYFIST , SI_BLANK , SCB_REGEN ); + status->set_sc( MO_EXPLOSIONSPIRITS , SC_EXPLOSIONSPIRITS, SCB_CRI|SCB_REGEN ); + status->set_sc( MO_EXTREMITYFIST , SC_EXTREMITYFIST , SCB_REGEN ); #ifdef RENEWAL - status->set_sc( MO_EXTREMITYFIST , SC_EXTREMITYFIST2 , SI_EXTREMITYFIST , SCB_NONE ); + status->set_sc( MO_EXTREMITYFIST , SC_EXTREMITYFIST2 , SCB_NONE ); #endif add_sc( SA_MAGICROD , SC_MAGICROD ); - status->set_sc( SA_AUTOSPELL , SC_AUTOSPELL , SI_AUTOSPELL , SCB_NONE ); - status->set_sc( SA_FLAMELAUNCHER , SC_PROPERTYFIRE , SI_PROPERTYFIRE , SCB_ATK_ELE ); - status->set_sc( SA_FROSTWEAPON , SC_PROPERTYWATER , SI_PROPERTYWATER , SCB_ATK_ELE ); - status->set_sc( SA_LIGHTNINGLOADER , SC_PROPERTYWIND , SI_PROPERTYWIND , SCB_ATK_ELE ); - status->set_sc( SA_SEISMICWEAPON , SC_PROPERTYGROUND , SI_PROPERTYGROUND , SCB_ATK_ELE ); - status->set_sc( SA_VOLCANO , SC_VOLCANO , SI_GROUNDMAGIC , SCB_WATK ); - status->set_sc( SA_DELUGE , SC_DELUGE , SI_GROUNDMAGIC , SCB_MAXHP ); - status->set_sc( SA_VIOLENTGALE , SC_VIOLENTGALE , SI_GROUNDMAGIC , SCB_FLEE ); + status->set_sc( SA_AUTOSPELL , SC_AUTOSPELL , SCB_NONE ); + status->set_sc( SA_FLAMELAUNCHER , SC_PROPERTYFIRE , SCB_ATK_ELE ); + status->set_sc( SA_FROSTWEAPON , SC_PROPERTYWATER , SCB_ATK_ELE ); + status->set_sc( SA_LIGHTNINGLOADER , SC_PROPERTYWIND , SCB_ATK_ELE ); + status->set_sc( SA_SEISMICWEAPON , SC_PROPERTYGROUND , SCB_ATK_ELE ); + status->set_sc( SA_VOLCANO , SC_VOLCANO , SCB_WATK ); + status->set_sc( SA_DELUGE , SC_DELUGE , SCB_MAXHP ); + status->set_sc( SA_VIOLENTGALE , SC_VIOLENTGALE , SCB_FLEE ); add_sc( SA_REVERSEORCISH , SC_ORCISH ); add_sc( SA_COMA , SC_COMA ); - status->set_sc( BD_ENCORE , SC_DANCING , SI_BLANK , SCB_SPEED|SCB_REGEN ); + status->set_sc( BD_ENCORE , SC_DANCING , SCB_SPEED|SCB_REGEN ); add_sc( BD_RICHMANKIM , SC_RICHMANKIM ); - status->set_sc( BD_ETERNALCHAOS , SC_ETERNALCHAOS , SI_BLANK , SCB_DEF2 ); - status->set_sc( BD_DRUMBATTLEFIELD , SC_DRUMBATTLE , SI_BLANK , SCB_WATK|SCB_DEF ); - status->set_sc( BD_RINGNIBELUNGEN , SC_NIBELUNGEN , SI_BLANK , SCB_WATK ); + status->set_sc( BD_ETERNALCHAOS , SC_ETERNALCHAOS , SCB_DEF2 ); + status->set_sc( BD_DRUMBATTLEFIELD , SC_DRUMBATTLE , SCB_WATK|SCB_DEF ); + status->set_sc( BD_RINGNIBELUNGEN , SC_NIBELUNGEN , SCB_WATK ); add_sc( BD_ROKISWEIL , SC_ROKISWEIL ); add_sc( BD_INTOABYSS , SC_INTOABYSS ); - status->set_sc( BD_SIEGFRIED , SC_SIEGFRIED , SI_BLANK , SCB_ALL ); + status->set_sc( BD_SIEGFRIED , SC_SIEGFRIED , SCB_ALL ); add_sc( BA_FROSTJOKER , SC_FREEZE ); - status->set_sc( BA_WHISTLE , SC_WHISTLE , SI_BLANK , SCB_FLEE|SCB_FLEE2 ); - status->set_sc( BA_ASSASSINCROSS , SC_ASSNCROS , SI_BLANK , SCB_ASPD ); + status->set_sc( BA_WHISTLE , SC_WHISTLE , SCB_FLEE|SCB_FLEE2 ); + status->set_sc( BA_ASSASSINCROSS , SC_ASSNCROS , SCB_ASPD ); add_sc( BA_POEMBRAGI , SC_POEMBRAGI ); - status->set_sc( BA_APPLEIDUN , SC_APPLEIDUN , SI_BLANK , SCB_MAXHP ); + status->set_sc( BA_APPLEIDUN , SC_APPLEIDUN , SCB_MAXHP ); add_sc( DC_SCREAM , SC_STUN ); - status->set_sc( DC_HUMMING , SC_HUMMING , SI_BLANK , SCB_HIT ); - status->set_sc( DC_DONTFORGETME , SC_DONTFORGETME , SI_BLANK , SCB_SPEED|SCB_ASPD ); - status->set_sc( DC_FORTUNEKISS , SC_FORTUNE , SI_BLANK , SCB_CRI ); - status->set_sc( DC_SERVICEFORYOU , SC_SERVICEFORYOU , SI_BLANK , SCB_ALL ); + status->set_sc( DC_HUMMING , SC_HUMMING , SCB_HIT ); + status->set_sc( DC_DONTFORGETME , SC_DONTFORGETME , SCB_SPEED|SCB_ASPD ); + status->set_sc( DC_FORTUNEKISS , SC_FORTUNE , SCB_CRI ); + status->set_sc( DC_SERVICEFORYOU , SC_SERVICEFORYOU , SCB_ALL ); add_sc( NPC_DARKCROSS , SC_BLIND ); add_sc( NPC_GRANDDARKNESS , SC_BLIND ); - status->set_sc( NPC_STOP , SC_STOP , SI_STOP , SCB_NONE ); - status->set_sc( NPC_WEAPONBRAKER , SC_BROKENWEAPON , SI_BROKENWEAPON , SCB_NONE ); - status->set_sc( NPC_ARMORBRAKE , SC_BROKENARMOR , SI_BROKENARMOR , SCB_NONE ); - status->set_sc( NPC_CHANGEUNDEAD , SC_PROPERTYUNDEAD , SI_PROPERTYUNDEAD , SCB_DEF_ELE ); - status->set_sc( NPC_POWERUP , SC_INCHITRATE , SI_BLANK , SCB_HIT ); - status->set_sc( NPC_AGIUP , SC_INCFLEERATE , SI_BLANK , SCB_FLEE ); + status->set_sc( NPC_STOP , SC_STOP , SCB_NONE ); + status->set_sc( NPC_WEAPONBRAKER , SC_BROKENWEAPON , SCB_NONE ); + status->set_sc( NPC_ARMORBRAKE , SC_BROKENARMOR , SCB_NONE ); + status->set_sc( NPC_CHANGEUNDEAD , SC_PROPERTYUNDEAD , SCB_DEF_ELE ); + status->set_sc( NPC_POWERUP , SC_INCHITRATE , SCB_HIT ); + status->set_sc( NPC_AGIUP , SC_INCFLEERATE , SCB_FLEE ); add_sc( NPC_INVISIBLE , SC_CLOAKING ); - status->set_sc( LK_AURABLADE , SC_AURABLADE , SI_AURABLADE , SCB_NONE ); - status->set_sc( LK_PARRYING , SC_PARRYING , SI_PARRYING , SCB_NONE ); + status->set_sc( LK_AURABLADE , SC_AURABLADE , SCB_NONE ); + status->set_sc( LK_PARRYING , SC_PARRYING , SCB_NONE ); #ifndef RENEWAL - status->set_sc( LK_CONCENTRATION , SC_LKCONCENTRATION , SI_LKCONCENTRATION , SCB_BATK|SCB_WATK|SCB_HIT|SCB_DEF|SCB_DEF2); + status->set_sc( LK_CONCENTRATION , SC_LKCONCENTRATION , SCB_BATK|SCB_WATK|SCB_HIT|SCB_DEF|SCB_DEF2); #else - status->set_sc( LK_CONCENTRATION , SC_LKCONCENTRATION , SI_LKCONCENTRATION , SCB_HIT|SCB_DEF); + status->set_sc( LK_CONCENTRATION , SC_LKCONCENTRATION , SCB_HIT|SCB_DEF); #endif - status->set_sc( LK_TENSIONRELAX , SC_TENSIONRELAX , SI_TENSIONRELAX , SCB_REGEN ); - status->set_sc( LK_BERSERK , SC_BERSERK , SI_BERSERK , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2|SCB_FLEE|SCB_SPEED|SCB_ASPD|SCB_MAXHP|SCB_REGEN ); - status->set_sc( HP_ASSUMPTIO , SC_ASSUMPTIO , SI_ASSUMPTIO , SCB_NONE ); + status->set_sc( LK_TENSIONRELAX , SC_TENSIONRELAX , SCB_REGEN ); + status->set_sc( LK_BERSERK , SC_BERSERK , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2|SCB_FLEE|SCB_SPEED|SCB_ASPD|SCB_MAXHP|SCB_REGEN ); + status->set_sc( HP_ASSUMPTIO , SC_ASSUMPTIO , SCB_NONE ); add_sc( HP_BASILICA , SC_BASILICA ); - status->set_sc( HW_MAGICPOWER , SC_MAGICPOWER , SI_MAGICPOWER , SCB_MATK ); + status->set_sc( HW_MAGICPOWER , SC_MAGICPOWER , SCB_MATK ); add_sc( PA_SACRIFICE , SC_SACRIFICE ); - status->set_sc( PA_GOSPEL , SC_GOSPEL , SI_BLANK , SCB_SPEED|SCB_ASPD ); + status->set_sc( PA_GOSPEL , SC_GOSPEL , SCB_SPEED|SCB_ASPD ); add_sc( PA_GOSPEL , SC_SCRESIST ); add_sc( CH_TIGERFIST , SC_STOP ); - status->set_sc( ASC_EDP , SC_EDP , SI_EDP , SCB_NONE ); - status->set_sc( SN_SIGHT , SC_TRUESIGHT , SI_TRUESIGHT , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK|SCB_CRI|SCB_HIT ); - status->set_sc( SN_WINDWALK , SC_WINDWALK , SI_WINDWALK , SCB_FLEE|SCB_SPEED ); - status->set_sc( WS_MELTDOWN , SC_MELTDOWN , SI_MELTDOWN , SCB_NONE ); - status->set_sc( WS_CARTBOOST , SC_CARTBOOST , SI_CARTBOOST , SCB_SPEED ); - status->set_sc( ST_CHASEWALK , SC_CHASEWALK , SI_BLANK , SCB_SPEED ); - status->set_sc( ST_REJECTSWORD , SC_SWORDREJECT , SI_SWORDREJECT , SCB_NONE ); + status->set_sc( ASC_EDP , SC_EDP , SCB_NONE ); + status->set_sc( SN_SIGHT , SC_TRUESIGHT , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK|SCB_CRI|SCB_HIT ); + status->set_sc( SN_WINDWALK , SC_WINDWALK , SCB_FLEE|SCB_SPEED ); + status->set_sc( WS_MELTDOWN , SC_MELTDOWN , SCB_NONE ); + status->set_sc( WS_CARTBOOST , SC_CARTBOOST , SCB_SPEED ); + status->set_sc( ST_CHASEWALK , SC_CHASEWALK , SCB_SPEED ); + status->set_sc( ST_REJECTSWORD , SC_SWORDREJECT , SCB_NONE ); add_sc( ST_REJECTSWORD , SC_AUTOCOUNTER ); - status->set_sc( CG_MARIONETTE , SC_MARIONETTE_MASTER , SI_MARIONETTE_MASTER , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK ); - status->set_sc( CG_MARIONETTE , SC_MARIONETTE , SI_MARIONETTE , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK ); + status->set_sc( CG_MARIONETTE , SC_MARIONETTE_MASTER , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK ); + status->set_sc( CG_MARIONETTE , SC_MARIONETTE , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK ); add_sc( LK_SPIRALPIERCE , SC_STOP ); add_sc( LK_HEADCRUSH , SC_BLOODING ); - status->set_sc( LK_JOINTBEAT , SC_JOINTBEAT , SI_JOINTBEAT , SCB_BATK|SCB_DEF2|SCB_SPEED|SCB_ASPD ); + status->set_sc( LK_JOINTBEAT , SC_JOINTBEAT , SCB_BATK|SCB_DEF2|SCB_SPEED|SCB_ASPD ); add_sc( HW_NAPALMVULCAN , SC_CURSE ); - status->set_sc( PF_MINDBREAKER , SC_MINDBREAKER , SI_BLANK , SCB_MATK|SCB_MDEF2 ); + status->set_sc( PF_MINDBREAKER , SC_MINDBREAKER , SCB_MATK|SCB_MDEF2 ); add_sc( PF_MEMORIZE , SC_MEMORIZE ); add_sc( PF_FOGWALL , SC_FOGWALL ); - status->set_sc( PF_SPIDERWEB , SC_SPIDERWEB , SI_BLANK , SCB_FLEE ); - status->set_sc( WE_BABY , SC_BABY , SI_PROTECTEXP , SCB_NONE ); - status->set_sc( TK_RUN , SC_RUN , SI_RUN , SCB_SPEED|SCB_DSPD ); - status->set_sc( TK_RUN , SC_STRUP , SI_STRUP , SCB_STR ); - status->set_sc( TK_READYSTORM , SC_STORMKICK_READY , SI_STORMKICK_ON , SCB_NONE ); - status->set_sc( TK_READYDOWN , SC_DOWNKICK_READY , SI_DOWNKICK_ON , SCB_NONE ); + status->set_sc( PF_SPIDERWEB , SC_SPIDERWEB , SCB_FLEE ); + status->set_sc( WE_BABY , SC_BABY , SCB_NONE ); + status->set_sc( TK_RUN , SC_RUN , SCB_SPEED|SCB_DSPD ); + status->set_sc( TK_RUN , SC_STRUP , SCB_STR ); + status->set_sc( TK_READYSTORM , SC_STORMKICK_READY , SCB_NONE ); + status->set_sc( TK_READYDOWN , SC_DOWNKICK_READY , SCB_NONE ); add_sc( TK_DOWNKICK , SC_STUN ); - status->set_sc( TK_READYTURN , SC_TURNKICK_READY , SI_TURNKICK_ON , SCB_NONE ); - status->set_sc( TK_READYCOUNTER , SC_COUNTERKICK_READY , SI_COUNTER_ON , SCB_NONE ); - status->set_sc( TK_DODGE , SC_DODGE_READY , SI_DODGE_ON , SCB_NONE ); - status->set_sc( TK_SPTIME , SC_EARTHSCROLL , SI_EARTHSCROLL , SCB_NONE ); + status->set_sc( TK_READYTURN , SC_TURNKICK_READY , SCB_NONE ); + status->set_sc( TK_READYCOUNTER , SC_COUNTERKICK_READY , SCB_NONE ); + status->set_sc( TK_DODGE , SC_DODGE_READY , SCB_NONE ); + status->set_sc( TK_SPTIME , SC_EARTHSCROLL , SCB_NONE ); add_sc( TK_SEVENWIND , SC_TK_SEVENWIND ); - status->set_sc( TK_SEVENWIND , SC_PROPERTYTELEKINESIS , SI_PROPERTYTELEKINESIS , SCB_ATK_ELE ); - status->set_sc( TK_SEVENWIND , SC_PROPERTYDARK , SI_PROPERTYDARK , SCB_ATK_ELE ); - status->set_sc( SG_SUN_WARM , SC_WARM , SI_SG_SUN_WARM , SCB_NONE ); + status->set_sc( TK_SEVENWIND , SC_PROPERTYTELEKINESIS , SCB_ATK_ELE ); + status->set_sc( TK_SEVENWIND , SC_PROPERTYDARK , SCB_ATK_ELE ); + status->set_sc( SG_SUN_WARM , SC_WARM , SCB_NONE ); add_sc( SG_MOON_WARM , SC_WARM ); add_sc( SG_STAR_WARM , SC_WARM ); - status->set_sc( SG_SUN_COMFORT , SC_SUN_COMFORT , SI_SUN_COMFORT , SCB_DEF2 ); - status->set_sc( SG_MOON_COMFORT , SC_MOON_COMFORT , SI_MOON_COMFORT , SCB_FLEE ); - status->set_sc( SG_STAR_COMFORT , SC_STAR_COMFORT , SI_STAR_COMFORT , SCB_ASPD ); + status->set_sc( SG_SUN_COMFORT , SC_SUN_COMFORT , SCB_DEF2 ); + status->set_sc( SG_MOON_COMFORT , SC_MOON_COMFORT , SCB_FLEE ); + status->set_sc( SG_STAR_COMFORT , SC_STAR_COMFORT , SCB_ASPD ); add_sc( SG_FRIEND , SC_SKILLRATE_UP ); - status->set_sc( SG_KNOWLEDGE , SC_KNOWLEDGE , SI_BLANK , SCB_ALL ); - status->set_sc( SG_FUSION , SC_FUSION , SI_BLANK , SCB_SPEED ); - status->set_sc( BS_ADRENALINE2 , SC_ADRENALINE2 , SI_ADRENALINE2 , SCB_ASPD ); - status->set_sc( SL_KAIZEL , SC_KAIZEL , SI_KAIZEL , SCB_NONE ); - status->set_sc( SL_KAAHI , SC_KAAHI , SI_KAAHI , SCB_NONE ); - status->set_sc( SL_KAUPE , SC_KAUPE , SI_KAUPE , SCB_NONE ); - status->set_sc( SL_KAITE , SC_KAITE , SI_KAITE , SCB_NONE ); + status->set_sc( SG_KNOWLEDGE , SC_KNOWLEDGE , SCB_ALL ); + status->set_sc( SG_FUSION , SC_FUSION , SCB_SPEED ); + status->set_sc( BS_ADRENALINE2 , SC_ADRENALINE2 , SCB_ASPD ); + status->set_sc( SL_KAIZEL , SC_KAIZEL , SCB_NONE ); + status->set_sc( SL_KAAHI , SC_KAAHI , SCB_NONE ); + status->set_sc( SL_KAUPE , SC_KAUPE , SCB_NONE ); + status->set_sc( SL_KAITE , SC_KAITE , SCB_NONE ); add_sc( SL_STUN , SC_STUN ); - status->set_sc( SL_SWOO , SC_SWOO , SI_BLANK , SCB_SPEED ); - status->set_sc( SL_SKE , SC_SKE , SI_BLANK , SCB_BATK|SCB_WATK|SCB_DEF|SCB_DEF2 ); - status->set_sc( SL_SKA , SC_SKA , SI_BLANK , SCB_DEF|SCB_MDEF|SCB_ASPD ); - status->set_sc( SL_SMA , SC_SMA_READY , SI_SMA_READY , SCB_NONE ); - status->set_sc( SM_SELFPROVOKE , SC_PROVOKE , SI_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK ); - status->set_sc( ST_PRESERVE , SC_PRESERVE , SI_PRESERVE , SCB_NONE ); - status->set_sc( PF_DOUBLECASTING , SC_DOUBLECASTING , SI_DOUBLECASTING , SCB_NONE ); - status->set_sc( HW_GRAVITATION , SC_GRAVITATION , SI_BLANK , SCB_ASPD ); + status->set_sc( SL_SWOO , SC_SWOO , SCB_SPEED ); + status->set_sc( SL_SKE , SC_SKE , SCB_BATK|SCB_WATK|SCB_DEF|SCB_DEF2 ); + status->set_sc( SL_SKA , SC_SKA , SCB_DEF|SCB_MDEF|SCB_ASPD ); + status->set_sc( SL_SMA , SC_SMA_READY , SCB_NONE ); + status->set_sc( SM_SELFPROVOKE , SC_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK ); + status->set_sc( ST_PRESERVE , SC_PRESERVE , SCB_NONE ); + status->set_sc( PF_DOUBLECASTING , SC_DOUBLECASTING , SCB_NONE ); + status->set_sc( HW_GRAVITATION , SC_GRAVITATION , SCB_ASPD ); add_sc( WS_CARTTERMINATION , SC_STUN ); - status->set_sc( WS_OVERTHRUSTMAX , SC_OVERTHRUSTMAX , SI_OVERTHRUSTMAX , SCB_NONE ); - status->set_sc( CG_LONGINGFREEDOM , SC_LONGING , SI_BLANK , SCB_SPEED|SCB_ASPD ); + status->set_sc( WS_OVERTHRUSTMAX , SC_OVERTHRUSTMAX , SCB_NONE ); + status->set_sc( CG_LONGINGFREEDOM , SC_LONGING , SCB_SPEED|SCB_ASPD ); add_sc( CG_HERMODE , SC_HERMODE ); - status->set_sc( CG_TAROTCARD , SC_TAROTCARD , SI_TAROTCARD , SCB_NONE ); - status->set_sc( ITEM_ENCHANTARMS , SC_ENCHANTARMS , SI_BLANK , SCB_ATK_ELE ); - status->set_sc( SL_HIGH , SC_SOULLINK , SI_SOULLINK , SCB_ALL ); - status->set_sc( KN_ONEHAND , SC_ONEHANDQUICKEN , SI_ONEHANDQUICKEN , SCB_ASPD ); - status->set_sc( GS_FLING , SC_FLING , SI_BLANK , SCB_DEF|SCB_DEF2 ); + status->set_sc( CG_TAROTCARD , SC_TAROTCARD , SCB_NONE ); + status->set_sc( ITEM_ENCHANTARMS , SC_ENCHANTARMS , SCB_ATK_ELE ); + status->set_sc( SL_HIGH , SC_SOULLINK , SCB_ALL ); + status->set_sc( KN_ONEHAND , SC_ONEHANDQUICKEN , SCB_ASPD ); + status->set_sc( GS_FLING , SC_FLING , SCB_DEF|SCB_DEF2 ); add_sc( GS_CRACKER , SC_STUN ); add_sc( GS_DISARM , SC_NOEQUIPWEAPON ); add_sc( GS_PIERCINGSHOT , SC_BLOODING ); - status->set_sc( GS_MADNESSCANCEL , SC_GS_MADNESSCANCEL , SI_GS_MADNESSCANCEL , SCB_ASPD + status->set_sc( GS_MADNESSCANCEL , SC_GS_MADNESSCANCEL , SCB_ASPD #ifndef RENEWAL |SCB_BATK ); #else ); #endif - status->set_sc( GS_ADJUSTMENT , SC_GS_ADJUSTMENT , SI_GS_ADJUSTMENT , SCB_HIT|SCB_FLEE ); - status->set_sc( GS_INCREASING , SC_GS_ACCURACY , SI_GS_ACCURACY , SCB_AGI|SCB_DEX|SCB_HIT ); - status->set_sc( GS_GATLINGFEVER , SC_GS_GATLINGFEVER , SI_GS_GATLINGFEVER , SCB_FLEE|SCB_SPEED|SCB_ASPD + status->set_sc( GS_ADJUSTMENT , SC_GS_ADJUSTMENT , SCB_HIT|SCB_FLEE ); + status->set_sc( GS_INCREASING , SC_GS_ACCURACY , SCB_AGI|SCB_DEX|SCB_HIT ); + status->set_sc( GS_GATLINGFEVER , SC_GS_GATLINGFEVER , SCB_FLEE|SCB_SPEED|SCB_ASPD #ifndef RENEWAL |SCB_BATK ); #else ); #endif - status->set_sc( NJ_TATAMIGAESHI , SC_NJ_TATAMIGAESHI , SI_BLANK , SCB_NONE ); - status->set_sc( NJ_SUITON , SC_NJ_SUITON , SI_NJ_SUITON , SCB_AGI|SCB_SPEED ); + status->set_sc( NJ_TATAMIGAESHI , SC_NJ_TATAMIGAESHI , SCB_NONE ); + status->set_sc( NJ_SUITON , SC_NJ_SUITON , SCB_AGI|SCB_SPEED ); add_sc( NJ_HYOUSYOURAKU , SC_FREEZE ); - status->set_sc( NJ_NEN , SC_NJ_NEN , SI_NJ_NEN , SCB_STR|SCB_INT ); - status->set_sc( NJ_UTSUSEMI , SC_NJ_UTSUSEMI , SI_NJ_UTSUSEMI , SCB_NONE ); - status->set_sc( NJ_BUNSINJYUTSU , SC_NJ_BUNSINJYUTSU , SI_NJ_BUNSINJYUTSU , SCB_DYE ); + status->set_sc( NJ_NEN , SC_NJ_NEN , SCB_STR|SCB_INT ); + status->set_sc( NJ_UTSUSEMI , SC_NJ_UTSUSEMI , SCB_NONE ); + status->set_sc( NJ_BUNSINJYUTSU , SC_NJ_BUNSINJYUTSU , SCB_DYE ); add_sc( NPC_ICEBREATH , SC_FREEZE ); add_sc( NPC_ACIDBREATH , SC_POISON ); @@ -456,202 +460,202 @@ static void initChangeTables(void) add_sc( NPC_WIDESIGHT , SC_SIGHT ); add_sc( NPC_EVILLAND , SC_BLIND ); add_sc( NPC_MAGICMIRROR , SC_MAGICMIRROR ); - status->set_sc( NPC_SLOWCAST , SC_SLOWCAST , SI_SLOWCAST , SCB_NONE ); - status->set_sc( NPC_CRITICALWOUND , SC_CRITICALWOUND , SI_CRITICALWOUND , SCB_NONE ); - status->set_sc( NPC_STONESKIN , SC_STONESKIN , SI_BLANK , SCB_DEF|SCB_MDEF ); + status->set_sc( NPC_SLOWCAST , SC_SLOWCAST , SCB_NONE ); + status->set_sc( NPC_CRITICALWOUND , SC_CRITICALWOUND , SCB_NONE ); + status->set_sc( NPC_STONESKIN , SC_STONESKIN , SCB_DEF|SCB_MDEF ); add_sc( NPC_ANTIMAGIC , SC_STONESKIN ); add_sc( NPC_WIDECURSE , SC_CURSE ); add_sc( NPC_WIDESTUN , SC_STUN ); - status->set_sc( NPC_HELLPOWER , SC_HELLPOWER , SI_HELLPOWER , SCB_NONE ); - status->set_sc( NPC_WIDEHELLDIGNITY , SC_HELLPOWER , SI_HELLPOWER , SCB_NONE ); - status->set_sc( NPC_INVINCIBLE , SC_INVINCIBLE , SI_INVINCIBLE , SCB_SPEED ); - status->set_sc( NPC_INVINCIBLEOFF , SC_INVINCIBLEOFF , SI_BLANK , SCB_SPEED ); + status->set_sc( NPC_HELLPOWER , SC_HELLPOWER , SCB_NONE ); + status->set_sc( NPC_WIDEHELLDIGNITY , SC_HELLPOWER , SCB_NONE ); + status->set_sc( NPC_INVINCIBLE , SC_INVINCIBLE , SCB_SPEED ); + status->set_sc( NPC_INVINCIBLEOFF , SC_INVINCIBLEOFF , SCB_SPEED ); - status->set_sc( CASH_BLESSING , SC_BLESSING , SI_BLESSING , SCB_STR|SCB_INT|SCB_DEX ); - status->set_sc( CASH_INCAGI , SC_INC_AGI , SI_INC_AGI , SCB_AGI|SCB_SPEED ); - status->set_sc( CASH_ASSUMPTIO , SC_ASSUMPTIO , SI_ASSUMPTIO , SCB_NONE ); + status->set_sc( CASH_BLESSING , SC_BLESSING , SCB_STR|SCB_INT|SCB_DEX ); + status->set_sc( CASH_INCAGI , SC_INC_AGI , SCB_AGI|SCB_SPEED ); + status->set_sc( CASH_ASSUMPTIO , SC_ASSUMPTIO , SCB_NONE ); - status->set_sc( ALL_PARTYFLEE , SC_PARTYFLEE , SI_PARTYFLEE , SCB_NONE ); - status->set_sc( ALL_ODINS_POWER , SC_ODINS_POWER , SI_ODINS_POWER , SCB_WATK | SCB_MATK | SCB_MDEF | SCB_DEF); + status->set_sc( ALL_PARTYFLEE , SC_PARTYFLEE , SCB_NONE ); + status->set_sc( ALL_ODINS_POWER , SC_ODINS_POWER , SCB_WATK | SCB_MATK | SCB_MDEF | SCB_DEF); - status->set_sc( CR_SHRINK , SC_CR_SHRINK , SI_CR_SHRINK , SCB_NONE ); - status->set_sc( RG_CLOSECONFINE , SC_RG_CCONFINE_S , SI_RG_CCONFINE_S , SCB_NONE ); - status->set_sc( RG_CLOSECONFINE , SC_RG_CCONFINE_M , SI_RG_CCONFINE_M , SCB_FLEE ); - status->set_sc( WZ_SIGHTBLASTER , SC_WZ_SIGHTBLASTER , SI_WZ_SIGHTBLASTER , SCB_NONE ); - status->set_sc( DC_WINKCHARM , SC_DC_WINKCHARM , SI_DC_WINKCHARM , SCB_NONE ); + status->set_sc( CR_SHRINK , SC_CR_SHRINK , SCB_NONE ); + status->set_sc( RG_CLOSECONFINE , SC_RG_CCONFINE_S , SCB_NONE ); + status->set_sc( RG_CLOSECONFINE , SC_RG_CCONFINE_M , SCB_FLEE ); + status->set_sc( WZ_SIGHTBLASTER , SC_WZ_SIGHTBLASTER , SCB_NONE ); + status->set_sc( DC_WINKCHARM , SC_DC_WINKCHARM , SCB_NONE ); add_sc( MO_BALKYOUNG , SC_STUN ); add_sc( SA_ELEMENTWATER , SC_ARMOR_PROPERTY ); add_sc( SA_ELEMENTFIRE , SC_ARMOR_PROPERTY ); add_sc( SA_ELEMENTGROUND , SC_ARMOR_PROPERTY ); add_sc( SA_ELEMENTWIND , SC_ARMOR_PROPERTY ); - status->set_sc( HLIF_AVOID , SC_HLIF_AVOID , SI_BLANK , SCB_SPEED ); - status->set_sc( HLIF_CHANGE , SC_HLIF_CHANGE , SI_BLANK , SCB_VIT|SCB_INT ); - status->set_sc( HFLI_FLEET , SC_HLIF_FLEET , SI_BLANK , SCB_ASPD|SCB_BATK|SCB_WATK ); - status->set_sc( HFLI_SPEED , SC_HLIF_SPEED , SI_BLANK , SCB_FLEE ); - status->set_sc( HAMI_DEFENCE , SC_HAMI_DEFENCE , SI_BLANK , SCB_DEF ); - status->set_sc( HAMI_BLOODLUST , SC_HAMI_BLOODLUST , SI_BLANK , SCB_BATK|SCB_WATK ); + status->set_sc( HLIF_AVOID , SC_HLIF_AVOID , SCB_SPEED ); + status->set_sc( HLIF_CHANGE , SC_HLIF_CHANGE , SCB_VIT|SCB_INT ); + status->set_sc( HFLI_FLEET , SC_HLIF_FLEET , SCB_ASPD|SCB_BATK|SCB_WATK ); + status->set_sc( HFLI_SPEED , SC_HLIF_SPEED , SCB_FLEE ); + status->set_sc( HAMI_DEFENCE , SC_HAMI_DEFENCE , SCB_DEF ); + status->set_sc( HAMI_BLOODLUST , SC_HAMI_BLOODLUST , SCB_BATK|SCB_WATK ); // Homunculus S - status->set_sc( MH_LIGHT_OF_REGENE , SC_LIGHT_OF_REGENE , SI_LIGHT_OF_REGENE , SCB_NONE ); - status->set_sc( MH_OVERED_BOOST , SC_OVERED_BOOST , SI_OVERED_BOOST , SCB_FLEE|SCB_ASPD|SCB_DEF ); + status->set_sc( MH_LIGHT_OF_REGENE , SC_LIGHT_OF_REGENE , SCB_NONE ); + status->set_sc( MH_OVERED_BOOST , SC_OVERED_BOOST , SCB_FLEE|SCB_ASPD|SCB_DEF ); add_sc(MH_STAHL_HORN, SC_STUN); - status->set_sc(MH_ANGRIFFS_MODUS, SC_ANGRIFFS_MODUS, SI_ANGRIFFS_MODUS, SCB_BATK | SCB_DEF | SCB_FLEE | SCB_MAXHP); - status->set_sc(MH_GOLDENE_FERSE, SC_GOLDENE_FERSE, SI_GOLDENE_FERSE, SCB_ASPD|SCB_MAXHP); + status->set_sc(MH_ANGRIFFS_MODUS, SC_ANGRIFFS_MODUS, SCB_BATK | SCB_DEF | SCB_FLEE | SCB_MAXHP); + status->set_sc(MH_GOLDENE_FERSE, SC_GOLDENE_FERSE, SCB_ASPD|SCB_MAXHP); add_sc( MH_STEINWAND, SC_SAFETYWALL ); - status->set_sc(MH_VOLCANIC_ASH, SC_VOLCANIC_ASH, SI_VOLCANIC_ASH, SCB_DEF|SCB_DEF2|SCB_HIT|SCB_BATK|SCB_FLEE); - status->set_sc(MH_GRANITIC_ARMOR, SC_GRANITIC_ARMOR, SI_GRANITIC_ARMOR, SCB_NONE); - status->set_sc(MH_MAGMA_FLOW, SC_MAGMA_FLOW, SI_MAGMA_FLOW, SCB_NONE); - status->set_sc(MH_PYROCLASTIC, SC_PYROCLASTIC, SI_PYROCLASTIC, SCB_BATK|SCB_ATK_ELE); + status->set_sc(MH_VOLCANIC_ASH, SC_VOLCANIC_ASH, SCB_DEF|SCB_DEF2|SCB_HIT|SCB_BATK|SCB_FLEE); + status->set_sc(MH_GRANITIC_ARMOR, SC_GRANITIC_ARMOR, SCB_NONE); + status->set_sc(MH_MAGMA_FLOW, SC_MAGMA_FLOW, SCB_NONE); + status->set_sc(MH_PYROCLASTIC, SC_PYROCLASTIC, SCB_BATK|SCB_ATK_ELE); add_sc(MH_LAVA_SLIDE, SC_BURNING); - status->set_sc(MH_NEEDLE_OF_PARALYZE, SC_NEEDLE_OF_PARALYZE, SI_NEEDLE_OF_PARALYZE, SCB_DEF2); + status->set_sc(MH_NEEDLE_OF_PARALYZE, SC_NEEDLE_OF_PARALYZE, SCB_DEF2); add_sc(MH_POISON_MIST, SC_BLIND); - status->set_sc(MH_PAIN_KILLER, SC_PAIN_KILLER, SI_PAIN_KILLER, SCB_ASPD); + status->set_sc(MH_PAIN_KILLER, SC_PAIN_KILLER, SCB_ASPD); - status->set_sc( MH_SILENT_BREEZE , SC_SILENCE , SI_SILENT_BREEZE , SCB_NONE ); + status->set_sc( MH_SILENT_BREEZE , SC_SILENCE , SCB_NONE ); add_sc( MH_STYLE_CHANGE , SC_STYLE_CHANGE); - status->set_sc( MH_TINDER_BREAKER , SC_RG_CCONFINE_S , SI_RG_CCONFINE_S , SCB_NONE ); - status->set_sc( MH_TINDER_BREAKER , SC_RG_CCONFINE_M , SI_RG_CCONFINE_M , SCB_FLEE ); + status->set_sc( MH_TINDER_BREAKER , SC_RG_CCONFINE_S , SCB_NONE ); + status->set_sc( MH_TINDER_BREAKER , SC_RG_CCONFINE_M , SCB_FLEE ); add_sc( MER_CRASH , SC_STUN ); - status->set_sc( MER_PROVOKE , SC_PROVOKE , SI_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK ); + status->set_sc( MER_PROVOKE , SC_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK ); add_sc( MS_MAGNUM , SC_SUB_WEAPONPROPERTY ); add_sc( MER_SIGHT , SC_SIGHT ); - status->set_sc( MER_DECAGI , SC_DEC_AGI , SI_DEC_AGI , SCB_AGI|SCB_SPEED ); - status->set_sc( MER_MAGNIFICAT , SC_MAGNIFICAT , SI_MAGNIFICAT , SCB_REGEN ); + status->set_sc( MER_DECAGI , SC_DEC_AGI , SCB_AGI|SCB_SPEED ); + status->set_sc( MER_MAGNIFICAT , SC_MAGNIFICAT , SCB_REGEN ); add_sc( MER_LEXDIVINA , SC_SILENCE ); add_sc( MA_LANDMINE , SC_STUN ); add_sc( MA_SANDMAN , SC_SLEEP ); add_sc( MA_FREEZINGTRAP , SC_FREEZE ); - status->set_sc( MER_AUTOBERSERK , SC_AUTOBERSERK , SI_AUTOBERSERK , SCB_NONE ); - status->set_sc( ML_AUTOGUARD , SC_AUTOGUARD , SI_AUTOGUARD , SCB_NONE ); - status->set_sc( MS_REFLECTSHIELD , SC_REFLECTSHIELD , SI_REFLECTSHIELD , SCB_NONE ); - status->set_sc( ML_DEFENDER , SC_DEFENDER , SI_DEFENDER , SCB_SPEED|SCB_ASPD ); - status->set_sc( MS_PARRYING , SC_PARRYING , SI_PARRYING , SCB_NONE ); - status->set_sc( MS_BERSERK , SC_BERSERK , SI_BERSERK , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2|SCB_FLEE|SCB_SPEED|SCB_ASPD|SCB_MAXHP|SCB_REGEN ); + status->set_sc( MER_AUTOBERSERK , SC_AUTOBERSERK , SCB_NONE ); + status->set_sc( ML_AUTOGUARD , SC_AUTOGUARD , SCB_NONE ); + status->set_sc( MS_REFLECTSHIELD , SC_REFLECTSHIELD , SCB_NONE ); + status->set_sc( ML_DEFENDER , SC_DEFENDER , SCB_SPEED|SCB_ASPD ); + status->set_sc( MS_PARRYING , SC_PARRYING , SCB_NONE ); + status->set_sc( MS_BERSERK , SC_BERSERK , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2|SCB_FLEE|SCB_SPEED|SCB_ASPD|SCB_MAXHP|SCB_REGEN ); add_sc( ML_SPIRALPIERCE , SC_STOP ); - status->set_sc( MER_QUICKEN , SC_MER_QUICKEN , SI_BLANK , SCB_ASPD ); + status->set_sc( MER_QUICKEN , SC_MER_QUICKEN , SCB_ASPD ); add_sc( ML_DEVOTION , SC_DEVOTION ); - status->set_sc( MER_KYRIE , SC_KYRIE , SI_KYRIE , SCB_NONE ); - status->set_sc( MER_BLESSING , SC_BLESSING , SI_BLESSING , SCB_STR|SCB_INT|SCB_DEX ); - status->set_sc( MER_INCAGI , SC_INC_AGI , SI_INC_AGI , SCB_AGI|SCB_SPEED ); + status->set_sc( MER_KYRIE , SC_KYRIE , SCB_NONE ); + status->set_sc( MER_BLESSING , SC_BLESSING , SCB_STR|SCB_INT|SCB_DEX ); + status->set_sc( MER_INCAGI , SC_INC_AGI , SCB_AGI|SCB_SPEED ); - status->set_sc( GD_LEADERSHIP , SC_LEADERSHIP , SI_BLANK , SCB_STR ); - status->set_sc( GD_GLORYWOUNDS , SC_GLORYWOUNDS , SI_BLANK , SCB_VIT ); - status->set_sc( GD_SOULCOLD , SC_SOULCOLD , SI_BLANK , SCB_AGI ); - status->set_sc( GD_HAWKEYES , SC_HAWKEYES , SI_BLANK , SCB_DEX ); + status->set_sc( GD_LEADERSHIP , SC_LEADERSHIP , SCB_STR ); + status->set_sc( GD_GLORYWOUNDS , SC_GLORYWOUNDS , SCB_VIT ); + status->set_sc( GD_SOULCOLD , SC_SOULCOLD , SCB_AGI ); + status->set_sc( GD_HAWKEYES , SC_HAWKEYES , SCB_DEX ); - status->set_sc( GD_BATTLEORDER , SC_GDSKILL_BATTLEORDER , SI_BLANK , SCB_STR|SCB_INT|SCB_DEX ); - status->set_sc( GD_REGENERATION , SC_GDSKILL_REGENERATION , SI_BLANK , SCB_REGEN ); + status->set_sc( GD_BATTLEORDER , SC_GDSKILL_BATTLEORDER , SCB_STR|SCB_INT|SCB_DEX ); + status->set_sc( GD_REGENERATION , SC_GDSKILL_REGENERATION , SCB_REGEN ); /** * Rune Knight **/ - status->set_sc( RK_ENCHANTBLADE , SC_ENCHANTBLADE , SI_ENCHANTBLADE , SCB_NONE ); - status->set_sc( RK_DRAGONHOWLING , SC_FEAR , SI_BLANK , SCB_FLEE|SCB_HIT ); - status->set_sc( RK_DEATHBOUND , SC_DEATHBOUND , SI_DEATHBOUND , SCB_NONE ); - status->set_sc( RK_WINDCUTTER , SC_FEAR , SI_BLANK , SCB_FLEE|SCB_HIT ); + status->set_sc( RK_ENCHANTBLADE , SC_ENCHANTBLADE , SCB_NONE ); + status->set_sc( RK_DRAGONHOWLING , SC_FEAR , SCB_FLEE|SCB_HIT ); + status->set_sc( RK_DEATHBOUND , SC_DEATHBOUND , SCB_NONE ); + status->set_sc( RK_WINDCUTTER , SC_FEAR , SCB_FLEE|SCB_HIT ); add_sc( RK_DRAGONBREATH , SC_BURNING ); - status->set_sc( RK_MILLENNIUMSHIELD , SC_MILLENNIUMSHIELD , SI_BLANK , SCB_NONE ); - status->set_sc( RK_REFRESH , SC_REFRESH , SI_REFRESH , SCB_NONE ); - status->set_sc( RK_GIANTGROWTH , SC_GIANTGROWTH , SI_GIANTGROWTH , SCB_STR ); - status->set_sc( RK_STONEHARDSKIN , SC_STONEHARDSKIN , SI_STONEHARDSKIN , SCB_NONE ); - status->set_sc( RK_VITALITYACTIVATION, SC_VITALITYACTIVATION, SI_VITALITYACTIVATION, SCB_REGEN ); - status->set_sc( RK_FIGHTINGSPIRIT , SC_FIGHTINGSPIRIT , SI_FIGHTINGSPIRIT , SCB_WATK|SCB_ASPD ); - status->set_sc( RK_ABUNDANCE , SC_ABUNDANCE , SI_ABUNDANCE , SCB_NONE ); - status->set_sc( RK_CRUSHSTRIKE , SC_CRUSHSTRIKE , SI_CRUSHSTRIKE , SCB_NONE ); + status->set_sc( RK_MILLENNIUMSHIELD , SC_MILLENNIUMSHIELD , SCB_NONE ); + status->set_sc( RK_REFRESH , SC_REFRESH , SCB_NONE ); + status->set_sc( RK_GIANTGROWTH , SC_GIANTGROWTH , SCB_STR ); + status->set_sc( RK_STONEHARDSKIN , SC_STONEHARDSKIN , SCB_NONE ); + status->set_sc( RK_VITALITYACTIVATION, SC_VITALITYACTIVATION, SCB_REGEN ); + status->set_sc( RK_FIGHTINGSPIRIT , SC_FIGHTINGSPIRIT , SCB_WATK|SCB_ASPD ); + status->set_sc( RK_ABUNDANCE , SC_ABUNDANCE , SCB_NONE ); + status->set_sc( RK_CRUSHSTRIKE , SC_CRUSHSTRIKE , SCB_NONE ); add_sc( RK_DRAGONBREATH_WATER, SC_FROSTMISTY ); /** * GC Guillotine Cross **/ - set_sc_with_vfx( GC_VENOMIMPRESS , SC_VENOMIMPRESS , SI_VENOMIMPRESS , SCB_NONE ); - status->set_sc( GC_POISONINGWEAPON , SC_POISONINGWEAPON , SI_POISONINGWEAPON , SCB_NONE ); - status->set_sc( GC_WEAPONBLOCKING , SC_WEAPONBLOCKING , SI_WEAPONBLOCKING , SCB_NONE ); - status->set_sc( GC_CLOAKINGEXCEED , SC_CLOAKINGEXCEED , SI_CLOAKINGEXCEED , SCB_SPEED ); - status->set_sc( GC_HALLUCINATIONWALK , SC_HALLUCINATIONWALK, SI_HALLUCINATIONWALK, SCB_FLEE ); - status->set_sc( GC_ROLLINGCUTTER , SC_ROLLINGCUTTER , SI_ROLLINGCUTTER , SCB_NONE ); - set_sc_with_vfx( GC_DARKCROW , SC_DARKCROW , SI_DARKCROW , SCB_NONE ); + set_sc_with_vfx( GC_VENOMIMPRESS , SC_VENOMIMPRESS , SCB_NONE ); + status->set_sc( GC_POISONINGWEAPON , SC_POISONINGWEAPON , SCB_NONE ); + status->set_sc( GC_WEAPONBLOCKING , SC_WEAPONBLOCKING , SCB_NONE ); + status->set_sc( GC_CLOAKINGEXCEED , SC_CLOAKINGEXCEED , SCB_SPEED ); + status->set_sc( GC_HALLUCINATIONWALK , SC_HALLUCINATIONWALK, SCB_FLEE ); + status->set_sc( GC_ROLLINGCUTTER , SC_ROLLINGCUTTER , SCB_NONE ); + set_sc_with_vfx( GC_DARKCROW , SC_DARKCROW , SCB_NONE ); /** * Arch Bishop **/ - status->set_sc( AB_ADORAMUS , SC_ADORAMUS , SI_ADORAMUS , SCB_AGI|SCB_SPEED ); + status->set_sc( AB_ADORAMUS , SC_ADORAMUS , SCB_AGI|SCB_SPEED ); add_sc( AB_CLEMENTIA , SC_BLESSING ); add_sc( AB_CANTO , SC_INC_AGI ); - status->set_sc( AB_EPICLESIS , SC_EPICLESIS , SI_EPICLESIS , SCB_MAXHP ); + status->set_sc( AB_EPICLESIS , SC_EPICLESIS , SCB_MAXHP ); add_sc( AB_PRAEFATIO , SC_KYRIE ); - set_sc_with_vfx( AB_ORATIO , SC_ORATIO , SI_ORATIO , SCB_NONE ); - status->set_sc( AB_LAUDAAGNUS , SC_LAUDAAGNUS , SI_LAUDAAGNUS , SCB_VIT ); - status->set_sc( AB_LAUDARAMUS , SC_LAUDARAMUS , SI_LAUDARAMUS , SCB_LUK ); - status->set_sc( AB_RENOVATIO , SC_RENOVATIO , SI_RENOVATIO , SCB_REGEN ); - status->set_sc( AB_EXPIATIO , SC_EXPIATIO , SI_EXPIATIO , SCB_ATK_ELE ); - status->set_sc( AB_DUPLELIGHT , SC_DUPLELIGHT , SI_DUPLELIGHT , SCB_NONE ); - status->set_sc( AB_SECRAMENT , SC_SECRAMENT , SI_SECRAMENT , SCB_NONE ); - status->set_sc( AB_OFFERTORIUM , SC_OFFERTORIUM , SI_OFFERTORIUM , SCB_NONE ); + set_sc_with_vfx( AB_ORATIO , SC_ORATIO , SCB_NONE ); + status->set_sc( AB_LAUDAAGNUS , SC_LAUDAAGNUS , SCB_VIT ); + status->set_sc( AB_LAUDARAMUS , SC_LAUDARAMUS , SCB_LUK ); + status->set_sc( AB_RENOVATIO , SC_RENOVATIO , SCB_REGEN ); + status->set_sc( AB_EXPIATIO , SC_EXPIATIO , SCB_ATK_ELE ); + status->set_sc( AB_DUPLELIGHT , SC_DUPLELIGHT , SCB_NONE ); + status->set_sc( AB_SECRAMENT , SC_SECRAMENT , SCB_NONE ); + status->set_sc( AB_OFFERTORIUM , SC_OFFERTORIUM , SCB_NONE ); /** * Warlock **/ add_sc( WL_WHITEIMPRISON , SC_WHITEIMPRISON ); - set_sc_with_vfx( WL_FROSTMISTY , SC_FROSTMISTY , SI_FROSTMISTY , SCB_ASPD|SCB_SPEED|SCB_DEF ); - status->set_sc( WL_MARSHOFABYSS , SC_MARSHOFABYSS , SI_MARSHOFABYSS , SCB_SPEED|SCB_FLEE|SCB_AGI|SCB_DEX ); - status->set_sc(WL_RECOGNIZEDSPELL , SC_RECOGNIZEDSPELL , SI_RECOGNIZEDSPELL , SCB_MATK); - status->set_sc( WL_STASIS , SC_STASIS , SI_STASIS , SCB_NONE ); - status->set_sc( WL_TELEKINESIS_INTENSE, SC_TELEKINESIS_INTENSE , SI_TELEKINESIS_INTENSE , SCB_MATK ); + set_sc_with_vfx( WL_FROSTMISTY , SC_FROSTMISTY , SCB_ASPD|SCB_SPEED|SCB_DEF ); + status->set_sc( WL_MARSHOFABYSS , SC_MARSHOFABYSS , SCB_SPEED|SCB_FLEE|SCB_AGI|SCB_DEX ); + status->set_sc(WL_RECOGNIZEDSPELL , SC_RECOGNIZEDSPELL , SCB_MATK); + status->set_sc( WL_STASIS , SC_STASIS , SCB_NONE ); + status->set_sc( WL_TELEKINESIS_INTENSE, SC_TELEKINESIS_INTENSE , SCB_MATK ); /** * Ranger **/ - status->set_sc( RA_FEARBREEZE , SC_FEARBREEZE , SI_FEARBREEZE , SCB_NONE ); - status->set_sc( RA_ELECTRICSHOCKER , SC_ELECTRICSHOCKER , SI_ELECTRICSHOCKER , SCB_NONE ); - status->set_sc( RA_WUGDASH , SC_WUGDASH , SI_WUGDASH , SCB_SPEED ); - status->set_sc( RA_CAMOUFLAGE , SC_CAMOUFLAGE , SI_CAMOUFLAGE , SCB_SPEED ); + status->set_sc( RA_FEARBREEZE , SC_FEARBREEZE , SCB_NONE ); + status->set_sc( RA_ELECTRICSHOCKER , SC_ELECTRICSHOCKER , SCB_NONE ); + status->set_sc( RA_WUGDASH , SC_WUGDASH , SCB_SPEED ); + status->set_sc( RA_CAMOUFLAGE , SC_CAMOUFLAGE , SCB_SPEED ); add_sc( RA_MAGENTATRAP , SC_ARMOR_PROPERTY ); add_sc( RA_COBALTTRAP , SC_ARMOR_PROPERTY ); add_sc( RA_MAIZETRAP , SC_ARMOR_PROPERTY ); add_sc( RA_VERDURETRAP , SC_ARMOR_PROPERTY ); add_sc( RA_FIRINGTRAP , SC_BURNING ); add_sc( RA_ICEBOUNDTRAP , SC_FROSTMISTY ); - status->set_sc( RA_UNLIMIT , SC_UNLIMIT , SI_UNLIMIT , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2 ); + status->set_sc( RA_UNLIMIT , SC_UNLIMIT , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2 ); /** * Mechanic **/ - status->set_sc( NC_ACCELERATION , SC_ACCELERATION , SI_ACCELERATION , SCB_SPEED ); - status->set_sc( NC_HOVERING , SC_HOVERING , SI_HOVERING , SCB_SPEED ); - status->set_sc( NC_SHAPESHIFT , SC_SHAPESHIFT , SI_SHAPESHIFT , SCB_DEF_ELE ); - status->set_sc( NC_INFRAREDSCAN , SC_INFRAREDSCAN , SI_INFRAREDSCAN , SCB_FLEE ); - status->set_sc( NC_ANALYZE , SC_ANALYZE , SI_ANALYZE , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2 ); - status->set_sc( NC_MAGNETICFIELD , SC_MAGNETICFIELD , SI_MAGNETICFIELD , SCB_NONE ); - status->set_sc( NC_NEUTRALBARRIER , SC_NEUTRALBARRIER , SI_NEUTRALBARRIER , SCB_DEF|SCB_MDEF ); - status->set_sc( NC_STEALTHFIELD , SC_STEALTHFIELD , SI_STEALTHFIELD , SCB_NONE ); + status->set_sc( NC_ACCELERATION , SC_ACCELERATION , SCB_SPEED ); + status->set_sc( NC_HOVERING , SC_HOVERING , SCB_SPEED ); + status->set_sc( NC_SHAPESHIFT , SC_SHAPESHIFT , SCB_DEF_ELE ); + status->set_sc( NC_INFRAREDSCAN , SC_INFRAREDSCAN , SCB_FLEE ); + status->set_sc( NC_ANALYZE , SC_ANALYZE , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2 ); + status->set_sc( NC_MAGNETICFIELD , SC_MAGNETICFIELD , SCB_NONE ); + status->set_sc( NC_NEUTRALBARRIER , SC_NEUTRALBARRIER , SCB_DEF|SCB_MDEF ); + status->set_sc( NC_STEALTHFIELD , SC_STEALTHFIELD , SCB_NONE ); /** * Royal Guard **/ - status->set_sc( LG_REFLECTDAMAGE , SC_LG_REFLECTDAMAGE , SI_LG_REFLECTDAMAGE, SCB_NONE ); - status->set_sc( LG_FORCEOFVANGUARD , SC_FORCEOFVANGUARD , SI_FORCEOFVANGUARD , SCB_MAXHP ); - status->set_sc( LG_EXEEDBREAK , SC_EXEEDBREAK , SI_EXEEDBREAK , SCB_NONE ); - status->set_sc( LG_PRESTIGE , SC_PRESTIGE , SI_PRESTIGE , SCB_DEF ); - status->set_sc( LG_BANDING , SC_BANDING , SI_BANDING , SCB_DEF2|SCB_WATK );// Renewal: atk2 & def2 - status->set_sc( LG_PIETY , SC_BENEDICTIO , SI_BENEDICTIO , SCB_DEF_ELE ); - status->set_sc( LG_EARTHDRIVE , SC_EARTHDRIVE , SI_EARTHDRIVE , SCB_DEF|SCB_ASPD ); - status->set_sc( LG_INSPIRATION , SC_INSPIRATION , SI_INSPIRATION , SCB_MAXHP|SCB_WATK|SCB_HIT|SCB_VIT|SCB_AGI|SCB_STR|SCB_DEX|SCB_INT|SCB_LUK); - status->set_sc( LG_KINGS_GRACE , SC_KINGS_GRACE , SI_KINGS_GRACE , SCB_NONE ); + status->set_sc( LG_REFLECTDAMAGE , SC_LG_REFLECTDAMAGE , SCB_NONE ); + status->set_sc( LG_FORCEOFVANGUARD , SC_FORCEOFVANGUARD , SCB_MAXHP ); + status->set_sc( LG_EXEEDBREAK , SC_EXEEDBREAK , SCB_NONE ); + status->set_sc( LG_PRESTIGE , SC_PRESTIGE , SCB_DEF ); + status->set_sc( LG_BANDING , SC_BANDING , SCB_DEF2|SCB_WATK );// Renewal: atk2 & def2 + status->set_sc( LG_PIETY , SC_BENEDICTIO , SCB_DEF_ELE ); + status->set_sc( LG_EARTHDRIVE , SC_EARTHDRIVE , SCB_DEF|SCB_ASPD ); + status->set_sc( LG_INSPIRATION , SC_INSPIRATION , SCB_MAXHP|SCB_WATK|SCB_HIT|SCB_VIT|SCB_AGI|SCB_STR|SCB_DEX|SCB_INT|SCB_LUK); + status->set_sc( LG_KINGS_GRACE , SC_KINGS_GRACE , SCB_NONE ); /** * Shadow Chaser **/ - status->set_sc( SC_REPRODUCE , SC__REPRODUCE , SI_REPRODUCE , SCB_NONE ); - status->set_sc( SC_AUTOSHADOWSPELL , SC__AUTOSHADOWSPELL, SI_AUTOSHADOWSPELL , SCB_NONE ); - status->set_sc( SC_SHADOWFORM , SC__SHADOWFORM , SI_SHADOWFORM , SCB_NONE ); - status->set_sc( SC_BODYPAINT , SC__BODYPAINT , SI_BODYPAINT , SCB_ASPD ); - status->set_sc( SC_INVISIBILITY , SC__INVISIBILITY , SI_INVISIBILITY , SCB_ASPD|SCB_CRI|SCB_ATK_ELE ); - status->set_sc( SC_DEADLYINFECT , SC__DEADLYINFECT , SI_DEADLYINFECT , SCB_NONE ); - status->set_sc( SC_ENERVATION , SC__ENERVATION , SI_ENERVATION , SCB_BATK ); - status->set_sc( SC_GROOMY , SC__GROOMY , SI_GROOMY , SCB_ASPD|SCB_HIT|SCB_SPEED ); - status->set_sc( SC_IGNORANCE , SC__IGNORANCE , SI_IGNORANCE , SCB_NONE ); - status->set_sc( SC_LAZINESS , SC__LAZINESS , SI_LAZINESS , SCB_FLEE ); - status->set_sc( SC_UNLUCKY , SC__UNLUCKY , SI_UNLUCKY , SCB_CRI|SCB_FLEE2 ); - status->set_sc( SC_WEAKNESS , SC__WEAKNESS , SI_WEAKNESS , SCB_FLEE2|SCB_MAXHP ); - status->set_sc( SC_STRIPACCESSARY , SC__STRIPACCESSARY , SI_STRIPACCESSARY , SCB_DEX|SCB_INT|SCB_LUK ); - set_sc_with_vfx( SC_MANHOLE , SC__MANHOLE , SI_MANHOLE , SCB_NONE ); + status->set_sc( SC_REPRODUCE , SC__REPRODUCE , SCB_NONE ); + status->set_sc( SC_AUTOSHADOWSPELL , SC__AUTOSHADOWSPELL, SCB_NONE ); + status->set_sc( SC_SHADOWFORM , SC__SHADOWFORM , SCB_NONE ); + status->set_sc( SC_BODYPAINT , SC__BODYPAINT , SCB_ASPD ); + status->set_sc( SC_INVISIBILITY , SC__INVISIBILITY , SCB_ASPD|SCB_CRI|SCB_ATK_ELE ); + status->set_sc( SC_DEADLYINFECT , SC__DEADLYINFECT , SCB_NONE ); + status->set_sc( SC_ENERVATION , SC__ENERVATION , SCB_BATK ); + status->set_sc( SC_GROOMY , SC__GROOMY , SCB_ASPD|SCB_HIT|SCB_SPEED ); + status->set_sc( SC_IGNORANCE , SC__IGNORANCE , SCB_NONE ); + status->set_sc( SC_LAZINESS , SC__LAZINESS , SCB_FLEE ); + status->set_sc( SC_UNLUCKY , SC__UNLUCKY , SCB_CRI|SCB_FLEE2 ); + status->set_sc( SC_WEAKNESS , SC__WEAKNESS , SCB_FLEE2|SCB_MAXHP ); + status->set_sc( SC_STRIPACCESSARY , SC__STRIPACCESSARY , SCB_DEX|SCB_INT|SCB_LUK ); + set_sc_with_vfx( SC_MANHOLE , SC__MANHOLE , SCB_NONE ); add_sc( SC_CHAOSPANIC , SC__CHAOS ); add_sc( SC_MAELSTROM , SC__MAELSTROM ); add_sc( SC_BLOODYLUST , SC_BERSERK ); @@ -661,131 +665,131 @@ static void initChangeTables(void) **/ add_sc( SR_DRAGONCOMBO , SC_STUN ); add_sc( SR_EARTHSHAKER , SC_STUN ); - status->set_sc( SR_FALLENEMPIRE , SC_FALLENEMPIRE , SI_FALLENEMPIRE , SCB_NONE ); - status->set_sc( SR_CRESCENTELBOW , SC_CRESCENTELBOW , SI_CRESCENTELBOW , SCB_NONE ); - set_sc_with_vfx( SR_CURSEDCIRCLE , SC_CURSEDCIRCLE_TARGET, SI_CURSEDCIRCLE_TARGET , SCB_NONE ); - status->set_sc( SR_LIGHTNINGWALK , SC_LIGHTNINGWALK , SI_LIGHTNINGWALK , SCB_NONE ); - status->set_sc( SR_RAISINGDRAGON , SC_RAISINGDRAGON , SI_RAISINGDRAGON , SCB_REGEN|SCB_MAXHP|SCB_MAXSP ); - status->set_sc( SR_GENTLETOUCH_ENERGYGAIN, SC_GENTLETOUCH_ENERGYGAIN , SI_GENTLETOUCH_ENERGYGAIN, SCB_NONE ); - status->set_sc( SR_GENTLETOUCH_CHANGE , SC_GENTLETOUCH_CHANGE , SI_GENTLETOUCH_CHANGE , SCB_ASPD|SCB_MDEF|SCB_MAXHP ); - status->set_sc( SR_GENTLETOUCH_REVITALIZE, SC_GENTLETOUCH_REVITALIZE , SI_GENTLETOUCH_REVITALIZE, SCB_MAXHP|SCB_DEF2|SCB_REGEN ); - status->set_sc( SR_FLASHCOMBO , SC_FLASHCOMBO , SI_FLASHCOMBO , SCB_WATK ); + status->set_sc( SR_FALLENEMPIRE , SC_FALLENEMPIRE , SCB_NONE ); + status->set_sc( SR_CRESCENTELBOW , SC_CRESCENTELBOW , SCB_NONE ); + set_sc_with_vfx( SR_CURSEDCIRCLE , SC_CURSEDCIRCLE_TARGET, SCB_NONE ); + status->set_sc( SR_LIGHTNINGWALK , SC_LIGHTNINGWALK , SCB_NONE ); + status->set_sc( SR_RAISINGDRAGON , SC_RAISINGDRAGON , SCB_REGEN|SCB_MAXHP|SCB_MAXSP ); + status->set_sc( SR_GENTLETOUCH_ENERGYGAIN, SC_GENTLETOUCH_ENERGYGAIN , SCB_NONE ); + status->set_sc( SR_GENTLETOUCH_CHANGE , SC_GENTLETOUCH_CHANGE , SCB_ASPD|SCB_MDEF|SCB_MAXHP ); + status->set_sc( SR_GENTLETOUCH_REVITALIZE, SC_GENTLETOUCH_REVITALIZE , SCB_MAXHP|SCB_DEF2|SCB_REGEN ); + status->set_sc( SR_FLASHCOMBO , SC_FLASHCOMBO , SCB_WATK ); /** * Wanderer / Minstrel **/ - status->set_sc( WA_SWING_DANCE , SC_SWING , SI_SWINGDANCE , SCB_SPEED|SCB_ASPD ); - status->set_sc( WA_SYMPHONY_OF_LOVER , SC_SYMPHONY_LOVE , SI_SYMPHONYOFLOVERS , SCB_MDEF ); - status->set_sc( WA_MOONLIT_SERENADE , SC_MOONLIT_SERENADE , SI_MOONLITSERENADE , SCB_MATK ); - status->set_sc( MI_RUSH_WINDMILL , SC_RUSH_WINDMILL , SI_RUSHWINDMILL , SCB_WATK ); - status->set_sc( MI_ECHOSONG , SC_ECHOSONG , SI_ECHOSONG , SCB_DEF2 ); - status->set_sc( MI_HARMONIZE , SC_HARMONIZE , SI_HARMONIZE , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK ); - set_sc_with_vfx(WM_POEMOFNETHERWORLD, SC_NETHERWORLD , SI_NETHERWORLD , SCB_NONE); - set_sc_with_vfx( WM_VOICEOFSIREN , SC_SIREN , SI_SIREN , SCB_NONE ); - set_sc_with_vfx( WM_LULLABY_DEEPSLEEP , SC_DEEP_SLEEP , SI_DEEPSLEEP , SCB_NONE ); - status->set_sc( WM_SIRCLEOFNATURE , SC_SIRCLEOFNATURE , SI_SIRCLEOFNATURE , SCB_NONE ); - status->set_sc( WM_GLOOMYDAY , SC_GLOOMYDAY , SI_GLOOMYDAY , SCB_FLEE|SCB_ASPD ); - status->set_sc( WM_SONG_OF_MANA , SC_SONG_OF_MANA , SI_SONG_OF_MANA , SCB_NONE ); - status->set_sc( WM_DANCE_WITH_WUG , SC_DANCE_WITH_WUG , SI_DANCEWITHWUG , SCB_ASPD ); - status->set_sc( WM_SATURDAY_NIGHT_FEVER , SC_SATURDAY_NIGHT_FEVER , SI_SATURDAYNIGHTFEVER , SCB_BATK|SCB_DEF|SCB_FLEE|SCB_REGEN ); - status->set_sc( WM_LERADS_DEW , SC_LERADS_DEW , SI_LERADSDEW , SCB_MAXHP ); - status->set_sc( WM_MELODYOFSINK , SC_MELODYOFSINK , SI_MELODYOFSINK , SCB_INT ); - status->set_sc( WM_BEYOND_OF_WARCRY , SC_BEYOND_OF_WARCRY , SI_WARCRYOFBEYOND , SCB_STR|SCB_CRI|SCB_MAXHP ); - status->set_sc( WM_UNLIMITED_HUMMING_VOICE, SC_UNLIMITED_HUMMING_VOICE, SI_UNLIMITEDHUMMINGVOICE, SCB_NONE ); - status->set_sc( WM_FRIGG_SONG , SC_FRIGG_SONG , SI_FRIGG_SONG , SCB_MAXHP ); + status->set_sc( WA_SWING_DANCE , SC_SWING , SCB_SPEED|SCB_ASPD ); + status->set_sc( WA_SYMPHONY_OF_LOVER , SC_SYMPHONY_LOVE , SCB_MDEF ); + status->set_sc( WA_MOONLIT_SERENADE , SC_MOONLIT_SERENADE , SCB_MATK ); + status->set_sc( MI_RUSH_WINDMILL , SC_RUSH_WINDMILL , SCB_WATK ); + status->set_sc( MI_ECHOSONG , SC_ECHOSONG , SCB_DEF2 ); + status->set_sc( MI_HARMONIZE , SC_HARMONIZE , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK ); + set_sc_with_vfx(WM_POEMOFNETHERWORLD, SC_NETHERWORLD , SCB_NONE); + set_sc_with_vfx( WM_VOICEOFSIREN , SC_SIREN , SCB_NONE ); + set_sc_with_vfx( WM_LULLABY_DEEPSLEEP , SC_DEEP_SLEEP , SCB_NONE ); + status->set_sc( WM_SIRCLEOFNATURE , SC_SIRCLEOFNATURE , SCB_NONE ); + status->set_sc( WM_GLOOMYDAY , SC_GLOOMYDAY , SCB_FLEE|SCB_ASPD ); + status->set_sc( WM_SONG_OF_MANA , SC_SONG_OF_MANA , SCB_NONE ); + status->set_sc( WM_DANCE_WITH_WUG , SC_DANCE_WITH_WUG , SCB_ASPD ); + status->set_sc( WM_SATURDAY_NIGHT_FEVER , SC_SATURDAY_NIGHT_FEVER , SCB_BATK|SCB_DEF|SCB_FLEE|SCB_REGEN ); + status->set_sc( WM_LERADS_DEW , SC_LERADS_DEW , SCB_MAXHP ); + status->set_sc( WM_MELODYOFSINK , SC_MELODYOFSINK , SCB_INT ); + status->set_sc( WM_BEYOND_OF_WARCRY , SC_BEYOND_OF_WARCRY , SCB_STR|SCB_CRI|SCB_MAXHP ); + status->set_sc( WM_UNLIMITED_HUMMING_VOICE, SC_UNLIMITED_HUMMING_VOICE, SCB_NONE ); + status->set_sc( WM_FRIGG_SONG , SC_FRIGG_SONG , SCB_MAXHP ); /** * Sorcerer **/ - status->set_sc( SO_FIREWALK , SC_PROPERTYWALK , SI_PROPERTYWALK , SCB_NONE ); - status->set_sc( SO_ELECTRICWALK , SC_PROPERTYWALK , SI_PROPERTYWALK , SCB_NONE ); - status->set_sc( SO_SPELLFIST , SC_SPELLFIST , SI_SPELLFIST , SCB_NONE ); - set_sc_with_vfx( SO_DIAMONDDUST , SC_COLD , SI_COLD , SCB_NONE ); // it does show the snow icon on mobs but doesn't affect it. - status->set_sc( SO_CLOUD_KILL , SC_POISON , SI_CLOUDKILL , SCB_NONE ); - status->set_sc( SO_STRIKING , SC_STRIKING , SI_STRIKING , SCB_WATK|SCB_CRI ); + status->set_sc( SO_FIREWALK , SC_PROPERTYWALK , SCB_NONE ); + status->set_sc( SO_ELECTRICWALK , SC_PROPERTYWALK , SCB_NONE ); + status->set_sc( SO_SPELLFIST , SC_SPELLFIST , SCB_NONE ); + set_sc_with_vfx( SO_DIAMONDDUST , SC_COLD , SCB_NONE ); // it does show the snow icon on mobs but doesn't affect it. + status->set_sc( SO_CLOUD_KILL , SC_POISON , SCB_NONE ); + status->set_sc( SO_STRIKING , SC_STRIKING , SCB_WATK|SCB_CRI ); add_sc( SO_WARMER , SC_WARMER ); // At the moment, no icon on officials - status->set_sc( SO_VACUUM_EXTREME , SC_VACUUM_EXTREME , SI_VACUUM_EXTREME , SCB_NONE ); - status->set_sc( SO_ARRULLO , SC_DEEP_SLEEP , SI_DEEPSLEEP , SCB_NONE ); - status->set_sc( SO_FIRE_INSIGNIA , SC_FIRE_INSIGNIA , SI_FIRE_INSIGNIA , SCB_MATK | SCB_BATK | SCB_WATK | SCB_ATK_ELE | SCB_REGEN ); - status->set_sc( SO_WATER_INSIGNIA , SC_WATER_INSIGNIA , SI_WATER_INSIGNIA , SCB_WATK | SCB_ATK_ELE | SCB_REGEN ); - status->set_sc( SO_WIND_INSIGNIA , SC_WIND_INSIGNIA , SI_WIND_INSIGNIA , SCB_WATK | SCB_ATK_ELE | SCB_REGEN ); - status->set_sc( SO_EARTH_INSIGNIA , SC_EARTH_INSIGNIA , SI_EARTH_INSIGNIA , SCB_MDEF|SCB_DEF|SCB_MAXHP|SCB_MAXSP|SCB_WATK | SCB_ATK_ELE | SCB_REGEN ); + status->set_sc( SO_VACUUM_EXTREME , SC_VACUUM_EXTREME , SCB_NONE ); + status->set_sc( SO_ARRULLO , SC_DEEP_SLEEP , SCB_NONE ); + status->set_sc( SO_FIRE_INSIGNIA , SC_FIRE_INSIGNIA , SCB_MATK | SCB_BATK | SCB_WATK | SCB_ATK_ELE | SCB_REGEN ); + status->set_sc( SO_WATER_INSIGNIA , SC_WATER_INSIGNIA , SCB_WATK | SCB_ATK_ELE | SCB_REGEN ); + status->set_sc( SO_WIND_INSIGNIA , SC_WIND_INSIGNIA , SCB_WATK | SCB_ATK_ELE | SCB_REGEN ); + status->set_sc( SO_EARTH_INSIGNIA , SC_EARTH_INSIGNIA , SCB_MDEF|SCB_DEF|SCB_MAXHP|SCB_MAXSP|SCB_WATK | SCB_ATK_ELE | SCB_REGEN ); add_sc( SO_ELEMENTAL_SHIELD , SC_SAFETYWALL ); /** * Genetic **/ - status->set_sc( GN_CARTBOOST , SC_GN_CARTBOOST, SI_CARTSBOOST , SCB_SPEED ); - status->set_sc( GN_THORNS_TRAP , SC_THORNS_TRAP , SI_THORNTRAP , SCB_NONE ); - set_sc_with_vfx( GN_BLOOD_SUCKER , SC_BLOOD_SUCKER , SI_BLOODSUCKER , SCB_NONE ); - status->set_sc( GN_WALLOFTHORN , SC_STOP , SI_BLANK , SCB_NONE ); - status->set_sc( GN_FIRE_EXPANSION_SMOKE_POWDER, SC_FIRE_EXPANSION_SMOKE_POWDER , SI_FIRE_EXPANSION_SMOKE_POWDER, SCB_NONE ); - status->set_sc( GN_FIRE_EXPANSION_TEAR_GAS , SC_FIRE_EXPANSION_TEAR_GAS , SI_FIRE_EXPANSION_TEAR_GAS , SCB_NONE ); - status->set_sc( GN_MANDRAGORA , SC_MANDRAGORA , SI_MANDRAGORA , SCB_INT ); + status->set_sc( GN_CARTBOOST , SC_GN_CARTBOOST, SCB_SPEED ); + status->set_sc( GN_THORNS_TRAP , SC_THORNS_TRAP , SCB_NONE ); + set_sc_with_vfx( GN_BLOOD_SUCKER , SC_BLOOD_SUCKER , SCB_NONE ); + status->set_sc( GN_WALLOFTHORN , SC_STOP , SCB_NONE ); + status->set_sc( GN_FIRE_EXPANSION_SMOKE_POWDER, SC_FIRE_EXPANSION_SMOKE_POWDER , SCB_NONE ); + status->set_sc( GN_FIRE_EXPANSION_TEAR_GAS , SC_FIRE_EXPANSION_TEAR_GAS , SCB_NONE ); + status->set_sc( GN_MANDRAGORA , SC_MANDRAGORA , SCB_INT ); /** * Summoner */ - status->set_sc(SU_HIDE, SC_SUHIDE, SI_SUHIDE, SCB_SPEED); + status->set_sc(SU_HIDE, SC_SUHIDE, SCB_SPEED); add_sc(SU_SCRATCH, SC_BLOODING); - status->set_sc(SU_STOOP, SC_SU_STOOP, SI_SU_STOOP, SCB_NONE); - status->set_sc(SU_FRESHSHRIMP, SC_FRESHSHRIMP, SI_FRESHSHRIMP, SCB_NONE); + status->set_sc(SU_STOOP, SC_SU_STOOP, SCB_NONE); + status->set_sc(SU_FRESHSHRIMP, SC_FRESHSHRIMP, SCB_NONE); add_sc(SU_SV_STEMSPEAR, SC_BLOODING); - status->set_sc(SU_CN_POWDERING, SC_CATNIPPOWDER, SI_CATNIPPOWDER, SCB_WATK | SCB_SPEED | SCB_REGEN); + status->set_sc(SU_CN_POWDERING, SC_CATNIPPOWDER, SCB_WATK | SCB_SPEED | SCB_REGEN); add_sc(SU_CN_METEOR, SC_CURSE); - set_sc_with_vfx(SU_SV_ROOTTWIST, SC_SV_ROOTTWIST, SI_SV_ROOTTWIST, SCB_NONE); + set_sc_with_vfx(SU_SV_ROOTTWIST, SC_SV_ROOTTWIST, SCB_NONE); add_sc(SU_SCAROFTAROU, SC_STUN ); - status->set_sc(SU_SCAROFTAROU, SC_BITESCAR, SI_BITESCAR, SCB_NONE); - status->set_sc(SU_ARCLOUSEDASH, SC_ARCLOUSEDASH, SI_ARCLOUSEDASH, SCB_AGI | SCB_SPEED); + status->set_sc(SU_SCAROFTAROU, SC_BITESCAR, SCB_NONE); + status->set_sc(SU_ARCLOUSEDASH, SC_ARCLOUSEDASH, SCB_AGI | SCB_SPEED); add_sc(SU_LUNATICCARROTBEAT, SC_STUN); - status->set_sc(SU_TUNAPARTY, SC_TUNAPARTY, SI_TUNAPARTY, SCB_NONE); - status->set_sc(SU_BUNCHOFSHRIMP, SC_SHRIMP, SI_SHRIMP, SCB_BATK | SCB_MATK); + status->set_sc(SU_TUNAPARTY, SC_TUNAPARTY, SCB_NONE); + status->set_sc(SU_BUNCHOFSHRIMP, SC_SHRIMP, SCB_BATK | SCB_MATK); // Elemental Spirit summoner's 'side' status changes. - status->set_sc( EL_CIRCLE_OF_FIRE , SC_CIRCLE_OF_FIRE_OPTION, SI_CIRCLE_OF_FIRE_OPTION, SCB_NONE ); - status->set_sc( EL_FIRE_CLOAK , SC_FIRE_CLOAK_OPTION , SI_FIRE_CLOAK_OPTION , SCB_ALL ); - status->set_sc( EL_WATER_SCREEN , SC_WATER_SCREEN_OPTION , SI_WATER_SCREEN_OPTION , SCB_NONE ); - status->set_sc( EL_WATER_DROP , SC_WATER_DROP_OPTION , SI_WATER_DROP_OPTION , SCB_ALL ); - status->set_sc( EL_WATER_BARRIER , SC_WATER_BARRIER , SI_WATER_BARRIER , SCB_WATK|SCB_FLEE ); - status->set_sc( EL_WIND_STEP , SC_WIND_STEP_OPTION , SI_WIND_STEP_OPTION , SCB_SPEED|SCB_FLEE ); - status->set_sc( EL_WIND_CURTAIN , SC_WIND_CURTAIN_OPTION , SI_WIND_CURTAIN_OPTION , SCB_ALL ); - status->set_sc( EL_ZEPHYR , SC_ZEPHYR , SI_ZEPHYR , SCB_FLEE ); - status->set_sc( EL_SOLID_SKIN , SC_SOLID_SKIN_OPTION , SI_SOLID_SKIN_OPTION , SCB_DEF|SCB_MAXHP ); - status->set_sc( EL_STONE_SHIELD , SC_STONE_SHIELD_OPTION , SI_STONE_SHIELD_OPTION , SCB_ALL ); - status->set_sc( EL_POWER_OF_GAIA , SC_POWER_OF_GAIA , SI_POWER_OF_GAIA , SCB_MAXHP|SCB_DEF|SCB_SPEED ); - status->set_sc( EL_PYROTECHNIC , SC_PYROTECHNIC_OPTION , SI_PYROTECHNIC_OPTION , SCB_WATK ); - status->set_sc( EL_HEATER , SC_HEATER_OPTION , SI_HEATER_OPTION , SCB_WATK ); - status->set_sc( EL_TROPIC , SC_TROPIC_OPTION , SI_TROPIC_OPTION , SCB_WATK ); - status->set_sc( EL_AQUAPLAY , SC_AQUAPLAY_OPTION , SI_AQUAPLAY_OPTION , SCB_MATK ); - status->set_sc( EL_COOLER , SC_COOLER_OPTION , SI_COOLER_OPTION , SCB_MATK ); - status->set_sc( EL_CHILLY_AIR , SC_CHILLY_AIR_OPTION , SI_CHILLY_AIR_OPTION , SCB_MATK ); - status->set_sc( EL_GUST , SC_GUST_OPTION , SI_GUST_OPTION , SCB_ASPD ); - status->set_sc( EL_BLAST , SC_BLAST_OPTION , SI_BLAST_OPTION , SCB_ASPD ); - status->set_sc( EL_WILD_STORM , SC_WILD_STORM_OPTION , SI_WILD_STORM_OPTION , SCB_ASPD ); - status->set_sc( EL_PETROLOGY , SC_PETROLOGY_OPTION , SI_PETROLOGY_OPTION , SCB_MAXHP ); - status->set_sc( EL_CURSED_SOIL , SC_CURSED_SOIL_OPTION , SI_CURSED_SOIL_OPTION , SCB_MAXHP ); - status->set_sc( EL_UPHEAVAL , SC_UPHEAVAL_OPTION , SI_UPHEAVAL_OPTION , SCB_MAXHP ); - status->set_sc( EL_TIDAL_WEAPON , SC_TIDAL_WEAPON_OPTION , SI_TIDAL_WEAPON_OPTION , SCB_ALL ); - status->set_sc( EL_ROCK_CRUSHER , SC_ROCK_CRUSHER , SI_ROCK_CRUSHER , SCB_DEF ); - status->set_sc( EL_ROCK_CRUSHER_ATK, SC_ROCK_CRUSHER_ATK , SI_ROCK_CRUSHER_ATK , SCB_SPEED ); + status->set_sc( EL_CIRCLE_OF_FIRE , SC_CIRCLE_OF_FIRE_OPTION, SCB_NONE ); + status->set_sc( EL_FIRE_CLOAK , SC_FIRE_CLOAK_OPTION , SCB_ALL ); + status->set_sc( EL_WATER_SCREEN , SC_WATER_SCREEN_OPTION , SCB_NONE ); + status->set_sc( EL_WATER_DROP , SC_WATER_DROP_OPTION , SCB_ALL ); + status->set_sc( EL_WATER_BARRIER , SC_WATER_BARRIER , SCB_WATK|SCB_FLEE ); + status->set_sc( EL_WIND_STEP , SC_WIND_STEP_OPTION , SCB_SPEED|SCB_FLEE ); + status->set_sc( EL_WIND_CURTAIN , SC_WIND_CURTAIN_OPTION , SCB_ALL ); + status->set_sc( EL_ZEPHYR , SC_ZEPHYR , SCB_FLEE ); + status->set_sc( EL_SOLID_SKIN , SC_SOLID_SKIN_OPTION , SCB_DEF|SCB_MAXHP ); + status->set_sc( EL_STONE_SHIELD , SC_STONE_SHIELD_OPTION , SCB_ALL ); + status->set_sc( EL_POWER_OF_GAIA , SC_POWER_OF_GAIA , SCB_MAXHP|SCB_DEF|SCB_SPEED ); + status->set_sc( EL_PYROTECHNIC , SC_PYROTECHNIC_OPTION , SCB_WATK ); + status->set_sc( EL_HEATER , SC_HEATER_OPTION , SCB_WATK ); + status->set_sc( EL_TROPIC , SC_TROPIC_OPTION , SCB_WATK ); + status->set_sc( EL_AQUAPLAY , SC_AQUAPLAY_OPTION , SCB_MATK ); + status->set_sc( EL_COOLER , SC_COOLER_OPTION , SCB_MATK ); + status->set_sc( EL_CHILLY_AIR , SC_CHILLY_AIR_OPTION , SCB_MATK ); + status->set_sc( EL_GUST , SC_GUST_OPTION , SCB_ASPD ); + status->set_sc( EL_BLAST , SC_BLAST_OPTION , SCB_ASPD ); + status->set_sc( EL_WILD_STORM , SC_WILD_STORM_OPTION , SCB_ASPD ); + status->set_sc( EL_PETROLOGY , SC_PETROLOGY_OPTION , SCB_MAXHP ); + status->set_sc( EL_CURSED_SOIL , SC_CURSED_SOIL_OPTION , SCB_MAXHP ); + status->set_sc( EL_UPHEAVAL , SC_UPHEAVAL_OPTION , SCB_MAXHP ); + status->set_sc( EL_TIDAL_WEAPON , SC_TIDAL_WEAPON_OPTION , SCB_ALL ); + status->set_sc( EL_ROCK_CRUSHER , SC_ROCK_CRUSHER , SCB_DEF ); + status->set_sc( EL_ROCK_CRUSHER_ATK, SC_ROCK_CRUSHER_ATK , SCB_SPEED ); add_sc( KO_YAMIKUMO , SC_HIDING ); - set_sc_with_vfx( KO_JYUMONJIKIRI , SC_KO_JYUMONJIKIRI , SI_KO_JYUMONJIKIRI , SCB_NONE ); + set_sc_with_vfx( KO_JYUMONJIKIRI , SC_KO_JYUMONJIKIRI , SCB_NONE ); add_sc( KO_MAKIBISHI , SC_STUN ); - status->set_sc( KO_MEIKYOUSISUI , SC_MEIKYOUSISUI , SI_MEIKYOUSISUI , SCB_NONE ); - status->set_sc( KO_KYOUGAKU , SC_KYOUGAKU , SI_KYOUGAKU , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK ); + status->set_sc( KO_MEIKYOUSISUI , SC_MEIKYOUSISUI , SCB_NONE ); + status->set_sc( KO_KYOUGAKU , SC_KYOUGAKU , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK ); add_sc( KO_JYUSATSU , SC_CURSE ); - status->set_sc( KO_ZENKAI , SC_ZENKAI , SI_ZENKAI , SCB_NONE ); - status->set_sc( KO_IZAYOI , SC_IZAYOI , SI_IZAYOI , SCB_MATK ); - status->set_sc( KG_KYOMU , SC_KYOMU , SI_KYOMU , SCB_NONE ); - status->set_sc( KG_KAGEMUSYA , SC_KAGEMUSYA , SI_KAGEMUSYA , SCB_NONE ); - status->set_sc( KG_KAGEHUMI , SC_KG_KAGEHUMI , SI_KG_KAGEHUMI , SCB_NONE ); - status->set_sc( OB_ZANGETSU , SC_ZANGETSU , SI_ZANGETSU , SCB_MATK|SCB_BATK ); - set_sc_with_vfx( OB_AKAITSUKI, SC_AKAITSUKI , SI_AKAITSUKI , SCB_NONE ); - status->set_sc( OB_OBOROGENSOU , SC_GENSOU , SI_GENSOU , SCB_NONE ); + status->set_sc( KO_ZENKAI , SC_ZENKAI , SCB_NONE ); + status->set_sc( KO_IZAYOI , SC_IZAYOI , SCB_MATK ); + status->set_sc( KG_KYOMU , SC_KYOMU , SCB_NONE ); + status->set_sc( KG_KAGEMUSYA , SC_KAGEMUSYA , SCB_NONE ); + status->set_sc( KG_KAGEHUMI , SC_KG_KAGEHUMI , SCB_NONE ); + status->set_sc( OB_ZANGETSU , SC_ZANGETSU , SCB_MATK|SCB_BATK ); + set_sc_with_vfx( OB_AKAITSUKI, SC_AKAITSUKI , SCB_NONE ); + status->set_sc( OB_OBOROGENSOU , SC_GENSOU , SCB_NONE ); - status->set_sc( ALL_FULL_THROTTLE , SC_FULL_THROTTLE , SI_FULL_THROTTLE , SCB_SPEED|SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK ); + status->set_sc( ALL_FULL_THROTTLE , SC_FULL_THROTTLE , SCB_SPEED|SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK ); add_sc( ALL_REVERSEORCISH , SC_ORCISH ); - status->set_sc( ALL_ANGEL_PROTECT , SC_ANGEL_PROTECT , SI_ANGEL_PROTECT , SCB_REGEN ); + status->set_sc( ALL_ANGEL_PROTECT , SC_ANGEL_PROTECT , SCB_REGEN ); add_sc( NPC_WIDEHEALTHFEAR , SC_FEAR ); add_sc( NPC_WIDEBODYBURNNING , SC_BURNING ); @@ -794,7 +798,7 @@ static void initChangeTables(void) add_sc( NPC_WIDE_DEEP_SLEEP , SC_DEEP_SLEEP ); add_sc( NPC_WIDESIREN , SC_SIREN ); - set_sc_with_vfx( GN_ILLUSIONDOPING , SC_ILLUSIONDOPING , SI_ILLUSIONDOPING , SCB_HIT ); + set_sc_with_vfx( GN_ILLUSIONDOPING , SC_ILLUSIONDOPING , SCB_HIT ); // Storing the target job rather than simply SC_SOULLINK simplifies code later on. status->dbs->Skill2SCTable[SL_ALCHEMIST] = (sc_type)MAPID_ALCHEMIST, @@ -813,220 +817,6 @@ static void initChangeTables(void) status->dbs->Skill2SCTable[SL_HUNTER] = (sc_type)MAPID_HUNTER, status->dbs->Skill2SCTable[SL_SOULLINKER] = (sc_type)MAPID_SOUL_LINKER, - // Status that don't have a skill associated. - status->dbs->IconChangeTable[SC_WEIGHTOVER50] = SI_WEIGHTOVER50; - status->dbs->IconChangeTable[SC_WEIGHTOVER90] = SI_WEIGHTOVER90; - status->dbs->IconChangeTable[SC_ATTHASTE_POTION1] = SI_ATTHASTE_POTION1; - status->dbs->IconChangeTable[SC_ATTHASTE_POTION2] = SI_ATTHASTE_POTION2; - status->dbs->IconChangeTable[SC_ATTHASTE_POTION3] = SI_ATTHASTE_POTION3; - status->dbs->IconChangeTable[SC_MOVHASTE_POTION] = SI_MOVHASTE_POTION; - status->dbs->IconChangeTable[SC_ATTHASTE_INFINITY] = SI_ATTHASTE_INFINITY; - status->dbs->IconChangeTable[SC_MOVHASTE_HORSE] = SI_MOVHASTE_HORSE; - status->dbs->IconChangeTable[SC_MOVHASTE_INFINITY] = SI_MOVHASTE_INFINITY; - status->dbs->IconChangeTable[SC_MOVESLOW_POTION] = SI_MOVESLOW_POTION; - status->dbs->IconChangeTable[SC_CHASEWALK2] = SI_INCSTR; - status->dbs->IconChangeTable[SC_MIRACLE] = SI_SOULLINK; - status->dbs->IconChangeTable[SC_CLAIRVOYANCE] = SI_CLAIRVOYANCE; - status->dbs->IconChangeTable[SC_FOOD_STR] = SI_FOOD_STR; - status->dbs->IconChangeTable[SC_FOOD_AGI] = SI_FOOD_AGI; - status->dbs->IconChangeTable[SC_FOOD_VIT] = SI_FOOD_VIT; - status->dbs->IconChangeTable[SC_FOOD_INT] = SI_FOOD_INT; - status->dbs->IconChangeTable[SC_FOOD_DEX] = SI_FOOD_DEX; - status->dbs->IconChangeTable[SC_FOOD_LUK] = SI_FOOD_LUK; - status->dbs->IconChangeTable[SC_FOOD_BASICAVOIDANCE]= SI_FOOD_BASICAVOIDANCE; - status->dbs->IconChangeTable[SC_FOOD_BASICHIT] = SI_FOOD_BASICHIT; - status->dbs->IconChangeTable[SC_MANU_ATK] = SI_MANU_ATK; - status->dbs->IconChangeTable[SC_MANU_DEF] = SI_MANU_DEF; - status->dbs->IconChangeTable[SC_SPL_ATK] = SI_SPL_ATK; - status->dbs->IconChangeTable[SC_SPL_DEF] = SI_SPL_DEF; - status->dbs->IconChangeTable[SC_MANU_MATK] = SI_MANU_MATK; - status->dbs->IconChangeTable[SC_SPL_MATK] = SI_SPL_MATK; - status->dbs->IconChangeTable[SC_PLUSATTACKPOWER] = SI_PLUSATTACKPOWER; - status->dbs->IconChangeTable[SC_PLUSMAGICPOWER] = SI_PLUSMAGICPOWER; - status->dbs->IconChangeTable[SC_FOOD_CRITICALSUCCESSVALUE] = SI_FOOD_CRITICALSUCCESSVALUE; - status->dbs->IconChangeTable[SC_MORA_BUFF] = SI_MORA_BUFF; - status->dbs->IconChangeTable[SC_BUCHEDENOEL] = SI_BUCHEDENOEL; - status->dbs->IconChangeTable[SC_PHI_DEMON] = SI_PHI_DEMON; - - // Cash Items - status->dbs->IconChangeTable[SC_FOOD_STR_CASH] = SI_FOOD_STR_CASH; - status->dbs->IconChangeTable[SC_FOOD_AGI_CASH] = SI_FOOD_AGI_CASH; - status->dbs->IconChangeTable[SC_FOOD_VIT_CASH] = SI_FOOD_VIT_CASH; - status->dbs->IconChangeTable[SC_FOOD_DEX_CASH] = SI_FOOD_DEX_CASH; - status->dbs->IconChangeTable[SC_FOOD_INT_CASH] = SI_FOOD_INT_CASH; - status->dbs->IconChangeTable[SC_FOOD_LUK_CASH] = SI_FOOD_LUK_CASH; - status->dbs->IconChangeTable[SC_CASH_PLUSEXP] = SI_CASH_PLUSEXP; - status->dbs->IconChangeTable[SC_CASH_RECEIVEITEM] = SI_CASH_RECEIVEITEM; - status->dbs->IconChangeTable[SC_CASH_PLUSONLYJOBEXP] = SI_CASH_PLUSONLYJOBEXP; - status->dbs->IconChangeTable[SC_CASH_DEATHPENALTY] = SI_CASH_DEATHPENALTY; - status->dbs->IconChangeTable[SC_CASH_BOSS_ALARM] = SI_CASH_BOSS_ALARM; - status->dbs->IconChangeTable[SC_PROTECT_DEF] = SI_PROTECT_DEF; - status->dbs->IconChangeTable[SC_PROTECT_MDEF] = SI_PROTECT_MDEF; - status->dbs->IconChangeTable[SC_CRITICALPERCENT] = SI_CRITICALPERCENT; - status->dbs->IconChangeTable[SC_PLUSAVOIDVALUE] = SI_PLUSAVOIDVALUE; - status->dbs->IconChangeTable[SC_HEALPLUS] = SI_HEALPLUS; - status->dbs->IconChangeTable[SC_S_LIFEPOTION] = SI_S_LIFEPOTION; - status->dbs->IconChangeTable[SC_L_LIFEPOTION] = SI_L_LIFEPOTION; - status->dbs->IconChangeTable[SC_ATKER_BLOOD] = SI_ATKER_BLOOD; - status->dbs->IconChangeTable[SC_TARGET_BLOOD] = SI_TARGET_BLOOD; - status->dbs->IconChangeTable[SC_ACARAJE] = SI_ACARAJE; - status->dbs->IconChangeTable[SC_TARGET_ASPD] = SI_TARGET_ASPD; - status->dbs->IconChangeTable[SC_ATKER_ASPD] = SI_ATKER_ASPD; - status->dbs->IconChangeTable[SC_ATKER_MOVESPEED] = SI_ATKER_MOVESPEED; - status->dbs->IconChangeTable[SC_CUP_OF_BOZA] = SI_CUP_OF_BOZA; - status->dbs->IconChangeTable[SC_OVERLAPEXPUP] = SI_OVERLAPEXPUP; - status->dbs->IconChangeTable[SC_GM_BATTLE] = SI_GM_BATTLE; - status->dbs->IconChangeTable[SC_GM_BATTLE2] = SI_GM_BATTLE2; - status->dbs->IconChangeTable[SC_2011RWC] = SI_2011RWC; - status->dbs->IconChangeTable[SC_STR_SCROLL] = SI_STR_SCROLL; - status->dbs->IconChangeTable[SC_INT_SCROLL] = SI_INT_SCROLL; - status->dbs->IconChangeTable[SC_STEAMPACK] = SI_STEAMPACK; - status->dbs->IconChangeTable[SC_MAGIC_CANDY] = SI_MAGIC_CANDY; - status->dbs->IconChangeTable[SC_M_LIFEPOTION] = SI_M_LIFEPOTION; - status->dbs->IconChangeTable[SC_G_LIFEPOTION] = SI_G_LIFEPOTION; - status->dbs->IconChangeTable[SC_MYSTICPOWDER] = SI_MYSTICPOWDER; - - // Eden Crystal Synthesis - status->dbs->IconChangeTable[SC_QUEST_BUFF1] = SI_QUEST_BUFF1; - status->dbs->IconChangeTable[SC_QUEST_BUFF2] = SI_QUEST_BUFF2; - status->dbs->IconChangeTable[SC_QUEST_BUFF3] = SI_QUEST_BUFF3; - - // Geffen Magic Tournament - status->dbs->IconChangeTable[SC_GEFFEN_MAGIC1] = SI_GEFFEN_MAGIC1; - status->dbs->IconChangeTable[SC_GEFFEN_MAGIC2] = SI_GEFFEN_MAGIC2; - status->dbs->IconChangeTable[SC_GEFFEN_MAGIC3] = SI_GEFFEN_MAGIC3; - status->dbs->IconChangeTable[SC_FENRIR_CARD] = SI_FENRIR_CARD; - - // MVP Scrolls - status->dbs->IconChangeTable[SC_MVPCARD_TAOGUNKA] = SI_MVPCARD_TAOGUNKA; - status->dbs->IconChangeTable[SC_MVPCARD_MISTRESS] = SI_MVPCARD_MISTRESS; - status->dbs->IconChangeTable[SC_MVPCARD_ORCHERO] = SI_MVPCARD_ORCHERO; - status->dbs->IconChangeTable[SC_MVPCARD_ORCLORD] = SI_MVPCARD_ORCLORD; - - // Mercenary Bonus Effects - status->dbs->IconChangeTable[SC_MER_FLEE] = SI_MER_FLEE; - status->dbs->IconChangeTable[SC_MER_ATK] = SI_MER_ATK; - status->dbs->IconChangeTable[SC_MER_HP] = SI_MER_HP; - status->dbs->IconChangeTable[SC_MER_SP] = SI_MER_SP; - status->dbs->IconChangeTable[SC_MER_HIT] = SI_MER_HIT; - - // Warlock Spheres - status->dbs->IconChangeTable[SC_SUMMON1] = SI_SPHERE_1; - status->dbs->IconChangeTable[SC_SUMMON2] = SI_SPHERE_2; - status->dbs->IconChangeTable[SC_SUMMON3] = SI_SPHERE_3; - status->dbs->IconChangeTable[SC_SUMMON4] = SI_SPHERE_4; - status->dbs->IconChangeTable[SC_SUMMON5] = SI_SPHERE_5; - - // Warlock Preserved spells - status->dbs->IconChangeTable[SC_SPELLBOOK1] = SI_SPELLBOOK1; - status->dbs->IconChangeTable[SC_SPELLBOOK2] = SI_SPELLBOOK2; - status->dbs->IconChangeTable[SC_SPELLBOOK3] = SI_SPELLBOOK3; - status->dbs->IconChangeTable[SC_SPELLBOOK4] = SI_SPELLBOOK4; - status->dbs->IconChangeTable[SC_SPELLBOOK5] = SI_SPELLBOOK5; - status->dbs->IconChangeTable[SC_SPELLBOOK6] = SI_SPELLBOOK6; - status->dbs->IconChangeTable[SC_SPELLBOOK7] = SI_SPELLBOOK7; - - // Mechanic status icon - status->dbs->IconChangeTable[SC_NEUTRALBARRIER_MASTER] = SI_NEUTRALBARRIER_MASTER; - status->dbs->IconChangeTable[SC_STEALTHFIELD_MASTER] = SI_STEALTHFIELD_MASTER; - status->dbs->IconChangeTable[SC_OVERHEAT] = SI_OVERHEAT; - status->dbs->IconChangeTable[SC_OVERHEAT_LIMITPOINT] = SI_OVERHEAT_LIMITPOINT; - - // Guillotine Cross status icons - status->dbs->IconChangeTable[SC_HALLUCINATIONWALK_POSTDELAY] = SI_HALLUCINATIONWALK_POSTDELAY; - status->dbs->IconChangeTable[SC_TOXIN] = SI_TOXIN; - status->dbs->IconChangeTable[SC_PARALYSE] = SI_PARALYSE; - status->dbs->IconChangeTable[SC_VENOMBLEED] = SI_VENOMBLEED; - status->dbs->IconChangeTable[SC_MAGICMUSHROOM] = SI_MAGICMUSHROOM; - status->dbs->IconChangeTable[SC_DEATHHURT] = SI_DEATHHURT; - status->dbs->IconChangeTable[SC_PYREXIA] = SI_PYREXIA; - status->dbs->IconChangeTable[SC_OBLIVIONCURSE] = SI_OBLIVIONCURSE; - status->dbs->IconChangeTable[SC_LEECHESEND] = SI_LEECHESEND; - - // Royal Guard status icons - status->dbs->IconChangeTable[SC_SHIELDSPELL_DEF] = SI_SHIELDSPELL_DEF; - status->dbs->IconChangeTable[SC_SHIELDSPELL_MDEF] = SI_SHIELDSPELL_MDEF; - status->dbs->IconChangeTable[SC_SHIELDSPELL_REF] = SI_SHIELDSPELL_REF; - status->dbs->IconChangeTable[SC_BANDING_DEFENCE] = SI_BANDING_DEFENCE; - - // Sura status icon - status->dbs->IconChangeTable[SC_CURSEDCIRCLE_ATKER] = SI_CURSEDCIRCLE_ATKER; - - // Genetics Food items / Throwable items status icons - status->dbs->IconChangeTable[SC_SAVAGE_STEAK] = SI_SAVAGE_STEAK; - status->dbs->IconChangeTable[SC_COCKTAIL_WARG_BLOOD] = SI_COCKTAIL_WARG_BLOOD; - status->dbs->IconChangeTable[SC_MINOR_BBQ] = SI_MINOR_BBQ; - status->dbs->IconChangeTable[SC_SIROMA_ICE_TEA] = SI_SIROMA_ICE_TEA; - status->dbs->IconChangeTable[SC_DROCERA_HERB_STEAMED] = SI_DROCERA_HERB_STEAMED; - status->dbs->IconChangeTable[SC_PUTTI_TAILS_NOODLES] = SI_PUTTI_TAILS_NOODLES; - status->dbs->IconChangeTable[SC_BOOST500] |= SI_BOOST500; - status->dbs->IconChangeTable[SC_FULL_SWING_K] |= SI_FULL_SWING_K; - status->dbs->IconChangeTable[SC_MANA_PLUS] |= SI_MANA_PLUS; - status->dbs->IconChangeTable[SC_MUSTLE_M] |= SI_MUSTLE_M; - status->dbs->IconChangeTable[SC_LIFE_FORCE_F] |= SI_LIFE_FORCE_F; - status->dbs->IconChangeTable[SC_EXTRACT_WHITE_POTION_Z] |= SI_EXTRACT_WHITE_POTION_Z; - status->dbs->IconChangeTable[SC_VITATA_500] |= SI_VITATA_500; - status->dbs->IconChangeTable[SC_EXTRACT_SALAMINE_JUICE] |= SI_EXTRACT_SALAMINE_JUICE; - status->dbs->IconChangeTable[SC_STOMACHACHE] = SI_STOMACHACHE; - status->dbs->IconChangeTable[SC_MYSTERIOUS_POWDER] = SI_MYSTERIOUS_POWDER; - status->dbs->IconChangeTable[SC_MELON_BOMB] = SI_MELON_BOMB; - status->dbs->IconChangeTable[SC_BANANA_BOMB] = SI_BANANA_BOMB; - status->dbs->IconChangeTable[SC_BANANA_BOMB_SITDOWN_POSTDELAY] = SI_BANANA_BOMB_SITDOWN_POSTDELAY; - status->dbs->IconChangeTable[SC_PROMOTE_HEALTH_RESERCH] = SI_PROMOTE_HEALTH_RESERCH; - status->dbs->IconChangeTable[SC_ENERGY_DRINK_RESERCH] = SI_ENERGY_DRINK_RESERCH; - - // Elemental Spirit's 'side' status change icons. - status->dbs->IconChangeTable[SC_CIRCLE_OF_FIRE] = SI_CIRCLE_OF_FIRE; - status->dbs->IconChangeTable[SC_FIRE_CLOAK] = SI_FIRE_CLOAK; - status->dbs->IconChangeTable[SC_WATER_SCREEN] = SI_WATER_SCREEN; - status->dbs->IconChangeTable[SC_WATER_DROP] = SI_WATER_DROP; - status->dbs->IconChangeTable[SC_WIND_STEP] = SI_WIND_STEP; - status->dbs->IconChangeTable[SC_WIND_CURTAIN] = SI_WIND_CURTAIN; - status->dbs->IconChangeTable[SC_SOLID_SKIN] = SI_SOLID_SKIN; - status->dbs->IconChangeTable[SC_STONE_SHIELD] = SI_STONE_SHIELD; - status->dbs->IconChangeTable[SC_PYROTECHNIC] = SI_PYROTECHNIC; - status->dbs->IconChangeTable[SC_HEATER] = SI_HEATER; - status->dbs->IconChangeTable[SC_TROPIC] = SI_TROPIC; - status->dbs->IconChangeTable[SC_AQUAPLAY] = SI_AQUAPLAY; - status->dbs->IconChangeTable[SC_COOLER] = SI_COOLER; - status->dbs->IconChangeTable[SC_CHILLY_AIR] = SI_CHILLY_AIR; - status->dbs->IconChangeTable[SC_GUST] = SI_GUST; - status->dbs->IconChangeTable[SC_BLAST] = SI_BLAST; - status->dbs->IconChangeTable[SC_WILD_STORM] = SI_WILD_STORM; - status->dbs->IconChangeTable[SC_PETROLOGY] = SI_PETROLOGY; - status->dbs->IconChangeTable[SC_CURSED_SOIL] = SI_CURSED_SOIL; - status->dbs->IconChangeTable[SC_UPHEAVAL] = SI_UPHEAVAL; - status->dbs->IconChangeTable[SC_PUSH_CART] = SI_ON_PUSH_CART; - status->dbs->IconChangeTable[SC_REBOUND] = SI_REBOUND; - status->dbs->IconChangeTable[SC_ALL_RIDING] = SI_ALL_RIDING; - status->dbs->IconChangeTable[SC_MONSTER_TRANSFORM] = SI_MONSTER_TRANSFORM; - - // Costumes - status->dbs->IconChangeTable[SC_DRESS_UP] = SI_DRESS_UP; - status->dbs->IconChangeTable[SC_MOONSTAR] = SI_MOONSTAR; - status->dbs->IconChangeTable[SC_SUPER_STAR] = SI_SUPER_STAR; - status->dbs->IconChangeTable[SC_STRANGELIGHTS] = SI_STRANGELIGHTS; - status->dbs->IconChangeTable[SC_DECORATION_OF_MUSIC] = SI_DECORATION_OF_MUSIC; - status->dbs->IconChangeTable[SC_LJOSALFAR] = SI_LJOSALFAR; - status->dbs->IconChangeTable[SC_MERMAID_LONGING] = SI_MERMAID_LONGING; - status->dbs->IconChangeTable[SC_HAT_EFFECT] = SI_HAT_EFFECT; - status->dbs->IconChangeTable[SC_FLOWERSMOKE] = SI_FLOWERSMOKE; - status->dbs->IconChangeTable[SC_FSTONE] = SI_FSTONE; - status->dbs->IconChangeTable[SC_HAPPINESS_STAR] = SI_HAPPINESS_STAR; - status->dbs->IconChangeTable[SC_MAPLE_FALLS] = SI_MAPLE_FALLS; - status->dbs->IconChangeTable[SC_TIME_ACCESSORY] = SI_TIME_ACCESSORY; - status->dbs->IconChangeTable[SC_MAGICAL_FEATHER] = SI_MAGICAL_FEATHER; - status->dbs->IconChangeTable[SC_BLOSSOM_FLUTTERING] = SI_BLOSSOM_FLUTTERING; - - // Summoner - status->dbs->IconChangeTable[SC_SPRITEMABLE] = SI_SPRITEMABLE; - - // Clan System - status->dbs->IconChangeTable[SC_CLAN_INFO] = SI_CLAN_INFO; - - // RoDEX - status->dbs->IconChangeTable[SC_DAILYSENDMAILCNT] = SI_DAILYSENDMAILCNT; - // Other SC which are not necessarily associated to skills. status->dbs->ChangeFlagTable[SC_ATTHASTE_POTION1] |= SCB_ASPD; status->dbs->ChangeFlagTable[SC_ATTHASTE_POTION2] |= SCB_ASPD; @@ -1206,8 +996,6 @@ static void initChangeTables(void) status->dbs->ChangeFlagTable[SC_MAGICAL_FEATHER] |= SCB_NONE; status->dbs->ChangeFlagTable[SC_BLOSSOM_FLUTTERING] |= SCB_NONE; - if( !battle_config.display_hallucination ) //Disable Hallucination. - status->dbs->IconChangeTable[SC_ILLUSION] = SI_BLANK; #undef add_sc #undef set_sc_with_vfx } @@ -2483,7 +2271,7 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o memset(ZEROED_BLOCK_POS(&(sd->left_weapon)), 0, ZEROED_BLOCK_SIZE(&(sd->left_weapon))); if (sd->special_state.intravision && !sd->sc.data[SC_CLAIRVOYANCE]) //Clear intravision as long as nothing else is using it - clif->sc_end(&sd->bl,sd->bl.id,SELF,SI_CLAIRVOYANCE); + clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_CLAIRVOYANCE)); memset(&sd->special_state,0,sizeof(sd->special_state)); @@ -8178,7 +7966,7 @@ static int status_change_start_sub(struct block_list *src, struct block_list *bl //val3 : Brings the skill_lv (merged into val1 here) //val4 : Partner if (val1 == CG_MOONLIT) - clif->status_change(bl,SI_MOON,1,total_tick,0, 0, 0); + clif->status_change(bl, status->get_sc_icon(SC_MOON), status->get_sc_relevant_bl_types(SC_MOON), 1, total_tick, 0, 0, 0); val1|= (val3<<16); val3 = total_tick/1000; //Tick duration tick_time = 1000; // [GodLesZ] tick time @@ -8849,7 +8637,12 @@ static int status_change_start_sub(struct block_list *src, struct block_list *bl val2 = 10*val1; //% of life to be revived with break; case SC_ARMORPROPERTY: - clif->status_change(bl, (val1 > 0 ? SI_RESIST_PROPERTY_WATER : (val2 > 0 ? SI_RESIST_PROPERTY_GROUND : (val3 > 0 ? SI_RESIST_PROPERTY_FIRE : (val4 > 0 ? SI_RESIST_PROPERTY_WIND : SI_BLANK)))), 1, total_tick, 0, 0, 0); + { + int ele = (val1 > 0 ? SC_RESIST_PROPERTY_WATER : + (val2 > 0 ? SC_RESIST_PROPERTY_GROUND : + (val3 > 0 ? SC_RESIST_PROPERTY_FIRE : + (val4 > 0 ? SC_RESIST_PROPERTY_WIND : SI_BLANK)))); + clif->status_change(bl, status->get_sc_icon(ele), status->get_sc_relevant_bl_types(ele), 1, total_tick, 0, 0, 0); break; // case SC_ARMOR_RESIST: // Mod your resistance against elements: @@ -8859,7 +8652,7 @@ static int status_change_start_sub(struct block_list *src, struct block_list *bl //Place here SCs that have no SCB_* data, no skill associated, no ICON //associated, and yet are not wrong/unknown. [Skotlex] //break; - + } case SC_MER_FLEE: case SC_MER_ATK: case SC_MER_HIT: @@ -9674,7 +9467,7 @@ static int status_change_start_sub(struct block_list *src, struct block_list *bl if (!(flag & SCFLAG_LOADED)) tick = total_tick; // When starting a new SC (not loading), its remaining duration is the same as the total if(!(flag & SCFLAG_NOICON) && !(flag & SCFLAG_LOADED && status->dbs->DisplayType[type])) - clif->status_change_sub(bl, status->dbs->IconChangeTable[type], 1, tick, total_tick, (val_flag & 1) ? val1 : 1, (val_flag & 2) ? val2 : 0, (val_flag & 4) ? val3 : 0); + clif->status_change_sub(bl, status->get_sc_icon(type), status->get_sc_relevant_bl_types(type), 1, tick, total_tick, (val_flag & 1) ? val1 : 1, (val_flag & 2) ? val2 : 0, (val_flag & 4) ? val3 : 0); /** * used as temporary storage for scs with interval ticks, so that the actual duration is sent to the client first. @@ -9807,7 +9600,7 @@ static int status_change_start_sub(struct block_list *src, struct block_list *bl static bool status_change_start_unknown_sc(struct block_list *src, struct block_list *bl, enum sc_type type, int calc_flag, int rate, int val1, int val2, int val3, int val4, int total_tick, int flag) { Assert_retr(false, type >= SC_NONE && type < SC_MAX); - if (calc_flag == SCB_NONE && status->dbs->SkillChangeTable[type] == 0 && status->dbs->IconChangeTable[type] == 0) { + if (calc_flag == SCB_NONE && status->dbs->SkillChangeTable[type] == 0 && status->get_sc_icon(type) == SI_BLANK) { //Status change with no calc, no icon, and no skill associated...? ShowError("UnknownStatusChange [%d]\n", type); return true; @@ -10975,7 +10768,7 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid, } if ((sce->val1&0xFFFF) == CG_MOONLIT) - clif->sc_end(bl,bl->id,AREA,SI_MOON); + clif->sc_end(bl, bl->id, AREA, status->get_sc_icon(SC_MOON)); status_change_end(bl, SC_LONGING, INVALID_TIMER); } @@ -11472,7 +11265,7 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid, #endif //On Aegis, when turning off a status change, first goes the sc packet, then the option packet. - clif->sc_end(bl,bl->id,AREA,status->dbs->IconChangeTable[type]); + clif->sc_end(bl, bl->id, AREA, status->get_sc_icon(type)); if( opt_flag&8 ) //bugreport:681 clif->changeoption2(bl); @@ -13447,6 +13240,10 @@ static bool status_read_scdb_libconfig(void) ++count; } + // @TODO: find a better way of handling this + if (!battle_config.display_hallucination) //Disable Hallucination. + status->dbs->IconChangeTable[SC_ILLUSION].id = SI_BLANK; + libconfig->destroy(&status_conf); ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filepath); return true; @@ -13473,9 +13270,9 @@ static bool status_read_scdb_libconfig_sub(struct config_setting_t *it, int idx, status->read_scdb_libconfig_sub_flag(fg, status_id, source); if (itemdb->lookup_const(it, "Icon", &i32) && i32 >= 0) - status->dbs->IconChangeTable[status_id] = i32; + status->dbs->IconChangeTable[status_id].id = i32; else - status->dbs->IconChangeTable[status_id] = SI_BLANK; + status->dbs->IconChangeTable[status_id].id = SI_BLANK; return true; } @@ -13629,8 +13426,9 @@ void status_defaults(void) status->skill2sc = status_skill2sc; status->sc2skill = status_sc2skill; status->sc2scb_flag = status_sc2scb_flag; - status->type2relevant_bl_types = status_type2relevant_bl_types; + status->get_sc_relevant_bl_types = status_get_sc_relevant_bl_types; status->get_sc_type = status_get_sc_type; + status->get_sc_icon = status_get_sc_icon; status->damage = status_damage; //Define for standard HP/SP skill-related cost triggers (mobs require no HP/SP to use skills) diff --git a/src/map/status.h b/src/map/status.h index e2280e409..6aaaace03 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -837,6 +837,21 @@ typedef enum sc_type { // Clan System SC_CLAN_INFO, + + SC_SIT, + SC_MOON, + SC_TING, + SC_DEVIL1, + SC_RIDING, + SC_FALCON, + SC_WUGRIDER, + SC_POSTDELAY, + SC_ON_PUSH_CART, + SC_RESIST_PROPERTY_WATER, + SC_RESIST_PROPERTY_GROUND, + SC_RESIST_PROPERTY_FIRE, + SC_RESIST_PROPERTY_WIND, + SC_CLIENT_ONLY_EQUIP_ARROW, #ifndef SC_MAX SC_MAX, //Automatically updated max, used in for's to check we are within bounds. #endif @@ -844,1034 +859,7 @@ typedef enum sc_type { /// Official status change ids, used to display status icons in the client. enum si_type { - SI_BLANK = -1, - - SI_PROVOKE = 0, - SI_ENDURE = 1, - SI_TWOHANDQUICKEN = 2, - SI_CONCENTRATION = 3, - SI_HIDING = 4, - SI_CLOAKING = 5, - SI_ENCHANTPOISON = 6, - SI_POISONREACT = 7, - SI_QUAGMIRE = 8, - SI_ANGELUS = 9, - SI_BLESSING = 10, - SI_CRUCIS = 11, - SI_INC_AGI = 12, - SI_DEC_AGI = 13, - SI_SLOWPOISON = 14, - SI_IMPOSITIO = 15, - SI_SUFFRAGIUM = 16, - SI_ASPERSIO = 17, - SI_BENEDICTIO = 18, - SI_KYRIE = 19, - SI_MAGNIFICAT = 20, - SI_GLORIA = 21, - SI_LEXAETERNA = 22, - SI_ADRENALINE = 23, - SI_WEAPONPERFECT = 24, - SI_OVERTHRUST = 25, - SI_MAXIMIZE = 26, - SI_RIDING = 27, - SI_FALCON = 28, - SI_TRICKDEAD = 29, - SI_SHOUT = 30, - SI_ENERGYCOAT = 31, - SI_BROKENARMOR = 32, - SI_BROKENWEAPON = 33, - SI_ILLUSION = 34, - SI_WEIGHTOVER50 = 35, - SI_WEIGHTOVER90 = 36, - SI_ATTHASTE_POTION1 = 37, - SI_ATTHASTE_POTION2 = 38, - SI_ATTHASTE_POTION3 = 39, - SI_ATTHASTE_INFINITY = 40, - SI_MOVHASTE_POTION = 41, - SI_MOVHASTE_INFINITY = 42, - //SI_AUTOCOUNTER = 43, - //SI_SPLASHER = 44, - SI_ANKLESNARE = 45, - SI_POSTDELAY = 46, - //SI_NOACTION = 47, - //SI_IMPOSSIBLEPICKUP = 48, - //SI_BARRIER = 49, - - SI_NOEQUIPWEAPON = 50, - SI_NOEQUIPSHIELD = 51, - SI_NOEQUIPARMOR = 52, - SI_NOEQUIPHELM = 53, - SI_PROTECTWEAPON = 54, - SI_PROTECTSHIELD = 55, - SI_PROTECTARMOR = 56, - SI_PROTECTHELM = 57, - SI_AUTOGUARD = 58, - SI_REFLECTSHIELD = 59, - //SI_DEVOTION = 60, - SI_PROVIDENCE = 61, - SI_DEFENDER = 62, - //SI_MAGICROD = 63, - //SI_WEAPONPROPERTY = 64, - SI_AUTOSPELL = 65, - //SI_SPECIALZONE = 66, - //SI_MASK = 67, - SI_SPEARQUICKEN = 68, - //SI_BDPLAYING = 69, - //SI_WHISTLE = 70, - //SI_ASSASSINCROSS = 71, - //SI_POEMBRAGI = 72, - //SI_APPLEIDUN = 73, - //SI_HUMMING = 74, - //SI_DONTFORGETME = 75, - //SI_FORTUNEKISS = 76, - //SI_SERVICEFORYOU = 77, - //SI_RICHMANKIM = 78, - //SI_ETERNALCHAOS = 79, - //SI_DRUMBATTLEFIELD = 80, - //SI_RINGNIBELUNGEN = 81, - //SI_ROKISWEIL = 82, - //SI_INTOABYSS = 83, - //SI_SIEGFRIED = 84, - //SI_BLADESTOP = 85, - SI_EXPLOSIONSPIRITS = 86, - SI_STEELBODY = 87, - SI_EXTREMITYFIST = 88, - //SI_COMBOATTACK = 89, - SI_PROPERTYFIRE = 90, - SI_PROPERTYWATER = 91, - SI_PROPERTYWIND = 92, - SI_PROPERTYGROUND = 93, - //SI_MAGICATTACK = 94, - SI_STOP = 95, - //SI_WEAPONBRAKER = 96, - SI_PROPERTYUNDEAD = 97, - //SI_POWERUP = 98, - //SI_AGIUP = 99, - - //SI_SIEGEMODE = 100, - //SI_INVISIBLE = 101, - //SI_STATUSONE = 102, - SI_AURABLADE = 103, - SI_PARRYING = 104, - SI_LKCONCENTRATION = 105, - SI_TENSIONRELAX = 106, - SI_BERSERK = 107, - //SI_SACRIFICE = 108, - //SI_GOSPEL = 109, - SI_ASSUMPTIO = 110, - //SI_BASILICA = 111, - SI_GROUNDMAGIC = 112, - SI_MAGICPOWER = 113, - SI_EDP = 114, - SI_TRUESIGHT = 115, - SI_WINDWALK = 116, - SI_MELTDOWN = 117, - SI_CARTBOOST = 118, - //SI_CHASEWALK = 119, - SI_SWORDREJECT = 120, - SI_MARIONETTE_MASTER = 121, - SI_MARIONETTE = 122, - SI_MOON = 123, - SI_BLOODING = 124, - SI_JOINTBEAT = 125, - //SI_MINDBREAKER = 126, - //SI_MEMORIZE = 127, - //SI_FOGWALL = 128, - //SI_SPIDERWEB = 129, - SI_PROTECTEXP = 130, - //SI_SUB_WEAPONPROPERTY = 131, - SI_AUTOBERSERK = 132, - SI_RUN = 133, - SI_TING = 134, - SI_STORMKICK_ON = 135, - SI_STORMKICK_READY = 136, - SI_DOWNKICK_ON = 137, - SI_DOWNKICK_READY = 138, - SI_TURNKICK_ON = 139, - SI_TURNKICK_READY = 140, - SI_COUNTER_ON = 141, - SI_COUNTER_READY = 142, - SI_DODGE_ON = 143, - SI_DODGE_READY = 144, - SI_STRUP = 145, - SI_PROPERTYDARK = 146, - SI_ADRENALINE2 = 147, - SI_PROPERTYTELEKINESIS = 148, - SI_SOULLINK = 149, - - SI_PLUSATTACKPOWER = 150, - SI_PLUSMAGICPOWER = 151, - SI_DEVIL1 = 152, - SI_KAITE = 153, - //SI_SWOO = 154, - //SI_STAR2 = 155, - SI_KAIZEL = 156, - SI_KAAHI = 157, - SI_KAUPE = 158, - SI_SMA_READY = 159, - SI_SKE = 160, - SI_ONEHANDQUICKEN = 161, - //SI_FRIEND = 162, - //SI_FRIENDUP = 163, - //SI_SG_WARM = 164, - SI_SG_SUN_WARM = 165, - //SI_SG_MOON_WARM = 166, // The three show the exact same display: ultra red character (165, 166, 167) - //SI_SG_STAR_WARM = 167, - //SI_EMOTION = 168, - SI_SUN_COMFORT = 169, - SI_MOON_COMFORT = 170, - SI_STAR_COMFORT = 171, - //SI_EXPUP = 172, - //SI_GDSKILL_BATTLEORDER = 173, - //SI_GDSKILL_REGENERATION = 174, - //SI_GDSKILL_POSTDELAY = 175, - //SI_RESISTHANDICAP = 176, - //SI_MAXHPPERCENT = 177, - //SI_MAXSPPERCENT = 178, - //SI_DEFENCE = 179, - //SI_SLOWDOWN = 180, - SI_PRESERVE = 181, - SI_INCSTR = 182, - //SI_NOT_EXTREMITYFIST = 183, - SI_CLAIRVOYANCE = 184, - SI_MOVESLOW_POTION = 185, - SI_DOUBLECASTING = 186, - //SI_GRAVITATION = 187, - SI_OVERTHRUSTMAX = 188, - //SI_LONGING = 189, - //SI_HERMODE = 190, - SI_TAROTCARD = 191, // the icon allows no doubt... but what is it really used for ?? [DracoRPG] - //SI_HLIF_AVOID = 192, - //SI_HFLI_FLEET = 193, - //SI_HFLI_SPEED = 194, - //SI_HLIF_CHANGE = 195, - //SI_HAMI_BLOODLUST = 196, - SI_CR_SHRINK = 197, - SI_WZ_SIGHTBLASTER = 198, - SI_DC_WINKCHARM = 199, - - SI_RG_CCONFINE_M = 200, - SI_RG_CCONFINE_S = 201, - //SI_DISABLEMOVE = 202, - SI_GS_MADNESSCANCEL = 203, //[blackhole89] - SI_GS_GATLINGFEVER = 204, - SI_EARTHSCROLL = 205, - SI_NJ_UTSUSEMI = 206, - SI_NJ_BUNSINJYUTSU = 207, - SI_NJ_NEN = 208, - SI_GS_ADJUSTMENT = 209, - SI_GS_ACCURACY = 210, - SI_NJ_SUITON = 211, - //SI_PET = 212, - //SI_MENTAL = 213, - //SI_EXPMEMORY = 214, - //SI_PERFORMANCE = 215, - //SI_GAIN = 216, - //SI_GRIFFON = 217, - //SI_DRIFT = 218, - //SI_WALLSHIFT = 219, - //SI_REINCARNATION = 220, - //SI_PATTACK = 221, - //SI_PSPEED = 222, - //SI_PDEFENSE = 223, - //SI_PCRITICAL = 224, - //SI_RANKING = 225, - //SI_PTRIPLE = 226, - //SI_DENERGY = 227, - //SI_WAVE1 = 228, - //SI_WAVE2 = 229, - //SI_WAVE3 = 230, - //SI_WAVE4 = 231, - //SI_DAURA = 232, - //SI_DFREEZER = 233, - //SI_DPUNISH = 234, - //SI_DBARRIER = 235, - //SI_DWARNING = 236, - //SI_MOUSEWHEEL = 237, - //SI_DGAUGE = 238, - //SI_DACCEL = 239, - //SI_DBLOCK = 240, - SI_FOOD_STR = 241, - SI_FOOD_AGI = 242, - SI_FOOD_VIT = 243, - SI_FOOD_DEX = 244, - SI_FOOD_INT = 245, - SI_FOOD_LUK = 246, - SI_FOOD_BASICAVOIDANCE = 247, - SI_FOOD_BASICHIT = 248, - SI_FOOD_CRITICALSUCCESSVALUE = 249, - - SI_CASH_PLUSEXP = 250, - SI_CASH_DEATHPENALTY = 251, - SI_CASH_RECEIVEITEM = 252, - SI_CASH_BOSS_ALARM = 253, - //SI_DA_ENERGY = 254, - //SI_DA_FIRSTSLOT = 255, - //SI_DA_HEADDEF = 256, - //SI_DA_SPACE = 257, - //SI_DA_TRANSFORM = 258, - //SI_DA_ITEMREBUILD = 259, - //SI_DA_ILLUSION = 260, // All mobs display as Turtle General - //SI_DA_DARKPOWER = 261, - //SI_DA_EARPLUG = 262, - //SI_DA_CONTRACT = 263, // Bio Mob effect on you and SI_TRICKDEAD icon - //SI_DA_BLACK = 264, // For short time blurry screen - //SI_DA_MAGICCART = 265, - //SI_CRYSTAL = 266, - //SI_DA_REBUILD = 267, - //SI_DA_EDARKNESS = 268, - //SI_DA_EGUARDIAN = 269, - //SI_DA_TIMEOUT = 270, - SI_FOOD_STR_CASH = 271, - SI_FOOD_AGI_CASH = 272, - SI_FOOD_VIT_CASH = 273, - SI_FOOD_DEX_CASH = 274, - SI_FOOD_INT_CASH = 275, - SI_FOOD_LUK_CASH = 276, - SI_MER_FLEE = 277, - SI_MER_ATK = 278, - SI_MER_HP = 279, - SI_MER_SP = 280, - SI_MER_HIT = 281, - SI_SLOWCAST = 282, - //SI_MAGICMIRROR = 283, - //SI_STONESKIN = 284, - //SI_ANTIMAGIC = 285, - SI_CRITICALWOUND = 286, - //SI_NPC_DEFENDER = 287, - //SI_NOACTION_WAIT = 288, - SI_MOVHASTE_HORSE = 289, - SI_PROTECT_DEF = 290, - SI_PROTECT_MDEF = 291, - SI_HEALPLUS = 292, - SI_S_LIFEPOTION = 293, - SI_L_LIFEPOTION = 294, - SI_CRITICALPERCENT = 295, - SI_PLUSAVOIDVALUE = 296, - SI_ATKER_ASPD = 297, - SI_TARGET_ASPD = 298, - SI_ATKER_MOVESPEED = 299, - - SI_ATKER_BLOOD = 300, - SI_TARGET_BLOOD = 301, - SI_ARMOR_PROPERTY = 302, - //SI_REUSE_LIMIT_A = 303, - SI_HELLPOWER = 304, - SI_STEAMPACK = 305, - //SI_REUSE_LIMIT_B = 306, - //SI_REUSE_LIMIT_C = 307, - //SI_REUSE_LIMIT_D = 308, - //SI_REUSE_LIMIT_E = 309, - //SI_REUSE_LIMIT_F = 310, - SI_INVINCIBLE = 311, - SI_CASH_PLUSONLYJOBEXP = 312, - SI_PARTYFLEE = 313, - SI_ANGEL_PROTECT = 314, - //SI_ENDURE_MDEF = 315, - SI_ENCHANTBLADE = 316, - SI_DEATHBOUND = 317, - SI_REFRESH = 318, - SI_GIANTGROWTH = 319, - SI_STONEHARDSKIN = 320, - SI_VITALITYACTIVATION = 321, - SI_FIGHTINGSPIRIT = 322, - SI_ABUNDANCE = 323, - SI_REUSE_MILLENNIUMSHIELD = 324, - SI_REUSE_CRUSHSTRIKE = 325, - SI_REUSE_REFRESH = 326, - SI_REUSE_STORMBLAST = 327, - SI_VENOMIMPRESS = 328, - SI_EPICLESIS = 329, - SI_ORATIO = 330, - SI_LAUDAAGNUS = 331, - SI_LAUDARAMUS = 332, - SI_CLOAKINGEXCEED = 333, - SI_HALLUCINATIONWALK = 334, - SI_HALLUCINATIONWALK_POSTDELAY = 335, - SI_RENOVATIO = 336, - SI_WEAPONBLOCKING = 337, - SI_WEAPONBLOCKING_POSTDELAY = 338, - SI_ROLLINGCUTTER = 339, - SI_EXPIATIO = 340, - SI_POISONINGWEAPON = 341, - SI_TOXIN = 342, - SI_PARALYSE = 343, - SI_VENOMBLEED = 344, - SI_MAGICMUSHROOM = 345, - SI_DEATHHURT = 346, - SI_PYREXIA = 347, - SI_OBLIVIONCURSE = 348, - SI_LEECHESEND = 349, - - SI_DUPLELIGHT = 350, - SI_FROSTMISTY = 351, - SI_FEARBREEZE = 352, - SI_ELECTRICSHOCKER = 353, - SI_MARSHOFABYSS = 354, - SI_RECOGNIZEDSPELL = 355, - SI_STASIS = 356, - SI_WUGRIDER = 357, - SI_WUGDASH = 358, - SI_WUGBITE = 359, - SI_CAMOUFLAGE = 360, - SI_ACCELERATION = 361, - SI_HOVERING = 362, - SI_SPHERE_1 = 363, - SI_SPHERE_2 = 364, - SI_SPHERE_3 = 365, - SI_SPHERE_4 = 366, - SI_SPHERE_5 = 367, - SI_MVPCARD_TAOGUNKA = 368, - SI_MVPCARD_MISTRESS = 369, - SI_MVPCARD_ORCHERO = 370, - SI_MVPCARD_ORCLORD = 371, - SI_OVERHEAT_LIMITPOINT = 372, - SI_OVERHEAT = 373, - SI_SHAPESHIFT = 374, - SI_INFRAREDSCAN = 375, - SI_MAGNETICFIELD = 376, - SI_NEUTRALBARRIER = 377, - SI_NEUTRALBARRIER_MASTER = 378, - SI_STEALTHFIELD = 379, - SI_STEALTHFIELD_MASTER = 380, - SI_MANU_ATK = 381, - SI_MANU_DEF = 382, - SI_SPL_ATK = 383, - SI_SPL_DEF = 384, - SI_REPRODUCE = 385, - SI_MANU_MATK = 386, - SI_SPL_MATK = 387, - SI_STR_SCROLL = 388, - SI_INT_SCROLL = 389, - SI_LG_REFLECTDAMAGE = 390, - SI_FORCEOFVANGUARD = 391, - SI_BUCHEDENOEL = 392, - SI_AUTOSHADOWSPELL = 393, - SI_SHADOWFORM = 394, - SI_RAID = 395, - SI_SHIELDSPELL_DEF = 396, - SI_SHIELDSPELL_MDEF = 397, - SI_SHIELDSPELL_REF = 398, - SI_BODYPAINT = 399, - - SI_EXEEDBREAK = 400, - SI_ADORAMUS = 401, - SI_PRESTIGE = 402, - SI_INVISIBILITY = 403, - SI_DEADLYINFECT = 404, - SI_BANDING = 405, - SI_EARTHDRIVE = 406, - SI_INSPIRATION = 407, - SI_ENERVATION = 408, - SI_GROOMY = 409, - SI_RAISINGDRAGON = 410, - SI_IGNORANCE = 411, - SI_LAZINESS = 412, - SI_LIGHTNINGWALK = 413, - SI_ACARAJE = 414, - SI_UNLUCKY = 415, - SI_CURSEDCIRCLE_ATKER = 416, - SI_CURSEDCIRCLE_TARGET = 417, - SI_WEAKNESS = 418, - SI_CRESCENTELBOW = 419, - SI_NOEQUIPACCESSARY = 420, - SI_STRIPACCESSARY = 421, - SI_MANHOLE = 422, - SI_POPECOOKIE = 423, - SI_FALLENEMPIRE = 424, - SI_GENTLETOUCH_ENERGYGAIN = 425, - SI_GENTLETOUCH_CHANGE = 426, - SI_GENTLETOUCH_REVITALIZE = 427, - SI_BLOODYLUST = 428, - SI_SWINGDANCE = 429, - SI_SYMPHONYOFLOVERS = 430, - SI_PROPERTYWALK = 431, - SI_SPELLFIST = 432, - SI_NETHERWORLD = 433, - SI_SIREN = 434, - SI_DEEPSLEEP = 435, - SI_SIRCLEOFNATURE = 436, - SI_COLD = 437, - SI_GLOOMYDAY = 438, - SI_SONG_OF_MANA = 439, - SI_CLOUDKILL = 440, - SI_DANCEWITHWUG = 441, - SI_RUSHWINDMILL = 442, - SI_ECHOSONG = 443, - SI_HARMONIZE = 444, - SI_STRIKING = 445, - //SI_WARMER = 446, - SI_MOONLITSERENADE = 447, - SI_SATURDAYNIGHTFEVER = 448, - SI_SITDOWN_FORCE = 449, - - SI_ANALYZE = 450, - SI_LERADSDEW = 451, - SI_MELODYOFSINK = 452, - SI_WARCRYOFBEYOND = 453, - SI_UNLIMITEDHUMMINGVOICE = 454, - SI_SPELLBOOK1 = 455, - SI_SPELLBOOK2 = 456, - SI_SPELLBOOK3 = 457, - SI_FREEZE_SP = 458, - SI_GN_TRAINING_SWORD = 459, - SI_GN_REMODELING_CART = 460, - SI_CARTSBOOST = 461, - SI_FIXEDCASTINGTM_REDUCE = 462, - SI_THORNTRAP = 463, - SI_BLOODSUCKER = 464, - SI_SPORE_EXPLOSION = 465, - SI_DEMONIC_FIRE = 466, - SI_FIRE_EXPANSION_SMOKE_POWDER = 467, - SI_FIRE_EXPANSION_TEAR_GAS = 468, - SI_BLOCKING_PLAY = 469, - SI_MANDRAGORA = 470, - SI_ACTIVATE = 471, - SI_SECRAMENT = 472, - SI_ASSUMPTIO2 = 473, - SI_TK_SEVENWIND = 474, - SI_LIMIT_ODINS_RECALL = 475, - SI_STOMACHACHE = 476, - SI_MYSTERIOUS_POWDER = 477, - SI_MELON_BOMB = 478, - SI_BANANA_BOMB_SITDOWN_POSTDELAY = 479, - SI_PROMOTE_HEALTH_RESERCH = 480, - SI_ENERGY_DRINK_RESERCH = 481, - SI_EXTRACT_WHITE_POTION_Z = 482, - SI_VITATA_500 = 483, - SI_EXTRACT_SALAMINE_JUICE = 484, - SI_BOOST500 = 485, - SI_FULL_SWING_K = 486, - SI_MANA_PLUS = 487, - SI_MUSTLE_M = 488, - SI_LIFE_FORCE_F = 489, - SI_VACUUM_EXTREME = 490, - SI_SAVAGE_STEAK = 491, - SI_COCKTAIL_WARG_BLOOD = 492, - SI_MINOR_BBQ = 493, - SI_SIROMA_ICE_TEA = 494, - SI_DROCERA_HERB_STEAMED = 495, - SI_PUTTI_TAILS_NOODLES = 496, - SI_BANANA_BOMB = 497, - SI_SUMMON_AGNI = 498, - SI_SPELLBOOK4 = 499, - - SI_SPELLBOOK5 = 500, - SI_SPELLBOOK6 = 501, - SI_SPELLBOOK7 = 502, - SI_ELEMENTAL_AGGRESSIVE = 503, - SI_RETURN_TO_ELDICASTES = 504, - SI_BANDING_DEFENCE = 505, - SI_SKELSCROLL = 506, - SI_DISTRUCTIONSCROLL = 507, - SI_ROYALSCROLL = 508, - SI_IMMUNITYSCROLL = 509, - SI_MYSTICSCROLL = 510, - SI_BATTLESCROLL = 511, - SI_ARMORSCROLL = 512, - SI_FREYJASCROLL = 513, - SI_SOULSCROLL = 514, - SI_CIRCLE_OF_FIRE = 515, - SI_CIRCLE_OF_FIRE_OPTION = 516, - SI_FIRE_CLOAK = 517, - SI_FIRE_CLOAK_OPTION = 518, - SI_WATER_SCREEN = 519, - SI_WATER_SCREEN_OPTION = 520, - SI_WATER_DROP = 521, - SI_WATER_DROP_OPTION = 522, - SI_WIND_STEP = 523, - SI_WIND_STEP_OPTION = 524, - SI_WIND_CURTAIN = 525, - SI_WIND_CURTAIN_OPTION = 526, - SI_WATER_BARRIER = 527, - SI_ZEPHYR = 528, - SI_SOLID_SKIN = 529, - SI_SOLID_SKIN_OPTION = 530, - SI_STONE_SHIELD = 531, - SI_STONE_SHIELD_OPTION = 532, - SI_POWER_OF_GAIA = 533, - //SI_EL_WAIT = 534, - //SI_EL_PASSIVE = 535, - //SI_EL_DEFENSIVE = 536, - //SI_EL_OFFENSIVE = 537, - //SI_EL_COST = 538, - SI_PYROTECHNIC = 539, - SI_PYROTECHNIC_OPTION = 540, - SI_HEATER = 541, - SI_HEATER_OPTION = 542, - SI_TROPIC = 543, - SI_TROPIC_OPTION = 544, - SI_AQUAPLAY = 545, - SI_AQUAPLAY_OPTION = 546, - SI_COOLER = 547, - SI_COOLER_OPTION = 548, - SI_CHILLY_AIR = 549, - - SI_CHILLY_AIR_OPTION = 550, - SI_GUST = 551, - SI_GUST_OPTION = 552, - SI_BLAST = 553, - SI_BLAST_OPTION = 554, - SI_WILD_STORM = 555, - SI_WILD_STORM_OPTION = 556, - SI_PETROLOGY = 557, - SI_PETROLOGY_OPTION = 558, - SI_CURSED_SOIL = 559, - SI_CURSED_SOIL_OPTION = 560, - SI_UPHEAVAL = 561, - SI_UPHEAVAL_OPTION = 562, - SI_TIDAL_WEAPON = 563, - SI_TIDAL_WEAPON_OPTION = 564, - SI_ROCK_CRUSHER = 565, - SI_ROCK_CRUSHER_ATK = 566, - SI_FIRE_INSIGNIA = 567, - SI_WATER_INSIGNIA = 568, - SI_WIND_INSIGNIA = 569, - SI_EARTH_INSIGNIA = 570, - SI_EQUIPED_FLOOR = 571, - SI_GUARDIAN_RECALL = 572, - SI_MORA_BUFF = 573, - SI_REUSE_LIMIT_G = 574, - SI_REUSE_LIMIT_H = 575, - SI_NEEDLE_OF_PARALYZE = 576, - SI_PAIN_KILLER = 577, - SI_G_LIFEPOTION = 578, - SI_VITALIZE_POTION = 579, - SI_LIGHT_OF_REGENE = 580, - SI_OVERED_BOOST = 581, - SI_SILENT_BREEZE = 582, - SI_ODINS_POWER = 583, - SI_STYLE_CHANGE = 584, - SI_SONIC_CLAW_POSTDELAY = 585, - //SI_ = 586, - //SI_ = 587, - //SI_ = 588, - //SI_ = 589, - //SI_ = 590, - //SI_ = 591, - //SI_ = 592, - //SI_ = 593, - //SI_ = 594, - //SI_ = 595, - SI_SILVERVEIN_RUSH_POSTDELAY = 596, - SI_MIDNIGHT_FRENZY_POSTDELAY = 597, - SI_GOLDENE_FERSE = 598, - SI_ANGRIFFS_MODUS = 599, - - SI_TINDER_BREAKER = 600, - SI_TINDER_BREAKER_POSTDELAY = 601, - SI_CBC = 602, - SI_CBC_POSTDELAY = 603, - SI_EQC = 604, - SI_MAGMA_FLOW = 605, - SI_GRANITIC_ARMOR = 606, - SI_PYROCLASTIC = 607, - SI_VOLCANIC_ASH = 608, - SI_SPIRITS_SAVEINFO1 = 609, - SI_SPIRITS_SAVEINFO2 = 610, - SI_MAGIC_CANDY = 611, - SI_SEARCH_STORE_INFO = 612, - SI_ALL_RIDING = 613, - SI_ALL_RIDING_REUSE_LIMIT = 614, - SI_MACRO = 615, - SI_MACRO_POSTDELAY = 616, - SI_BEER_BOTTLE_CAP = 617, - SI_OVERLAPEXPUP = 618, - SI_PC_IZ_DUN05 = 619, - SI_CRUSHSTRIKE = 620, - SI_MONSTER_TRANSFORM = 621, - SI_SIT = 622, - SI_ONAIR = 623, - SI_MTF_ASPD = 624, - SI_MTF_RANGEATK = 625, - SI_MTF_MATK = 626, - SI_MTF_MLEATKED = 627, - SI_MTF_CRIDAMAGE = 628, - SI_REUSE_LIMIT_MTF = 629, - SI_MACRO_PERMIT = 630, - SI_MACRO_PLAY = 631, - SI_SKF_CAST = 632, - SI_SKF_ASPD = 633, - SI_SKF_ATK = 634, - SI_SKF_MATK = 635, - SI_REWARD_PLUSONLYJOBEXP = 636, - SI_HANDICAPSTATE_NORECOVER = 637, - SI_SET_NUM_DEF = 638, - SI_SET_NUM_MDEF = 639, - SI_SET_PER_DEF = 640, - SI_SET_PER_MDEF = 641, - SI_PARTYBOOKING_SEARCH_DEALY = 642, - SI_PARTYBOOKING_REGISTER_DEALY = 643, - SI_PERIOD_TIME_CHECK_DETECT_SKILL = 644, - SI_KO_JYUMONJIKIRI = 645, - SI_MEIKYOUSISUI = 646, - SI_ATTHASTE_CASH = 647, - SI_EQUIPPED_DIVINE_ARMOR = 648, - SI_EQUIPPED_HOLY_ARMOR = 649, - - SI_2011RWC = 650, - SI_KYOUGAKU = 651, - SI_IZAYOI = 652, - SI_ZENKAI = 653, - SI_KG_KAGEHUMI = 654, - SI_KYOMU = 655, - SI_KAGEMUSYA = 656, - SI_ZANGETSU = 657, - SI_PHI_DEMON = 658, - SI_GENSOU = 659, - SI_AKAITSUKI = 660, - SI_TETANY = 661, - SI_GM_BATTLE = 662, - SI_GM_BATTLE2 = 663, - SI_2011RWC_SCROLL = 664, - SI_ACTIVE_MONSTER_TRANSFORM = 665, - SI_MYSTICPOWDER = 666, - SI_ECLAGE_RECALL = 667, - SI_ENTRY_QUEUE_APPLY_DELAY = 668, - SI_REUSE_LIMIT_ECL = 669, - SI_M_LIFEPOTION = 670, - SI_ENTRY_QUEUE_NOTIFY_ADMISSION_TIME_OUT = 671, - SI_UNKNOWN_NAME = 672, - SI_ON_PUSH_CART = 673, - SI_HAT_EFFECT = 674, - SI_FLOWER_LEAF = 675, - SI_RAY_OF_PROTECTION = 676, - SI_GLASTHEIM_ATK = 677, - SI_GLASTHEIM_DEF = 678, - SI_GLASTHEIM_HEAL = 679, - SI_GLASTHEIM_HIDDEN = 680, - SI_GLASTHEIM_STATE = 681, - SI_GLASTHEIM_ITEMDEF = 682, - SI_GLASTHEIM_HPSP = 683, - SI_HOMUN_SKILL_POSTDELAY = 684, - SI_ALMIGHTY = 685, - SI_GVG_GIANT = 686, - SI_GVG_GOLEM = 687, - SI_GVG_STUN = 688, - SI_GVG_STONE = 689, - SI_GVG_FREEZ = 690, - SI_GVG_SLEEP = 691, - SI_GVG_CURSE = 692, - SI_GVG_SILENCE = 693, - SI_GVG_BLIND = 694, - SI_CLIENT_ONLY_EQUIP_ARROW = 695, - SI_CLAN_INFO = 696, - SI_JP_EVENT01 = 697, - SI_JP_EVENT02 = 698, - SI_JP_EVENT03 = 699, - - SI_JP_EVENT04 = 700, - SI_TELEPORT_FIXEDCASTINGDELAY = 701, - SI_GEFFEN_MAGIC1 = 702, - SI_GEFFEN_MAGIC2 = 703, - SI_GEFFEN_MAGIC3 = 704, - SI_QUEST_BUFF1 = 705, - SI_QUEST_BUFF2 = 706, - SI_QUEST_BUFF3 = 707, - SI_REUSE_LIMIT_RECALL = 708, - SI_SAVEPOSITION = 709, - SI_HANDICAPSTATE_ICEEXPLO = 710, - SI_FENRIR_CARD = 711, - SI_REUSE_LIMIT_ASPD_POTION = 712, - SI_MAXPAIN = 713, - SI_PC_STOP = 714, - SI_FRIGG_SONG = 715, - SI_OFFERTORIUM = 716, - SI_TELEKINESIS_INTENSE = 717, - SI_MOONSTAR = 718, - SI_STRANGELIGHTS = 719, - SI_FULL_THROTTLE = 720, - SI_REBOUND = 721, - SI_UNLIMIT = 722, - SI_KINGS_GRACE = 723, - SI_ITEM_ATKMAX = 724, - SI_ITEM_ATKMIN = 725, - SI_ITEM_MATKMAX = 726, - SI_ITEM_MATKMIN = 727, - SI_SUPER_STAR = 728, - SI_HIGH_RANKER = 729, - SI_DARKCROW = 730, - SI_2013_VALENTINE1 = 731, - SI_2013_VALENTINE2 = 732, - SI_2013_VALENTINE3 = 733, - SI_ILLUSIONDOPING = 734, - //SI_WIDEWEB = 735, - SI_CHILL = 736, - SI_BURNT = 737, - //SI_PCCAFE_PLAY_TIME = 738, - //SI_TWISTED_TIME = 739, - SI_FLASHCOMBO = 740, - //SI_JITTER_BUFF1 = 741, - //SI_JITTER_BUFF2 = 742, - //SI_JITTER_BUFF3 = 743, - //SI_JITTER_BUFF4 = 744, - //SI_JITTER_BUFF5 = 745, - //SI_JITTER_BUFF6 = 746, - //SI_JITTER_BUFF7 = 747, - //SI_JITTER_BUFF8 = 748, - //SI_JITTER_BUFF9 = 749, - - //SI_JITTER_BUFF10 = 750, - SI_CUP_OF_BOZA = 751, - SI_B_TRAP = 752, - SI_E_CHAIN = 753, - SI_E_QD_SHOT_READY = 754, - SI_C_MARKER = 755, - SI_H_MINE = 756, - SI_H_MINE_SPLASH = 757, - SI_P_ALTER = 758, - SI_HEAT_BARREL = 759, - SI_ANTI_M_BLAST = 760, - SI_SLUGSHOT = 761, - SI_SWORDCLAN = 762, - SI_ARCWANDCLAN = 763, - SI_GOLDENMACECLAN = 764, - SI_CROSSBOWCLAN = 765, - SI_PACKING_ENVELOPE1 = 766, - SI_PACKING_ENVELOPE2 = 767, - SI_PACKING_ENVELOPE3 = 768, - SI_PACKING_ENVELOPE4 = 769, - SI_PACKING_ENVELOPE5 = 770, - SI_PACKING_ENVELOPE6 = 771, - SI_PACKING_ENVELOPE7 = 772, - SI_PACKING_ENVELOPE8 = 773, - SI_PACKING_ENVELOPE9 = 774, - SI_PACKING_ENVELOPE10 = 775, - SI_GLASTHEIM_TRANS = 776, - //SI_ZONGZI_POUCH_TRANS = 777, - SI_HEAT_BARREL_AFTER = 778, - SI_DECORATION_OF_MUSIC = 779, - //SI_OVERSEAEXPUP = 780, - //SI_CLOWN_N_GYPSY_CARD = 781, - //SI_OPEN_NPC_MARKET = 782, - //SI_BEEF_RIB_STEW = 783, - //SI_PORK_RIB_STEW = 784, - //SI_CHUSEOK_MONDAY = 785, - //SI_CHUSEOK_TUESDAY = 786, - //SI_CHUSEOK_WEDNESDAY = 787, - //SI_CHUSEOK_THURSDAY = 788, - //SI_CHUSEOK_FRIDAY = 789, - //SI_CHUSEOK_WEEKEND = 790, - //SI_ALL_LIGHTGUARD = 791, - //SI_ALL_LIGHTGUARD_COOL_TIME = 792, - SI_MTF_MHP = 793, - SI_MTF_MSP = 794, - SI_MTF_PUMPKIN = 795, - SI_MTF_HITFLEE = 796, - //SI_MTF_CRIDAMAGE2 = 797, - //SI_MTF_SPDRAIN = 798, - //SI_ACUO_MINT_GUM = 799, - - //SI_S_HEALPOTION = 800, - //SI_REUSE_LIMIT_S_HEAL_POTION = 801, - //SI_PLAYTIME_STATISTICS = 802, - //SI_GN_CHANGEMATERIAL_OPERATOR = 803, - //SI_GN_MIX_COOKING_OPERATOR = 804, - //SI_GN_MAKEBOMB_OPERATOR = 805, - //SI_GN_S_PHARMACY_OPERATOR = 806, - //SI_SO_EL_ANALYSIS_DISASSEMBLY_OPERATOR = 807, - //SI_SO_EL_ANALYSIS_COMBINATION_OPERATOR = 808, - //SI_NC_MAGICDECOY_OPERATOR = 809, - //SI_GUILD_STORAGE = 810, - //SI_GC_POISONINGWEAPON_OPERATOR = 811, - //SI_WS_WEAPONREFINE_OPERATOR = 812, - //SI_BS_REPAIRWEAPON_OPERATOR = 813, - //SI_GET_MAILBOX = 814, - //SI_JUMPINGCLAN = 815, - //SI_JP_OTP = 816, - //SI_HANDICAPTOLERANCE_LEVELGAP = 817, - //SI_MTF_RANGEATK2 = 818, - //SI_MTF_ASPD2 = 819, - //SI_MTF_MATK2 = 820, - //SI_SHOW_NPCHPBAR = 821, - SI_FLOWERSMOKE = 822, - SI_FSTONE = 823, - SI_DAILYSENDMAILCNT = 824, - //SI_QSCARABA = 825, - SI_LJOSALFAR = 826, - //SI_PAD_READER_KNIGHT = 827, - //SI_PAD_READER_CRUSADER = 828, - //SI_PAD_READER_BLACKSMITH = 829, - //SI_PAD_READER_ALCHEMIST = 830, - //SI_PAD_READER_ASSASSIN = 831, - //SI_PAD_READER_ROGUE = 832, - //SI_PAD_READER_WIZARD = 833, - //SI_PAD_READER_SAGE = 834, - //SI_PAD_READER_PRIEST = 835, - //SI_PAD_READER_MONK = 836, - //SI_PAD_READER_HUNTER = 837, - //SI_PAD_READER_BARD = 838, - //SI_PAD_READER_DANCER = 839, - //SI_PAD_READER_TAEKWON = 840, - //SI_PAD_READER_NINJA = 841, - //SI_PAD_READER_GUNSLINGER = 842, - //SI_PAD_READER_SUPERNOVICE = 843, - //SI_ESSENCE_OF_TIME = 844, - //SI_MINIGAME_ROULETTE = 845, - //SI_MINIGAME_GOLD_POINT = 846, - //SI_MINIGAME_SILVER_POINT = 847, - //SI_MINIGAME_BRONZE_POINT = 848, - SI_HAPPINESS_STAR = 849, - - //SI_SUMMEREVENT01 = 850, - //SI_SUMMEREVENT02 = 851, - //SI_SUMMEREVENT03 = 852, - //SI_SUMMEREVENT04 = 853, - //SI_SUMMEREVENT05 = 854, - //SI_MINIGAME_ROULETTE_BONUS_ITEM = 855, - SI_DRESS_UP = 856, - SI_MAPLE_FALLS = 857, - //SI_ALL_NIFLHEIM_RECALL = 858, - //SI_ = 859, - //SI_MTF_MARIONETTE = 860, - //SI_MTF_LUDE = 861, - //SI_MTF_CRUISER = 862, - SI_MERMAID_LONGING = 863, - SI_MAGICAL_FEATHER = 864, - //SI_DRACULA_CARD = 865, - //SI_ = 866, - //SI_LIMIT_POWER_BOOSTER = 867, - //SI_ = 868, - //SI_ = 869, - //SI_ = 870, - //SI_ = 871, - SI_TIME_ACCESSORY = 872, - //SI_EP16_DEF = 873, - //SI_NORMAL_ATKED_SP = 874, - //SI_BODYSTATE_STONECURSE = 875, - //SI_BODYSTATE_FREEZING = 876, - //SI_BODYSTATE_STUN = 877, - //SI_BODYSTATE_SLEEP = 878, - //SI_BODYSTATE_UNDEAD = 879, - //SI_BODYSTATE_STONECURSE_ING = 880, - //SI_BODYSTATE_BURNNING = 881, - //SI_BODYSTATE_IMPRISON = 882, - //SI_HEALTHSTATE_POISON = 883, - //SI_HEALTHSTATE_CURSE = 884, - //SI_HEALTHSTATE_SILENCE = 885, - //SI_HEALTHSTATE_CONFUSION = 886, - //SI_HEALTHSTATE_BLIND = 887, - //SI_HEALTHSTATE_ANGELUS = 888, - //SI_HEALTHSTATE_BLOODING = 889, - //SI_HEALTHSTATE_HEAVYPOISON = 890, - //SI_HEALTHSTATE_FEAR = 891, - //SI_CHERRY_BLOSSOM_CAKE = 892, - SI_SU_STOOP = 893, - SI_CATNIPPOWDER = 894, - SI_BLOSSOM_FLUTTERING = 895, - SI_SV_ROOTTWIST = 896, - //SI_ATTACK_PROPERTY_NOTHING = 897, - //SI_ATTACK_PROPERTY_WATER = 898, - //SI_ATTACK_PROPERTY_GROUND = 899, - - //SI_ATTACK_PROPERTY_FIRE = 900, - //SI_ATTACK_PROPERTY_WIND = 901, - //SI_ATTACK_PROPERTY_POISON = 902, - //SI_ATTACK_PROPERTY_SAINT = 903, - //SI_ATTACK_PROPERTY_DARKNESS = 904, - //SI_ATTACK_PROPERTY_TELEKINESIS = 905, - //SI_ATTACK_PROPERTY_UNDEAD = 906, - //SI_RESIST_PROPERTY_NOTHING = 907, - SI_RESIST_PROPERTY_WATER = 908, - SI_RESIST_PROPERTY_GROUND = 909, - SI_RESIST_PROPERTY_FIRE = 910, - SI_RESIST_PROPERTY_WIND = 911, - //SI_RESIST_PROPERTY_POISON = 912, - //SI_RESIST_PROPERTY_SAINT = 913, - //SI_RESIST_PROPERTY_DARKNESS = 914, - //SI_RESIST_PROPERTY_TELEKINESIS = 915, - //SI_RESIST_PROPERTY_UNDEAD = 916, - SI_BITESCAR = 917, - SI_ARCLOUSEDASH = 918, - SI_TUNAPARTY = 919, - SI_SHRIMP = 920, - SI_FRESHSHRIMP = 921, - //SI_PERIOD_RECEIVEITEM = 922, - //SI_PERIOD_PLUSEXP = 923, - //SI_PERIOD_PLUSJOBEXP = 924, - //SI_RUNEHELM = 925, - //SI_HELM_VERKANA = 926, - //SI_HELM_RHYDO = 927, - //SI_HELM_TURISUS = 928, - //SI_HELM_HAGALAS = 929, - //SI_HELM_ISIA = 930, - //SI_HELM_ASIR = 931, - //SI_HELM_URJ = 932, - SI_SUHIDE = 933, - //SI_ = 934, - //SI_DORAM_BUF_01 = 935, - //SI_DORAM_BUF_02 = 936, - SI_SPRITEMABLE = 937, - //SI_AID_PERIOD_RECEIVEITEM = 938, - //SI_AID_PERIOD_PLUSEXP = 939, - //SI_AID_PERIOD_PLUSJOBEXP = 940, - //SI_AID_PERIOD_DEADPENALTY = 941, - //SI_AID_PERIOD_ADDSTOREITEMCOUNT = 942, - //SI_ = 943, - //SI_ = 944, - //SI_ = 945, - //SI_ = 946, - //SI_ = 947, - //SI_ = 948, - //SI_ = 949, - //SI_HISS = 950, - //SI_ = 951, - //SI_NYANGGRASS = 952, - //SI_CHATTERING = 953, - //SI_ = 954, - //SI_ = 955, - //SI_ = 956, - //SI_ = 957, - //SI_ = 958, - //SI_ = 959, - //SI_ = 960, - //SI_GROOMING = 961, - //SI_PROTECTIONOFSHRIMP = 962, - //SI_EP16_2_BUFF_SS = 963, - //SI_EP16_2_BUFF_SC = 964, - //SI_EP16_2_BUFF_AC = 965, - //SI_GS_MAGICAL_BULLET = 966, - //SI_ = 967, - //SI_ = 968, - //SI_ = 969, - //SI_ = 970, - //SI_ = 971, - //SI_ = 972, - //SI_ = 973, - //SI_ = 974, - //SI_ = 975, - //SI_FALLEN_ANGEL = 976, - //SI_ = 977, - //SI_ = 978, - //SI_BLAZE_BEAD = 979, - //SI_FROZEN_BEAD = 980, - //SI_BREEZE_BEAD = 981, - //SI_ = 982, - //SI_AID_PERIOD_RECEIVEITEM_2ND = 983, - //SI_AID_PERIOD_PLUSEXP_2ND = 984, - //SI_AID_PERIOD_PLUSJOBEXP_2ND = 985, - //SI_PRONTERA_JP = 986, - //SI_ = 987, - //SI_GLOOM_CARD = 988, - //SI_PHARAOH_CARD = 989, - //SI_KIEL_CARD = 990, - //SI_ = 991, - //SI_CHEERUP = 992, - //SI_ = 993, - //SI_ = 994, - //SI_S_MANAPOTION = 995, - //SI_M_DEFSCROLL = 996, - //SI_ = 997, - //SI_ = 998, - //SI_ = 999, - //SI_AS_RAGGED_GOLEM_CARD = 1000, - //SI_LHZ_DUN_N1 = 1001, - //SI_LHZ_DUN_N2 = 1002, - //SI_LHZ_DUN_N3 = 1003, - //SI_LHZ_DUN_N4 = 1004, -#ifndef SI_MAX - SI_MAX, -#endif + SI_BLANK = -1, }; // JOINTBEAT stackable ailments @@ -2235,10 +1223,12 @@ BEGIN_ZEROED_BLOCK; /* Everything within this block will be memset to 0 when sta int SP_table[CLASS_COUNT][MAX_LEVEL + 1]; int aspd_base[CLASS_COUNT][MAX_SINGLE_WEAPON_TYPE+1]; // +1 for RENEWAL_ASPD sc_type Skill2SCTable[MAX_SKILL_DB]; // skill -> status - int IconChangeTable[SC_MAX]; // status -> "icon" (icon is a bit of a misnomer, since there exist values with no icon associated) + struct { + int id; + int relevant_bl_types; + } IconChangeTable[SC_MAX]; unsigned int ChangeFlagTable[SC_MAX]; // status -> flags int SkillChangeTable[SC_MAX]; // status -> skill - int RelevantBLTypes[SI_MAX]; // "icon" -> enum bl_type (for clif->status_change to identify for which bl types to send packets) bool DisplayType[SC_MAX]; /* */ int atkmods[3][MAX_SINGLE_WEAPON_TYPE];//ATK weapon modification for size (size_fix.txt) @@ -2273,8 +1263,9 @@ struct status_interface { sc_type (*skill2sc) (int skill_id); int (*sc2skill) (sc_type sc); unsigned int (*sc2scb_flag) (sc_type sc); - int (*type2relevant_bl_types) (int type); + int (*get_sc_relevant_bl_types) (sc_type type); int (*get_sc_type) (sc_type idx); + int (*get_sc_icon) (sc_type type); int (*damage) (struct block_list *src,struct block_list *target,int64 hp,int64 sp, int walkdelay, int flag); //Define for standard HP/SP skill-related cost triggers (mobs require no HP/SP to use skills) int (*charge) (struct block_list* bl, int64 hp, int64 sp); @@ -2395,7 +1386,7 @@ struct status_interface { bool (*read_scdb_libconfig_sub_flag_additional) (struct config_setting_t *it, int type, const char *source); void (*read_job_db) (void); void (*read_job_db_sub) (int idx, const char *name, struct config_setting_t *jdb); - void (*set_sc) (uint16 skill_id, sc_type sc, int icon, unsigned int flag); + void (*set_sc) (uint16 skill_id, sc_type sc, unsigned int flag); void (*copy) (struct status_data *a, const struct status_data *b); int (*base_matk_min) (const struct status_data *st); int (*base_matk_max) (const struct status_data *st); diff --git a/src/map/unit.c b/src/map/unit.c index 1e9433eaf..e7ac6d24f 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -661,7 +661,7 @@ static void unit_run_hit(struct block_list *bl, struct status_change *sc, struct lv = sc->data[type]->val1; //If you can't run forward, you must be next to a wall, so bounce back. [Skotlex] if( type == SC_RUN ) - clif->sc_load(bl,bl->id,AREA,SI_TING,0,0,0); + clif->sc_load(bl, bl->id, AREA, status->get_sc_icon(SC_TING), 0, 0, 0); ud = unit->bl2ud(bl); nullpo_retv(ud); @@ -673,7 +673,7 @@ static void unit_run_hit(struct block_list *bl, struct status_change *sc, struct if (lv > 0) skill->blown(bl, bl, skill->get_blewcount(TK_RUN, lv), unit->getdir(bl), 0); clif->fixpos(bl); //Why is a clif->slide (skill->blown) AND a fixpos needed? Ask Aegis. - clif->sc_end(bl, bl->id, AREA, SI_TING); + clif->sc_end(bl, bl->id, AREA, status->get_sc_icon(SC_TING)); } else if (sd) { clif->fixpos(bl); skill->castend_damage_id(bl, &sd->bl, RA_WUGDASH, lv, timer->gettick(), SD_LEVEL); -- cgit v1.2.3-60-g2f50