...
 
Commits (3)
......@@ -1729,7 +1729,7 @@ Achievements:
Name: "Magic Insanity"
Condition: " bInt >= 125 "
Reward:
Script: " specialeffect2 EF_HASTEUP; bonus_script \"{ bonus2 bHPLossRate,100,10000; bonus bBaseAtk,20; bonus bAspdRate,25; }\",60,0,0,SI_STEAMPACK; "
Script: " specialeffect2 EF_HASTEUP; bonus_script \"{ bonus2 bHPLossRate,100,10000; bonus bBaseAtk,20; bonus bAspdRate,25; }\",60,0,0,EFST_STEAMPACK; "
Score: 20
- ID: 200025
Group: "AG_GOAL_STATUS"
......
......@@ -6427,15 +6427,15 @@
14594,Quagmire_Scroll,Quagmire Scroll,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ itemskill "WZ_QUAGMIRE",5; },{},{}
14595,Unsealed_Magic_Spell,Unsealed Magic Spell,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ warp "yuno_fild09",255,127; },{},{}
14596,Pierre_Treasurebox,Pierre's Treasure Box,2,0,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_Pierre_Treasurebox),1; getrandgroupitem(IG_Pierre_Treasurebox),1; getrandgroupitem(IG_Pierre_Treasurebox),1; getrandgroupitem(IG_Pierre_Treasurebox),1; getrandgroupitem(IG_Pierre_Treasurebox),1; getrandgroupitem(IG_Pierre_Treasurebox),1; },{},{}
14597,PhreeoniS,Phreeoni Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,180000,4121,SI_FOODHIT; },{},{}
14598,GhostringS,Ghostring Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,60000,4047,SI_ARMOR_PROPERTY; },{},{}
14597,PhreeoniS,Phreeoni Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,180000,4121,EFST_FOOD_BASICHIT; },{},{}
14598,GhostringS,Ghostring Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,60000,4047,EFST_ARMOR_PROPERTY; },{},{}
14599,Greed_Scroll_C,Greed Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
14600,Mental_Potion,Mental Potion,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
14601,Tyr's_Blessing,Tyr's Blessing,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCFLEE,300000,30; sc_start SC_INCHIT,300000,30; sc_start SC_ATKPOTION,300000,20; sc_start SC_MATKPOTION,300000,20; },{},{}
14602,TaogunkaS,Tao Gunka Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,180000,4302,SI_MVPCARD_TAOGUNKA; },{},{}
14603,MistressS,Mistress Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,180000,4132,SI_MVPCARD_MISTRESS; },{},{}
14604,Orc_HeroS,Orc Hero Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,60000,4143,SI_MVPCARD_ORCHERO; },{},{}
14605,Orc_LoadS,Orc Lord Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,180000,4135,SI_MVPCARD_ORCLORD; },{},{}
14602,TaogunkaS,Tao Gunka Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,180000,4302,EFST_MVPCARD_TAOGUNKA; },{},{}
14603,MistressS,Mistress Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,180000,4132,EFST_MVPCARD_MISTRESS; },{},{}
14604,Orc_HeroS,Orc Hero Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,60000,4143,EFST_MVPCARD_ORCHERO; },{},{}
14605,Orc_LoadS,Orc Lord Scroll,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start2 SC_ITEMSCRIPT,180000,4135,EFST_MVPCARD_ORCLORD; },{},{}
14606,Job_Manual25,JOB Battle Manual,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
14607,Luxurious_Dinner_W,Luxurious Western Food,2,10000,,600,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCALLSTATUS,3600000,3; },{},{}
14608,Luxurious_Dinner_E,Manchu-Han Imperial Feast,2,20000,,1200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCALLSTATUS,3600000,6; },{},{}
......
......@@ -1729,7 +1729,7 @@ Achievements:
Name: "Magic Insanity"
Condition: " bInt >= 125 "
Reward:
Script: " specialeffect2 EF_HASTEUP; bonus_script \"{ bonus2 bHPLossRate,100,10000; bonus bBaseAtk,20; bonus bAspdRate,25; }\",60,0,0,SI_STEAMPACK; "
Script: " specialeffect2 EF_HASTEUP; bonus_script \"{ bonus2 bHPLossRate,100,10000; bonus bBaseAtk,20; bonus bAspdRate,25; }\",60,0,0,EFST_STEAMPACK; "
Score: 20
- ID: 200025
Group: "AG_GOAL_STATUS"
......
This diff is collapsed.
This diff is collapsed.
......@@ -80,7 +80,7 @@ L_Start:
@autopot_delay = .@delay;
@autopot_eff = .@effect;
@autopot_none = 0;
bonus_script "{ callfunc \"start_autopot\"; }",86400,8,0,SI_INCHEALRATE;
bonus_script "{ callfunc \"start_autopot\"; }",86400,8,0,EFST_HEALPLUS;
message strcharinfo(0), "Auto-Potion started.";
callsub L_Info;
......
......@@ -7443,7 +7443,7 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t
if (DIFF_TICK(ud->canact_tick, tick + autospell_tick) < 0) {
ud->canact_tick = max(tick + autospell_tick, ud->canact_tick);
if (battle_config.display_status_timers && sd)
clif_status_change(src, SI_ACTIONDELAY, 1, autospell_tick, 0, 0, 0);
clif_status_change(src, EFST_POSTDELAY, 1, autospell_tick, 0, 0, 0);
}
}
}
......@@ -7506,7 +7506,7 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t
sd->state.autocast = 0;
sd->ud.canact_tick = max(tick + skill_delayfix(src, r_skill, r_lv), sd->ud.canact_tick);
clif_status_change(src, SI_ACTIONDELAY, 1, skill_delayfix(src, r_skill, r_lv), 0, 0, 1);
clif_status_change(src, EFST_POSTDELAY, 1, skill_delayfix(src, r_skill, r_lv), 0, 0, 1);
}
}
......
......@@ -3693,7 +3693,7 @@ 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, EFST_CLIENT_ONLY_EQUIP_ARROW, 1, INVALID_TIMER, 0, 0, 0);
#endif
fd=sd->fd;
WFIFOHEAD(fd, packet_len(0x013c));
......@@ -5958,10 +5958,10 @@ void clif_status_change_sub(struct block_list *bl, int id, int type, int flag, i
{
unsigned char buf[32];
if (type == SI_BLANK) //It shows nothing on the client...
if (type == EFST_BLANK) //It shows nothing on the client...
return;
if (type == SI_ACTIONDELAY && tick == 0)
if (type == EFST_POSTDELAY && tick == 0)
return;
nullpo_retv(bl);
......@@ -6016,13 +6016,13 @@ void clif_status_change_sub(struct block_list *bl, int id, int type, int flag, i
void clif_status_change(struct block_list *bl, int type, int flag, int tick, int val1, int val2, int val3) {
struct map_session_data *sd = NULL;
if (type == SI_BLANK) //It shows nothing on the client...
if (type == EFST_BLANK) //It shows nothing on the client...
return;
if (type == SI_ACTIONDELAY && tick == 0)
if (type == EFST_POSTDELAY && tick == 0)
return;
if (type == SI_HALLUCINATION && !battle_config.display_hallucination) // Disable Hallucination.
if (type == EFST_ILLUSION && !battle_config.display_hallucination) // Disable Hallucination.
return;
nullpo_retv(bl);
......@@ -6096,7 +6096,7 @@ void clif_efst_status_change(struct block_list *bl, int tid, enum send_target ta
#endif
int offset = 0;
if (type == SI_BLANK)
if (type == EFST_BLANK)
return;
nullpo_retv(bl);
......@@ -10389,13 +10389,13 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
clif_initialstatus(sd);
if (sd->sc.option&OPTION_FALCON)
clif_status_load(&sd->bl, SI_FALCON, 1);
clif_status_load(&sd->bl, EFST_FALCON, 1);
else if (sd->sc.option&(OPTION_RIDING|OPTION_DRAGON|OPTION_MADOGEAR))
clif_status_load(&sd->bl, SI_RIDING, 1);
clif_status_load(&sd->bl, EFST_RIDING, 1);
else if (sd->sc.option&OPTION_WUGRIDER)
clif_status_load(&sd->bl, SI_WUGRIDER, 1);
clif_status_load(&sd->bl, EFST_WUGRIDER, 1);
else if (sd->sc.data[SC_ALL_RIDING])
clif_status_load(&sd->bl, SI_ALL_RIDING, 1);
clif_status_load(&sd->bl, EFST_ALL_RIDING, 1);
if(sd->status.manner < 0)
sc_start(&sd->bl,&sd->bl,SC_NOCHAT,100,0,0);
......@@ -10416,7 +10416,7 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
if (night_flag && map[sd->bl.m].flag.nightenabled) {
sd->state.night = 1;
clif_status_load(&sd->bl, SI_NIGHT, 1);
clif_status_load(&sd->bl, EFST_SKE, 1);
}
// Notify everyone that this char logged in [Skotlex].
......@@ -10462,13 +10462,13 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
if( !sd->state.night )
{
sd->state.night = 1;
clif_status_load(&sd->bl, SI_NIGHT, 1);
clif_status_load(&sd->bl, EFST_SKE, 1);
}
}
else if( sd->state.night )
{ //Clear night display.
sd->state.night = 0;
clif_status_load(&sd->bl, SI_NIGHT, 0);
clif_status_load(&sd->bl, EFST_SKE, 0);
}
if( map[sd->bl.m].flag.battleground )
......@@ -10535,7 +10535,7 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
npc_script_event(sd, NPCE_LOADMAP);
if (pc_checkskill(sd, SG_DEVIL) && pc_is_maxjoblv(sd))
clif_status_load(&sd->bl, SI_DEVIL, 1); //blindness [Komurka]
clif_status_load(&sd->bl, EFST_DEVIL1, 1); //blindness [Komurka]
if (sd->sc.opt2) //Client loses these on warp.
clif_changeoption(&sd->bl);
......
......@@ -2912,7 +2912,7 @@ void 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_load(&sd->bl, SI_INTRAVISION, 1);
clif_status_load(&sd->bl, EFST_CLAIRVOYANCE, 1);
}
break;
case SP_NO_KNOCKBACK:
......@@ -6601,7 +6601,7 @@ 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_is_maxbaselv(sd))
clif_status_change(&sd->bl,SI_DEVIL, 1, 0, 0, 0, 1); //Permanent blind effect from SG_DEVIL.
clif_status_change(&sd->bl, EFST_DEVIL1, 1, 0, 0, 0, 1); //Permanent blind effect from SG_DEVIL.
npc_script_event(sd, NPCE_JOBLVUP);
achievement_update_objective(sd, AG_GOAL_LEVEL, 1, sd->status.job_level);
......@@ -7381,7 +7381,7 @@ int pc_resetskill(struct map_session_data* sd, int flag)
return 0;
if( pc_checkskill(sd, SG_DEVIL) && pc_is_maxjoblv(sd) )
clif_status_load(&sd->bl, SI_DEVIL, 0); //Remove perma blindness due to skill-reset. [Skotlex]
clif_status_load(&sd->bl, EFST_DEVIL1, 0); //Remove perma blindness due to skill-reset. [Skotlex]
i = sd->sc.option;
if( i&OPTION_RIDING && pc_checkskill(sd, KN_RIDING) )
i &= ~OPTION_RIDING;
......@@ -7746,7 +7746,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src)
/* e.g. not killed thru pc_damage */
if( pc_issit(sd) ) {
clif_status_load(&sd->bl,SI_SIT,0);
clif_status_load(&sd->bl,EFST_SIT,0);
}
pc_setdead(sd);
......@@ -8834,12 +8834,12 @@ void 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_status_load(&sd->bl,SI_RIDING,1);
clif_status_load(&sd->bl,EFST_RIDING,1);
status_calc_pc(sd,SCO_NONE);
}
else if( (!(type&OPTION_RIDING) && p_type&OPTION_RIDING) || (!(type&OPTION_DRAGON) && p_type&OPTION_DRAGON && pc_checkskill(sd,RK_DRAGONTRAINING) > 0) )
{ // Dismount
clif_status_load(&sd->bl,SI_RIDING,0);
clif_status_load(&sd->bl,EFST_RIDING,0);
status_calc_pc(sd,SCO_NONE);
}
......@@ -8857,16 +8857,16 @@ void pc_setoption(struct map_session_data *sd,int type)
#endif
if (type&OPTION_FALCON && !(p_type&OPTION_FALCON)) //Falcon ON
clif_status_load(&sd->bl,SI_FALCON,1);
clif_status_load(&sd->bl,EFST_FALCON,1);
else if (!(type&OPTION_FALCON) && p_type&OPTION_FALCON) //Falcon OFF
clif_status_load(&sd->bl,SI_FALCON,0);
clif_status_load(&sd->bl,EFST_FALCON,0);
if( (sd->class_&MAPID_THIRDMASK) == MAPID_RANGER ) {
if( type&OPTION_WUGRIDER && !(p_type&OPTION_WUGRIDER) ) { // Mounting
clif_status_load(&sd->bl,SI_WUGRIDER,1);
clif_status_load(&sd->bl,EFST_WUGRIDER,1);
status_calc_pc(sd,SCO_NONE);
} else if( !(type&OPTION_WUGRIDER) && p_type&OPTION_WUGRIDER ) { // Dismount
clif_status_load(&sd->bl,SI_WUGRIDER,0);
clif_status_load(&sd->bl,EFST_WUGRIDER,0);
status_calc_pc(sd,SCO_NONE);
}
}
......@@ -10502,7 +10502,7 @@ static int pc_daynight_timer_sub(struct map_session_data *sd,va_list ap)
{
if (sd->state.night != night_flag && map[sd->bl.m].flag.nightenabled)
{ //Night/day state does not match.
clif_status_load(&sd->bl, SI_NIGHT, night_flag); //New night effect by dynamix [Skotlex]
clif_status_load(&sd->bl, EFST_SKE, night_flag); //New night effect by dynamix [Skotlex]
sd->state.night = night_flag;
return 1;
}
......@@ -10565,7 +10565,7 @@ bool pc_setstand(struct map_session_data *sd, bool force){
return false;
status_change_end(&sd->bl, SC_TENSIONRELAX, INVALID_TIMER);
clif_status_load(&sd->bl,SI_SIT,0);
clif_status_load(&sd->bl,EFST_SIT,0);
clif_standing(&sd->bl); //Inform area PC is standing
//Reset sitting tick.
sd->ssregen.tick.hp = sd->ssregen.tick.sp = 0;
......@@ -11883,7 +11883,7 @@ void pc_bonus_script(struct map_session_data *sd) {
if ((entry = (struct s_bonus_script_entry *)node->data)) {
// Only start timer for new bonus_script
if (entry->tid == INVALID_TIMER) {
if (entry->icon != SI_BLANK) // Gives status icon if exist
if (entry->icon != EFST_BLANK) // Gives status icon if exist
clif_status_change(&sd->bl, entry->icon, 1, entry->tick, 1, 0, 0);
entry->tick += now;
......@@ -11977,7 +11977,7 @@ void pc_bonus_script_free_entry(struct map_session_data *sd, struct s_bonus_scri
StringBuf_Free(entry->script_buf);
if (sd) {
if (entry->icon != SI_BLANK)
if (entry->icon != EFST_BLANK)
clif_status_load(&sd->bl, entry->icon, 0);
if (sd->bonus_script.count > 0)
sd->bonus_script.count--;
......
......@@ -21667,7 +21667,7 @@ BUILDIN_FUNC(montransform) {
**/
BUILDIN_FUNC(bonus_script) {
uint16 flag = 0;
int16 icon = SI_BLANK;
int16 icon = EFST_BLANK;
uint32 dur;
uint8 type = 0;
TBL_PC* sd;
......@@ -21694,8 +21694,8 @@ BUILDIN_FUNC(bonus_script) {
return SCRIPT_CMD_FAILURE;
}
if (icon <= SI_BLANK || icon >= SI_MAX)
icon = SI_BLANK;
if (icon <= EFST_BLANK || icon >= EFST_MAX)
icon = EFST_BLANK;
if ((entry = pc_bonus_script_add(sd, script_str, dur, (enum si_type)icon, flag, type))) {
linkdb_insert(&sd->bonus_script.head, (void *)((intptr_t)entry), entry);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2062,7 +2062,7 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){
ud->canact_tick = max(tick + rate, ud->canact_tick);
if ( battle_config.display_status_timers )
clif_status_change(src, SI_ACTIONDELAY, 1, rate, 0, 0, 0);
clif_status_change(src, EFST_POSTDELAY, 1, rate, 0, 0, 0);
}
}
}
......@@ -2156,7 +2156,7 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){
ud->canact_tick = max(tick + rate, ud->canact_tick);
if ( battle_config.display_status_timers && sd )
clif_status_change(src, SI_ACTIONDELAY, 1, rate, 0, 0, 0);
clif_status_change(src, EFST_POSTDELAY, 1, rate, 0, 0, 0);
}
}
}
......@@ -2497,7 +2497,7 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
if (DIFF_TICK(ud->canact_tick, tick + autospl_rate) < 0){
ud->canact_tick = max(tick + autospl_rate, ud->canact_tick);
if ( battle_config.display_status_timers && dstsd )
clif_status_change(bl, SI_ACTIONDELAY, 1, autospl_rate, 0, 0, 0);
clif_status_change(bl, EFST_POSTDELAY, 1, autospl_rate, 0, 0, 0);
}
}
}
......@@ -5563,7 +5563,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
}
sd->ud.canact_tick = max(tick + skill_delayfix(src, pres_skill_id, pres_skill_lv), sd->ud.canact_tick);
clif_status_change(src, SI_ACTIONDELAY, 1, skill_delayfix(src, pres_skill_id, pres_skill_lv), 0, 0, 0);
clif_status_change(src, EFST_POSTDELAY, 1, skill_delayfix(src, pres_skill_id, pres_skill_lv), 0, 0, 0);
cooldown = pc_get_skillcooldown(sd,pres_skill_id, pres_skill_lv);
if( cooldown )
......@@ -11288,7 +11288,7 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr_t data)
if(cooldown) skill_blockpc_start(sd, ud->skill_id, cooldown);
}
if( battle_config.display_status_timers && sd )
clif_status_change(src, SI_ACTIONDELAY, 1, skill_delayfix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
clif_status_change(src, EFST_POSTDELAY, 1, skill_delayfix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
if( sd )
{
switch( ud->skill_id )
......@@ -11515,7 +11515,7 @@ int skill_castend_pos(int tid, unsigned int tick, int id, intptr_t data)
if(cooldown) skill_blockpc_start(sd, ud->skill_id, cooldown);
}
if( battle_config.display_status_timers && sd )
clif_status_change(src, SI_ACTIONDELAY, 1, skill_delayfix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
clif_status_change(src, EFST_POSTDELAY, 1, skill_delayfix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
// if( sd )
// {
// switch( ud->skill_id )
......@@ -16973,9 +16973,9 @@ int skill_sit (struct map_session_data *sd, int type)
}
if (type)
clif_status_load(&sd->bl, SI_SIT, 1);
clif_status_load(&sd->bl, EFST_SIT, 1);
else
clif_status_load(&sd->bl, SI_SIT, 0);
clif_status_load(&sd->bl, EFST_SIT, 0);
if (!flag) return 0;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
......@@ -828,7 +828,7 @@ void unit_run_hit(struct block_list *bl, struct status_change *sc, struct map_se
// If you can't run forward, you must be next to a wall, so bounce back. [Skotlex]
if (type == SC_RUN)
clif_status_change(bl, SI_BUMP, 1, 0, 0, 0, 0);
clif_status_change(bl, EFST_TING, 1, 0, 0, 0, 0);
// Set running to 0 beforehand so status_change_end knows not to enable spurt [Kevin]
unit_bl2ud(bl)->state.running = 0;
......@@ -836,7 +836,7 @@ void unit_run_hit(struct block_list *bl, struct status_change *sc, struct map_se
if (type == SC_RUN) {
skill_blown(bl, bl, skill_get_blewcount(TK_RUN, lv), unit_getdir(bl), BLOWN_NONE);
clif_status_change(bl, SI_BUMP, 0, 0, 0, 0, 0);
clif_status_change(bl, EFST_TING, 0, 0, 0, 0, 0);
} else if (sd) {
clif_fixpos(bl);
skill_castend_damage_id(bl, &sd->bl, RA_WUGDASH, lv, gettick(), SD_LEVEL);
......