summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-03-29 19:40:25 -0300
committershennetsind <ind@henn.et>2013-03-29 19:40:25 -0300
commita89d501fc60b12a997a262429cb4515af9dad69e (patch)
tree39e2a5153a99d46dc40cb461eb3ecdb9ded73275 /src/map/skill.c
parentcfd2bdb06048c17decaafd0f5a3c04e3f0ac6a3b (diff)
downloadhercules-a89d501fc60b12a997a262429cb4515af9dad69e.tar.gz
hercules-a89d501fc60b12a997a262429cb4515af9dad69e.tar.bz2
hercules-a89d501fc60b12a997a262429cb4515af9dad69e.tar.xz
hercules-a89d501fc60b12a997a262429cb4515af9dad69e.zip
Hercules Renewal: clif.c
1st Phase Complete. http://hercules.ws/board/topic/237-hercules-renewal/ Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c1606
1 files changed, 803 insertions, 803 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 3d673d41e..ea70e2fe2 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -502,7 +502,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd)
}
if (sd->blockskill[idx] > 0) {
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_SKILLINTERVAL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_SKILLINTERVAL, 0);
return 1;
}
@@ -515,7 +515,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd)
for(i = 0; i < map[m].zone->disabled_skills_count; i++) {
if( skill_id == map[m].zone->disabled_skills[i] ) {
- clif_msg(sd, SKILL_CANT_USE_AREA); // This skill cannot be used within this area
+ clif->msg(sd, SKILL_CANT_USE_AREA); // This skill cannot be used within this area
return 1;
}
}
@@ -528,7 +528,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd)
case RETURN_TO_ELDICASTES:
case ALL_GUARDIAN_RECALL:
if(map[m].flag.nowarp) {
- clif_skill_teleportmessage(sd,0);
+ clif->skill_teleportmessage(sd,0);
return 1;
}
return 0;
@@ -536,7 +536,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd)
case SC_FATALMENACE:
case SC_DIMENSIONDOOR:
if(map[m].flag.noteleport) {
- clif_skill_teleportmessage(sd,0);
+ clif->skill_teleportmessage(sd,0);
return 1;
}
return 0; // gonna be checked in 'skill->castend_nodamage_id'
@@ -544,7 +544,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd)
case WE_CALLPARENT:
case WE_CALLBABY:
if (map[m].flag.nomemo) {
- clif_skill_teleportmessage(sd,1);
+ clif->skill_teleportmessage(sd,1);
return 1;
}
break;
@@ -554,8 +554,8 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd)
// uncomment for more verbose message.
//char output[150];
//sprintf(output, msg_txt(662), battle_config.min_npc_vendchat_distance);
- //clif_displaymessage(sd->fd, output);
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_THERE_ARE_NPC_AROUND,0);
+ //clif->displaymessage(sd->fd, output);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_THERE_ARE_NPC_AROUND,0);
return 1;
}
case MC_IDENTIFY:
@@ -563,13 +563,13 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd)
case WZ_ICEWALL:
// noicewall flag [Valaris]
if (map[m].flag.noicewall) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 1;
}
break;
case GC_DARKILLUSION:
if( map_flag_gvg(m) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 1;
}
break;
@@ -579,7 +579,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd)
!(battle_config.emergency_call&(map[m].flag.gvg || map[m].flag.gvg_castle?8:4)) ||
(battle_config.emergency_call&16 && map[m].flag.nowarpto && !map[m].flag.gvg_castle)
) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 1;
}
break;
@@ -596,7 +596,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd)
* These skills cannot be used while in mado gear (credits to Xantara)
**/
if( pc_ismadogear(sd) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 1;
}
break;
@@ -607,7 +607,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd)
case WM_LULLABY_DEEPSLEEP:
case WM_SATURDAY_NIGHT_FEVER:
if( !map_flag_vs(m) ) {
- clif_skill_teleportmessage(sd,2); // This skill uses this msg instead of skill fails.
+ clif->skill_teleportmessage(sd,2); // This skill uses this msg instead of skill fails.
return 1;
}
break;
@@ -798,9 +798,9 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint
(temp=pc_checkskill(sd,RG_SNATCHER)) > 0 &&
(temp*15 + 55) + pc_checkskill(sd,TF_STEAL)*10 > rnd()%1000) {
if(pc_steal_item(sd,bl,pc_checkskill(sd,TF_STEAL)))
- clif_skill_nodamage(src,bl,TF_STEAL,temp,1);
+ clif->skill_nodamage(src,bl,TF_STEAL,temp,1);
else
- clif_skill_fail(sd,RG_SNATCHER,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,RG_SNATCHER,USESKILL_FAIL_LEVEL,0);
}
// Chance to trigger Taekwon kicks [Dralnu]
if(sc && !sc->data[SC_COMBO]) {
@@ -864,7 +864,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint
if(!sc_start2(bl,SC_POISON,(4*skill_lv+10),skill_lv,src->id,skill->get_time2(skill_id,skill_lv))
&& sd && skill_id==TF_POISON
)
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
case AS_SONICBLOW:
@@ -963,7 +963,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint
case AM_ACIDTERROR:
sc_start2(bl,SC_BLEEDING,(skill_lv*3),skill_lv,src->id,skill->get_time2(skill_id,skill_lv));
if (skill->break_equip(bl, EQP_ARMOR, 100*skill->get_time(skill_id,skill_lv), BCT_ENEMY))
- clif_emotion(bl,E_OMG);
+ clif->emotion(bl,E_OMG);
break;
case AM_DEMONSTRATION:
@@ -1153,7 +1153,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint
if (sstatus->dex > tstatus->dex)
rate += (sstatus->dex - tstatus->dex)/5; //TODO: Made up formula
skill->strip_equip(bl, EQP_WEAPON, rate, skill_lv, skill->get_time(skill_id,skill_lv));
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case NPC_EVILLAND:
sc_start(bl,SC_BLIND,5*skill_lv,skill_lv,skill->get_time2(skill_id,skill_lv));
@@ -1257,7 +1257,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint
break;
case LG_MOONSLASHER:
rate = 32 + 8 * skill_lv;
- if( rnd()%100 < rate && dstsd ) // Uses skill->addtimerskill to avoid damage and setsit packet overlaping. Officially clif_setsit is received about 500 ms after damage packet.
+ if( rnd()%100 < rate && dstsd ) // Uses skill->addtimerskill to avoid damage and setsit packet overlaping. Officially clif->setsit is received about 500 ms after damage packet.
skill->addtimerskill(src,tick+500,bl->id,0,0,skill_id,skill_lv,BF_WEAPON,0);
else if( dstmd && !is_boss(bl) )
sc_start(bl,SC_STOP,100,skill_lv,skill->get_time(skill_id,skill_lv));
@@ -1463,7 +1463,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint
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_ACTIONDELAY, 1, rate, 0, 0, 0);
+ clif->status_change(src, SI_ACTIONDELAY, 1, rate, 0, 0, 0);
}
}
}
@@ -1560,7 +1560,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, uint
if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){
ud->canact_tick = tick+rate;
if ( battle_config.display_status_timers && sd )
- clif_status_change(src, SI_ACTIONDELAY, 1, rate, 0, 0, 0);
+ clif->status_change(src, SI_ACTIONDELAY, 1, rate, 0, 0, 0);
}
}
}
@@ -1763,7 +1763,7 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
TBL_HOM *hd = (TBL_HOM*)src;
hd->homunculus.intimacy = 200;
if (hd->master)
- clif_send_homdata(hd->master,SP_INTIMATE,hd->homunculus.intimacy/100);
+ clif->send_homdata(hd->master,SP_INTIMATE,hd->homunculus.intimacy/100);
}
break;
case CR_GRANDCROSS:
@@ -1781,7 +1781,7 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
(rate=pc_checkskill(sd,HW_SOULDRAIN))>0
){ //Soul Drain should only work on targetted spells [Skotlex]
if (pc_issit(sd)) pc_setstand(sd); //Character stuck in attacking animation while 'sitting' fix. [Skotlex]
- clif_skill_nodamage(src,bl,HW_SOULDRAIN,rate,1);
+ clif->skill_nodamage(src,bl,HW_SOULDRAIN,rate,1);
status_heal(src, 0, status_get_lv(bl)*(95+15*rate)/100, 2);
}
@@ -1896,7 +1896,7 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){
ud->canact_tick = tick+rate;
if ( battle_config.display_status_timers && dstsd )
- clif_status_change(bl, SI_ACTIONDELAY, 1, rate, 0, 0, 0);
+ clif->status_change(bl, SI_ACTIONDELAY, 1, rate, 0, 0, 0);
}
}
}
@@ -2010,7 +2010,7 @@ int skill_break_equip (struct block_list *bl, unsigned short where, int rate, in
pc_unequipitem(sd, j, 3);
}
}
- clif_equiplist(sd);
+ clif->equiplist(sd);
}
return where; //Return list of pieces broken.
@@ -2124,7 +2124,7 @@ int skill_magic_reflect(struct block_list* src, struct block_list* bl, int type)
if( sc->data[SC_KAITE] && (src->type == BL_PC || status_get_lv(src) <= 80) )
{// Kaite only works against non-players if they are low-level.
- clif_specialeffect(bl, 438, AREA);
+ clif->specialeffect(bl, 438, AREA);
if( --sc->data[SC_KAITE]->val2 <= 0 )
status_change_end(bl, SC_KAITE, INVALID_TIMER);
return 2;
@@ -2272,7 +2272,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
nbl = battle->get_enemy_area(bl,bl->x,bl->y,2,BL_CHAR,bl->id);
if( nbl ){ // Only one target is chosen.
damage = damage / 2; // Deflect half of the damage to a target nearby
- clif_skill_damage(bl, nbl, tick, status_get_amotion(src), 0, status_fix_damage(bl,nbl,damage,0), dmg.div_, OB_OBOROGENSOU_TRANSITION_ATK, -1, 6);
+ clif->skill_damage(bl, nbl, tick, status_get_amotion(src), 0, status_fix_damage(bl,nbl,damage,0), dmg.div_, OB_OBOROGENSOU_TRANSITION_ATK, -1, 6);
}
}
@@ -2344,7 +2344,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
{
//TODO: This code was taken from Triple Blows, is this even how it should be? [Skotlex]
sc_start2(src,SC_COMBO,100,HT_POWER,bl->id,2000);
- clif_combo_delay(src,2000);
+ clif->combo_delay(src,2000);
}
break;
case TK_COUNTER:
@@ -2376,14 +2376,14 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
flag = DIFF_TICK(sd->ud.canact_tick, tick);
if (flag < 1) flag = 1;
sc_start2(src,SC_COMBO,100,skill_id,bl->id,flag);
- clif_combo_delay(src, flag);
+ clif->combo_delay(src, flag);
}
}
//Display damage.
switch( skill_id ) {
case PA_GOSPEL: //Should look like Holy Cross [Skotlex]
- dmg.dmotion = clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion, damage, dmg.div_, CR_HOLYCROSS, -1, 5);
+ dmg.dmotion = clif->skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion, damage, dmg.div_, CR_HOLYCROSS, -1, 5);
break;
//Skills that need be passed as a normal attack for the client to display correctly.
case HVAN_EXPLOSION:
@@ -2396,27 +2396,27 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
case NPC_CRITICALSLASH:
case TF_DOUBLE:
case GS_CHAINACTION:
- dmg.dmotion = clif_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,dmg.type,dmg.damage2);
+ dmg.dmotion = clif->damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,dmg.type,dmg.damage2);
break;
case AS_SPLASHER:
if( flag&SD_ANIMATION ) // the surrounding targets
- dmg.dmotion = clif_skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, -1, 5); // needs -1 as skill level
+ dmg.dmotion = clif->skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, -1, 5); // needs -1 as skill level
else // the central target doesn't display an animation
- dmg.dmotion = clif_skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, -2, 5); // needs -2(!) as skill level
+ dmg.dmotion = clif->skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, -2, 5); // needs -2(!) as skill level
break;
case WL_HELLINFERNO:
case SR_EARTHSHAKER:
- dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,1,skill_id,-2,6);
+ dmg.dmotion = clif->skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,1,skill_id,-2,6);
break;
case WL_SOULEXPANSION:
case WL_COMET:
case KO_MUCHANAGE:
case NJ_HUUMA:
- dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,skill_id,skill_lv,8);
+ dmg.dmotion = clif->skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,skill_id,skill_lv,8);
break;
case WL_CHAINLIGHTNING_ATK:
- dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,1,WL_CHAINLIGHTNING,-2,6);
+ dmg.dmotion = clif->skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,1,WL_CHAINLIGHTNING,-2,6);
break;
case LG_OVERBRAND_BRANDISH:
case LG_OVERBRAND_PLUSATK:
@@ -2438,20 +2438,20 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
case EL_HURRICANE_ATK:
case KO_BAKURETSU:
case GN_CRAZYWEED_ATK:
- dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,skill_id,-1,5);
+ dmg.dmotion = clif->skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,skill_id,-1,5);
break;
case GN_SLINGITEM_RANGEMELEEATK:
- dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,GN_SLINGITEM,-2,6);
+ dmg.dmotion = clif->skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,GN_SLINGITEM,-2,6);
break;
case EL_STONE_RAIN:
- dmg.dmotion = clif_skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,skill_id,-1,(flag&1)?8:5);
+ dmg.dmotion = clif->skill_damage(dsrc,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,skill_id,-1,(flag&1)?8:5);
break;
case WM_SEVERE_RAINSTORM_MELEE:
- dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,WM_SEVERE_RAINSTORM,skill_lv,5);
+ dmg.dmotion = clif->skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,WM_SEVERE_RAINSTORM,skill_lv,5);
break;
case WM_REVERBERATION_MELEE:
case WM_REVERBERATION_MAGIC:
- dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,WM_REVERBERATION,-2,6);
+ dmg.dmotion = clif->skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,WM_REVERBERATION,-2,6);
break;
case HT_CLAYMORETRAP:
case HT_BLASTMINE:
@@ -2460,14 +2460,14 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
case RA_CLUSTERBOMB:
case RA_FIRINGTRAP:
case RA_ICEBOUNDTRAP:
- dmg.dmotion = clif_skill_damage(src,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id,flag&SD_LEVEL?-1:skill_lv, 5);
+ dmg.dmotion = clif->skill_damage(src,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id,flag&SD_LEVEL?-1:skill_lv, 5);
if( dsrc != src ) // avoid damage display redundancy
break;
case HT_LANDMINE:
- dmg.dmotion = clif_skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, -1, type);
+ dmg.dmotion = clif->skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, -1, type);
break;
case WZ_SIGHTBLASTER:
- dmg.dmotion = clif_skill_damage(src,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, flag&SD_LEVEL?-1:skill_lv, 5);
+ dmg.dmotion = clif->skill_damage(src,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, flag&SD_LEVEL?-1:skill_lv, 5);
break;
case AB_DUPLELIGHT_MELEE:
case AB_DUPLELIGHT_MAGIC:
@@ -2478,9 +2478,9 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
if( bl->type == BL_SKILL ){
TBL_SKILL *su = (TBL_SKILL*)bl;
if( su->group && skill->get_inf2(su->group->skill_id)&INF2_TRAP )// show damage on trap targets
- clif_skill_damage(src,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, flag&SD_LEVEL?-1:skill_lv, 5);
+ clif->skill_damage(src,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, flag&SD_LEVEL?-1:skill_lv, 5);
}
- dmg.dmotion = clif_skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, flag&SD_LEVEL?-1:skill_lv, type);
+ dmg.dmotion = clif->skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skill_id, flag&SD_LEVEL?-1:skill_lv, type);
break;
}
@@ -2533,7 +2533,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
tsd->status.skill[tsd->reproduceskill_id].id = 0;
tsd->status.skill[tsd->reproduceskill_id].lv = 0;
tsd->status.skill[tsd->reproduceskill_id].flag = 0;
- clif_deleteskill(tsd,tsd->reproduceskill_id);
+ clif->deleteskill(tsd,tsd->reproduceskill_id);
}
tsd->reproduceskill_id = copy_skill;
@@ -2543,14 +2543,14 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
tsd->status.skill[copy_skill].id = copy_skill;
tsd->status.skill[copy_skill].lv = lv;
tsd->status.skill[copy_skill].flag = SKILL_FLAG_PLAGIARIZED;
- clif_addskill(tsd,copy_skill);
+ clif->addskill(tsd,copy_skill);
} else {
lv = skill_lv;
if (tsd->cloneskill_id && tsd->status.skill[tsd->cloneskill_id].flag == SKILL_FLAG_PLAGIARIZED){
tsd->status.skill[tsd->cloneskill_id].id = 0;
tsd->status.skill[tsd->cloneskill_id].lv = 0;
tsd->status.skill[tsd->cloneskill_id].flag = 0;
- clif_deleteskill(tsd,tsd->cloneskill_id);
+ clif->deleteskill(tsd,tsd->cloneskill_id);
}
if ((type = pc_checkskill(tsd,RG_PLAGIARISM)) < lv)
@@ -2563,7 +2563,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
tsd->status.skill[skill_id].id = copy_skill;
tsd->status.skill[skill_id].lv = lv;
tsd->status.skill[skill_id].flag = SKILL_FLAG_PLAGIARIZED;
- clif_addskill(tsd,skill_id);
+ clif->addskill(tsd,skill_id);
}
}
}
@@ -2639,7 +2639,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
case GN_WALLOFTHORN:
unit_stop_walking(bl,1);
skill->blown(dsrc,bl,dmg.blewcount,dir, 0x2 );
- clif_fixpos(bl);
+ clif->fixpos(bl);
break;
default:
skill->blown(dsrc,bl,dmg.blewcount,dir, 0x0 );
@@ -2666,12 +2666,12 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
) && check_distance_bl(bl, d_bl, sce->val3) )
{
if(!rmdamage){
- clif_damage(d_bl,d_bl, gettick(), 0, 0, damage, 0, 0, 0);
+ clif->damage(d_bl,d_bl, gettick(), 0, 0, damage, 0, 0, 0);
status_fix_damage(NULL,d_bl, damage, 0);
} else{ //Reflected magics are done directly on the target not on paladin
//This check is only for magical skill.
//For BF_WEAPON skills types track var rdamage and function battle_calc_return_damage
- clif_damage(bl,bl, gettick(), 0, 0, damage, 0, 0, 0);
+ clif->damage(bl,bl, gettick(), 0, 0, damage, 0, 0, 0);
status_fix_damage(bl,bl, damage, 0);
}
}
@@ -2713,7 +2713,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
battle->delay_damage(tick, dmg.amotion,bl,src,0,CR_REFLECTSHIELD,0,rdamage,ATK_DEF,0,additional_effects);
else
status_fix_damage(bl,src,rdamage,0);
- clif_damage(src,src,tick, dmg.amotion,0,rdamage,1,4,0); // in aegis damage reflected is shown in single hit.
+ clif->damage(src,src,tick, dmg.amotion,0,rdamage,1,4,0); // in aegis damage reflected is shown in single hit.
//Use Reflect Shield to signal this kind of skill trigger. [Skotlex]
if( tsd && src != bl )
battle->drain(tsd, src, rdamage, rdamage, sstatus->race, is_boss(src));
@@ -2733,7 +2733,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
if( ssc && ssc->data[SC_POISONINGWEAPON] && rnd()%100 < 70 + 5*skill_lv ) {
sc_start(bl,ssc->data[SC_POISONINGWEAPON]->val2,100,ssc->data[SC_POISONINGWEAPON]->val1,skill->get_time2(GC_POISONINGWEAPON, 1));
status_change_end(src,SC_POISONINGWEAPON,INVALID_TIMER);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
}
break;
@@ -2790,7 +2790,7 @@ int skill_area_sub (struct block_list *bl, va_list ap) {
if(battle->check_target(src,bl,flag) > 0) {
// several splash skills need this initial dummy packet to display correctly
if (flag&SD_PREAMBLE && skill_area_temp[2] == 0)
- clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
if (flag&(SD_SPLASH|SD_PREAMBLE))
skill_area_temp[2]++;
@@ -3007,11 +3007,11 @@ int skill_check_condition_mercenary(struct block_list *bl, int skill_id, int lv,
if( !(type&2) ) {
if( hp > 0 && status->hp <= (unsigned int)hp ) {
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_HP_INSUFFICIENT, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_HP_INSUFFICIENT, 0);
return 0;
}
if( sp > 0 && status->sp <= (unsigned int)sp ) {
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_SP_INSUFFICIENT, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_SP_INSUFFICIENT, 0);
return 0;
}
}
@@ -3020,7 +3020,7 @@ int skill_check_condition_mercenary(struct block_list *bl, int skill_id, int lv,
switch( state ) {
case ST_MOVE_ENABLE:
if( !unit_can_move(bl) ) {
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
return 0;
}
break;
@@ -3036,7 +3036,7 @@ int skill_check_condition_mercenary(struct block_list *bl, int skill_id, int lv,
index[i] = pc_search_inventory(sd, itemid[i]);
if( index[i] < 0 || sd->status.inventory[index[i]].amount < amount[i] )
{
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
return 0;
}
}
@@ -3204,7 +3204,7 @@ int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data) {
if( (tsd = ((TBL_PC*)target)) && !pc_issit(tsd) ) {
pc_setsit(tsd);
skill->sit(tsd,1);
- clif_sitting(&tsd->bl);
+ clif->sitting(&tsd->bl);
}
}
break;
@@ -3241,7 +3241,7 @@ int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data) {
if( path_search_long(NULL, src->m, src->x, src->y, x, y, CELL_CHKWALL) )
skill->unitsetting(src,skl->skill_id,skl->skill_lv,x,y,skl->flag);
if( path_search_long(NULL, src->m, src->x, src->y, skl->x, skl->y, CELL_CHKWALL) )
- clif_skill_poseffect(src,skl->skill_id,skl->skill_lv,skl->x,skl->y,tick);
+ clif->skill_poseffect(src,skl->skill_id,skl->skill_lv,skl->x,skl->y,tick);
}
else if( path_search_long(NULL, src->m, src->x, src->y, skl->x, skl->y, CELL_CHKWALL) )
skill->unitsetting(src,skl->skill_id,skl->skill_lv,skl->x,skl->y,skl->flag);
@@ -3329,8 +3329,8 @@ int skill_reveal_trap (struct block_list *bl, va_list ap) {
TBL_SKILL *su = (TBL_SKILL*)bl;
if (su->alive && su->group && skill->get_inf2(su->group->skill_id)&INF2_TRAP) { //Reveal trap.
//Change look is not good enough, the client ignores it as an actual trap still. [Skotlex]
- //clif_changetraplook(bl, su->group->unit_id);
- clif_skill_setunit(su);
+ //clif->changetraplook(bl, su->group->unit_id);
+ clif->skill_setunit(su);
return 1;
}
return 0;
@@ -3367,7 +3367,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
sc_type sct = status_skill2sc(skill_id);
if(sct != SC_NONE)
status_change_end(bl, sct, INVALID_TIMER);
- clif_skill_damage(src, bl, tick, status_get_amotion(src), status_get_dmotion(bl), 0, 1, skill_id, skill_lv, skill->get_hit(skill_id));
+ clif->skill_damage(src, bl, tick, status_get_amotion(src), status_get_dmotion(bl), 0, 1, skill_id, skill_lv, skill->get_hit(skill_id));
return 1;
}
@@ -3534,7 +3534,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
break;
case TK_STORMKICK: // Taekwon kicks [Dralnu]
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
skill_area_temp[1] = 0;
map_foreachinrange(skill->attack_area, src,
skill->get_splash(skill_id, skill_lv), splash_target(src),
@@ -3548,7 +3548,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
// teleport to target (if not on WoE grounds)
if( !map_flag_gvg(src->m) && !map[src->m].flag.battleground && unit_movepos(src, bl->x, bl->y, 0, 1) )
- clif_slide(src, bl->x, bl->y);
+ clif->slide(src, bl->x, bl->y);
// cause damage and knockback if the path to target was a straight one
if( path ) {
@@ -3602,7 +3602,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
unit_setdir(bl,dir);
}
else if (sd)
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
break;
@@ -3661,9 +3661,9 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
else y = 0;
if( (mbl == src || (!map_flag_gvg(src->m) && !map[src->m].flag.battleground) ) && // only NJ_ISSEN don't have slide effect in GVG
unit_movepos(src, mbl->x+x, mbl->y+y, 1, 1) ) {
- clif_slide(src, src->x, src->y);
+ clif->slide(src, src->x, src->y);
//uncomment this if you want to remove MO_EXTREMITYFIST glitchy walking effect. [malufett]
- //clif_fixpos(src);
+ //clif->fixpos(src);
}
}
break;
@@ -3733,7 +3733,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
heal = skill->attack(skill->get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, sflag);
if( skill_id == NPC_VAMPIRE_GIFT && heal > 0 ) {
- clif_skill_nodamage(NULL, src, AL_HEAL, heal, 1);
+ clif->skill_nodamage(NULL, src, AL_HEAL, heal, 1);
status_heal(src,heal,0,0);
}
} else {
@@ -3741,10 +3741,10 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case NJ_BAKUENRYU:
case LG_EARTHDRIVE:
case GN_CARTCANNON:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case LG_MOONSLASHER:
- clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
break;
case NPC_EARTHQUAKE://FIXME: Isn't EarthQuake a ground skill after all?
skill->addtimerskill(src,tick+250,src->id,0,0,skill_id,skill_lv,2,flag|BCT_ENEMY|SD_SPLASH|1);
@@ -3799,7 +3799,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
skill_area_temp[0] = map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ENEMY, skill->area_sub_count);
if( skill_area_temp[0] > 1 ) break; // collision
}
- clif_blown(bl); //Update target pos.
+ clif->blown(bl); //Update target pos.
if (i!=c) { //Splash
skill_area_temp[1] = bl->id;
map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_damage_id);
@@ -3845,8 +3845,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
}
break;
case CH_PALMSTRIKE: // Palm Strike takes effect 1sec after casting. [Skotlex]
- // clif_skill_nodamage(src,bl,skill_id,skill_lv,0); //Can't make this one display the correct attack animation delay :/
- clif_damage(src,bl,tick,status_get_amotion(src),0,-1,1,4,0); //Display an absorbed damage attack.
+ // clif->skill_nodamage(src,bl,skill_id,skill_lv,0); //Can't make this one display the correct attack animation delay :/
+ clif->damage(src,bl,tick,status_get_amotion(src),0,-1,1,4,0); //Display an absorbed damage attack.
skill->addtimerskill(src, tick + (1000+status_get_amotion(src)), bl->id, 0, 0, skill_id, skill_lv, BF_WEAPON, flag);
break;
@@ -3951,14 +3951,14 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case SL_STUN:
if (sd && !battle_config.allow_es_magic_pc && bl->type != BL_MOB) {
status_change_start(src,SC_STUN,10000,skill_lv,0,0,0,500,10);
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
skill->attack(BF_MAGIC,src,src,bl,skill_id,skill_lv,tick,flag);
break;
case NPC_DARKBREATH:
- clif_emotion(src,E_AG);
+ clif->emotion(src,E_AG);
case SN_FALCONASSAULT:
case PA_PRESSURE:
case CR_ACIDDEMONSTRATION:
@@ -3976,7 +3976,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case RK_DRAGONBREATH: {
struct status_change *tsc = NULL;
if( (tsc = status_get_sc(bl)) && (tsc->data[SC_HIDING] )) {
- clif_skill_nodamage(src,src,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1);
} else
skill->attack(BF_MISC,src,src,bl,skill_id,skill_lv,tick,flag);
}
@@ -3995,12 +3995,12 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
// Celest
case PF_SOULBURN:
if (rnd()%100 < (skill_lv < 5 ? 30 + skill_lv * 10 : 70)) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if (skill_lv == 5)
skill->attack(BF_MAGIC,src,src,bl,skill_id,skill_lv,tick,flag);
status_percent_damage(src, bl, 0, 100, false);
} else {
- clif_skill_nodamage(src,src,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1);
if (skill_lv == 5)
skill->attack(BF_MAGIC,src,src,src,skill_id,skill_lv,tick,flag);
status_percent_damage(src, src, 0, 100, false);
@@ -4013,7 +4013,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
int heal = skill->attack( (skill_id == NPC_BLOODDRAIN) ? BF_WEAPON : BF_MAGIC,
src, src, bl, skill_id, skill_lv, tick, flag);
if (heal > 0){
- clif_skill_nodamage(NULL, src, AL_HEAL, heal, 1);
+ clif->skill_nodamage(NULL, src, AL_HEAL, heal, 1);
status_heal(src, heal, 0, 0);
}
}
@@ -4033,14 +4033,14 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
short x, y;
map_search_freecell(bl, 0, &x, &y, 1, 1, 0);
if (unit_movepos(src, x, y, 0, 0))
- clif_slide(src,src->x,src->y);
+ clif->slide(src,src->x,src->y);
}
status_change_end(src, SC_HIDING, INVALID_TIMER);
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
break;
case RK_PHANTOMTHRUST:
unit_setdir(src,map_calc_dir(src, bl->x, bl->y));
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
skill->blown(src,bl,distance_bl(src,bl)-1,unit_getdir(src),0);
if( battle->check_target(src,bl,BCT_ENEMY) )
@@ -4053,7 +4053,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
if( pc_checkskill(sd,RK_RUNEMASTERY) >= ( skill_id == RK_CRUSHSTRIKE ? 7 : 3 ) )
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
else
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
} else //non-sd support
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
break;
@@ -4071,8 +4071,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
if( unit_movepos(src, bl->x+x, bl->y+y, 1, 1) )
{
- clif_slide(src,bl->x+x,bl->y+y);
- clif_fixpos(src); // the official server send these two packts.
+ clif->slide(src,bl->x+x,bl->y+y);
+ clif->fixpos(src); // the official server send these two packts.
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
if( rnd()%100 < 4 * skill_lv )
skill->castend_damage_id(src,bl,GC_CROSSIMPACT,skill_lv,tick,flag);
@@ -4085,12 +4085,12 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
if( sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == GC_WEAPONBLOCKING )
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
else if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_GC_WEAPONBLOCKING,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_GC_WEAPONBLOCKING,0);
break;
case GC_CROSSRIPPERSLASHER:
if( sd && !(sc && sc->data[SC_ROLLINGCUTTER]) )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_CONDITION,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_CONDITION,0);
else
{
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
@@ -4107,7 +4107,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
}
break;
case WL_CHAINLIGHTNING:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
skill->addtimerskill(src,tick + 150,bl->id,3,0,WL_CHAINLIGHTNING_ATK,skill_lv,4+skill_lv,flag);
break;
case WL_DRAINLIFE:
@@ -4123,7 +4123,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
if( heal && rnd()%100 < rate )
{
status_heal(src, heal, 0, 0);
- clif_skill_nodamage(NULL, src, AL_HEAL, heal, 1);
+ clif->skill_nodamage(NULL, src, AL_HEAL, heal, 1);
}
}
break;
@@ -4144,7 +4144,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
if( j < 4 )
{ // Need 4 spheres minimum
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
@@ -4168,7 +4168,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case WLS_STONE: subskill = WL_TETRAVORTEX_GROUND; k |= 8; break;
}
skill->addtimerskill(src, tick + i * 200, bl->id, k, 0, subskill, skill_lv, i, flag);
- clif_skill_nodamage(src, bl, subskill, skill_lv, 1);
+ clif->skill_nodamage(src, bl, subskill, skill_lv, 1);
status_change_end(src, spheres[i], INVALID_TIMER);
}
}
@@ -4202,7 +4202,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
else // Last spell to be released
status_change_end(src, SC_READING_SB, INVALID_TIMER);
if( bl->type != BL_SKILL ) /* skill types will crash the client */
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
if( !skill->check_condition_castbegin(sd, skill_id, skill_lv) )
break;
@@ -4219,7 +4219,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
}
sd->ud.canact_tick = tick + skill->delay_fix(src, skill_id, skill_lv);
- clif_status_change(src, SI_ACTIONDELAY, 1, skill->delay_fix(src, skill_id, skill_lv), 0, 0, 0);
+ clif->status_change(src, SI_ACTIONDELAY, 1, skill->delay_fix(src, skill_id, skill_lv), 0, 0, 0);
} else { // Summon Balls
int j = 0, k, skele;
int spheres[5] = { 0, 0, 0, 0, 0 },
@@ -4234,7 +4234,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
}
if( j == 0 ) { // No Spheres
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_SUMMON_NONE,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_SUMMON_NONE,0);
break;
}
@@ -4253,7 +4253,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
skill->addtimerskill(src,tick+status_get_adelay(src)*i,bl->id,0,0,skele,sc->data[spheres[i]]->val3,BF_MAGIC,flag|SD_LEVEL);
status_change_end(src, spheres[i], INVALID_TIMER); // Eliminate ball
}
- clif_skill_nodamage(src,bl,skill_id,0,1);
+ clif->skill_nodamage(src,bl,skill_id,0,1);
}
}
break;
@@ -4276,8 +4276,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
if( unit_movepos(src, bl->x+x[dir], bl->y+y[dir], 1, 1) )
{
- clif_slide(src, bl->x+x[dir], bl->y+y[dir]);
- clif_fixpos(src);
+ clif->slide(src, bl->x+x[dir], bl->y+y[dir]);
+ clif->fixpos(src);
skill->attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag);
}
break;
@@ -4286,7 +4286,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
if( path_search(NULL,src->m,src->x,src->y,bl->x,bl->y,1,CELL_CHKNOREACH) ) {
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
}else if( sd && skill_id == RA_WUGBITE ) // Only RA_WUGBITE has the skill fail message.
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
break;
@@ -4330,7 +4330,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
else
{
map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill->castend_damage_id);
- clif_skill_damage(src,src,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,src,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
if( sd ) pc_overheat(sd,1);
}
break;
@@ -4350,12 +4350,12 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
skill_area_temp[5] = y;
map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_damage_id);
skill->addtimerskill(src,tick + 800,src->id,x,y,skill_id,skill_lv,0,flag); // To teleport Self
- clif_skill_damage(src,src,tick,status_get_amotion(src),0,-30000,1,skill_id,skill_lv,6);
+ clif->skill_damage(src,src,tick,status_get_amotion(src),0,-30000,1,skill_id,skill_lv,6);
}
break;
case LG_PINPOINTATTACK:
if( !map_flag_gvg(src->m) && !map[src->m].flag.battleground && unit_movepos(src, bl->x, bl->y, 1, 1) )
- clif_slide(src,bl->x,bl->y);
+ clif->slide(src,bl->x,bl->y);
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
break;
@@ -4377,8 +4377,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case SR_KNUCKLEARROW:
if( !map_flag_gvg(src->m) && !map[src->m].flag.battleground && unit_movepos(src, bl->x, bl->y, 1, 1) ) {
- clif_slide(src,bl->x,bl->y);
- clif_fixpos(src); // Aegis send this packet too.
+ clif->slide(src,bl->x,bl->y);
+ clif->fixpos(src); // Aegis send this packet too.
}
if( flag&1 )
@@ -4411,7 +4411,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
status_change_end(bl, SC_CLOAKINGEXCEED, INVALID_TIMER);
} else{
map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill->castend_damage_id);
- clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
}
break;
@@ -4422,7 +4422,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
status_change_end(bl, SC_POISON, INVALID_TIMER);
}
else if( sd )
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
}
break;
@@ -4430,7 +4430,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
if( flag&1 )
skill->attack(skill->get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag);
else {
- clif_skill_nodamage(src, bl, skill_id, 0, 1);
+ clif->skill_nodamage(src, bl, skill_id, 0, 1);
skill->addtimerskill(src, gettick() + skill->get_time(skill_id, skill_lv) - 1000, bl->id, 0, 0, skill_id, skill_lv, 0, 0);
}
break;
@@ -4444,8 +4444,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
skill->attack(skill->get_type(skill_id+1),src,src,bl,skill_id+1,skill_lv,tick,flag);
else {
int i = skill->get_splash(skill_id,skill_lv);
- clif_skill_nodamage(src,battle->get_master(src),skill_id,skill_lv,1);
- clif_skill_damage(src, bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src,battle->get_master(src),skill_id,skill_lv,1);
+ clif->skill_damage(src, bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
if( rnd()%100 < 30 )
map_foreachinrange(skill->area_sub,bl,i,BL_CHAR,src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill->castend_damage_id);
else
@@ -4454,8 +4454,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
break;
case EL_ROCK_CRUSHER:
- clif_skill_nodamage(src,battle->get_master(src),skill_id,skill_lv,1);
- clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src,battle->get_master(src),skill_id,skill_lv,1);
+ clif->skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
if( rnd()%100 < 50 )
skill->attack(BF_MAGIC,src,src,bl,skill_id,skill_lv,tick,flag);
else
@@ -4467,8 +4467,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
skill->attack(skill->get_type(skill_id),src,src,bl,skill_id,skill_lv,tick,flag);
else {
int i = skill->get_splash(skill_id,skill_lv);
- clif_skill_nodamage(src,battle->get_master(src),skill_id,skill_lv,1);
- clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src,battle->get_master(src),skill_id,skill_lv,1);
+ clif->skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
if( rnd()%100 < 30 )
map_foreachinrange(skill->area_sub,bl,i,BL_CHAR,src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill->castend_damage_id);
else
@@ -4480,8 +4480,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case EL_ICE_NEEDLE:
case EL_WIND_SLASH:
case EL_STONE_HAMMER:
- clif_skill_nodamage(src,battle->get_master(src),skill_id,skill_lv,1);
- clif_skill_damage(src, bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src,battle->get_master(src),skill_id,skill_lv,1);
+ clif->skill_damage(src, bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
skill->attack(skill->get_type(skill_id),src,src,bl,skill_id,skill_lv,tick,flag);
break;
@@ -4493,8 +4493,8 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
sc_type type = status_skill2sc(skill_id), type2;
type2 = type-1;
- clif_skill_nodamage(src,battle->get_master(src),skill_id,skill_lv,1);
- clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src,battle->get_master(src),skill_id,skill_lv,1);
+ clif->skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
if( (sc && sc->data[type2]) || (tsc && tsc->data[type]) ) {
elemental_clean_single_effect(ele, skill_id);
}
@@ -4504,7 +4504,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
sc_start(src,type2,100,skill_lv,skill->get_time(skill_id,skill_lv));
sc_start(battle->get_master(src),type,100,ele->bl.id,skill->get_time(skill_id,skill_lv));
}
- clif_skill_nodamage(src,src,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1);
}
break;
@@ -4527,12 +4527,12 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case MH_TINDER_BREAKER:
if (unit_movepos(src, bl->x, bl->y, 1, 1)) {
#if PACKETVER >= 20111005
- clif_snap(src, bl->x, bl->y);
+ clif->snap(src, bl->x, bl->y);
#else
- clif_skill_poseffect(src,skill_id,skill_lv,bl->x,bl->y,tick);
+ clif->skill_poseffect(src,skill_id,skill_lv,bl->x,bl->y,tick);
#endif
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start4(bl,SC_CLOSECONFINE2,100,skill_lv,src->id,0,0,skill->get_time(skill_id,skill_lv)));
skill->attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag);
break;
@@ -4555,7 +4555,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
default:
ShowWarning("skill_castend_damage_id: Unknown skill used:%d\n",skill_id);
- clif_skill_damage(src, bl, tick, status_get_amotion(src), tstatus->dmotion,
+ clif->skill_damage(src, bl, tick, status_get_amotion(src), tstatus->dmotion,
0, abs(skill->get_num(skill_id, skill_lv)),
skill_id, skill_lv, skill->get_hit(skill_id));
map_freeblock_unlock();
@@ -4642,7 +4642,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
switch (skill_id) {
case HLIF_HEAL: //[orn]
if (bl->type != BL_HOM) {
- if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0) ;
+ if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0) ;
break ;
}
case AL_HEAL:
@@ -4657,7 +4657,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if (sd && battle->check_undead(tstatus->race,tstatus->def_ele)) {
if (battle->check_target(src, bl, BCT_ENEMY) < 1) {
//Offensive heal does not works on non-enemies. [Skotlex]
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
return skill->castend_damage_id (src, bl, skill_id, skill_lv, tick, flag);
@@ -4732,7 +4732,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
else if (tsc->data[SC_BERSERK] || tsc->data[SC_SATURDAYNIGHTFEVER] || tsc->data[SC__BLOODYLUST])
heal = 0; //Needed so that it actually displays 0 when healing.
}
- clif_skill_nodamage (src, bl, skill_id, heal, 1);
+ clif->skill_nodamage (src, bl, skill_id, heal, 1);
if( tsc && tsc->data[SC_AKAITSUKI] && heal && skill_id != HLIF_HEAL )
heal = ~heal + 1;
heal_get_jobexp = status_heal(bl,heal,0,0);
@@ -4749,7 +4749,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case PR_REDEMPTIO:
if (sd && !(flag&1)) {
if (sd->status.party_id == 0) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
skill_area_temp[0] = 0;
@@ -4758,15 +4758,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
src,skill_id,skill_lv,tick, flag|BCT_PARTY|1,
skill->castend_nodamage_id);
if (skill_area_temp[0] == 0) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
skill_area_temp[0] = 5 - skill_area_temp[0]; // The actual penalty...
if (skill_area_temp[0] > 0 && !map[src->m].flag.noexppenalty) { //Apply penalty
sd->status.base_exp -= min(sd->status.base_exp, pc_nextbaseexp(sd) * skill_area_temp[0] * 2/1000); //0.2% penalty per each.
sd->status.job_exp -= min(sd->status.job_exp, pc_nextjobexp(sd) * skill_area_temp[0] * 2/1000);
- clif_updatestatus(sd,SP_BASEEXP);
- clif_updatestatus(sd,SP_JOBEXP);
+ clif->updatestatus(sd,SP_BASEEXP);
+ clif->updatestatus(sd,SP_JOBEXP);
}
status_set_hp(src, 1, 0);
status_set_sp(src, 0, 0);
@@ -4780,7 +4780,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case ALL_RESURRECTION:
if(sd && (map_flag_gvg(bl->m) || map[bl->m].flag.battleground))
{ //No reviving in WoE grounds!
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
if (!status_isdead(bl))
@@ -4803,7 +4803,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
per = sper = 100;
if (status_revive(bl, per, sper))
{
- clif_skill_nodamage(src,bl,ALL_RESURRECTION,skill_lv,1); //Both Redemptio and Res show this skill-animation.
+ clif->skill_nodamage(src,bl,ALL_RESURRECTION,skill_lv,1); //Both Redemptio and Res show this skill-animation.
if(sd && dstsd && battle_config.resurrection_exp > 0)
{
int exp = 0,jexp = 0;
@@ -4825,7 +4825,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case AL_DECAGI:
case MER_DECAGI:
- clif_skill_nodamage (src, bl, skill_id, skill_lv,
+ clif->skill_nodamage (src, bl, skill_id, skill_lv,
sc_start(bl, type, (40 + skill_lv * 2 + (status_get_lv(src) + sstatus->int_)/5), skill_lv, skill->get_time(skill_id,skill_lv)));
break;
@@ -4835,7 +4835,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
else {
map_foreachinrange(skill->area_sub, src, skill->get_splash(skill_id, skill_lv), BL_CHAR,
src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_nodamage_id);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
}
break;
@@ -4845,7 +4845,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_change_end(bl,type, INVALID_TIMER);
else
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv));
- clif_skill_nodamage (src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage (src, bl, skill_id, skill_lv, 1);
break;
case SA_ABRACADABRA:
@@ -4859,14 +4859,14 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
rnd()%10000 >= skill_abra_db[i].per
);
abra_skill_lv = min(skill_lv, skill->get_max(abra_skill_id));
- clif_skill_nodamage (src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage (src, bl, skill_id, skill_lv, 1);
if( sd )
{// player-casted
sd->state.abra_flag = 1;
sd->skillitem = abra_skill_id;
sd->skillitemlv = abra_skill_lv;
- clif_item_skill(sd, abra_skill_id, abra_skill_lv);
+ clif->item_skill(sd, abra_skill_id, abra_skill_lv);
}
else
{// mob-casted
@@ -4900,11 +4900,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case SA_COMA:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time2(skill_id,skill_lv)));
break;
case SA_FULLRECOVERY:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if (status_isimmune(bl))
break;
status_percent_heal(bl, 100, 100);
@@ -4915,7 +4915,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( status_isimmune(bl) )
break;
heal = status_percent_heal(bl, 100, 0);
- clif_skill_nodamage(NULL, bl, AL_HEAL, heal, 1);
+ clif->skill_nodamage(NULL, bl, AL_HEAL, heal, 1);
if( dstmd )
{ // Reset Damage Logs
memset(dstmd->dmglog, 0, sizeof(dstmd->dmglog));
@@ -4924,20 +4924,20 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
}
break;
case SA_SUMMONMONSTER:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if (sd) mob_once_spawn(sd, src->m, src->x, src->y," --ja--", -1, 1, "", SZ_SMALL, AI_NONE);
break;
case SA_LEVELUP:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if (sd && pc_nextbaseexp(sd)) pc_gainexp(sd, NULL, pc_nextbaseexp(sd) * 10 / 100, 0, false);
break;
case SA_INSTANTDEATH:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
status_set_hp(bl,1,0);
break;
case SA_QUESTION:
case SA_GRAVITY:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case SA_CLASSCHANGE:
case SA_MONOCELL:
@@ -4946,11 +4946,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
int class_;
if ( sd && dstmd->status.mode&MD_BOSS )
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
class_ = skill_id==SA_MONOCELL?1002:mob_get_random_id(4, 1, 0);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
mob_class_change(dstmd,class_);
if( tsc && dstmd->status.mode&MD_BOSS )
{
@@ -4965,22 +4965,22 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SA_DEATH:
if ( sd && dstmd && dstmd->status.mode&MD_BOSS )
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
status_kill(bl);
break;
case SA_REVERSEORCISH:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id, skill_lv)));
break;
case SA_FORTUNE:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if(sd) pc_getzeny(sd,status_get_lv(bl)*100,LOG_TYPE_STEAL,NULL);
break;
case SA_TAMINGMONSTER:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if (sd && dstmd) {
ARR_FIND( 0, MAX_PET_DB, i, dstmd->class_ == pet_db[i].class_ );
if( i < MAX_PET_DB )
@@ -4991,12 +4991,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case CR_PROVIDENCE:
if(sd && dstsd){ //Check they are not another crusader [Skotlex]
if ((dstsd->class_&MAPID_UPPERMASK) == MAPID_CRUSADER) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 1;
}
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
break;
@@ -5006,7 +5006,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( sd && dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_BARDDANCER && dstsd->status.sex == sd->status.sex )
{// Cannot cast on another bard/dancer-type class of the same gender as caster
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 1;
}
@@ -5017,7 +5017,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
sc_start(src,SC_MARIONETTE,100,bl->id,skill->get_time(skill_id,skill_lv));
sc_start(bl,SC_MARIONETTE2,100,src->id,skill->get_time(skill_id,skill_lv));
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
else
if( sc->data[SC_MARIONETTE ] && sc->data[SC_MARIONETTE ]->val1 == bl->id &&
@@ -5029,7 +5029,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
else
{
if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 1;
@@ -5039,7 +5039,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case RG_CLOSECONFINE:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start4(bl,type,100,skill_lv,src->id,0,0,skill->get_time(skill_id,skill_lv)));
break;
case SA_FLAMELAUNCHER: // added failure chance and chance to break weapon if turned on [Valaris]
@@ -5059,31 +5059,31 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
dstsd->sc.data[SC_ENCPOISON]
))
) {
- if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,0);
+ if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,0);
break;
}
}
// 100% success rate at lv4 & 5, but lasts longer at lv5
- if(!clif_skill_nodamage(src,bl,skill_id,skill_lv, sc_start(bl,type,(60+skill_lv*10),skill_lv, skill->get_time(skill_id,skill_lv)))) {
+ if(!clif->skill_nodamage(src,bl,skill_id,skill_lv, sc_start(bl,type,(60+skill_lv*10),skill_lv, skill->get_time(skill_id,skill_lv)))) {
if (sd)
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
if (skill->break_equip(bl, EQP_WEAPON, 10000, BCT_PARTY) && sd && sd != dstsd)
- clif_displaymessage(sd->fd, msg_txt(669));
+ clif->displaymessage(sd->fd, msg_txt(669));
}
break;
case PR_ASPERSIO:
if (sd && dstmd) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,0);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,0);
break;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
break;
case ITEM_ENCHANTARMS:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start2(bl,type,100,skill_lv,
skill->get_ele(skill_id,skill_lv), skill->get_time(skill_id,skill_lv)));
break;
@@ -5098,7 +5098,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case ELE_DARK : type = SC_SHADOWWEAPON; break;
case ELE_HOLY : type = SC_ASPERSIO; break;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
sc_start(bl,SC_SEVENWIND,100,skill_lv,skill->get_time(skill_id,skill_lv));
@@ -5107,7 +5107,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case PR_KYRIE:
case MER_KYRIE:
- clif_skill_nodamage(bl,bl,skill_id,skill_lv,
+ clif->skill_nodamage(bl,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
break;
//Passive Magnum, should had been casted on yourself.
@@ -5116,7 +5116,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
skill_area_temp[1] = 0;
map_foreachinrange(skill->area_sub, src, skill->get_splash(skill_id, skill_lv), BL_SKILL|BL_CHAR,
src,skill_id,skill_lv,tick, flag|BCT_ENEMY|1, skill->castend_damage_id);
- clif_skill_nodamage (src,src,skill_id,skill_lv,1);
+ clif->skill_nodamage (src,src,skill_id,skill_lv,1);
// Initiate 10% of your damage becomes fire element.
sc_start4(src,SC_WATK_ELEMENT,100,3,20,0,0,skill->get_time2(skill_id, skill_lv));
if( sd )
@@ -5132,11 +5132,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( unit_movepos(src, bl->x, bl->y, 1, 1) )
{
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
- clif_slide(src,bl->x,bl->y);
+ clif->slide(src,bl->x,bl->y);
}
}
else
- clif_skill_fail(sd,skill_id,USESKILL_FAIL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL,0);
break;
case AL_INCAGI:
@@ -5214,7 +5214,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SR_GENTLETOUCH_ENERGYGAIN:
case GN_CARTBOOST:
case KO_MEIKYOUSISUI:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
break;
@@ -5222,7 +5222,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if (sd) {
int bonus = 25 + 10 * skill_lv;
bonus += (pc_checkskill(sd, SA_FLAMELAUNCHER)+pc_checkskill(sd, SA_FROSTWEAPON)+pc_checkskill(sd, SA_LIGHTNINGLOADER)+pc_checkskill(sd, SA_SEISMICWEAPON))*5;
- clif_skill_nodamage( src, bl, skill_id, skill_lv,
+ clif->skill_nodamage( src, bl, skill_id, skill_lv,
battle->check_target(src,bl,BCT_PARTY) ?
sc_start2(bl, type, 100, skill_lv, bonus, skill->get_time(skill_id,skill_lv)) :
0
@@ -5231,15 +5231,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case NPC_STOP:
- if( clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ if( clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start2(bl,type,100,skill_lv,src->id,skill->get_time(skill_id,skill_lv)) ) )
sc_start2(src,type,100,skill_lv,bl->id,skill->get_time(skill_id,skill_lv));
break;
case HP_ASSUMPTIO:
if( sd && dstmd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
else
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
break;
case MG_SIGHT:
@@ -5249,17 +5249,17 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case NPC_WIDESIGHT:
case NPC_STONESKIN:
case NPC_ANTIMAGIC:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start2(bl,type,100,skill_lv,skill_id,skill->get_time(skill_id,skill_lv)));
break;
case HLIF_AVOID:
case HAMI_DEFENCE:
i = skill->get_time(skill_id,skill_lv);
- clif_skill_nodamage(bl,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,i)); // Master
- clif_skill_nodamage(src,src,skill_id,skill_lv,sc_start(src,type,100,skill_lv,i)); // Homunc
+ clif->skill_nodamage(bl,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,i)); // Master
+ clif->skill_nodamage(src,src,skill_id,skill_lv,sc_start(src,type,100,skill_lv,i)); // Homunc
break;
case NJ_BUNSINJYUTSU:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
status_change_end(bl, SC_NEN, INVALID_TIMER);
break;
@@ -5273,12 +5273,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
skill->get_splash(skill_id, skill_lv), BL_PC,
src, skill_id, skill_lv, tick, flag|BCT_ALL|1,
skill->castend_nodamage_id);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
*/
case SM_ENDURE:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
if (sd)
skill->blockpc_start (sd, skill_id, skill->get_time2(skill_id,skill_lv), false);
@@ -5294,49 +5294,49 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
dstsd->sc.data[SC_GHOSTWEAPON]
// dstsd->sc.data[SC_ENCPOISON] //People say you should be able to recast to lengthen the timer. [Skotlex]
) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,0);
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
break;
case LK_TENSIONRELAX:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start4(bl,type,100,skill_lv,0,0,skill->get_time2(skill_id,skill_lv),
skill->get_time(skill_id,skill_lv)));
break;
case MC_CHANGECART:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case TK_MISSION:
if (sd) {
int id;
if (sd->mission_mobid && (sd->mission_count || rnd()%100)) { //Cannot change target when already have one
- clif_mission_info(sd, sd->mission_mobid, sd->mission_count);
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->mission_info(sd, sd->mission_mobid, sd->mission_count);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
id = mob_get_random_id(0,0xF, sd->status.base_level);
if (!id) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
sd->mission_mobid = id;
sd->mission_count = 0;
pc_setglobalreg(sd,"TK_MISSION_ID", id);
- clif_mission_info(sd, id, 0);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->mission_info(sd, id, 0);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
case AC_CONCENTRATION:
{
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
map_foreachinrange( status_change_timer_sub, src,
skill->get_splash(skill_id, skill_lv), BL_CHAR,
@@ -5353,12 +5353,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
return 1;
}
//TODO: How much does base level affects? Dummy value of 1% per level difference used. [Skotlex]
- clif_skill_nodamage(src,bl,skill_id == SM_SELFPROVOKE ? SM_PROVOKE : skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id == SM_SELFPROVOKE ? SM_PROVOKE : skill_id,skill_lv,
(i = sc_start(bl,type, skill_id == SM_SELFPROVOKE ? 100:( 50 + 3*skill_lv + status_get_lv(src) - status_get_lv(bl)), skill_lv, skill->get_time(skill_id,skill_lv))));
if( !i )
{
if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 0;
}
@@ -5387,7 +5387,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( !dstsd || (!sd && !mer) )
{ // Only players can be devoted
if( sd )
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
break;
}
@@ -5400,7 +5400,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
(dstsd->sc.data[SC_HELLPOWER])) // Players affected by SC_HELLPOWERR cannot be devoted.
{
if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 1;
}
@@ -5415,7 +5415,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
ARR_FIND(0, count, i, sd->devotion[i] == 0 );
if( i == count )
{ // No free slots, skill Fail
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
map_freeblock_unlock();
return 1;
}
@@ -5426,9 +5426,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
else
mer->devotion_flag = 1; // Mercenary Devoting Owner
- clif_skill_nodamage(src, bl, skill_id, skill_lv,
+ clif->skill_nodamage(src, bl, skill_id, skill_lv,
sc_start4(bl, type, 100, src->id, i, skill->get_range2(src,skill_id,skill_lv),0, skill->get_time2(skill_id, skill_lv)));
- clif_devotion(src, NULL);
+ clif->devotion(src, NULL);
}
break;
@@ -5437,7 +5437,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
int limit = skill_lv;
if( sd->sc.data[SC_RAISINGDRAGON] )
limit += sd->sc.data[SC_RAISINGDRAGON]->val1;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
pc_addspiritball(sd,skill->get_time(skill_id,skill_lv),limit);
}
break;
@@ -5447,7 +5447,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
int limit = 5;
if( sd->sc.data[SC_RAISINGDRAGON] )
limit += sd->sc.data[SC_RAISINGDRAGON]->val1;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
for (i = 0; i < limit; i++)
pc_addspiritball(sd,skill->get_time(skill_id,skill_lv),limit);
}
@@ -5479,37 +5479,37 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
mob_target(dstmd,src,0);
}
if (i) status_heal(src, 0, i, 3);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,i?1:0);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,i?1:0);
break;
case AC_MAKINGARROW:
if(sd) {
- clif_arrow_create_list(sd);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->arrow_create_list(sd);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
case AM_PHARMACY:
if(sd) {
- clif_skill_produce_mix_list(sd,skill_id,22);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_produce_mix_list(sd,skill_id,22);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
case SA_CREATECON:
if(sd) {
- clif_elementalconverter_list(sd);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->elementalconverter_list(sd);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
case BS_HAMMERFALL:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,SC_STUN,(20 + 10 * skill_lv),skill_lv,skill->get_time2(skill_id,skill_lv)));
break;
case RG_RAID:
skill_area_temp[1] = 0;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinrange(skill->area_sub, bl,
skill->get_splash(skill_id, skill_lv), splash_target(src),
src,skill_id,skill_lv,tick, flag|BCT_ENEMY|1,
@@ -5527,21 +5527,21 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SR_HOWLINGOFLION:
case KO_HAPPOKUNAI:
skill_area_temp[1] = 0;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
i = map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), splash_target(src),
src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill->castend_damage_id);
if( !i && ( skill_id == NC_AXETORNADO || skill_id == SR_SKYNETBLOW || skill_id == KO_HAPPOKUNAI ) )
- clif_skill_damage(src,src,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,src,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
break;
case NC_EMERGENCYCOOL:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
status_change_end(src,SC_OVERHEAT_LIMITPOINT,INVALID_TIMER);
status_change_end(src,SC_OVERHEAT,INVALID_TIMER);
break;
case SR_WINDMILL:
case GN_CART_TORNADO:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
case SR_EARTHSHAKER:
case NC_INFRAREDSCAN:
case NPC_EARTHQUAKE:
@@ -5560,7 +5560,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case WZ_SIGHTRASHER:
//Passive side of the attack.
status_change_end(src, SC_SIGHT, INVALID_TIMER);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinrange(skill->area_sub,src,
skill->get_splash(skill_id, skill_lv),BL_CHAR|BL_SKILL,
src,skill_id,skill_lv,tick, flag|BCT_ENEMY|1,
@@ -5570,7 +5570,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case NJ_HYOUSYOURAKU:
case NJ_RAIGEKISAI:
case WZ_FROSTNOVA:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
skill_area_temp[1] = 0;
map_foreachinrange(skill->attack_area, src,
skill->get_splash(skill_id, skill_lv), splash_target(src),
@@ -5583,7 +5583,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
//Except for Summoned Marine spheres on non-versus maps, where it's just enemy.
i = ((!md || md->special_state.ai == 2) && !map_flag_vs(src->m))?
BCT_ENEMY:BCT_ALL;
- clif_skill_nodamage(src, src, skill_id, -1, 1);
+ clif->skill_nodamage(src, src, skill_id, -1, 1);
map_delblock(src); //Required to prevent chain-self-destructions hitting back.
map_foreachinrange(skill->area_sub, bl,
skill->get_splash(skill_id, skill_lv), splash_target(src),
@@ -5601,18 +5601,18 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case CASH_INCAGI:
case CASH_ASSUMPTIO:
if( sd == NULL || sd->status.party_id == 0 || (flag & 1) )
- clif_skill_nodamage(bl, bl, skill_id, skill_lv, sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(bl, bl, skill_id, skill_lv, sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
else if( sd )
party_foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
break;
case MER_MAGNIFICAT:
if( mer != NULL )
{
- clif_skill_nodamage(bl, bl, skill_id, skill_lv, sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(bl, bl, skill_id, skill_lv, sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
if( mer->master && mer->master->status.party_id != 0 && !(flag&1) )
party_foreachsamemap(skill->area_sub, mer->master, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
else if( mer->master && !(flag&1) )
- clif_skill_nodamage(src, &mer->master->bl, skill_id, skill_lv, sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src, &mer->master->bl, skill_id, skill_lv, sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
}
break;
@@ -5621,7 +5621,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case BS_WEAPONPERFECT:
case BS_OVERTHRUST:
if (sd == NULL || sd->status.party_id == 0 || (flag & 1)) {
- clif_skill_nodamage(bl,bl,skill_id,skill_lv,
+ clif->skill_nodamage(bl,bl,skill_id,skill_lv,
sc_start2(bl,type,100,skill_lv,(src == bl)? 1:0,skill->get_time(skill_id,skill_lv)));
} else if (sd) {
party_foreachsamemap(skill->area_sub,
@@ -5647,11 +5647,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case GS_GATLINGFEVER:
if( tsce )
{
- clif_skill_nodamage(src,bl,skill_id,skill_lv,status_change_end(bl, type, INVALID_TIMER));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,status_change_end(bl, type, INVALID_TIMER));
map_freeblock_unlock();
return 0;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
break;
case SL_KAITE:
case SL_KAAHI:
@@ -5666,11 +5666,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
dstsd->status.char_id == sd->status.child
)) {
status_change_start(src,SC_STUN,10000,skill_lv,0,0,0,500,8);
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id, skill_lv)));
break;
case SM_AUTOBERSERK:
@@ -5679,34 +5679,34 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
i = status_change_end(bl, type, INVALID_TIMER);
else
i = sc_start(bl,type,100,skill_lv,60000);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,i);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,i);
break;
case TF_HIDING:
case ST_CHASEWALK:
case KO_YAMIKUMO:
if (tsce)
{
- clif_skill_nodamage(src,bl,skill_id,-1,status_change_end(bl, type, INVALID_TIMER)); //Hide skill-scream animation.
+ clif->skill_nodamage(src,bl,skill_id,-1,status_change_end(bl, type, INVALID_TIMER)); //Hide skill-scream animation.
map_freeblock_unlock();
return 0;
} else if( tsc && tsc->option&OPTION_MADOGEAR ) {
//Mado Gear cannot hide
- if( sd ) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ if( sd ) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 0;
}
- clif_skill_nodamage(src,bl,skill_id,-1,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src,bl,skill_id,-1,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
break;
case TK_RUN:
if (tsce)
{
- clif_skill_nodamage(src,bl,skill_id,skill_lv,status_change_end(bl, type, INVALID_TIMER));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,status_change_end(bl, type, INVALID_TIMER));
map_freeblock_unlock();
return 0;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,sc_start4(bl,type,100,skill_lv,unit_getdir(bl),0,0,0));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,sc_start4(bl,type,100,skill_lv,unit_getdir(bl),0,0,0));
if (sd) // If the client receives a skill-use packet inmediately before a walkok packet, it will discard the walk packet! [Skotlex]
- clif_walkok(sd); // So aegis has to resend the walk ok.
+ clif->walkok(sd); // So aegis has to resend the walk ok.
break;
case AS_CLOAKING:
case GC_CLOAKINGEXCEED:
@@ -5716,30 +5716,30 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if (tsce) {
i = status_change_end(bl, type, INVALID_TIMER);
if( i )
- clif_skill_nodamage(src,bl,skill_id,( skill_id == LG_FORCEOFVANGUARD ) ? skill_lv : -1,i);
+ clif->skill_nodamage(src,bl,skill_id,( skill_id == LG_FORCEOFVANGUARD ) ? skill_lv : -1,i);
else if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 0;
}
case RA_CAMOUFLAGE:
i = sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv));
if( i )
- clif_skill_nodamage(src,bl,skill_id,( skill_id == LG_FORCEOFVANGUARD ) ? skill_lv : -1,i);
+ clif->skill_nodamage(src,bl,skill_id,( skill_id == LG_FORCEOFVANGUARD ) ? skill_lv : -1,i);
else if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
case BD_ADAPTATION:
if(tsc && tsc->data[SC_DANCING]){
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
status_change_end(bl, SC_DANCING, INVALID_TIMER);
}
break;
case BA_FROSTJOKER:
case DC_SCREAM:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
skill->addtimerskill(src,tick+2000,bl->id,src->x,src->y,skill_id,skill_lv,0,flag);
if (md) {
@@ -5747,28 +5747,28 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
//NOTE: mobs don't have the sprite animation that is used when performing this skill (will cause glitches)
char temp[70];
snprintf(temp, sizeof(temp), "%s : %s !!",md->name,skill_db[skill_id].desc);
- clif_message(&md->bl,temp);
+ clif->message(&md->bl,temp);
}
break;
case BA_PANGVOICE:
- clif_skill_nodamage(src,bl,skill_id,skill_lv, sc_start(bl,SC_CONFUSION,50,7,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv, sc_start(bl,SC_CONFUSION,50,7,skill->get_time(skill_id,skill_lv)));
break;
case DC_WINKCHARM:
if( dstsd )
- clif_skill_nodamage(src,bl,skill_id,skill_lv, sc_start(bl,SC_CONFUSION,30,7,skill->get_time2(skill_id,skill_lv)));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv, sc_start(bl,SC_CONFUSION,30,7,skill->get_time2(skill_id,skill_lv)));
else
if( dstmd )
{
if( status_get_lv(src) > status_get_lv(bl)
&& (tstatus->race == RC_DEMON || tstatus->race == RC_DEMIHUMAN || tstatus->race == RC_ANGEL)
&& !(tstatus->mode&MD_BOSS) )
- clif_skill_nodamage(src,bl,skill_id,skill_lv, sc_start2(bl,type,70,skill_lv,src->id,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv, sc_start2(bl,type,70,skill_lv,src->id,skill->get_time(skill_id,skill_lv)));
else
{
- clif_skill_nodamage(src,bl,skill_id,skill_lv,0);
- if(sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,0);
+ if(sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
}
break;
@@ -5776,9 +5776,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case TF_STEAL:
if(sd) {
if(pc_steal_item(sd,bl,skill_lv))
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
else
- clif_skill_fail(sd,skill_id,USESKILL_FAIL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL,0);
}
break;
@@ -5788,11 +5788,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
dstmd->state.provoke_flag = src->id;
mob_target(dstmd, src, skill->get_range2(src,skill_id,skill_lv));
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
else
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
break;
@@ -5800,7 +5800,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
int brate = 0;
if (tstatus->mode&MD_BOSS) {
- if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
if(status_isimmune(bl) || !tsc)
@@ -5811,15 +5811,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if (tsc->data[SC_STONE]) {
status_change_end(bl, SC_STONE, INVALID_TIMER);
- if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
if (sc_start4(bl,SC_STONE,(skill_lv*4+20)+brate,
skill_lv, 0, 0, skill->get_time(skill_id, skill_lv),
skill->get_time2(skill_id,skill_lv)))
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
else if(sd) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
// Level 6-10 doesn't consume a red gem if it fails [celest]
if (skill_lv > 5)
{ // not to consume items
@@ -5831,30 +5831,30 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case NV_FIRSTAID:
- clif_skill_nodamage(src,bl,skill_id,5,1);
+ clif->skill_nodamage(src,bl,skill_id,5,1);
status_heal(bl,5,0,0);
break;
case AL_CURE:
if(status_isimmune(bl)) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,0);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,0);
break;
}
status_change_end(bl, SC_SILENCE, INVALID_TIMER);
status_change_end(bl, SC_BLIND, INVALID_TIMER);
status_change_end(bl, SC_CONFUSION, INVALID_TIMER);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case TF_DETOXIFY:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
status_change_end(bl, SC_POISON, INVALID_TIMER);
status_change_end(bl, SC_DPOISON, INVALID_TIMER);
break;
case PR_STRECOVERY:
if(status_isimmune(bl)) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,0);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,0);
break;
}
if (tsc && tsc->opt1) {
@@ -5871,7 +5871,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
1,0,0,0,
skill->get_time2(skill_id, skill_lv) * (100-(tstatus->int_+tstatus->vit)/2)/100,0);
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if(dstmd)
mob_unlocktarget(dstmd,tick);
break;
@@ -5880,30 +5880,30 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case MER_BENEDICTION:
status_change_end(bl, SC_CURSE, INVALID_TIMER);
status_change_end(bl, SC_BLIND, INVALID_TIMER);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case MER_COMPRESS:
status_change_end(bl, SC_BLEEDING, INVALID_TIMER);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case MER_MENTALCURE:
status_change_end(bl, SC_CONFUSION, INVALID_TIMER);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case MER_RECUPERATE:
status_change_end(bl, SC_POISON, INVALID_TIMER);
status_change_end(bl, SC_SILENCE, INVALID_TIMER);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case MER_REGAIN:
status_change_end(bl, SC_SLEEP, INVALID_TIMER);
status_change_end(bl, SC_STUN, INVALID_TIMER);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case MER_TENDER:
status_change_end(bl, SC_FREEZE, INVALID_TIMER);
status_change_end(bl, SC_STONE, INVALID_TIMER);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case MER_SCAPEGOAT:
@@ -5923,42 +5923,42 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
if( dstsd )
{ // Fail on Players
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
if( dstmd && dstmd->class_ == MOBID_EMPERIUM )
break; // Cannot be Used on Emperium
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
- clif_skill_estimation(sd, bl);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_estimation(sd, bl);
if( skill_id == MER_ESTIMATION )
sd = NULL;
break;
case BS_REPAIRWEAPON:
if(sd && dstsd)
- clif_item_repair_list(sd,dstsd,skill_lv);
+ clif->item_repair_list(sd,dstsd,skill_lv);
break;
case MC_IDENTIFY:
if(sd)
- clif_item_identify_list(sd);
+ clif->item_identify_list(sd);
break;
// Weapon Refining [Celest]
case WS_WEAPONREFINE:
if(sd)
- clif_item_refine_list(sd);
+ clif->item_refine_list(sd);
break;
case MC_VENDING:
if(sd)
{ //Prevent vending of GMs with unnecessary Level to trade/drop. [Skotlex]
if ( !pc_can_give_items(sd) )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
else {
sd->state.prevend = 1;
- clif_openvendingreq(sd,2+skill_lv);
+ clif->openvendingreq(sd,2+skill_lv);
}
}
break;
@@ -5967,12 +5967,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if(sd)
{
if (map[bl->m].flag.noteleport && skill_lv <= 2) {
- clif_skill_teleportmessage(sd,0);
+ clif->skill_teleportmessage(sd,0);
break;
}
if(!battle_config.duel_allow_teleport && sd->duel_group && skill_lv <= 2) { // duel restriction [LuzZza]
char output[128]; sprintf(output, msg_txt(365), skill->get_name(AL_TELEPORT));
- clif_displaymessage(sd->fd, output); //"Duel: Can't use %s in duel."
+ clif->displaymessage(sd->fd, output); //"Duel: Can't use %s in duel."
break;
}
@@ -5985,26 +5985,26 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if( skill_lv == 1 )
- clif_skill_warppoint(sd,skill_id,skill_lv, (unsigned short)-1,0,0,0);
+ clif->skill_warppoint(sd,skill_id,skill_lv, (unsigned short)-1,0,0,0);
else
- clif_skill_warppoint(sd,skill_id,skill_lv, (unsigned short)-1,sd->status.save_point.map,0,0);
+ clif->skill_warppoint(sd,skill_id,skill_lv, (unsigned short)-1,sd->status.save_point.map,0,0);
} else
unit_warp(bl,-1,-1,-1,CLR_TELEPORT);
break;
case NPC_EXPULSION:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
unit_warp(bl,-1,-1,-1,CLR_TELEPORT);
break;
case AL_HOLYWATER:
if(sd) {
if (skill->produce_mix(sd, skill_id, 523, 0, 0, 0, 1))
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
else
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
break;
@@ -6013,23 +6013,23 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
int eflag;
struct item item_tmp;
struct block_list tbl;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
memset(&item_tmp,0,sizeof(item_tmp));
memset(&tbl,0,sizeof(tbl)); // [MouseJstr]
item_tmp.nameid = ITEMID_STONE;
item_tmp.identify = 1;
tbl.id = 0;
- clif_takeitem(&sd->bl,&tbl);
+ clif->takeitem(&sd->bl,&tbl);
eflag = pc_additem(sd,&item_tmp,1,LOG_TYPE_PRODUCE);
if(eflag) {
- clif_additem(sd,0,0,eflag);
+ clif->additem(sd,0,0,eflag);
map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
}
}
break;
case ASC_CDP:
if(sd) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
skill->produce_mix(sd, skill_id, 678, 0, 0, 0, 1); //Produce a Deadly Poison Bottle.
}
break;
@@ -6092,17 +6092,17 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
//Special message when trying to use strip on FCP [Jobbie]
if( sd && skill_id == ST_FULLSTRIP && tsc && tsc->data[SC_CP_WEAPON] && tsc->data[SC_CP_HELM] && tsc->data[SC_CP_ARMOR] && tsc->data[SC_CP_SHIELD])
{
- clif_gospel_info(sd, 0x28);
+ clif->gospel_info(sd, 0x28);
break;
}
//Attempts to strip at rate i and duration d
if( (i = skill->strip_equip(bl, location, i, skill_lv, d)) || (skill_id != ST_FULLSTRIP && skill_id != GC_WEAPONCRUSH ) )
- clif_skill_nodamage(src,bl,skill_id,skill_lv,i);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,i);
//Nothing stripped.
if( sd && !i )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
@@ -6118,18 +6118,18 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
x = skill_lv%11 - 1;
i = pc_search_inventory(sd,skill_db[skill_id].itemid[x]);
if( i < 0 || skill_db[skill_id].itemid[x] <= 0 ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 1;
}
if(sd->inventory_data[i] == NULL || sd->status.inventory[i].amount < skill_db[skill_id].amount[x]) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 1;
}
if( skill_id == AM_BERSERKPITCHER ) {
if( dstsd && dstsd->status.base_level < (unsigned int)sd->inventory_data[i]->elv ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 1;
}
@@ -6196,11 +6196,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
sp += sp / 10;
}
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if( hp > 0 || (skill_id == AM_POTIONPITCHER && sp <= 0) )
- clif_skill_nodamage(NULL,bl,AL_HEAL,hp,1);
+ clif->skill_nodamage(NULL,bl,AL_HEAL,hp,1);
if( sp > 0 )
- clif_skill_nodamage(NULL,bl,MG_SRECOVERY,sp,1);
+ clif->skill_nodamage(NULL,bl,MG_SRECOVERY,sp,1);
#ifdef RENEWAL
if( tsc && tsc->data[SC_EXTREMITYFIST2] )
sp = 0;
@@ -6216,29 +6216,29 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
unsigned int equip[] = {EQP_WEAPON, EQP_SHIELD, EQP_ARMOR, EQP_HEAD_TOP};
if( sd && ( bl->type != BL_PC || ( dstsd && pc_checkequip(dstsd,equip[skill_id - AM_CP_WEAPON]) < 0 ) ) ){
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock(); // Don't consume item requirements
return 0;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
}
break;
case AM_TWILIGHT1:
if (sd) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
//Prepare 200 White Potions.
if (!skill->produce_mix(sd, skill_id, 504, 0, 0, 0, 200))
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
break;
case AM_TWILIGHT2:
if (sd) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
//Prepare 200 Slim White Potions.
if (!skill->produce_mix(sd, skill_id, 547, 0, 0, 0, 200))
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
break;
case AM_TWILIGHT3:
@@ -6252,10 +6252,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|| !skill->can_produce_mix(sd,7135,-1, 50) //50 Flame Bottle
|| ebottle < 200 //200 empty bottle are required at total.
) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
skill->produce_mix(sd, skill_id, 970, 0, 0, 0, 100);
skill->produce_mix(sd, skill_id, 7136, 0, 0, 0, 50);
skill->produce_mix(sd, skill_id, 7135, 0, 0, 0, 50);
@@ -6264,21 +6264,21 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SA_DISPELL:
if (flag&1 || (i = skill->get_splash(skill_id, skill_lv)) < 1)
{
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER)
|| (tsc && tsc->data[SC_SPIRIT] && tsc->data[SC_SPIRIT]->val2 == SL_ROGUE) //Rogue's spirit defends againt dispel.
|| rnd()%100 >= 50+10*skill_lv
|| ( tsc && tsc->option&OPTION_MADOGEAR ) )//Mado Gear is immune to dispell according to bug report 49 [Ind]
{
if (sd)
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
if(status_isimmune(bl) || !tsc || !tsc->count)
break;
if( sd && dstsd && !map_flag_vs(sd->bl.m) && sd->status.guild_id == dstsd->status.guild_id ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
@@ -6364,7 +6364,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case TF_BACKSLIDING: //This is the correct implementation as per packet logging information. [Skotlex]
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
skill->blown(src,bl,skill->get_blewcount(skill_id,skill_lv),unit_getdir(bl),0);
break;
@@ -6383,9 +6383,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
y = src->y + diry[dir]*skill_lv*2;
}
- clif_skill_nodamage(src,bl,TK_HIGHJUMP,skill_lv,1);
+ clif->skill_nodamage(src,bl,TK_HIGHJUMP,skill_lv,1);
if(!map_count_oncell(src->m,x,y,BL_PC|BL_NPC|BL_MOB) && map_getcell(src->m,x,y,CELL_CHKREACH)) {
- clif_slide(src,x,y);
+ clif->slide(src,x,y);
unit_movepos(src, x, y, 1, 0);
}
}
@@ -6393,7 +6393,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SA_CASTCANCEL:
case SO_SPELLFIST:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
unit_skillcastcancel(src,1);
if(sd) {
int sp = skill->get_sp(sd->skill_id_old,sd->skill_lv_old);
@@ -6427,13 +6427,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{ //Only 10% success chance against bosses. [Skotlex]
if (rnd()%100 < 90)
{
- if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
} else if (!dstsd || map_flag_vs(bl->m)) //HP damage only on pvp-maps when against players.
hp = tstatus->max_hp/50; //Recover 2% HP [Skotlex]
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
unit_skillcastcancel(bl,0);
sp = skill->get_sp(bl_skill_id,bl_skill_lv);
status_zap(bl, hp, sp);
@@ -6452,13 +6452,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
}
break;
case SA_MAGICROD:
- clif_skill_nodamage(src,src,SA_MAGICROD,skill_lv,1);
+ clif->skill_nodamage(src,src,SA_MAGICROD,skill_lv,1);
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv));
break;
case SA_AUTOSPELL:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if(sd)
- clif_autospell(sd,skill_lv);
+ clif->autospell(sd,skill_lv);
else {
int maxlv=1,spellid=0;
static const int spellarray[3] = { MG_COLDBOLT,MG_FIREBOLT,MG_LIGHTNINGBOLT };
@@ -6494,7 +6494,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case BS_GREED:
if(sd){
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinrange(skill->greed,bl,
skill->get_splash(skill_id, skill_lv),BL_ITEM,bl);
}
@@ -6517,7 +6517,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case NPC_CHANGEHOLY:
case NPC_CHANGEDARKNESS:
case NPC_CHANGETELEKINESIS:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start2(bl, type, 100, skill_lv, skill->get_ele(skill_id,skill_lv),
skill->get_time(skill_id, skill_lv)));
break;
@@ -6525,13 +6525,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
//This skill should fail if target is wearing bathory/evil druid card [Brainstorm]
//TO-DO This is ugly, fix it
if(tstatus->def_ele==ELE_UNDEAD || tstatus->def_ele==ELE_DARK) break;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start2(bl, type, 100, skill_lv, skill->get_ele(skill_id,skill_lv),
skill->get_time(skill_id, skill_lv)));
break;
case NPC_PROVOCATION:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if (md) mob_unlocktarget(md, tick);
break;
@@ -6540,7 +6540,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
int skill_time = skill->get_time(skill_id,skill_lv);
struct unit_data *ud = unit_bl2ud(bl);
- if (clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ if (clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill_time))
&& ud) { //Disable attacking/acting/moving for skill's duration.
ud->attackabletime =
@@ -6557,18 +6557,18 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case NPC_DARKBLESSING:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start2(bl,type,(50+skill_lv*5),skill_lv,skill_lv,skill->get_time2(skill_id,skill_lv)));
break;
case NPC_LICK:
status_zap(bl, 0, 100);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,(skill_lv*5),skill_lv,skill->get_time2(skill_id,skill_lv)));
break;
case NPC_SUICIDE:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
status_kill(src); //When suiciding, neither exp nor drops is given.
break;
@@ -6595,7 +6595,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
int i = SC_ASPDPOTION0 + skill_lv - 1;
if (i > SC_ASPDPOTION3)
i = SC_ASPDPOTION3;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,(sc_type)i,100,skill_lv,skill_lv * 60000));
}
break;
@@ -6643,7 +6643,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
//val[4] if set, asks to delete the previous mode change.
if(md && md->skill_idx >= 0 && tsc)
{
- clif_emotion(bl, md->db->skill[md->skill_idx].val[0]);
+ clif->emotion(bl, md->db->skill[md->skill_idx].val[0]);
if(md->db->skill[md->skill_idx].val[4] && tsce)
status_change_end(bl, type, INVALID_TIMER);
@@ -6658,39 +6658,39 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case NPC_POWERUP:
sc_start(bl,SC_INCATKRATE,100,200,skill->get_time(skill_id, skill_lv));
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,100,skill->get_time(skill_id, skill_lv)));
break;
case NPC_AGIUP:
sc_start(bl,SC_SPEEDUP1,100,skill_lv,skill->get_time(skill_id, skill_lv));
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,100,skill->get_time(skill_id, skill_lv)));
break;
case NPC_INVISIBLE:
//Have val4 passed as 6 is for "infinite cloak" (do not end on attack/skill use).
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start4(bl,type,100,skill_lv,0,0,6,skill->get_time(skill_id,skill_lv)));
break;
case NPC_SIEGEMODE:
// not sure what it does
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case WE_MALE:
{
int hp_rate=(!skill_lv)? 0:skill_db[skill_id].hp_rate[skill_lv-1];
int gain_hp= tstatus->max_hp*abs(hp_rate)/100; // The earned is the same % of the target HP than it costed the caster. [Skotlex]
- clif_skill_nodamage(src,bl,skill_id,status_heal(bl, gain_hp, 0, 0),1);
+ clif->skill_nodamage(src,bl,skill_id,status_heal(bl, gain_hp, 0, 0),1);
}
break;
case WE_FEMALE:
{
int sp_rate=(!skill_lv)? 0:skill_db[skill_id].sp_rate[skill_lv-1];
int gain_sp=tstatus->max_sp*abs(sp_rate)/100;// The earned is the same % of the target SP than it costed the caster. [Skotlex]
- clif_skill_nodamage(src,bl,skill_id,status_heal(bl, 0, gain_sp, 0),1);
+ clif->skill_nodamage(src,bl,skill_id,status_heal(bl, 0, gain_sp, 0),1);
}
break;
@@ -6701,7 +6701,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
struct map_session_data *m_sd = pc_get_mother(sd);
// if neither was found
if(!f_sd && !m_sd){
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 0;
}
@@ -6717,10 +6717,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
hp = sstatus->max_hp/10;
sp = hp * 10 * skill_lv / 100;
if (!status_charge(src,hp,0)) {
- if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
status_heal(bl,0,sp,2);
}
break;
@@ -6736,7 +6736,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
// Players can only remove their own traps or traps on Vs maps.
if( su && (sg = su->group) && (src->type == BL_MER || sg->src_id == src->id || map_flag_vs(bl->m)) && (skill->get_inf2(sg->skill_id)&INF2_TRAP) )
{
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
if( sd && !(sg->unit_id == UNT_USED_TRAPS || (sg->unit_id == UNT_ANKLESNARE && sg->val2 != 0 )) )
{ // prevent picking up expired traps
if( battle_config.skill_removetrap_type )
@@ -6752,7 +6752,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
item_tmp.identify = 1;
if( item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,skill_db[su->group->skill_id].amount[i],LOG_TYPE_OTHER)) )
{
- clif_additem(sd,0,0,flag);
+ clif->additem(sd,0,0,flag);
map_addflooritem(&item_tmp,skill_db[su->group->skill_id].amount[i],sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
}
}
@@ -6766,19 +6766,19 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
item_tmp.identify = 1;
if( item_tmp.nameid && (flag=pc_additem(sd,&item_tmp,1,LOG_TYPE_OTHER)) )
{
- clif_additem(sd,0,0,flag);
+ clif->additem(sd,0,0,flag);
map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
}
}
}
skill->delunit(su);
}else if(sd)
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
}
break;
case HT_SPRINGTRAP:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
{
struct skill_unit *su=NULL;
if((bl->type==BL_SKILL) && (su=(struct skill_unit *)bl) && (su->group) ){
@@ -6799,7 +6799,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case UNT_CLAYMORETRAP:
case UNT_TALKIEBOX:
su->group->unit_id = UNT_USED_TRAPS;
- clif_changetraplook(bl, UNT_USED_TRAPS);
+ clif->changetraplook(bl, UNT_USED_TRAPS);
su->group->limit=DIFF_TICK(tick+1500,su->group->tick);
su->limit=DIFF_TICK(tick+1500,su->group->tick);
}
@@ -6807,7 +6807,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
}
break;
case BD_ENCORE:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if(sd)
unit_skilluse_id(src,src->id,sd->skill_id_dance,sd->skill_lv_dance);
break;
@@ -6821,11 +6821,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|| tstatus-> hp > tstatus->max_hp*3/4
#endif
) {
- if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 1;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start4(bl,type,100,skill_lv,skill_id,src->id,skill->get_time(skill_id,skill_lv),1000));
#ifndef RENEWAL
if (sd) skill->blockpc_start (sd, skill_id, skill->get_time(skill_id, skill_lv)+3000, false);
@@ -6847,10 +6847,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
}
//Has a 55% + skill_lv*5% success chance.
- if (!clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ if (!clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,55+5*skill_lv,skill_lv,skill->get_time(skill_id,skill_lv))))
{
- if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 0;
}
@@ -6874,13 +6874,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
unsigned int sp1 = 0, sp2 = 0;
if (dstmd) {
if (dstmd->state.soul_change_flag) {
- if(sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ if(sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
dstmd->state.soul_change_flag = 1;
sp2 = sstatus->max_sp * 3 /100;
status_heal(src, 0, sp2, 2);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
}
sp1 = sstatus->sp;
@@ -6893,7 +6893,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
#endif
status_set_sp(src, sp2, 3);
status_set_sp(bl, sp1, 3);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -6927,9 +6927,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
}
}
if(hp > 0)
- clif_skill_nodamage(NULL,bl,AL_HEAL,hp,1);
+ clif->skill_nodamage(NULL,bl,AL_HEAL,hp,1);
if(sp > 0)
- clif_skill_nodamage(NULL,bl,MG_SRECOVERY,sp,1);
+ clif->skill_nodamage(NULL,bl,MG_SRECOVERY,sp,1);
status_heal(bl,hp,sp,0);
}
break;
@@ -6946,16 +6946,16 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
s++;
}
if( sd && !s ){
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock(); // Don't consume item requirements
return 0;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
case RG_CLEANER: //AppleGirl
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case CG_LONGINGFREEDOM:
@@ -6963,7 +6963,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if (tsc && !tsce && (tsce=tsc->data[SC_DANCING]) && tsce->val4
&& (tsce->val1&0xFFFF) != CG_MOONLIT) //Can't use Longing for Freedom while under Moonlight Petals. [Skotlex]
{
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
}
}
@@ -6975,7 +6975,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( rnd() % 100 > skill_lv * 8 || (dstmd && ((dstmd->guardian_data && dstmd->class_ == MOBID_EMPERIUM) || mob_is_battleground(dstmd))) )
{
if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 0;
@@ -6983,7 +6983,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_zap(src,0,skill_db[skill->get_index(skill_id)].sp[skill_lv]); // consume sp only if succeeded [Inkfish]
do {
eff = rnd() % 14;
- clif_specialeffect(bl, 523 + eff, AREA);
+ clif->specialeffect(bl, 523 + eff, AREA);
switch (eff)
{
case 0: // heals SP to 0
@@ -6998,7 +6998,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case 3: // 1000 damage, random armor destroyed
{
status_fix_damage(src, bl, 1000, 0);
- clif_damage(src,bl,tick,0,0,1000,0,0,0);
+ clif->damage(src,bl,tick,0,0,1000,0,0,0);
if( !status_isdead(bl) ) {
int where[] = { EQP_ARMOR, EQP_SHIELD, EQP_HELM, EQP_SHOES, EQP_GARMENT };
skill->break_equip(bl, where[rnd()%5], 10000, BCT_ENEMY);
@@ -7035,14 +7035,14 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case 10: // 6666 damage, atk matk halved, cursed
status_fix_damage(src, bl, 6666, 0);
- clif_damage(src,bl,tick,0,0,6666,0,0,0);
+ clif->damage(src,bl,tick,0,0,6666,0,0,0);
sc_start(bl,SC_INCATKRATE,100,-50,skill->get_time2(skill_id,skill_lv));
sc_start(bl,SC_INCMATKRATE,100,-50,skill->get_time2(skill_id,skill_lv));
sc_start(bl,SC_CURSE,skill_lv,100,skill->get_time2(skill_id,skill_lv));
break;
case 11: // 4444 damage
status_fix_damage(src, bl, 4444, 0);
- clif_damage(src,bl,tick,0,0,4444,0,0,0);
+ clif->damage(src,bl,tick,0,0,4444,0,0,0);
break;
case 12: // stun
sc_start(bl,SC_STUN,100,skill_lv,5000);
@@ -7058,7 +7058,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
}
} while ((--count) > 0);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -7079,26 +7079,26 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SL_WIZARD:
//NOTE: here, 'type' has the value of the associated MAPID, not of the SC_SPIRIT constant.
if (sd && !(dstsd && (dstsd->class_&MAPID_UPPERMASK) == type)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
if (skill_id == SL_SUPERNOVICE && dstsd && dstsd->die_counter && !(rnd()%100))
{ //Erase death count 1% of the casts
dstsd->die_counter = 0;
pc_setglobalreg(dstsd,"PC_DIE_COUNTER", 0);
- clif_specialeffect(bl, 0x152, AREA);
+ clif->specialeffect(bl, 0x152, AREA);
//SC_SPIRIT invokes status_calc_pc for us.
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start4(bl,SC_SPIRIT,100,skill_lv,skill_id,0,0,skill->get_time(skill_id,skill_lv)));
sc_start(src,SC_SMA,100,skill_lv,skill->get_time(SL_SMA,skill_lv));
break;
case SL_HIGH:
if (sd && !(dstsd && (dstsd->class_&JOBL_UPPER) && !(dstsd->class_&JOBL_2) && dstsd->status.base_level < 70)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start4(bl,type,100,skill_lv,skill_id,0,0,skill->get_time(skill_id,skill_lv)));
sc_start(src,SC_SMA,100,skill_lv,skill->get_time(SL_SMA,skill_lv));
break;
@@ -7106,7 +7106,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SL_SWOO:
if (tsce) {
if(sd)
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
status_change_start(src,SC_STUN,10000,skill_lv,0,0,0,10000,8);
status_change_end(bl, SC_SWOO, INVALID_TIMER);
break;
@@ -7114,11 +7114,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case SL_SKA: // [marquis007]
case SL_SKE:
if (sd && !battle_config.allow_es_magic_pc && bl->type != BL_MOB) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
status_change_start(src,SC_STUN,10000,skill_lv,0,0,0,500,10);
break;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
if (skill_id == SL_SKE)
sc_start(src,SC_SMA,100,skill_lv,skill->get_time(SL_SMA,skill_lv));
break;
@@ -7129,7 +7129,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if (status_get_guild_id(src) == status_get_guild_id(bl))
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id, skill_lv));
} else if (status_get_guild_id(src)) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinrange(skill->area_sub, src,
skill->get_splash(skill_id, skill_lv), BL_PC,
src,skill_id,skill_lv,tick, flag|BCT_GUILD|1,
@@ -7143,7 +7143,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if (status_get_guild_id(src) == status_get_guild_id(bl))
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id, skill_lv));
} else if (status_get_guild_id(src)) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinrange(skill->area_sub, src,
skill->get_splash(skill_id, skill_lv), BL_PC,
src,skill_id,skill_lv,tick, flag|BCT_GUILD|1,
@@ -7155,9 +7155,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case GD_RESTORE:
if(flag&1) {
if (status_get_guild_id(src) == status_get_guild_id(bl))
- clif_skill_nodamage(src,bl,AL_HEAL,status_percent_heal(bl,90,90),1);
+ clif->skill_nodamage(src,bl,AL_HEAL,status_percent_heal(bl,90,90),1);
} else if (status_get_guild_id(src)) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinrange(skill->area_sub, src,
skill->get_splash(skill_id, skill_lv), BL_PC,
src,skill_id,skill_lv,tick, flag|BCT_GUILD|1,
@@ -7176,7 +7176,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
g = sd?sd->state.gmaster_flag:guild_search(status_get_guild_id(src));
if (!g)
break;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
for(i = 0; i < g->max_member; i++, j++) {
if (j>8) j=0;
if ((dstsd = g->member[i].sd) != NULL && sd != dstsd && !dstsd->state.autotrade && !pc_isdead(dstsd)) {
@@ -7196,23 +7196,23 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
//AuronX reported you CAN memorize the same map as all three. [Skotlex]
if (sd) {
if(!sd->feel_map[skill_lv-1].index)
- clif_feel_req(sd->fd,sd, skill_lv);
+ clif->feel_req(sd->fd,sd, skill_lv);
else
- clif_feel_info(sd, skill_lv-1, 1);
+ clif->feel_info(sd, skill_lv-1, 1);
}
break;
case SG_HATE:
if (sd) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if (!pc_set_hate_mob(sd, skill_lv-1, bl))
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
break;
case GS_GLITTERING:
if(sd) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if(rnd()%100 < (20+10*skill_lv))
pc_addspiritball(sd,skill->get_time(skill_id,skill_lv),10);
else if(sd->spiritball > 0)
@@ -7226,22 +7226,22 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
i =65 -5*distance_bl(src,bl); //Base rate
if (i < 30) i = 30;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
sc_start(bl,SC_STUN, i,skill_lv,skill->get_time2(skill_id,skill_lv));
}
break;
case AM_CALLHOMUN: //[orn]
if (sd && !merc_call_homunculus(sd))
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
case AM_REST:
if (sd) {
if (merc_hom_vaporize(sd,1))
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
else
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
break;
@@ -7255,12 +7255,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
skill->blockhomun_start(hd, skill_id, skill->get_time2(skill_id,skill_lv));
if (unit_movepos(src,bl->x,bl->y,0,0)) {
- clif_skill_nodamage(src,src,skill_id,skill_lv,1); // Homunc
- clif_slide(src,bl->x,bl->y) ;
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1); // Homunc
+ clif->slide(src,bl->x,bl->y) ;
if (unit_movepos(bl,x,y,0,0))
{
- clif_skill_nodamage(bl,bl,skill_id,skill_lv,1); // Master
- clif_slide(bl,x,y) ;
+ clif->skill_nodamage(bl,bl,skill_id,skill_lv,1); // Master
+ clif->slide(bl,x,y) ;
}
//TODO: Shouldn't also players and the like switch targets?
@@ -7270,9 +7270,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
}
// Failed
else if (hd && hd->master)
- clif_skill_fail(hd->master, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(hd->master, skill_id, USESKILL_FAIL_LEVEL, 0);
else if (sd)
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
break;
case HVAN_CHAOTIC: //[orn]
{
@@ -7289,8 +7289,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if (!bl) bl = src;
i = skill->calc_heal(src, bl, skill_id, 1+rnd()%skill_lv, true);
//Eh? why double skill packet?
- clif_skill_nodamage(src,bl,AL_HEAL,i,1);
- clif_skill_nodamage(src,bl,skill_id,i,1);
+ clif->skill_nodamage(src,bl,AL_HEAL,i,1);
+ clif->skill_nodamage(src,bl,skill_id,i,1);
status_heal(bl, i, 0, 0);
}
break;
@@ -7301,7 +7301,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case HLIF_CHANGE:
case MH_ANGRIFFS_MODUS:
case MH_GOLDENE_FERSE:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
if (hd)
skill->blockhomun_start(hd, skill_id, skill->get_time2(skill_id,skill_lv));
@@ -7335,7 +7335,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
sc_start2(bl,type,100,skill_lv,src->id,skill->get_time2(skill_id,skill_lv));
else {
skill_area_temp[2] = 0; //For SD_PREAMBLE
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinrange(skill->area_sub, bl,
skill->get_splash(skill_id, skill_lv),BL_CHAR,
src,skill_id,skill_lv,tick, flag|BCT_ENEMY|SD_PREAMBLE|1,
@@ -7347,7 +7347,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_percent_damage(src,bl,0,((skill_lv-1)%5+1)*20,false);
else {
skill_area_temp[2] = 0; //For SD_PREAMBLE
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinrange(skill->area_sub, bl,
skill->get_splash(skill_id, skill_lv),BL_CHAR,
src,skill_id,skill_lv,tick, flag|BCT_ENEMY|SD_PREAMBLE|1,
@@ -7359,26 +7359,26 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
if( !sd->status.party_id )
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
party_foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
}
else
- clif_skill_nodamage(src,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
break;
case NPC_TALK:
case ALL_WEWISH:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case ALL_BUYING_STORE:
if( sd )
{// players only, skill allows 5 buying slots
- clif_skill_nodamage(src, bl, skill_id, skill_lv, buyingstore_setup(sd, MAX_BUYINGSTORE_SLOTS));
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, buyingstore_setup(sd, MAX_BUYINGSTORE_SLOTS));
}
break;
case RK_ENCHANTBLADE:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,// formula not confirmed
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,// formula not confirmed
sc_start2(bl,type,100,skill_lv,100+20*skill_lv/*+sstatus->int_/2+status_get_lv(bl)/10*/,skill->get_time(skill_id,skill_lv)));
break;
case RK_DRAGONHOWLING:
@@ -7387,7 +7387,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
else
{
skill_area_temp[2] = 0;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinrange(skill->area_sub, src,
skill->get_splash(skill_id,skill_lv),BL_CHAR,
src,skill_id,skill_lv,tick,flag|BCT_ENEMY|SD_PREAMBLE|1,
@@ -7396,7 +7396,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case RK_IGNITIONBREAK:
case LG_EARTHDRIVE:
- clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
i = skill->get_splash(skill_id,skill_lv);
if( skill_id == LG_EARTHDRIVE ) {
int dummy = 1;
@@ -7410,16 +7410,16 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
int heal = sstatus->hp / 4; // 25% HP
if( status_charge(bl,heal,0) )
- clif_skill_nodamage(src,bl,skill_id,skill_lv,sc_start2(bl,type,100,skill_lv,heal,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,sc_start2(bl,type,100,skill_lv,heal,skill->get_time(skill_id,skill_lv)));
else
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
break;
case RK_REFRESH:
if( sd && pc_checkskill(sd,RK_RUNEMASTERY) >= 8 )
{
int heal = status_get_max_hp(bl) * 25 / 100;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
status_heal(bl,heal,0,1);
status_change_clear_buffs(bl,4);
@@ -7431,8 +7431,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
short shields = (rnd()%100<50) ? 4 : ((rnd()%100<80) ? 3 : 2);
sc_start4(bl,type,100,skill_lv,shields,1000,0,skill->get_time(skill_id,skill_lv));
- clif_millenniumshield(sd,shields);
- clif_skill_nodamage(src,bl,skill_id,1,1);
+ clif->millenniumshield(sd,shields);
+ clif->skill_nodamage(src,bl,skill_id,1,1);
}
break;
@@ -7450,7 +7450,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
else if( skill_id == RK_CRUSHSTRIKE )
lv = 7;
if( pc_checkskill(sd,RK_RUNEMASTERY) >= lv )
- clif_skill_nodamage(src,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
}
break;
@@ -7468,7 +7468,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
} else
sc_start2(bl,type,100,7,5,skill->get_time(skill_id,skill_lv));
}
- clif_skill_nodamage(src,bl,skill_id,1,1);
+ clif->skill_nodamage(src,bl,skill_id,1,1);
break;
/**
* Guilotine Cross
@@ -7486,7 +7486,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_change_end(bl, SC_ROLLINGCUTTER, INVALID_TIMER);
}
sc_start(bl,SC_ROLLINGCUTTER,100,count,skill->get_time(skill_id,skill_lv));
- clif_skill_nodamage(src,src,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1);
}
break;
@@ -7495,26 +7495,26 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_change_end(bl, SC_WEAPONBLOCKING, INVALID_TIMER);
else
sc_start(bl,SC_WEAPONBLOCKING,100,skill_lv,skill->get_time(skill_id,skill_lv));
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case GC_CREATENEWPOISON:
if( sd )
{
- clif_skill_produce_mix_list(sd,skill_id,25);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_produce_mix_list(sd,skill_id,25);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
}
break;
case GC_POISONINGWEAPON:
if( sd ) {
- clif_poison_list(sd,skill_lv);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->poison_list(sd,skill_lv);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
case GC_ANTIDOTE:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if( tsc )
{
status_change_end(bl, SC_PARALYSE, INVALID_TIMER);
@@ -7529,8 +7529,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case GC_PHANTOMMENACE:
- clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinrange(skill->area_sub,src,skill->get_splash(skill_id,skill_lv),BL_CHAR,
src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill->castend_damage_id);
break;
@@ -7539,15 +7539,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
int heal = status_get_max_hp(bl) / 10;
if( status_get_hp(bl) < heal ) { // if you haven't enough HP skill fails.
- if( sd ) clif_skill_fail(sd,skill_id,USESKILL_FAIL_HP_INSUFFICIENT,0);
+ if( sd ) clif->skill_fail(sd,skill_id,USESKILL_FAIL_HP_INSUFFICIENT,0);
break;
}
if( !status_charge(bl,heal,0) )
{
- if( sd ) clif_skill_fail(sd,skill_id,USESKILL_FAIL_HP_INSUFFICIENT,0);
+ if( sd ) clif->skill_fail(sd,skill_id,USESKILL_FAIL_HP_INSUFFICIENT,0);
break;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
}
break;
/**
@@ -7555,7 +7555,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
**/
case AB_ANCILLA:
if( sd ) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
skill->produce_mix(sd, skill_id, ITEMID_ANCILLA, 0, 0, 0, 1);
}
break;
@@ -7566,7 +7566,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
int bless_lv = pc_checkskill(sd,AL_BLESSING) + (sd->status.job_level / 10);
int agi_lv = pc_checkskill(sd,AL_INCAGI) + (sd->status.job_level / 10);
if( sd == NULL || sd->status.party_id == 0 || flag&1 )
- clif_skill_nodamage(bl, bl, skill_id, skill_lv, sc_start(bl,type,100,
+ clif->skill_nodamage(bl, bl, skill_id, skill_lv, sc_start(bl,type,100,
(skill_id == AB_CLEMENTIA)? bless_lv : (skill_id == AB_CANTO)? agi_lv : skill_lv, skill->get_time(skill_id,skill_lv)));
else if( sd )
party_foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
@@ -7575,7 +7575,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case AB_PRAEFATIO:
if( sd == NULL || sd->status.party_id == 0 || flag&1 )
- clif_skill_nodamage(bl, bl, skill_id, skill_lv, sc_start4(bl, type, 100, skill_lv, 0, 0, 1, skill->get_time(skill_id, skill_lv)));
+ clif->skill_nodamage(bl, bl, skill_id, skill_lv, sc_start4(bl, type, 100, skill_lv, 0, 0, 1, skill->get_time(skill_id, skill_lv)));
else if( sd )
party_foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
break;
@@ -7588,7 +7588,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( (dstsd && pc_ismadogear(dstsd)) || status_isimmune(bl))
i = 0; // Should heal by 0 or won't do anything?? in iRO it breaks the healing to members.. [malufett]
- clif_skill_nodamage(bl, bl, skill_id, i, 1);
+ clif->skill_nodamage(bl, bl, skill_id, i, 1);
if( tsc && tsc->data[SC_AKAITSUKI] && i )
i = ~i + 1;
status_heal(bl, i, 0, 0);
@@ -7605,7 +7605,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
map_foreachinrange(skill->area_sub, src, skill->get_splash(skill_id, skill_lv), BL_CHAR,
src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_nodamage_id);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
}
break;
@@ -7622,7 +7622,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_change_end(bl, SC_FREEZING, INVALID_TIMER);
status_change_end(bl, SC_CRYSTALIZE, INVALID_TIMER);
}else //Success rate only applies to the curing effect and not stat bonus. Bonus status only applies to non infected targets
- clif_skill_nodamage(bl, bl, skill_id, skill_lv,
+ clif->skill_nodamage(bl, bl, skill_id, skill_lv,
sc_start(bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv)));
} else if( sd )
party_foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv),
@@ -7639,7 +7639,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_change_end(bl, SC_MANDRAGORA, INVALID_TIMER);
status_change_end(bl, SC_SILENCE, INVALID_TIMER);
}else // Success rate only applies to the curing effect and not stat bonus. Bonus status only applies to non infected targets
- clif_skill_nodamage(bl, bl, skill_id, skill_lv,
+ clif->skill_nodamage(bl, bl, skill_id, skill_lv,
sc_start(bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv)));
} else if( sd )
party_foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv),
@@ -7649,11 +7649,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case AB_CLEARANCE:
if( flag&1 || (i = skill->get_splash(skill_id, skill_lv)) < 1 )
{ //As of the behavior in official server Clearance is just a super version of Dispell skill. [Jobbie]
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if((dstsd && (dstsd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER) || rnd()%100 >= 30 + 10 * skill_lv)
{
if (sd)
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
if(status_isimmune(bl) || !tsc || !tsc->count)
@@ -7724,7 +7724,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
// Should the level of Lex Divina be equivalent to the level of Silentium or should the highest level learned be used? [LimitLine]
map_foreachinrange(skill->area_sub, src, skill->get_splash(skill_id, skill_lv), BL_CHAR,
src, PR_LEXDIVINA, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_nodamage_id);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
break;
/**
* Warlock
@@ -7735,7 +7735,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
else
{
map_foreachinrange(skill->area_sub,src,skill->get_splash(skill_id, skill_lv),BL_CHAR,src,skill_id,skill_lv,tick,(map_flag_vs(src->m)?BCT_ALL:BCT_ENEMY|BCT_SELF)|flag|1,skill->castend_nodamage_id);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
}
break;
@@ -7753,28 +7753,28 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( !(tsc && tsc->data[type]) ){
i = sc_start2(bl,type,rate,skill_lv,src->id,(src == bl)?5000:(bl->type == BL_PC)?skill->get_time(skill_id,skill_lv):skill->get_time2(skill_id, skill_lv));
- clif_skill_nodamage(src,bl,skill_id,skill_lv,i);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,i);
if( !i )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
}else
if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_TOTARGET,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_TOTARGET,0);
break;
case WL_FROSTMISTY:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinrange(skill->area_sub,bl,skill->get_splash(skill_id,skill_lv),BL_CHAR|BL_SKILL,src,skill_id,skill_lv,tick,flag|BCT_ENEMY,skill->castend_damage_id);
break;
case WL_JACKFROST:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinshootrange(skill->area_sub,bl,skill->get_splash(skill_id,skill_lv),BL_CHAR|BL_SKILL,src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill->castend_damage_id);
break;
case WL_MARSHOFABYSS:
// Should marsh of abyss still apply half reduction to players after the 28/10 patch? [LimitLine]
- clif_skill_nodamage(src, bl, skill_id, skill_lv,
+ clif->skill_nodamage(src, bl, skill_id, skill_lv,
sc_start4(bl, type, 100, skill_lv, status_get_int(src), sd ? sd->status.job_level : 50, 0,
skill->get_time(skill_id, skill_lv)));
break;
@@ -7809,7 +7809,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
// Doesn't send failure packet if it fails on defense.
}
else if( sd ) // Failure on Rate
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
}
break;
@@ -7833,7 +7833,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( !sctype )
{
if( sd ) // No free slots to put SC
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_SUMMON,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_SUMMON,0);
break;
}
@@ -7846,7 +7846,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
}
sc_start4(src,sctype,100,element,pos,skill_lv,0,skill->get_time(skill_id,skill_lv));
- clif_skill_nodamage(src,bl,skill_id,0,0);
+ clif->skill_nodamage(src,bl,skill_id,0,0);
}
break;
@@ -7858,21 +7858,21 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( sc && !sc->data[i] )
break;
if( i == SC_MAXSPELLBOOK ) {
- clif_skill_fail(sd, WL_READING_SB, USESKILL_FAIL_SPELLBOOK_READING, 0);
+ clif->skill_fail(sd, WL_READING_SB, USESKILL_FAIL_SPELLBOOK_READING, 0);
break;
}
sc_start(bl, SC_STOP, 100, skill_lv, INVALID_TIMER); //Can't move while selecting a spellbook.
- clif_spellbook_list(sd);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->spellbook_list(sd);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
}
break;
/**
* Ranger
**/
case RA_FEARBREEZE:
- clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, sc_start(bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv)));
+ clif->skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, sc_start(bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv)));
break;
case RA_WUGMASTERY:
@@ -7881,7 +7881,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
pc_setoption(sd,sd->sc.option|OPTION_WUG);
else
pc_setoption(sd,sd->sc.option&~OPTION_WUG);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -7894,25 +7894,25 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
pc_setoption(sd,sd->sc.option&~OPTION_WUGRIDER);
pc_setoption(sd,sd->sc.option|OPTION_WUG);
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
case RA_WUGDASH:
if( tsce ) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,status_change_end(bl, type, INVALID_TIMER));
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,status_change_end(bl, type, INVALID_TIMER));
map_freeblock_unlock();
return 0;
}
if( sd && pc_isridingwug(sd) ) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,sc_start4(bl,type,100,skill_lv,unit_getdir(bl),0,0,1));
- clif_walkok(sd);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,sc_start4(bl,type,100,skill_lv,unit_getdir(bl),0,0,1));
+ clif->walkok(sd);
}
break;
case RA_SENSITIVEKEEN:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
- clif_skill_damage(src,src,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_damage(src,src,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
map_foreachinrange(skill->area_sub,src,skill->get_splash(skill_id,skill_lv),BL_CHAR|BL_SKILL,src,skill_id,skill_lv,tick,flag|BCT_ENEMY,skill->castend_damage_id);
break;
/**
@@ -7923,9 +7923,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
uint8 dir = (skill_id == NC_F_SIDESLIDE) ? (unit_getdir(src)+4)%8 : unit_getdir(src);
skill->blown(src,bl,skill->get_blewcount(skill_id,skill_lv),dir,0x1);
- clif_slide(src,src->x,src->y);
- clif_fixpos(src); //Aegis sent this packet
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->slide(src,src->x,src->y);
+ clif->fixpos(src); //Aegis sent this packet
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -7933,15 +7933,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( sd ) {
if( pc_ismadogear(sd) )
pc_setmadogear(sd, 0);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
skill->castend_damage_id(src, src, skill_id, skill_lv, tick, flag);
status_set_sp(src, 0, 0);
}
break;
case NC_ANALYZE:
- clif_skill_damage(src, bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
- clif_skill_nodamage(src, bl, skill_id, skill_lv,
+ clif->skill_damage(src, bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv,
sc_start(bl,type, 30 + 12 * skill_lv,skill_lv,skill->get_time(skill_id,skill_lv)));
if( sd ) pc_overheat(sd,1);
break;
@@ -7950,10 +7950,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( (i = sc_start2(bl,type,100,skill_lv,src->id,skill->get_time(skill_id,skill_lv))) )
{
map_foreachinrange(skill->area_sub,src,skill->get_splash(skill_id,skill_lv),splash_target(src),src,skill_id,skill_lv,tick,flag|BCT_ENEMY|SD_SPLASH|1,skill->castend_damage_id);;
- clif_skill_damage(src,src,tick,status_get_amotion(src),0,-30000,1,skill_id,skill_lv,6);
+ clif->skill_damage(src,src,tick,status_get_amotion(src),0,-30000,1,skill_id,skill_lv,6);
if (sd) pc_overheat(sd,1);
}
- clif_skill_nodamage(src,src,skill_id,skill_lv,i);
+ clif->skill_nodamage(src,src,skill_id,skill_lv,i);
break;
case NC_REPAIR:
@@ -7969,8 +7969,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_heal(src,heal,0,2);
}
- clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, heal);
+ clif->skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, heal);
}
break;
@@ -7980,28 +7980,28 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
md = map_id2md(bl->id);
if( md && md->class_ >= MOBID_SILVERSNIPER && md->class_ <= MOBID_MAGICDECOY_WIND )
status_kill(bl);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
}
break;
case SC_AUTOSHADOWSPELL:
if( sd ) {
if( sd->status.skill[sd->reproduceskill_id].id || sd->status.skill[sd->cloneskill_id].id ) {
sc_start(src,SC_STOP,100,skill_lv,-1);// The skill_lv is stored in val1 used in skill_select_menu to determine the used skill lvl [Xazax]
- clif_autoshadowspell_list(sd);
- clif_skill_nodamage(src,bl,skill_id,1,1);
+ clif->autoshadowspell_list(sd);
+ clif->skill_nodamage(src,bl,skill_id,1,1);
}
else
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_IMITATION_SKILL_NONE,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_IMITATION_SKILL_NONE,0);
}
break;
case SC_SHADOWFORM:
if( sd && dstsd && src != bl && !dstsd->shadowform_id ) {
- if( clif_skill_nodamage(src,bl,skill_id,skill_lv,sc_start4(src,type,100,skill_lv,bl->id,4+skill_lv,0,skill->get_time(skill_id, skill_lv))) )
+ if( clif->skill_nodamage(src,bl,skill_id,skill_lv,sc_start4(src,type,100,skill_lv,bl->id,4+skill_lv,0,skill->get_time(skill_id, skill_lv))) )
dstsd->shadowform_id = src->id;
}
else if( sd )
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
break;
case SC_BODYPAINT:
@@ -8019,7 +8019,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
sc_start(bl,SC_BLIND,53 + 2 * skill_lv,skill_lv,skill->get_time(skill_id,skill_lv));
}
} else {
- clif_skill_nodamage(src, bl, skill_id, 0, 1);
+ clif->skill_nodamage(src, bl, skill_id, 0, 1);
map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), BL_CHAR,
src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_nodamage_id);
}
@@ -8035,9 +8035,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
int rate = rnd_value(sstatus->dex/12,sstatus->dex/4) + 10*skill_lv + (sd?sd->status.job_level:0) + status_get_lv(src)/10
- status_get_lv(bl)/10 - tstatus->luk/10 - (dstsd?(dstsd->max_weight-dstsd->weight)/10000:0) - rnd_value(tstatus->agi/6,tstatus->agi/3);
rate = cap_value(rate, skill_lv+sstatus->dex/20, 100);
- clif_skill_nodamage(src,bl,skill_id,0,sc_start(bl,type,rate,skill_lv,skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src,bl,skill_id,0,sc_start(bl,type,rate,skill_lv,skill->get_time(skill_id,skill_lv)));
} else if( sd )
- clif_skill_fail(sd,skill_id,0,0);
+ clif->skill_fail(sd,skill_id,0,0);
break;
case SC_IGNORANCE:
@@ -8045,19 +8045,19 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
int rate = rnd_value(sstatus->dex/12,sstatus->dex/4) + 10*skill_lv + (sd?sd->status.job_level:0) + status_get_lv(src)/10
- status_get_lv(bl)/10 - tstatus->luk/10 - (dstsd?(dstsd->max_weight-dstsd->weight)/10000:0) - rnd_value(tstatus->agi/6,tstatus->agi/3);
rate = cap_value(rate, skill_lv+sstatus->dex/20, 100);
- if (clif_skill_nodamage(src,bl,skill_id,0,sc_start(bl,type,rate,skill_lv,skill->get_time(skill_id,skill_lv)))) {
+ if (clif->skill_nodamage(src,bl,skill_id,0,sc_start(bl,type,rate,skill_lv,skill->get_time(skill_id,skill_lv)))) {
int sp = 200 * skill_lv;
if( dstmd ) sp = dstmd->level * 2;
if( status_zap(bl,0,sp) )
status_heal(src,0,sp/2,3);
}
- else if( sd ) clif_skill_fail(sd,skill_id,0,0);
+ else if( sd ) clif->skill_fail(sd,skill_id,0,0);
} else if( sd )
- clif_skill_fail(sd,skill_id,0,0);
+ clif->skill_fail(sd,skill_id,0,0);
break;
case LG_TRAMPLE:
- clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
map_foreachinrange(skill->destroy_trap,bl,skill->get_splash(skill_id,skill_lv),BL_SKILL,tick);
break;
@@ -8066,7 +8066,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_change_end(bl,type,INVALID_TIMER);
else
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv));
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
break;
case LG_SHIELDSPELL:
@@ -8082,7 +8082,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
struct item_data *shield_data = sd->inventory_data[sd->equip_index[EQI_HAND_L]];
if( !shield_data || shield_data->type != IT_ARMOR ) { // No shield?
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
break;
}
brate = shield_data->def * 10;
@@ -8096,7 +8096,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
switch( opt ) {
case 1:
sc_start(bl,SC_SHIELDSPELL_DEF,100,opt,-1);
- clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
if( rate < brate )
map_foreachinrange(skill->area_sub,src,skill->get_splash(skill_id,skill_lv),BL_CHAR,src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill->castend_damage_id);
status_change_end(bl,SC_SHIELDSPELL_DEF,INVALID_TIMER);
@@ -8124,20 +8124,20 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
switch( opt ) {
case 1:
sc_start(bl,SC_SHIELDSPELL_MDEF,100,opt,-1);
- clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
if( rate < brate )
map_foreachinrange(skill->area_sub,src,skill->get_splash(skill_id,skill_lv),BL_CHAR,src,skill_id,skill_lv,tick,flag|BCT_ENEMY|2,skill->castend_damage_id);
status_change_end(bl,SC_SHIELDSPELL_MDEF,INVALID_TIMER);
break;
case 2:
sc_start(bl,SC_SHIELDSPELL_MDEF,100,opt,-1);
- clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
if( rate < brate )
map_foreachinrange(skill->area_sub,src,skill->get_splash(skill_id,skill_lv),BL_CHAR,src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill->castend_nodamage_id);
break;
case 3:
if( sc_start(bl,SC_SHIELDSPELL_MDEF,brate,opt,sd->bonus.shieldmdef * 30000) )
- clif_skill_nodamage(src,bl,PR_MAGNIFICAT,skill_lv,
+ clif->skill_nodamage(src,bl,PR_MAGNIFICAT,skill_lv,
sc_start(bl,SC_MAGNIFICAT,100,1,sd->bonus.shieldmdef * 30000));
break;
}
@@ -8147,7 +8147,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
{
struct item *it = &sd->status.inventory[sd->equip_index[EQI_HAND_L]];
if( !it ) { // No shield?
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
brate = it->refine * 5;
@@ -8176,7 +8176,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
}
break;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -8186,7 +8186,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
else {
skill_area_temp[2] = 0;
map_foreachinrange(skill->area_sub,bl,skill->get_splash(skill_id,skill_lv),BL_PC,src,skill_id,skill_lv,tick,flag|SD_PREAMBLE|BCT_PARTY|BCT_SELF|1,skill->castend_nodamage_id);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -8194,10 +8194,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( sd && !map[sd->bl.m].flag.noexppenalty && sd->status.base_level != MAX_LEVEL ) {
sd->status.base_exp -= min(sd->status.base_exp, pc_nextbaseexp(sd) * 1 / 100); // 1% penalty.
sd->status.job_exp -= min(sd->status.job_exp, pc_nextjobexp(sd) * 1 / 100);
- clif_updatestatus(sd,SP_BASEEXP);
- clif_updatestatus(sd,SP_JOBEXP);
+ clif->updatestatus(sd,SP_BASEEXP);
+ clif->updatestatus(sd,SP_JOBEXP);
}
- clif_skill_nodamage(bl,src,skill_id,skill_lv,
+ clif->skill_nodamage(bl,src,skill_id,skill_lv,
sc_start(bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv)));
break;
case SR_CURSEDCIRCLE:
@@ -8207,17 +8207,17 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( bl->type == BL_MOB )
mob_unlocktarget((TBL_MOB*)bl,gettick());
unit_stop_attack(bl);
- clif_bladestop(src, bl->id, 1);
+ clif->bladestop(src, bl->id, 1);
map_freeblock_unlock();
return 1;
}
} else {
int count = 0;
- clif_skill_damage(src, bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src, bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
count = map_forcountinrange(skill->area_sub, src, skill->get_splash(skill_id,skill_lv), (sd)?sd->spiritball_old:15, // Assume 15 spiritballs in non-charactors
BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_nodamage_id);
if( sd ) pc_delspiritball(sd, count, 0);
- clif_skill_nodamage(src, src, skill_id, skill_lv,
+ clif->skill_nodamage(src, src, skill_id, skill_lv,
sc_start2(src, SC_CURSEDCIRCLE_ATKER, 100, skill_lv, count, skill->get_time(skill_id,skill_lv)));
}
break;
@@ -8228,7 +8228,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
sc_start(bl, SC_EXPLOSIONSPIRITS, 100, skill_lv, skill->get_time(skill_id, skill_lv));
for( i = 0; i < max; i++ ) // Don't call more than max available spheres.
pc_addspiritball(sd, skill->get_time(skill_id, skill_lv), max);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, sc_start(bl, type, 100, skill_lv,skill->get_time(skill_id, skill_lv)));
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, sc_start(bl, type, 100, skill_lv,skill->get_time(skill_id, skill_lv)));
}
break;
@@ -8241,9 +8241,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
pc_delspiritball(dstsd, dstsd->spiritball, 0);
}
if( i ) status_percent_heal(src, 0, i);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, i ? 1:0);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, i ? 1:0);
} else {
- clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|BCT_SELF|SD_SPLASH|1, skill->castend_nodamage_id);
}
break;
@@ -8257,7 +8257,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
pc_delspiritball(sd, sd->spiritball, 0);
}
}
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
break;
case SR_GENTLETOUCH_CURE:
@@ -8266,7 +8266,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( status_isimmune(bl) )
{
- clif_skill_nodamage(src,bl,skill_id,skill_lv,0);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,0);
break;
}
@@ -8286,12 +8286,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_change_end(bl, SC_FREEZING, INVALID_TIMER);
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
case SR_GENTLETOUCH_CHANGE:
case SR_GENTLETOUCH_REVITALIZE:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start2(bl,type,100,skill_lv,src->id,skill->get_time(skill_id,skill_lv)));
break;
case WA_SWING_DANCE:
@@ -8299,7 +8299,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( sd == NULL || sd->status.party_id == 0 || (flag & 1) )
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv));
else if( sd ) { // Only shows effects on caster.
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
party_foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
}
break;
@@ -8310,15 +8310,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( sd == NULL || sd->status.party_id == 0 || (flag & 1) )
sc_start4(bl,type,100,skill_lv,6*skill_lv,(sd?pc_checkskill(sd,WM_LESSON):0),(sd?sd->status.job_level:0),skill->get_time(skill_id,skill_lv));
else if( sd ) { // Only shows effects on caster.
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
party_foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
}
break;
case MI_HARMONIZE:
if( src != bl )
- clif_skill_nodamage(src, src, skill_id, skill_lv, sc_start(src, type, 100, skill_lv, skill->get_time(skill_id,skill_lv)));
- clif_skill_nodamage(src, bl, skill_id, skill_lv, sc_start(bl, type, 100, skill_lv, skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src, src, skill_id, skill_lv, sc_start(src, type, 100, skill_lv, skill->get_time(skill_id,skill_lv)));
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, sc_start(bl, type, 100, skill_lv, skill->get_time(skill_id,skill_lv)));
break;
case WM_DEADHILLHERE:
@@ -8332,9 +8332,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
heal = 1;
tstatus->hp = heal;
tstatus->sp -= tstatus->sp * ( 120 - 20 * skill_lv ) / 100;
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
pc_revive((TBL_PC*)bl,heal,0);
- clif_resurrection(bl,1);
+ clif->resurrection(bl,1);
}
}
break;
@@ -8348,12 +8348,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
sc_start2(bl,type,(skill_id==WM_VOICEOFSIREN)?20+10*skill_lv:100,skill_lv,(skill_id==WM_VOICEOFSIREN)?src->id:0,skill->get_time(skill_id,skill_lv));
} else {
map_foreachinrange(skill->area_sub, src, skill->get_splash(skill_id,skill_lv),(skill_id==WM_VOICEOFSIREN)?BL_CHAR|BL_SKILL:BL_PC, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_nodamage_id);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
case WM_GLOOMYDAY:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
if( dstsd && ( pc_checkskill(dstsd,KN_BRANDISHSPEAR) || pc_checkskill(dstsd,LK_SPIRALPIERCE) ||
pc_checkskill(dstsd,CR_SHIELDCHARGE) || pc_checkskill(dstsd,CR_SHIELDBOOMERANG) ||
pc_checkskill(dstsd,PA_SHIELDCHAIN) || pc_checkskill(dstsd,LG_SHIELDPRESS) ) )
@@ -8370,11 +8370,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
sc_start(bl, type, 100, skill_lv,skill->get_time(skill_id, skill_lv));
} else if( flag&2 ) {
if( src->id != bl->id && battle->check_target(src,bl,BCT_ENEMY) > 0 )
- status_fix_damage(src,bl,9999,clif_damage(src,bl,tick,0,0,9999,0,0,0));
+ status_fix_damage(src,bl,9999,clif->damage(src,bl,tick,0,0,9999,0,0,0));
} else if( sd ) {
short chance = sstatus->int_/6 + sd->status.job_level/5 + skill_lv*4;
if( !sd->status.party_id || (rnd()%100 > chance)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_NEED_HELPER,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_NEED_HELPER,0);
break;
}
if( map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id,skill_lv),
@@ -8383,10 +8383,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
else
flag |= 1;
map_foreachinrange(skill->area_sub, src, skill->get_splash(skill_id,skill_lv),BL_PC, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|BCT_SELF, skill->castend_nodamage_id);
- clif_skill_nodamage(src, bl, skill_id, skill_lv,
+ clif->skill_nodamage(src, bl, skill_id, skill_lv,
sc_start(src,SC_STOP,100,skill_lv,skill->get_time2(skill_id,skill_lv)));
if( flag&2 ) // Dealed here to prevent conflicts
- status_fix_damage(src,bl,9999,clif_damage(src,bl,tick,0,0,9999,0,0,0));
+ status_fix_damage(src,bl,9999,clif->damage(src,bl,tick,0,0,9999,0,0,0));
}
break;
@@ -8403,7 +8403,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
int count = skill->check_pc_partner(sd,skill_id,&lv,skill->get_splash(skill_id,skill_lv),1);
if( sc_start2(bl,type,100,skill_lv,count,skill->get_time(skill_id,skill_lv)) )
party_foreachsamemap(skill->area_sub,sd,skill->get_splash(skill_id,skill_lv),src,skill_id,skill_lv,tick,flag|BCT_PARTY|1,skill->castend_nodamage_id);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -8417,7 +8417,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
short lv = (short)skill_lv;
skill_area_temp[0] = (sd) ? skill->check_pc_partner(sd,skill_id,&lv,skill->get_splash(skill_id,skill_lv),1) : 50; // 50% chance in non BL_PC (clones).
map_foreachinrange(skill->area_sub, src, skill->get_splash(skill_id,skill_lv),BL_PC, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_nodamage_id);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -8428,13 +8428,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
improv_skill_id = skill_improvise_db[i].skill_id;
} while( improv_skill_id == 0 || rnd()%10000 >= skill_improvise_db[i].per );
improv_skill_lv = 4 + skill_lv;
- clif_skill_nodamage (src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage (src, bl, skill_id, skill_lv, 1);
if( sd ) {
sd->state.abra_flag = 2;
sd->skillitem = improv_skill_id;
sd->skillitemlv = improv_skill_lv;
- clif_item_skill(sd, improv_skill_id, improv_skill_lv);
+ clif->item_skill(sd, improv_skill_id, improv_skill_lv);
} else {
struct unit_data *ud = unit_bl2ud(src);
int inf = skill->get_inf(improv_skill_id);
@@ -8488,7 +8488,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if(!mapindex)
{ //Given map not found?
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
map_freeblock_unlock();
return 0;
}
@@ -8502,8 +8502,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
tsc->opt1 = 0;
else
tsc->opt1 = OPT1_SLEEP;
- clif_changeoption(bl);
- clif_skill_nodamage (src, bl, skill_id, skill_lv, 1);
+ clif->changeoption(bl);
+ clif->skill_nodamage (src, bl, skill_id, skill_lv, 1);
}
break;
@@ -8512,7 +8512,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
// [(15 + 5 * Skill Level) + ( Caster’s INT / 5 ) + ( Caster’s Job Level / 5 ) - ( Target’s INT / 6 ) - ( Target’s LUK / 10 )] %
int rate = (15 + 5 * skill_lv) + status_get_int(src)/5 + (sd ? sd->status.job_level : 0);
rate -= status_get_int(bl)/6 - status_get_luk(bl)/10;
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
sc_start2(bl, type, rate, skill_lv, 1, skill->get_time(skill_id, skill_lv));
}
break;
@@ -8524,7 +8524,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( bl != src )
sc_start(bl,type,rate,skill_lv,skill->get_time(skill_id,skill_lv));
}else {
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
map_foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), BL_CHAR,
src, skill_id, skill_lv, tick, flag|BCT_ALL|1, skill->castend_nodamage_id);
}
@@ -8543,10 +8543,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
// Summoning the new one.
if( !elemental_create(sd,elemental_class,skill->get_time(skill_id,skill_lv)) ) {
- clif_skill_fail(sd,skill_id,0,0);
+ clif->skill_fail(sd,skill_id,0,0);
break;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -8565,10 +8565,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case 3: mode = EL_MODE_AGGRESSIVE; break;
}
if( !elemental_change_mode(sd->ed,mode) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
@@ -8578,7 +8578,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( !sd->ed ) break;
sd->skill_id_old = skill_id;
elemental_action(sd->ed, bl, tick);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
switch(sd->ed->db->class_){
case 2115:case 2124:
case 2118:case 2121:
@@ -8601,21 +8601,21 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( !ed ) break;
if( !status_charge(&sd->bl,s_hp,s_sp) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
e_hp = ed->battle_status.max_hp * 10 / 100;
e_sp = ed->battle_status.max_sp * 10 / 100;
status_heal(&ed->bl,e_hp,e_sp,3);
- clif_skill_nodamage(src,&ed->bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,&ed->bl,skill_id,skill_lv,1);
}
break;
case GN_CHANGEMATERIAL:
case SO_EL_ANALYSIS:
if( sd ) {
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
- clif_skill_itemlistwindow(sd,skill_id,skill_lv);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_itemlistwindow(sd,skill_id,skill_lv);
}
break;
@@ -8628,11 +8628,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
(sc->bs_counter)--;
status_change_end(src, type, INVALID_TIMER); // the first one cancels and the last one will take effect resetting the timer
}
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
sc_start2(bl, type, 100, skill_lv, src->id, skill->get_time(skill_id,skill_lv));
(sc->bs_counter)++;
} else if( sd ) {
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
break;
}
}
@@ -8640,7 +8640,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case GN_MANDRAGORA:
if( flag&1 ) {
- if ( clif_skill_nodamage(bl, src, skill_id, skill_lv,
+ if ( clif->skill_nodamage(bl, src, skill_id, skill_lv,
sc_start(bl, type, 25 + 10 * skill_lv, skill_lv, skill->get_time(skill_id, skill_lv))) )
status_zap(bl, 0, status_get_max_sp(bl) * (25 + 5 * skill_lv) / 100);
} else
@@ -8665,7 +8665,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
else
skill->attack(BF_WEAPON,src,src,bl,GN_SLINGITEM_RANGEMELEEATK,skill_lv,tick,flag);
} else //Otherwise, it fails, shows animation and removes items.
- clif_skill_fail(sd,GN_SLINGITEM_RANGEMELEEATK,0xa,0);
+ clif->skill_fail(sd,GN_SLINGITEM_RANGEMELEEATK,0xa,0);
} else if( itemdb_is_GNthrowable(ammo_id) ){
struct script_code *script = sd->inventory_data[i]->script;
if( !script )
@@ -8676,8 +8676,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
run_script(script,0,src->id,0);
}
}
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);// This packet is received twice actually, I think it is to show the animation.
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);// This packet is received twice actually, I think it is to show the animation.
break;
case GN_MIX_COOKING:
@@ -8689,8 +8689,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
sd->skill_lv_old = skill_lv;
if( skill_id != GN_S_PHARMACY && skill_lv > 1 )
qty = 10;
- clif_cooking_list(sd,(skill_id - GN_MIX_COOKING) + 27,skill_id,qty,skill_id==GN_MAKEBOMB?5:6);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->cooking_list(sd,(skill_id - GN_MIX_COOKING) + 27,skill_id,qty,skill_id==GN_MAKEBOMB?5:6);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
}
break;
case EL_CIRCLE_OF_FIRE:
@@ -8720,8 +8720,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
if( (sc && sc->data[type2]) || (tsc && tsc->data[type]) ) {
elemental_clean_single_effect(ele, skill_id);
} else {
- clif_skill_nodamage(src,src,skill_id,skill_lv,1);
- clif_skill_damage(src, ( skill_id == EL_GUST || skill_id == EL_BLAST || skill_id == EL_WILD_STORM )?src:bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1);
+ clif->skill_damage(src, ( skill_id == EL_GUST || skill_id == EL_BLAST || skill_id == EL_WILD_STORM )?src:bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
if( skill_id == EL_WIND_STEP ) // There aren't teleport, just push the master away.
skill->blown(src,bl,(rnd()%skill->get_blewcount(skill_id,skill_lv))+1,rand()%8,0);
sc_start(src,type2,100,skill_lv,skill->get_time(skill_id,skill_lv));
@@ -8735,8 +8735,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case EL_WATER_BARRIER:
case EL_ZEPHYR:
case EL_POWER_OF_GAIA:
- clif_skill_nodamage(src,src,skill_id,skill_lv,1);
- clif_skill_damage(src, bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1);
+ clif->skill_damage(src, bl, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
skill->unitsetting(src,skill_id,skill_lv,bl->x,bl->y,0);
break;
@@ -8746,12 +8746,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
struct status_change *sc = status_get_sc(&ele->bl);
sc_type type2 = type-1;
- clif_skill_nodamage(src,src,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1);
if( (sc && sc->data[type2]) || (tsc && tsc->data[type]) ) {
elemental_clean_single_effect(ele, skill_id);
} else {
// This not heals at the end.
- clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
sc_start(src,type2,100,skill_lv,skill->get_time(skill_id,skill_lv));
sc_start(bl,type,100,src->id,skill->get_time(skill_id,skill_lv));
}
@@ -8765,7 +8765,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case KO_DOHU_KOUKAI:
if(sd) {
int ttype = skill->get_ele(skill_id, skill_lv);
- clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
pc_add_talisman(sd, skill->get_time(skill_id, skill_lv), 10, ttype);
}
break;
@@ -8784,7 +8784,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
md->deletetimer = add_timer (gettick() + skill->get_time(skill_id, skill_lv), mob_timer_delete, md->bl.id, 0);
mob_spawn( md );
pc_setinvincibletimer(sd,500);// unlock target lock
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
skill->blown(src,bl,skill->get_blewcount(skill_id,skill_lv),unit_getdir(bl),0);
}
}
@@ -8792,22 +8792,22 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case KO_KYOUGAKU:
if( dstsd && tsc && !tsc->data[type] && rand()%100 < tstatus->int_/2 ){
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
}else if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
case KO_JYUSATSU:
if( dstsd && tsc && !tsc->data[type] &&
rand()%100 < ((45+5*skill_lv) + skill_lv*5 - status_get_int(bl)/2) ){//[(Base chance of success) + (Skill Level x 5) - (int / 2)]%.
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
status_change_start(bl,type,10000,skill_lv,0,0,0,skill->get_time(skill_id,skill_lv),1));
status_zap(bl, tstatus->max_hp*skill_lv*5/100 , 0);
if( status_get_lv(bl) <= status_get_lv(src) )
status_change_start(bl,SC_COMA,10,skill_lv,0,src->id,0,0,0);
}else if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
case KO_GENWAKU:
@@ -8815,20 +8815,20 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
int x = src->x, y = src->y;
if( sd && rnd()%100 > ((45+5*skill_lv) - status_get_int(bl)/10) ){//[(Base chance of success) - (Intelligence Objectives / 10)]%.
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
if (unit_movepos(src,bl->x,bl->y,0,0)) {
- clif_skill_nodamage(src,src,skill_id,skill_lv,1);
- clif_slide(src,bl->x,bl->y) ;
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1);
+ clif->slide(src,bl->x,bl->y) ;
sc_start(src,SC_CONFUSION,80,skill_lv,skill->get_time(skill_id,skill_lv));
if (unit_movepos(bl,x,y,0,0))
{
- clif_skill_damage(bl,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, -1, 6);
+ clif->skill_damage(bl,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, -1, 6);
if( bl->type == BL_PC && pc_issit((TBL_PC*)bl))
- clif_sitting(bl); //Avoid sitting sync problem
- clif_slide(bl,x,y) ;
+ clif->sitting(bl); //Avoid sitting sync problem
+ clif->slide(bl,x,y) ;
sc_start(bl,SC_CONFUSION,80,skill_lv,skill->get_time(skill_id,skill_lv));
}
}
@@ -8839,16 +8839,16 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case OB_OBOROGENSOU:
if( sd && ( (skill_id == OB_OBOROGENSOU && bl->type == BL_MOB) // This skill does not work on monsters.
|| is_boss(bl) ) ){ // Does not work on Boss monsters.
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
case KO_IZAYOI:
case OB_ZANGETSU:
case KG_KYOMU:
case KG_KAGEMUSYA:
- clif_skill_nodamage(src,bl,skill_id,skill_lv,
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
- clif_skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
break;
case KG_KAGEHUMI:
@@ -8867,7 +8867,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
status_change_end(bl, SC_HARMONIZE, INVALID_TIMER);
}
if( skill_area_temp[2] == 1 ){
- clif_skill_damage(src,src,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src,src,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
sc_start(src, SC_STOP, 100, skill_lv, skill->get_time(skill_id, skill_lv));
}
}else{
@@ -8914,7 +8914,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
hd->homunculus.hunger = min(1,hd->homunculus.hunger);
if(s_bl && s_bl->type==BL_PC){
status_set_sp(s_bl,status_get_max_sp(s_bl)/2,0); //master drain 50% sp
- clif_send_homdata(((TBL_PC *)s_bl), SP_HUNGRY, hd->homunculus.hunger); //refresh hunger info
+ clif->send_homdata(((TBL_PC *)s_bl), SP_HUNGRY, hd->homunculus.hunger); //refresh hunger info
sc_start(s_bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv)); //gene bonus
}
sc_start(bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv));
@@ -8935,7 +8935,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case MH_LIGHT_OF_REGENE:
if(hd){
hd->homunculus.intimacy = 251; //change to neutral (can't be cast if < 750)
- if(sd) clif_send_homdata(sd, SP_INTIMATE, hd->homunculus.intimacy); //refresh intimacy info
+ if(sd) clif->send_homdata(sd, SP_INTIMATE, hd->homunculus.intimacy); //refresh intimacy info
}
//don't break need to start status and start block timer
case MH_STYLE_CHANGE:
@@ -8969,7 +8969,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
default:
ShowWarning("skill_castend_nodamage_id: Unknown skill used:%d\n",skill_id);
- clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
map_freeblock_unlock();
return 1;
}
@@ -9064,7 +9064,7 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr_t data)
switch (ud->skill_id) {
//These should become skill_castend_pos
case WE_CALLPARTNER:
- if(sd) clif_callpartner(sd);
+ if(sd) clif->callpartner(sd);
case WE_CALLPARENT:
case WE_CALLBABY:
case AM_RESURRECTHOMUN:
@@ -9109,7 +9109,7 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr_t data)
sc = status_get_sc(target);
if( battle->check_target(src,target, BCT_ENEMY) <= 0 && (!sc || !sc->data[SC_SILENCE]) )
{ //If it's not an enemy, and not silenced, you can't use the skill on them. [Skotlex]
- clif_skill_nodamage (src, target, ud->skill_id, ud->skill_lv, 0);
+ clif->skill_nodamage (src, target, ud->skill_id, ud->skill_lv, 0);
break;
}
}
@@ -9137,7 +9137,7 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr_t data)
}
if( sd && (inf2&INF2_CHORUS_SKILL) && skill->check_pc_partner(sd, ud->skill_id, &ud->skill_lv, 1, 0) < 1 ) {
- clif_skill_fail(sd, ud->skill_id, USESKILL_FAIL_NEED_HELPER, 0);
+ clif->skill_fail(sd, ud->skill_id, USESKILL_FAIL_NEED_HELPER, 0);
break;
}
@@ -9147,14 +9147,14 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr_t data)
break;
}
else if (inf && battle->check_target(src, target, inf) <= 0){
- if (sd) clif_skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
+ if (sd) clif->skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
if(inf&BCT_ENEMY && (sc = status_get_sc(target)) &&
sc->data[SC_FOGWALL] &&
rnd() % 100 < 75) { //Fogwall makes all offensive-type targetted skills fail at 75%
- if (sd) clif_skill_fail(sd, ud->skill_id, USESKILL_FAIL_LEVEL, 0);
+ if (sd) clif->skill_fail(sd, ud->skill_id, USESKILL_FAIL_LEVEL, 0);
break;
}
}
@@ -9166,14 +9166,14 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr_t data)
if(md) {
md->last_thinktime=tick +MIN_MOBTHINKTIME;
if(md->skill_idx >= 0 && md->db->skill[md->skill_idx].emotion >= 0)
- clif_emotion(src, md->db->skill[md->skill_idx].emotion);
+ clif->emotion(src, md->db->skill[md->skill_idx].emotion);
}
if(src != target && battle_config.skill_add_range &&
!check_distance_bl(src, target, skill->get_range2(src,ud->skill_id,ud->skill_lv)+battle_config.skill_add_range))
{
if (sd) {
- clif_skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
if(battle_config.skill_out_range_consume) //Consume items anyway. [Skotlex]
skill->consume_requirement(sd,ud->skill_id,ud->skill_lv,3);
}
@@ -9217,7 +9217,7 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr_t data)
skill->blockpc_start(sd, ud->skill_id, cooldown, false);
}
if( battle_config.display_status_timers && sd )
- clif_status_change(src, SI_ACTIONDELAY, 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
+ clif->status_change(src, SI_ACTIONDELAY, 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
if( sd )
{
switch( ud->skill_id )
@@ -9307,10 +9307,10 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr_t data)
else y = 0;
if (unit_movepos(src, src->x+x, src->y+y, 1, 1))
{ //Display movement + animation.
- clif_slide(src,src->x,src->y);
- clif_skill_damage(src,target,tick,sd->battle_status.amotion,0,0,1,ud->skill_id, ud->skill_lv, 5);
+ clif->slide(src,src->x,src->y);
+ clif->skill_damage(src,target,tick,sd->battle_status.amotion,0,0,1,ud->skill_id, ud->skill_lv, 5);
}
- clif_skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
}
}
@@ -9371,7 +9371,7 @@ int skill_castend_pos(int tid, unsigned int tick, int id, intptr_t data)
skill->check_unit_range(src,ud->skillx,ud->skilly,ud->skill_id,ud->skill_lv)
)
{
- if (sd) clif_skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
+ if (sd) clif->skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
if( src->type&battle_config.skill_nofootset &&
@@ -9379,7 +9379,7 @@ int skill_castend_pos(int tid, unsigned int tick, int id, intptr_t data)
skill->check_unit_range2(src,ud->skillx,ud->skilly,ud->skill_id,ud->skill_lv)
)
{
- if (sd) clif_skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
+ if (sd) clif->skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
if( src->type&battle_config.land_skill_limit &&
@@ -9392,7 +9392,7 @@ int skill_castend_pos(int tid, unsigned int tick, int id, intptr_t data)
}
if( maxcount == 0 )
{
- if (sd) clif_skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
+ if (sd) clif->skill_fail(sd,ud->skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
}
@@ -9423,7 +9423,7 @@ int skill_castend_pos(int tid, unsigned int tick, int id, intptr_t data)
if(md) {
md->last_thinktime=tick +MIN_MOBTHINKTIME;
if(md->skill_idx >= 0 && md->db->skill[md->skill_idx].emotion >= 0)
- clif_emotion(src, md->db->skill[md->skill_idx].emotion);
+ clif->emotion(src, md->db->skill[md->skill_idx].emotion);
}
if(battle_config.skill_log && battle_config.skill_log&src->type)
@@ -9447,7 +9447,7 @@ int skill_castend_pos(int tid, unsigned int tick, int id, intptr_t data)
skill->blockpc_start(sd, ud->skill_id, cooldown, false);
}
if( battle_config.display_status_timers && sd )
- clif_status_change(src, SI_ACTIONDELAY, 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
+ clif->status_change(src, SI_ACTIONDELAY, 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
// if( sd )
// {
// switch( ud->skill_id )
@@ -9528,9 +9528,9 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
break; //Effect is displayed on respective switch case.
default:
if(skill->get_inf(skill_id)&INF_SELF_SKILL)
- clif_skill_nodamage(src,src,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1);
else
- clif_skill_poseffect(src,skill_id,skill_lv,x,y,tick);
+ clif->skill_poseffect(src,skill_id,skill_lv,x,y,tick);
}
// SC_MAGICPOWER needs to switch states before any damage is actually dealt
@@ -9710,7 +9710,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
else { // Create Basilica. Start SC on caster. Unit timer start SC on others.
if( map_foreachinrange(skill_count_wos, src, 2, BL_MOB|BL_PC, src) ) {
if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL,0);
return 1;
}
@@ -9748,7 +9748,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
tmpy = y - area + rnd()%(area * 2 + 1);
if( i == 0 && path_search_long(NULL, src->m, src->x, src->y, tmpx, tmpy, CELL_CHKWALL) )
- clif_skill_poseffect(src,skill_id,skill_lv,tmpx,tmpy,tick);
+ clif->skill_poseffect(src,skill_id,skill_lv,tmpx,tmpy,tick);
if( i > 0 )
skill->addtimerskill(src,tick+i*1000,0,tmpx,tmpy,skill_id,skill_lv,(x1<<16)|y1,0);
@@ -9764,7 +9764,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case AL_WARP:
if(sd)
{
- clif_skill_warppoint(sd, skill_id, skill_lv, sd->status.save_point.map,
+ clif->skill_warppoint(sd, skill_id, skill_lv, sd->status.save_point.map,
(skill_lv >= 2) ? sd->status.memo_point[0].map : 0,
(skill_lv >= 3) ? sd->status.memo_point[1].map : 0,
(skill_lv >= 4) ? sd->status.memo_point[2].map : 0
@@ -9777,9 +9777,9 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case MO_BODYRELOCATION:
if (unit_movepos(src, x, y, 1, 1)) {
#if PACKETVER >= 20111005
- clif_snap(src, src->x, src->y);
+ clif->snap(src, src->x, src->y);
#else
- clif_skill_poseffect(src,skill_id,skill_lv,src->x,src->y,tick);
+ clif->skill_poseffect(src,skill_id,skill_lv,src->x,src->y,tick);
#endif
if (sd)
skill->blockpc_start (sd, MO_EXTREMITYFIST, 2000, false);
@@ -9788,7 +9788,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case NJ_SHADOWJUMP:
if( !map_flag_gvg(src->m) && !map[src->m].flag.battleground ) { //You don't move on GVG grounds.
unit_movepos(src, x, y, 1, 0);
- clif_slide(src,x,y);
+ clif->slide(src,x,y);
}
status_change_end(src, SC_HIDING, INVALID_TIMER);
break;
@@ -9820,7 +9820,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
int j = pc_search_inventory(sd,skill_db[skill_id].itemid[i]);
if( j < 0 || skill_db[skill_id].itemid[i] <= 0 || sd->inventory_data[j] == NULL || sd->status.inventory[j].amount < skill_db[skill_id].amount[i] )
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 1;
}
potion_flag = 1;
@@ -9872,11 +9872,11 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case HW_GANBANTEIN:
if (rnd()%100 < 80) {
int dummy = 1;
- clif_skill_poseffect(src,skill_id,skill_lv,x,y,tick);
+ clif->skill_poseffect(src,skill_id,skill_lv,x,y,tick);
i = skill->get_splash(skill_id, skill_lv);
map_foreachinarea(skill->cell_overlap, src->m, x-i, y-i, x+i, y+i, BL_SKILL, HW_GANBANTEIN, &dummy, src);
} else {
- if (sd) clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 1;
}
break;
@@ -9892,12 +9892,12 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
if (sd) {
if( map_count_oncell(src->m,x,y,BL_CHAR) > 0 )
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 1;
}
- clif_skill_poseffect(src,skill_id,skill_lv,x,y,tick);
+ clif->skill_poseffect(src,skill_id,skill_lv,x,y,tick);
if (rnd()%100 < 50) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
} else {
TBL_MOB* md = mob_once_spawn_sub(src, src->m, x, y, "--ja--",(skill_lv < 2 ? 1084+rnd()%2 : 1078+rnd()%6),"", SZ_SMALL, AI_NONE);
int i;
@@ -9935,7 +9935,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
if (sce)
status_change_end(src, type, INVALID_TIMER); //Was under someone else's Gospel. [Skotlex]
sc_start4(src,type,100,skill_lv,0,sg->group_id,BCT_SELF,skill->get_time(skill_id,skill_lv));
- clif_skill_poseffect(src, skill_id, skill_lv, 0, 0, tick); // PA_GOSPEL music packet
+ clif->skill_poseffect(src, skill_id, skill_lv, 0, 0, tick); // PA_GOSPEL music packet
}
break;
case NJ_TATAMIGAESHI:
@@ -9948,14 +9948,14 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
{
if (!merc_resurrect_homunculus(sd, 20*skill_lv, x, y))
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}
}
break;
case RK_WINDCUTTER:
- clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
case NC_COLDSLOWER:
case NC_ARMSCANNON:
case RK_DRAGONBREATH:
@@ -9975,10 +9975,10 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case GC_POISONSMOKE:
if( !(sc && sc->data[SC_POISONINGWEAPON]) ) {
if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_GC_POISONINGWEAPON,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_GC_POISONINGWEAPON,0);
return 0;
}
- clif_skill_damage(src,src,tick,status_get_amotion(src),0,-30000,1,skill_id,skill_lv,6);
+ clif->skill_damage(src,src,tick,status_get_amotion(src),0,-30000,1,skill_id,skill_lv,6);
skill->unitsetting(src, skill_id, skill_lv, x, y, flag);
//status_change_end(src,SC_POISONINGWEAPON,INVALID_TIMER); // 08/31/2011 - When using poison smoke, you no longer lose the poisoning weapon effect.
break;
@@ -10026,7 +10026,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case RA_DETONATOR:
i = skill->get_splash(skill_id, skill_lv);
map_foreachinarea(skill->detonator, src->m, x-i, y-i, x+i, y+i, BL_SKILL, src);
- clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
+ clif->skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6);
break;
/**
* Mechanic
@@ -10059,11 +10059,11 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
break;
case NC_MAGICDECOY:
- if( sd ) clif_magicdecoy_list(sd,skill_lv,x,y);
+ if( sd ) clif->magicdecoy_list(sd,skill_lv,x,y);
break;
case SC_FEINTBOMB:
- clif_skill_nodamage(src,src,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1);
skill->unitsetting(src,skill_id,skill_lv,x,y,0); // Set bomb on current Position
if( skill->blown(src,src,6,unit_getdir(src),0) )
skill->castend_nodamage_id(src,src,TF_HIDING,1,tick,0);
@@ -10088,7 +10088,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
sc_start4(src,SC_BANDING,100,skill_lv,0,0,sg->group_id,skill->get_time(skill_id,skill_lv));
if( sd ) pc_banding(sd,skill_lv);
}
- clif_skill_nodamage(src,src,skill_id,skill_lv,1);
+ clif->skill_nodamage(src,src,skill_id,skill_lv,1);
break;
case LG_RAYOFGENESIS:
@@ -10097,7 +10097,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
map_foreachinarea(skill->area_sub,src->m,x-i,y-i,x+i,y+i,splash_target(src),
src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill->castend_damage_id);
} else if( sd )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL,0);
break;
case WM_DOMINION_IMPULSE:
@@ -10133,11 +10133,11 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
switch( skill_lv ) {
case 3:
ud->skillunit[i]->unit_id = UNT_FIRE_EXPANSION_SMOKE_POWDER;
- clif_changetraplook(&ud->skillunit[i]->unit->bl, UNT_FIRE_EXPANSION_SMOKE_POWDER);
+ clif->changetraplook(&ud->skillunit[i]->unit->bl, UNT_FIRE_EXPANSION_SMOKE_POWDER);
break;
case 4:
ud->skillunit[i]->unit_id = UNT_FIRE_EXPANSION_TEAR_GAS;
- clif_changetraplook(&ud->skillunit[i]->unit->bl, UNT_FIRE_EXPANSION_TEAR_GAS);
+ clif->changetraplook(&ud->skillunit[i]->unit->bl, UNT_FIRE_EXPANSION_TEAR_GAS);
break;
case 5:
map_foreachinarea(skill->area_sub, src->m,
@@ -10160,7 +10160,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
case SO_ELECTRICWALK:
if( sc && sc->data[type] )
status_change_end(src,type,INVALID_TIMER);
- clif_skill_nodamage(src, src ,skill_id, skill_lv,
+ clif->skill_nodamage(src, src ,skill_id, skill_lv,
sc_start2(src, type, 100, skill_id, skill_lv, skill->get_time(skill_id, skill_lv)));
break;
@@ -10271,7 +10271,7 @@ int skill_castend_map (struct map_session_data *sd, uint16 skill_id, const char
mapindex = mapindex_name2id((char*)map);
if(!mapindex) { //Given map not found?
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
skill_failed(sd);
return 0;
}
@@ -10286,7 +10286,7 @@ int skill_castend_map (struct map_session_data *sd, uint16 skill_id, const char
maxcount--;
}
if(!maxcount) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
skill_failed(sd);
return 0;
}
@@ -10353,7 +10353,7 @@ int skill_dance_overlap_sub(struct block_list* bl, va_list ap) {
else //Remove dissonance
target->val2 &= ~UF_ENSEMBLE;
- clif_skill_setunit(target); //Update look of affected cell.
+ clif->skill_setunit(target); //Update look of affected cell.
return 1;
}
@@ -10976,7 +10976,7 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, unsigned
if( td )
sec = DIFF_TICK(td->tick, tick);
map_moveblock(bl, src->bl.x, src->bl.y, tick);
- clif_fixpos(bl);
+ clif->fixpos(bl);
sg->val2 = bl->id;
}
else
@@ -11001,11 +11001,11 @@ int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, unsigned
if (!sce) {
TBL_PC *sd = BL_CAST(BL_PC, bl); //prevent fullheal exploit
if (sd && sd->bloodylust_tick && DIFF_TICK(gettick(), sd->bloodylust_tick) < skill->get_time2(SC_BLOODYLUST, 1))
- clif_skill_nodamage(&src->bl,bl,sg->skill_id,sg->skill_lv,
+ clif->skill_nodamage(&src->bl,bl,sg->skill_id,sg->skill_lv,
sc_start4(bl, type, 100, sg->skill_lv, 1, 0, 0, skill->get_time(LK_BERSERK, sg->skill_lv)));
else {
if (sd) sd->bloodylust_tick = gettick();
- clif_skill_nodamage(&src->bl,bl,sg->skill_id,sg->skill_lv,
+ clif->skill_nodamage(&src->bl,bl,sg->skill_id,sg->skill_lv,
sc_start4(bl, type, 100, sg->skill_lv, 0, 0, 0, skill->get_time(LK_BERSERK, sg->skill_lv)));
}
}
@@ -11246,7 +11246,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
break;
if( status_isimmune(bl) )
heal = 0;
- clif_skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
+ clif->skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
if( tsc && tsc->data[SC_AKAITSUKI] && heal )
heal = ~heal + 1;
status_heal(bl, heal, 0, 0);
@@ -11269,7 +11269,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
break;
if (status_isimmune(bl))
heal = 0;
- clif_skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
+ clif->skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
status_heal(bl, heal, 0, 0);
}
break;
@@ -11345,7 +11345,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
{
skill->blown(&src->bl,bl,skill->get_blewcount(sg->skill_id,sg->skill_lv),unit_getdir(bl),0);
sg->unit_id = UNT_USED_TRAPS;
- clif_changetraplook(&src->bl, UNT_USED_TRAPS);
+ clif->changetraplook(&src->bl, UNT_USED_TRAPS);
sg->limit=DIFF_TICK(tick,sg->tick)+1500;
}
break;
@@ -11360,19 +11360,19 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
sec = DIFF_TICK(td->tick, tick);
if( sg->unit_id == UNT_MANHOLE || battle_config.skill_trap_type || !map_flag_gvg(src->bl.m) ) {
unit_movepos(bl, src->bl.x, src->bl.y, 0, 0);
- clif_fixpos(bl);
+ clif->fixpos(bl);
}
sg->val2 = bl->id;
} else
sec = 3000; //Couldn't trap it?
if( sg->unit_id == UNT_ANKLESNARE ) {
- clif_skillunit_update(&src->bl);
+ clif->skillunit_update(&src->bl);
/**
* If you're snared from a trap that was invisible this makes the trap be
* visible again -- being you stepped on it (w/o this the trap remains invisible and you go "WTF WHY I CANT MOVE")
* bugreport:3961
**/
- clif_changetraplook(&src->bl, UNT_ANKLESNARE);
+ clif->changetraplook(&src->bl, UNT_ANKLESNARE);
}
sg->limit = DIFF_TICK(tick,sg->tick)+sec;
sg->interval = -1;
@@ -11387,7 +11387,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
if( status_change_start(bl,type,10000,sg->skill_lv,sg->group_id,0,0,skill->get_time2(sg->skill_id, sg->skill_lv), 8) ) {
map_moveblock(bl, src->bl.x, src->bl.y, tick);
- clif_fixpos(bl);
+ clif->fixpos(bl);
}
@@ -11423,7 +11423,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
case UNT_FIREPILLAR_ACTIVE:
map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);
if (sg->unit_id != UNT_FIREPILLAR_ACTIVE)
- clif_changetraplook(&src->bl, sg->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);
+ clif->changetraplook(&src->bl, sg->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);
sg->limit=DIFF_TICK(tick,sg->tick)+1500 +
(sg->unit_id== UNT_CLUSTERBOMB || sg->unit_id== UNT_ICEBOUNDTRAP?1000:0);// Cluster Bomb/Icebound has 1s to disappear once activated.
sg->unit_id = UNT_USED_TRAPS; //Changed ID so it does not invoke a for each in area again.
@@ -11433,9 +11433,9 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
if (sg->src_id == bl->id)
break;
if (sg->val2 == 0){
- clif_talkiebox(&src->bl, sg->valstr);
+ clif->talkiebox(&src->bl, sg->valstr);
sg->unit_id = UNT_USED_TRAPS;
- clif_changetraplook(&src->bl, UNT_USED_TRAPS);
+ clif->changetraplook(&src->bl, UNT_USED_TRAPS);
sg->limit = DIFF_TICK(tick, sg->tick) + 5000;
sg->val2 = -1;
}
@@ -11469,7 +11469,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
heal = skill->calc_heal(ss,bl,sg->skill_id, sg->skill_lv, true);
if( tsc->data[SC_AKAITSUKI] && heal )
heal = ~heal + 1;
- clif_skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
+ clif->skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
status_heal(bl, heal, 0, 0);
break;
}
@@ -11491,28 +11491,28 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
{
case 0: // Heal 1~9999 HP
heal = rnd() %9999+1;
- clif_skill_nodamage(ss,bl,AL_HEAL,heal,1);
+ clif->skill_nodamage(ss,bl,AL_HEAL,heal,1);
status_heal(bl,heal,0,0);
break;
case 1: // End all negative status
status_change_clear_buffs(bl,6);
- if (tsd) clif_gospel_info(tsd, 0x15);
+ if (tsd) clif->gospel_info(tsd, 0x15);
break;
case 2: // Immunity to all status
sc_start(bl,SC_SCRESIST,100,100,time);
- if (tsd) clif_gospel_info(tsd, 0x16);
+ if (tsd) clif->gospel_info(tsd, 0x16);
break;
case 3: // MaxHP +100%
sc_start(bl,SC_INCMHPRATE,100,100,time);
- if (tsd) clif_gospel_info(tsd, 0x17);
+ if (tsd) clif->gospel_info(tsd, 0x17);
break;
case 4: // MaxSP +100%
sc_start(bl,SC_INCMSPRATE,100,100,time);
- if (tsd) clif_gospel_info(tsd, 0x18);
+ if (tsd) clif->gospel_info(tsd, 0x18);
break;
case 5: // All stats +20
sc_start(bl,SC_INCALLSTATUS,100,20,time);
- if (tsd) clif_gospel_info(tsd, 0x19);
+ if (tsd) clif->gospel_info(tsd, 0x19);
break;
case 6: // Level 10 Blessing
sc_start(bl,SC_BLESSING,100,10,time);
@@ -11522,24 +11522,24 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
break;
case 8: // Enchant weapon with Holy element
sc_start(bl,SC_ASPERSIO,100,1,time);
- if (tsd) clif_gospel_info(tsd, 0x1c);
+ if (tsd) clif->gospel_info(tsd, 0x1c);
break;
case 9: // Enchant armor with Holy element
sc_start(bl,SC_BENEDICTIO,100,1,time);
- if (tsd) clif_gospel_info(tsd, 0x1d);
+ if (tsd) clif->gospel_info(tsd, 0x1d);
break;
case 10: // DEF +25%
sc_start(bl,SC_INCDEFRATE,100,25,time);
- if (tsd) clif_gospel_info(tsd, 0x1e);
+ if (tsd) clif->gospel_info(tsd, 0x1e);
break;
case 11: // ATK +100%
sc_start(bl,SC_INCATKRATE,100,100,time);
- if (tsd) clif_gospel_info(tsd, 0x1f);
+ if (tsd) clif->gospel_info(tsd, 0x1f);
break;
case 12: // HIT/Flee +50
sc_start(bl,SC_INCHIT,100,50,time);
sc_start(bl,SC_INCFLEE,100,50,time);
- if (tsd) clif_gospel_info(tsd, 0x20);
+ if (tsd) clif->gospel_info(tsd, 0x20);
break;
}
}
@@ -11586,7 +11586,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
if( i > 0 && !(status_get_mode(bl)&MD_BOSS) )
{ // knock-back any enemy except Boss
skill->blown(&src->bl, bl, 2, unit_getdir(bl), 0);
- clif_fixpos(bl);
+ clif->fixpos(bl);
}
if( sg->src_id != bl->id && i <= 0 )
@@ -11611,7 +11611,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag,
&src->bl,tick);
sg->unit_id = UNT_USED_TRAPS;
- //clif_changetraplook(&src->bl, UNT_FIREPILLAR_ACTIVE);
+ //clif->changetraplook(&src->bl, UNT_FIREPILLAR_ACTIVE);
sg->limit=DIFF_TICK(tick,sg->tick)+1500;
break;
/**
@@ -11663,7 +11663,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
break;
case UNT_REVERBERATION:
- clif_changetraplook(&src->bl,UNT_USED_TRAPS);
+ clif->changetraplook(&src->bl,UNT_USED_TRAPS);
map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);
sg->limit = DIFF_TICK(tick,sg->tick)+1000;
sg->unit_id = UNT_USED_TRAPS;
@@ -11691,7 +11691,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
if( td )
sec = DIFF_TICK(td->tick, tick);
///map_moveblock(bl, src->bl.x, src->bl.y, tick); // in official server it doesn't behave like this. [malufett]
- clif_fixpos(bl);
+ clif->fixpos(bl);
sg->val2 = bl->id;
} else
sec = 3000; // Couldn't trap it?
@@ -11749,7 +11749,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
if( ssc && ssc->data[SC_HEATER_OPTION] )
hp += hp * ssc->data[SC_HEATER_OPTION]->val3 / 100;
if( tstatus->hp != tstatus->max_hp )
- clif_skill_nodamage(&src->bl, bl, AL_HEAL, hp, 0);
+ clif->skill_nodamage(&src->bl, bl, AL_HEAL, hp, 0);
if( tsc && tsc->data[SC_AKAITSUKI] && hp )
hp = ~hp + 1;
status_heal(bl, hp, 0, 0);
@@ -11805,7 +11805,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
distance_xy(src->bl.x, src->bl.y, bl->x, bl->y) <= range && // only snap if the target is inside the range or
src->bl.x != bl->x && src->bl.y != bl->y){// diagonal position parallel to VE's center
unit_movepos(bl, src->bl.x, src->bl.y, 0, 0);
- clif_fixpos(bl);
+ clif->fixpos(bl);
}
}
break;
@@ -12228,7 +12228,7 @@ int skill_check_pc_partner (struct map_session_data *sd, uint16 skill_id, short*
if (c > 0 && sd->sc.data[SC_DANCING] && (tsd = map_id2sd(p_sd[0])) != NULL) {
sd->sc.data[SC_DANCING]->val4 = tsd->bl.id;
sc_start4(&tsd->bl,SC_DANCING,100,skill_id,sd->sc.data[SC_DANCING]->val2,*skill_lv,sd->bl.id,skill->get_time(skill_id,*skill_lv)+1000);
- clif_skill_nodamage(&tsd->bl, &sd->bl, skill_id, *skill_lv, 1);
+ clif->skill_nodamage(&tsd->bl, &sd->bl, skill_id, *skill_lv, 1);
tsd->skill_id_dance = skill_id;
tsd->skill_lv_dance = *skill_lv;
}
@@ -12355,7 +12355,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
}
if( pc_is90overweight(sd) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_WEIGHTOVER,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_WEIGHTOVER,0);
return 0;
}
@@ -12396,7 +12396,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case BS_ADRENALINE2: case NC_POWERSWING:
case BS_UNFAIRLYTRICK: case NC_AXETORNADO:
case BS_GREED:
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
default: //Only Mechanic exlcusive skill can be used.
break;
@@ -12414,19 +12414,19 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
switch( skill_id ) {
case SO_SPELLFIST:
if(sd->skill_id_old != MG_FIREBOLT && sd->skill_id_old != MG_COLDBOLT && sd->skill_id_old != MG_LIGHTNINGBOLT){
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
case SA_CASTCANCEL:
if(sd->ud.skilltimer == INVALID_TIMER) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case AL_WARP:
if(!battle_config.duel_allow_teleport && sd->duel_group) { // duel restriction [LuzZza]
char output[128]; sprintf(output, msg_txt(365), skill->get_name(AL_WARP));
- clif_displaymessage(sd->fd, output); //"Duel: Can't use %s in duel."
+ clif->displaymessage(sd->fd, output); //"Duel: Can't use %s in duel."
return 0;
}
break;
@@ -12434,7 +12434,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
if(sc && sc->data[SC_RAISINGDRAGON])
skill_lv += sc->data[SC_RAISINGDRAGON]->val1;
if(sd->spiritball >= skill_lv) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12487,7 +12487,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
}
else if( !unit_can_move(&sd->bl) )
{ //Placed here as ST_MOVE_ENABLE should not apply if rooted or on a combo. [Skotlex]
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12495,7 +12495,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case TK_MISSION:
if( (sd->class_&MAPID_UPPERMASK) != MAPID_TAEKWON ) {
// Cannot be used by Non-Taekwon classes
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12507,7 +12507,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case TK_JUMPKICK:
if( (sd->class_&MAPID_UPPERMASK) == MAPID_SOUL_LINKER ) {
// Soul Linkers cannot use this skill
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12538,7 +12538,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
int time;
if(!(sc && sc->data[SC_DANCING]))
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
time = 1000*(sc->data[SC_DANCING]->val3>>16);
@@ -12547,7 +12547,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
(sc->data[SC_DANCING]->val1>>16)) //Dance Skill LV
- time < skill->get_time2(skill_id,skill_lv))
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
}
@@ -12556,7 +12556,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case PR_BENEDICTIO:
if (skill->check_pc_partner(sd, skill_id, &skill_lv, 1, 0) < 2)
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12574,7 +12574,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case CG_HERMODE:
if(!npc_check_areanpc(1,sd->bl.m,sd->bl.x,sd->bl.y,skill->get_splash(skill_id, skill_lv)))
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12586,7 +12586,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
x = sd->bl.x+(i%size-range);
y = sd->bl.y+(i/size-range);
if (map_getcell(sd->bl.m,x,y,CELL_CHKWALL)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
}
@@ -12597,7 +12597,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
int exp;
if( ((exp = pc_nextbaseexp(sd)) > 0 && get_percentage(sd->status.base_exp, exp) < 1) ||
((exp = pc_nextjobexp(sd)) > 0 && get_percentage(sd->status.job_exp, exp) < 1)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); //Not enough exp.
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); //Not enough exp.
return 0;
}
break;
@@ -12606,7 +12606,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case AM_TWILIGHT3:
if (!party_skill_check(sd, sd->status.party_id, skill_id, skill_lv))
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12618,7 +12618,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
i = skill_id-SG_SUN_WARM;
if (sd->bl.m == sd->feel_map[i].m)
break;
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
break;
case SG_SUN_COMFORT:
@@ -12630,7 +12630,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
if (sd->bl.m == sd->feel_map[i].m &&
(battle_config.allow_skill_without_day || sg_info[i].day_func()))
break;
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
case SG_FUSION:
if (sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_STAR)
@@ -12640,7 +12640,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
if( require.sp > 0 )
{
if (status->sp < (unsigned int)require.sp)
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_SP_INSUFFICIENT,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_SP_INSUFFICIENT,0);
else
status_zap(&sd->bl, 0, require.sp);
}
@@ -12649,7 +12649,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case GD_REGENERATION:
case GD_RESTORE:
if (!map_flag_gvg2(sd->bl.m)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
case GD_EMERGENCYCALL:
@@ -12660,7 +12660,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case GS_GLITTERING:
if(sd->spiritball >= 10) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12671,12 +12671,12 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
#else
if (status->hp < 2) {
#endif
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
case NJ_BUNSINJYUTSU:
if (!(sc && sc->data[SC_NEN])) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12684,7 +12684,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case NJ_ZENYNAGE:
case KO_MUCHANAGE:
if(sd->status.zeny < require.zeny) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_MONEY,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_MONEY,0);
return 0;
}
break;
@@ -12694,14 +12694,14 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
break;
case AM_CALLHOMUN: //Can't summon if a hom is already out
if (sd->status.hom_id && sd->hd && !sd->hd->homunculus.vaporize) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case AM_REST: //Can't vapo homun if you don't have an active homunc or it's hp is < 80%
if (!merc_is_hom_active(sd->hd) || sd->hd->battle_status.hp < (sd->hd->battle_status.max_hp*80/100))
{
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12715,7 +12715,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
if( sd->status.inventory[i].nameid == ITEMID_ANCILLA )
count += sd->status.inventory[i].amount;
if( count >= 3 ) {
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_ANCILLA_NUMOVER, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_ANCILLA_NUMOVER, 0);
return 0;
}
}
@@ -12727,7 +12727,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
//case AB_LAUDAAGNUS:
//case AB_LAUDARAMUS:
// if( !sd->status.party_id ) {
- // clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ // clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
// return 0;
// }
// break;
@@ -12739,8 +12739,8 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case WL_COMET:
if( skill->check_pc_partner(sd,skill_id,&skill_lv,1,0) <= 0 && ((i = pc_search_inventory(sd,require.itemid[0])) < 0 || sd->status.inventory[i].amount < require.amount[0]) )
{
- //clif_skill_fail(sd,skill_id,USESKILL_FAIL_NEED_ITEM,require.amount[0],require.itemid[0]);
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ //clif->skill_fail(sd,skill_id,USESKILL_FAIL_NEED_ITEM,require.amount[0],require.itemid[0]);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12753,7 +12753,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
ARR_FIND(SC_SPHERE_1,SC_SPHERE_5+1,i,!sc->data[i]);
if( i == SC_SPHERE_5+1 )
{ // No more free slots
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_SUMMON,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_SUMMON,0);
return 0;
}
}
@@ -12763,14 +12763,14 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
**/
case GC_HALLUCINATIONWALK:
if( sc && (sc->data[SC_HALLUCINATIONWALK] || sc->data[SC_HALLUCINATIONWALK_POSTDELAY]) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case GC_COUNTERSLASH:
case GC_WEAPONCRUSH:
if( !(sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == GC_WEAPONBLOCKING) ) {
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_GC_WEAPONBLOCKING, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_GC_WEAPONBLOCKING, 0);
return 0;
}
break;
@@ -12779,25 +12779,25 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
**/
case RA_WUGMASTERY:
if( pc_isfalcon(sd) || pc_isridingwug(sd) || sd->sc.data[SC__GROOMY]) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case RA_WUGSTRIKE:
if( !pc_iswug(sd) && !pc_isridingwug(sd) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case RA_WUGRIDER:
if( pc_isfalcon(sd) || ( !pc_isridingwug(sd) && !pc_iswug(sd) ) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case RA_WUGDASH:
if(!pc_isridingwug(sd)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12806,19 +12806,19 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
**/
case LG_BANDING:
if( sc && sc->data[SC_INSPIRATION] ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case LG_PRESTIGE:
if( sc && (sc->data[SC_BANDING] || sc->data[SC_INSPIRATION]) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case LG_RAGEBURST:
if( sd->spiritball == 0 ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_SKILLINTERVAL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_SKILLINTERVAL,0);
return 0;
}
sd->spiritball_old = require.spiritball = sd->spiritball;
@@ -12827,14 +12827,14 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
if( sc && sc->data[SC_INSPIRATION] )
return 1; // Don't check for partner.
if( !(sc && sc->data[SC_BANDING]) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL,0);
return 0;
} else if( skill->check_pc_partner(sd,skill_id,&skill_lv,skill->get_range(skill_id,skill_lv),0) < 1 )
return 0; // Just fails, no msg here.
break;
case LG_HESPERUSLIT:
if( !sc || !sc->data[SC_BANDING] ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12845,7 +12845,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case SR_CRESCENTELBOW:
if( sc && sc->data[SC_CRESCENTELBOW] ) {
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_DUPLICATE, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_DUPLICATE, 0);
return 0;
}
break;
@@ -12855,14 +12855,14 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
MOBID_EMPERIUM, MOBID_GUARIDAN_STONE1, MOBID_GUARIDAN_STONE2)) {
char output[128];
sprintf(output, "You're too close to a stone or emperium to do this skill");
- clif_colormes(sd, COLOR_RED, output);
+ clif->colormes(sd, COLOR_RED, output);
return 0;
}
}
if( sd->spiritball > 0 )
sd->spiritball_old = require.spiritball = sd->spiritball;
else {
- clif_skill_fail(sd,skill_id,0,0);
+ clif->skill_fail(sd,skill_id,0,0);
return 0;
}
break;
@@ -12873,7 +12873,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case SC_MANHOLE:
case SC_DIMENSIONDOOR:
if( sc && sc->data[SC_MAGNETICFIELD] ) {
- clif_skill_fail(sd,skill_id,0,0);
+ clif->skill_fail(sd,skill_id,0,0);
return 0;
}
break;
@@ -12881,7 +12881,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
int count;
count = skill->check_pc_partner(sd, skill_id, &skill_lv, skill->get_splash(skill_id,skill_lv), 0);
if( count < 1 ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_NEED_HELPER,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_NEED_HELPER,0);
return 0;
} else
require.sp -= require.sp * 20 * count / 100; // -20% each W/M in the party.
@@ -12891,26 +12891,26 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case SO_ELECTRICWALK: // Can't be casted until you've walked all cells.
if( sc && sc->data[SC_PROPERTYWALK] &&
sc->data[SC_PROPERTYWALK]->val3 < skill->get_maxcount(sc->data[SC_PROPERTYWALK]->val1,sc->data[SC_PROPERTYWALK]->val2) ) {
- clif_skill_fail(sd,skill_id,0x0,0);
+ clif->skill_fail(sd,skill_id,0x0,0);
return 0;
}
break;
case SO_EL_CONTROL:
if( !sd->status.ele_id || !sd->ed ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case RETURN_TO_ELDICASTES:
if( pc_ismadogear(sd) ) { //Cannot be used if Mado is equipped.
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case LG_REFLECTDAMAGE:
case CR_REFLECTSHIELD:
if( sc && sc->data[SC_KYOMU] && rand()%100 < 30){
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12922,7 +12922,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
int ttype = skill->get_ele(skill_id, skill_lv);
ARR_FIND(1, 5, i, sd->talisman[i] > 0 && i != ttype);
if( (i < 5 && i != ttype) || sd->talisman[ttype] >= 10 ){
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
return 0;
}
}
@@ -12931,7 +12931,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
case KO_ZENKAI:
ARR_FIND(1, 6, i, sd->talisman[i] > 0);
if( i > 4 ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -12940,66 +12940,66 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
switch(require.state) {
case ST_HIDING:
if(!(sc && sc->option&OPTION_HIDE)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_CLOAKING:
if(!pc_iscloaking(sd)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_HIDDEN:
if(!pc_ishiding(sd)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_RIDING:
if(!pc_isriding(sd) && !pc_isridingdragon(sd)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_FALCON:
if(!pc_isfalcon(sd)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_CARTBOOST:
if(!(sc && sc->data[SC_CARTBOOST])) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
case ST_CART:
if(!pc_iscarton(sd)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_SHIELD:
if(sd->status.shield <= 0) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_SIGHT:
if(!(sc && sc->data[SC_SIGHT])) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_EXPLOSIONSPIRITS:
if(!(sc && sc->data[SC_EXPLOSIONSPIRITS])) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_RECOV_WEIGHT_RATE:
if(battle_config.natural_heal_weight_rate <= 100 && sd->weight*100/sd->max_weight >= (unsigned int)battle_config.natural_heal_weight_rate) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -13008,7 +13008,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
sd->ud.canmove_tick = gettick(); //When using a combo, cancel the can't move delay to enable the skill. [Skotlex]
if (!unit_can_move(&sd->bl)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -13017,63 +13017,63 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
break;
if (map_getcell(sd->bl.m,sd->bl.x,sd->bl.y,CELL_CHKWATER))
break;
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
case ST_RIDINGDRAGON:
if( !pc_isridingdragon(sd) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_WUG:
if( !pc_iswug(sd) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_RIDINGWUG:
if( !pc_isridingwug(sd) ){
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_MADO:
if( !pc_ismadogear(sd) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
case ST_ELEMENTALSPIRIT:
if(!sd->ed) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_EL_SUMMON,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_EL_SUMMON,0);
return 0;
}
break;
case ST_POISONINGWEAPON:
if (!(sc && sc->data[SC_POISONINGWEAPON])) {
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_GC_POISONINGWEAPON, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_GC_POISONINGWEAPON, 0);
return 0;
}
break;
case ST_ROLLINGCUTTER:
if (!(sc && sc->data[SC_ROLLINGCUTTER])) {
- clif_skill_fail(sd, skill_id, USESKILL_FAIL_CONDITION, 0);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_CONDITION, 0);
return 0;
}
break;
case ST_MH_FIGHTING:
if (!(sc && sc->data[SC_STYLE_CHANGE] && sc->data[SC_STYLE_CHANGE]->val2 == MH_MD_FIGHTING)){
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
case ST_MH_GRAPPLING:
if (!(sc && sc->data[SC_STYLE_CHANGE] && sc->data[SC_STYLE_CHANGE]->val2 == MH_MD_GRAPPLING)){
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
case ST_PECO:
if(!pc_isriding(sd)) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
break;
@@ -13082,27 +13082,27 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
if(require.mhp > 0 && get_percentage(status->hp, status->max_hp) > require.mhp) {
//mhp is the max-hp-requirement, that is,
//you must have this % or less of HP to cast it.
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_HP_INSUFFICIENT,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_HP_INSUFFICIENT,0);
return 0;
}
if( require.weapon && !pc_check_weapontype(sd,require.weapon) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0);
return 0;
}
if( require.sp > 0 && status->sp < (unsigned int)require.sp) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_SP_INSUFFICIENT,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_SP_INSUFFICIENT,0);
return 0;
}
if( require.zeny > 0 && sd->status.zeny < require.zeny ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_MONEY,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_MONEY,0);
return 0;
}
if( require.spiritball > 0 && sd->spiritball < require.spiritball) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_SPIRITS,require.spiritball);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_SPIRITS,require.spiritball);
return 0;
}
@@ -13153,7 +13153,7 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
return 1;
if( pc_is90overweight(sd) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_WEIGHTOVER,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_WEIGHTOVER,0);
return 0;
}
@@ -13174,7 +13174,7 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
if(c >= maxcount ||
(skill_id==AM_CANNIBALIZE && c != i && battle_config.summon_flora&2))
{ //Fails when: exceed max limit. There are other plant types already out.
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
}
@@ -13195,7 +13195,7 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
} else
map_foreachinmap(skill->check_condition_mob_master_sub, sd->bl.m, BL_MOB, sd->bl.id, mob_class, skill_id, &c);
if( c >= maxcount ) {
- clif_skill_fail(sd , skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd , skill_id, USESKILL_FAIL_LEVEL, 0);
return 0;
}
}
@@ -13205,7 +13205,7 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
int c = 0;
i = map_foreachinmap(skill->check_condition_mob_master_sub, sd->bl.m, BL_MOB, sd->bl.id, 2308, skill_id, &c);
if( c >= skill->get_maxcount(skill_id,skill_lv) || c != i) {
- clif_skill_fail(sd , skill_id, USESKILL_FAIL_LEVEL, 0);
+ clif->skill_fail(sd , skill_id, USESKILL_FAIL_LEVEL, 0);
return 0;
}
}
@@ -13217,18 +13217,18 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
require = skill->get_requirement(sd,skill_id,skill_lv);
if( require.hp > 0 && status->hp <= (unsigned int)require.hp) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_HP_INSUFFICIENT,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_HP_INSUFFICIENT,0);
return 0;
}
if( require.weapon && !pc_check_weapontype(sd,require.weapon) ) {
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0);
return 0;
}
if( require.ammo ) { //Skill requires stuff equipped in the arrow slot.
if((i=sd->equip_index[EQI_AMMO]) < 0 || !sd->inventory_data[i] ) {
- clif_arrow_fail(sd,0);
+ clif->arrow_fail(sd,0);
return 0;
} else if( sd->status.inventory[i].amount < require.ammo_qty ) {
char e_msg[100];
@@ -13236,13 +13236,13 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
skill->get_desc(skill_id),
require.ammo_qty,
itemdb_jname(sd->status.inventory[i].nameid));
- clif_colormes(sd,COLOR_RED,e_msg);
+ clif->colormes(sd,COLOR_RED,e_msg);
return 0;
}
if (!(require.ammo&1<<sd->inventory_data[i]->look)) { //Ammo type check. Send the "wrong weapon type" message
//which is the closest we have to wrong ammo type. [Skotlex]
- clif_arrow_fail(sd,0); //Haplo suggested we just send the equip-arrows message instead. [Skotlex]
- //clif_skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0);
+ clif->arrow_fail(sd,0); //Haplo suggested we just send the equip-arrows message instead. [Skotlex]
+ //clif->skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0);
return 0;
}
}
@@ -13253,11 +13253,11 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
index[i] = pc_search_inventory(sd,require.itemid[i]);
if( index[i] < 0 || sd->status.inventory[index[i]].amount < require.amount[i] ) {
if( require.itemid[i] == ITEMID_RED_GEMSTONE )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_REDJAMSTONE,0);// red gemstone required
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_REDJAMSTONE,0);// red gemstone required
else if( require.itemid[i] == ITEMID_BLUE_GEMSTONE )
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_BLUEJAMSTONE,0);// blue gemstone required
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_BLUEJAMSTONE,0);// blue gemstone required
else
- clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
return 0;
}
}
@@ -14084,7 +14084,7 @@ void skill_repairweapon (struct map_session_data *sd, int idx) {
return; //Again invalid item....
if( sd != target_sd && !battle->check_range(&sd->bl,&target_sd->bl, skill->get_range2(&sd->bl, sd->menuskill_id,sd->menuskill_val2) ) ){
- clif_item_repaireffect(sd,idx,1);
+ clif->item_repaireffect(sd,idx,1);
return;
}
@@ -14093,22 +14093,22 @@ void skill_repairweapon (struct map_session_data *sd, int idx) {
else
material = materials [2]; // Armors consume 1 Steel
if ( pc_search_inventory(sd,material) < 0 ) {
- clif_skill_fail(sd,sd->menuskill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,sd->menuskill_id,USESKILL_FAIL_LEVEL,0);
return;
}
- clif_skill_nodamage(&sd->bl,&target_sd->bl,sd->menuskill_id,1,1);
+ clif->skill_nodamage(&sd->bl,&target_sd->bl,sd->menuskill_id,1,1);
item->attribute = 0;/* clear broken state */
- clif_equiplist(target_sd);
+ clif->equiplist(target_sd);
pc_delitem(sd,pc_search_inventory(sd,material),1,0,0,LOG_TYPE_CONSUME);
- clif_item_repaireffect(sd,idx,0);
+ clif->item_repaireffect(sd,idx,0);
if( sd != target_sd )
- clif_item_repaireffect(target_sd,idx,0);
+ clif->item_repaireffect(target_sd,idx,0);
}
/*==========================================
@@ -14126,7 +14126,7 @@ void skill_identify (struct map_session_data *sd, int idx)
sd->status.inventory[idx].identify=1;
}
}
- clif_item_identified(sd,idx,flag);
+ clif->item_identified(sd,idx,flag);
}
/*==========================================
@@ -14151,7 +14151,7 @@ void skill_weaponrefine (struct map_session_data *sd, int idx)
|| ditem->flag.no_refine // if the item isn't refinable
|| (i = pc_search_inventory(sd, material [ditem->wlv])) < 0 )
{
- clif_skill_fail(sd,sd->menuskill_id,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,sd->menuskill_id,USESKILL_FAIL_LEVEL,0);
return;
}
@@ -14167,12 +14167,12 @@ void skill_weaponrefine (struct map_session_data *sd, int idx)
ep = item->equip;
pc_unequipitem(sd,idx,3);
}
- clif_refine(sd->fd,0,idx,item->refine);
- clif_delitem(sd,idx,1,3);
- clif_additem(sd,idx,1,0);
+ clif->refine(sd->fd,0,idx,item->refine);
+ clif->delitem(sd,idx,1,3);
+ clif->additem(sd,idx,1,0);
if (ep)
pc_equipitem(sd,idx,ep);
- clif_misceffect(&sd->bl,3);
+ clif->misceffect(&sd->bl,3);
if(item->refine == 10 &&
item->card[0] == CARD0_FORGE &&
(int)MakeDWord(item->card[2],item->card[3]) == sd->status.char_id)
@@ -14193,10 +14193,10 @@ void skill_weaponrefine (struct map_session_data *sd, int idx)
item->refine = 0;
if(item->equip)
pc_unequipitem(sd,idx,3);
- clif_refine(sd->fd,1,idx,item->refine);
+ clif->refine(sd->fd,1,idx,item->refine);
pc_delitem(sd,idx,1,0,2, LOG_TYPE_OTHER);
- clif_misceffect(&sd->bl,2);
- clif_emotion(&sd->bl, E_OMG);
+ clif->misceffect(&sd->bl,2);
+ clif->emotion(&sd->bl, E_OMG);
}
}
}
@@ -14321,9 +14321,9 @@ int skill_sit (struct map_session_data *sd, int type)
}
if( type ) {
- clif_status_load(&sd->bl,SI_SIT,1);
+ clif->status_change(&sd->bl, SI_SIT, 1, 0, 0, 0, 0);
} else {
- clif_status_load(&sd->bl,SI_SIT,0);
+ clif->status_change(&sd->bl, SI_SIT, 0, 0, 0, 0, 0);
}
if (!flag) return 0;
@@ -14549,12 +14549,12 @@ int skill_detonator(struct block_list *bl, va_list ap)
case UNT_FIRINGTRAP:
case UNT_ICEBOUNDTRAP:
if( unit_id == UNT_TALKIEBOX ) {
- clif_talkiebox(bl,unit->group->valstr);
+ clif->talkiebox(bl,unit->group->valstr);
unit->group->val2 = -1;
} else
map_foreachinrange(skill->trap_splash,bl,skill->get_splash(unit->group->skill_id,unit->group->skill_lv),unit->group->bl_flag,bl,unit->group->tick);
- clif_changetraplook(bl,unit_id == UNT_FIRINGTRAP ? UNT_DUMMYSKILL : UNT_USED_TRAPS);
+ clif->changetraplook(bl,unit_id == UNT_FIRINGTRAP ? UNT_DUMMYSKILL : UNT_USED_TRAPS);
unit->group->unit_id = UNT_USED_TRAPS;
unit->group->limit = DIFF_TICK(gettick(),unit->group->tick) +
(unit_id == UNT_TALKIEBOX ? 5000 : (unit_id == UNT_CLUSTERBOMB || unit_id == UNT_ICEBOUNDTRAP? 2500 : 1500) );
@@ -14737,7 +14737,7 @@ int skill_trap_splash (struct block_list *bl, va_list ap) {
skill->blown(src,bl,skill->get_blewcount(sg->skill_id,sg->skill_lv),-1,0);
break;
case UNT_ELECTRICSHOCKER:
- clif_skill_damage(src,bl,tick,0,0,-30000,1,sg->skill_id,sg->skill_lv,5);
+ clif->skill_damage(src,bl,tick,0,0,-30000,1,sg->skill_id,sg->skill_lv,5);
break;
case UNT_FIRINGTRAP:
case UNT_ICEBOUNDTRAP:
@@ -14875,7 +14875,7 @@ struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int
switch (group->skill_id) {
case WZ_ICEWALL:
map_setgatcell(unit->bl.m,unit->bl.x,unit->bl.y,5);
- clif_changemapcell(0,unit->bl.m,unit->bl.x,unit->bl.y,5,AREA);
+ clif->changemapcell(0,unit->bl.m,unit->bl.x,unit->bl.y,5,AREA);
skill->unitsetmapcell(unit,WZ_ICEWALL,group->skill_lv,CELL_ICEWALL,true);
map[unit->bl.m].icewall_num++;
break;
@@ -14894,7 +14894,7 @@ struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int
break;
}
- clif_skill_setunit(unit);
+ clif->skill_setunit(unit);
return unit;
}
@@ -14929,7 +14929,7 @@ int skill_delunit (struct skill_unit* unit) {
break;
case WZ_ICEWALL:
map_setgatcell(unit->bl.m,unit->bl.x,unit->bl.y,unit->val2);
- clif_changemapcell(0,unit->bl.m,unit->bl.x,unit->bl.y,unit->val2,ALL_SAMEMAP); // hack to avoid clientside cell bug
+ clif->changemapcell(0,unit->bl.m,unit->bl.x,unit->bl.y,unit->val2,ALL_SAMEMAP); // hack to avoid clientside cell bug
skill->unitsetmapcell(unit,WZ_ICEWALL,group->skill_lv,CELL_ICEWALL,false);
map[unit->bl.m].icewall_num--;
break;
@@ -14957,7 +14957,7 @@ int skill_delunit (struct skill_unit* unit) {
break;
}
- clif_skill_delunit(unit);
+ clif->skill_delunit(unit);
unit->group=NULL;
map_delblock(&unit->bl); // don't free yet
@@ -15304,7 +15304,7 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
case UNT_GROUNDDRIFT_WATER:
case UNT_GROUNDDRIFT_FIRE:
group->unit_id = UNT_USED_TRAPS;
- //clif_changetraplook(bl, UNT_FIREPILLAR_ACTIVE);
+ //clif->changetraplook(bl, UNT_FIREPILLAR_ACTIVE);
group->limit=DIFF_TICK(tick+1500,group->tick);
unit->limit=DIFF_TICK(tick+1500,group->tick);
break;
@@ -15351,7 +15351,7 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
case UNT_WARP_ACTIVE:
// warp portal opens (morph to a UNT_WARP_WAITING cell)
group->unit_id = skill->get_unit_id(group->skill_id, 1); // UNT_WARP_WAITING
- clif_changelook(&unit->bl, LOOK_BASE, group->unit_id);
+ clif->changelook(&unit->bl, LOOK_BASE, group->unit_id);
// restart timers
group->limit = skill->get_time(group->skill_id,group->skill_lv);
unit->limit = skill->get_time(group->skill_id,group->skill_lv);
@@ -15383,7 +15383,7 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
skill->delunit(unit);
break;
}
- clif_changetraplook(bl,UNT_USED_TRAPS);
+ clif->changetraplook(bl,UNT_USED_TRAPS);
map_foreachinrange(skill->trap_splash, bl, skill->get_splash(group->skill_id, group->skill_lv), group->bl_flag, bl, tick);
group->limit = DIFF_TICK(tick,group->tick)+1000;
unit->limit = DIFF_TICK(tick,group->tick)+1000;
@@ -15438,7 +15438,7 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
if( group->unit_id == UNT_ANKLESNARE && group->val2 > 0 )
skill->delunit(unit);
else {
- clif_changetraplook(bl, group->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);
+ clif->changetraplook(bl, group->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);
group->limit = DIFF_TICK(tick, group->tick) + 1500;
group->unit_id = UNT_USED_TRAPS;
}
@@ -15446,7 +15446,7 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
break;
case UNT_REVERBERATION:
if( unit->val1 <= 0 ){
- clif_changetraplook(bl,UNT_USED_TRAPS);
+ clif->changetraplook(bl,UNT_USED_TRAPS);
map_foreachinrange(skill->trap_splash, bl, skill->get_splash(group->skill_id, group->skill_lv), group->bl_flag, bl, tick);
group->limit = DIFF_TICK(tick,group->tick)+1000;
unit->limit = DIFF_TICK(tick,group->tick)+1000;
@@ -15711,7 +15711,7 @@ int skill_unit_move_unit_group (struct skill_unit_group *group, int16 m, int16 d
if (!(m_flag[i]&0x2)) { //We only moved the cell in 0-1
if (group->state.song_dance&0x1) //Check for dissonance effect.
skill->dance_overlap(unit1, 1);
- clif_skill_setunit(unit1);
+ clif->skill_setunit(unit1);
map_foreachincell(skill->unit_effect,unit1->bl.m,unit1->bl.x,unit1->bl.y,group->bl_flag,&unit1->bl,tick,1);
}
}
@@ -15846,7 +15846,7 @@ int skill_produce_mix (struct map_session_data *sd, uint16 skill_id, int nameid,
for( i = 0; i < MAX_INVENTORY; i++ ) {
if( sd->status.inventory[i].nameid == nameid ) {
if( sd->status.inventory[i].amount >= data->stack.amount ) {
- clif_msgtable(sd->fd,0x61b);
+ clif->msgtable(sd->fd,0x61b);
return 0;
} else {
/**
@@ -16195,8 +16195,8 @@ int skill_produce_mix (struct map_session_data *sd, uint16 skill_id, int nameid,
//TODO update PICKLOG
if(equip){
- clif_produceeffect(sd,0,nameid);
- clif_misceffect(&sd->bl,3);
+ clif->produce_effect(sd,0,nameid);
+ clif->misceffect(&sd->bl,3);
if(itemdb_wlv(nameid) >= 3 && ((ele? 1 : 0) + sc) >= 3) // Fame point system [DracoRPG]
pc_addfame(sd,10); // Success to forge a lv3 weapon with 3 additional ingredients = +10 fame point
} else {
@@ -16246,24 +16246,24 @@ int skill_produce_mix (struct map_session_data *sd, uint16 skill_id, int nameid,
case AM_TWILIGHT2:
case AM_TWILIGHT3:
case ASC_CDP:
- clif_produceeffect(sd,2,nameid);
- clif_misceffect(&sd->bl,5);
+ clif->produce_effect(sd,2,nameid);
+ clif->misceffect(&sd->bl,5);
break;
case BS_IRON:
case BS_STEEL:
case BS_ENCHANTEDSTONE:
- clif_produceeffect(sd,0,nameid);
- clif_misceffect(&sd->bl,3);
+ clif->produce_effect(sd,0,nameid);
+ clif->misceffect(&sd->bl,3);
break;
case RK_RUNEMASTERY:
case GC_CREATENEWPOISON:
- clif_produceeffect(sd,2,nameid);
- clif_misceffect(&sd->bl,5);
+ clif->produce_effect(sd,2,nameid);
+ clif->misceffect(&sd->bl,5);
break;
default: //Those that don't require a skill?
if( skill_produce_db[idx].itemlv > 10 && skill_produce_db[idx].itemlv <= 20)
{ //Cooking items.
- clif_specialeffect(&sd->bl, 608, AREA);
+ clif->specialeffect(&sd->bl, 608, AREA);
if( sd->cook_mastery < 1999 )
pc_setglobalreg(sd, "COOK_MASTERY",sd->cook_mastery + ( 1 << ( (skill_produce_db[idx].itemlv - 11) / 2 ) ) * 5);
}
@@ -16278,7 +16278,7 @@ int skill_produce_mix (struct map_session_data *sd, uint16 skill_id, int nameid,
if( rnd()%1000 < skill_changematerial_db[i].qty_rate[j] ){
tmp_item.amount = qty * skill_changematerial_db[i].qty[j];
if((flag = pc_additem(sd,&tmp_item,tmp_item.amount,LOG_TYPE_PRODUCE))) {
- clif_additem(sd,0,0,flag);
+ clif->additem(sd,0,0,flag);
map_addflooritem(&tmp_item,tmp_item.amount,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
}
k++;
@@ -16287,16 +16287,16 @@ int skill_produce_mix (struct map_session_data *sd, uint16 skill_id, int nameid,
break;
}
if( k ){
- clif_msg_skill(sd,skill_id,0x627);
+ clif->msg_skill(sd,skill_id,0x627);
return 1;
}
} else if (tmp_item.amount) { //Success
if((flag = pc_additem(sd,&tmp_item,tmp_item.amount,LOG_TYPE_PRODUCE))) {
- clif_additem(sd,0,0,flag);
+ clif->additem(sd,0,0,flag);
map_addflooritem(&tmp_item,tmp_item.amount,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
}
if( skill_id == GN_MIX_COOKING || skill_id == GN_MAKEBOMB || skill_id == GN_S_PHARMACY )
- clif_msg_skill(sd,skill_id,0x627);
+ clif->msg_skill(sd,skill_id,0x627);
return 1;
}
}
@@ -16306,8 +16306,8 @@ int skill_produce_mix (struct map_session_data *sd, uint16 skill_id, int nameid,
//TODO update PICKLOG
if(equip){
- clif_produceeffect(sd,1,nameid);
- clif_misceffect(&sd->bl,2);
+ clif->produce_effect(sd,1,nameid);
+ clif->misceffect(&sd->bl,2);
} else {
switch (skill_id) {
case ASC_CDP: //25% Damage yourself, and display same effect as failed potion.
@@ -16316,20 +16316,20 @@ int skill_produce_mix (struct map_session_data *sd, uint16 skill_id, int nameid,
case AM_TWILIGHT1:
case AM_TWILIGHT2:
case AM_TWILIGHT3:
- clif_produceeffect(sd,3,nameid);
- clif_misceffect(&sd->bl,6);
+ clif->produce_effect(sd,3,nameid);
+ clif->misceffect(&sd->bl,6);
sd->potion_success_counter = 0; // Fame point system [DracoRPG]
break;
case BS_IRON:
case BS_STEEL:
case BS_ENCHANTEDSTONE:
- clif_produceeffect(sd,1,nameid);
- clif_misceffect(&sd->bl,2);
+ clif->produce_effect(sd,1,nameid);
+ clif->misceffect(&sd->bl,2);
break;
case RK_RUNEMASTERY:
case GC_CREATENEWPOISON:
- clif_produceeffect(sd,3,nameid);
- clif_misceffect(&sd->bl,6);
+ clif->produce_effect(sd,3,nameid);
+ clif->misceffect(&sd->bl,6);
break;
case GN_MIX_COOKING: {
struct item tmp_item;
@@ -16344,21 +16344,21 @@ int skill_produce_mix (struct map_session_data *sd, uint16 skill_id, int nameid,
tmp_item.amount = qty;
tmp_item.identify = 1;
if( pc_additem(sd,&tmp_item,tmp_item.amount,LOG_TYPE_PRODUCE) ) {
- clif_additem(sd,0,0,flag);
+ clif->additem(sd,0,0,flag);
map_addflooritem(&tmp_item,tmp_item.amount,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
}
- clif_msg_skill(sd,skill_id,0x628);
+ clif->msg_skill(sd,skill_id,0x628);
}
break;
case GN_MAKEBOMB:
case GN_S_PHARMACY:
case GN_CHANGEMATERIAL:
- clif_msg_skill(sd,skill_id,0x628);
+ clif->msg_skill(sd,skill_id,0x628);
break;
default:
if( skill_produce_db[idx].itemlv > 10 && skill_produce_db[idx].itemlv <= 20 )
{ //Cooking items.
- clif_specialeffect(&sd->bl, 609, AREA);
+ clif->specialeffect(&sd->bl, 609, AREA);
if( sd->cook_mastery > 0 )
pc_setglobalreg(sd, "COOK_MASTERY", sd->cook_mastery - ( 1 << ((skill_produce_db[idx].itemlv - 11) / 2) ) - ( ( ( 1 << ((skill_produce_db[idx].itemlv - 11) / 2) ) >> 1 ) * 3 ));
}
@@ -16401,7 +16401,7 @@ int skill_arrow_create (struct map_session_data *sd, int nameid)
if(tmp_item.nameid <= 0 || tmp_item.amount <= 0)
continue;
if((flag = pc_additem(sd,&tmp_item,tmp_item.amount,LOG_TYPE_PRODUCE))) {
- clif_additem(sd,0,0,flag);
+ clif->additem(sd,0,0,flag);
map_addflooritem(&tmp_item,tmp_item.amount,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
}
}
@@ -16413,7 +16413,7 @@ int skill_poisoningweapon( struct map_session_data *sd, int nameid) {
int chance, i;
nullpo_ret(sd);
if( nameid <= 0 || (i = pc_search_inventory(sd,nameid)) < 0 || pc_delitem(sd,i,1,0,0,LOG_TYPE_CONSUME) ) {
- clif_skill_fail(sd,GC_POISONINGWEAPON,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,GC_POISONINGWEAPON,USESKILL_FAIL_LEVEL,0);
return 0;
}
switch( nameid )
@@ -16427,7 +16427,7 @@ int skill_poisoningweapon( struct map_session_data *sd, int nameid) {
case PO_MAGICMUSHROOM: type = SC_MAGICMUSHROOM; break;
case PO_OBLIVIONCURSE: type = SC_OBLIVIONCURSE; break;
default:
- clif_skill_fail(sd,GC_POISONINGWEAPON,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,GC_POISONINGWEAPON,USESKILL_FAIL_LEVEL,0);
return 0;
}
@@ -16453,8 +16453,8 @@ void skill_toggle_magicpower(struct block_list *bl, uint16 skill_id) {
status_calc_bl(bl, status_sc2scb_flag(SC_MAGICPOWER));
#ifndef RENEWAL
if(bl->type == BL_PC){// update current display.
- clif_updatestatus(((TBL_PC *)bl),SP_MATK1);
- clif_updatestatus(((TBL_PC *)bl),SP_MATK2);
+ clif->updatestatus(((TBL_PC *)bl),SP_MATK1);
+ clif->updatestatus(((TBL_PC *)bl),SP_MATK2);
}
#endif
}
@@ -16470,7 +16470,7 @@ int skill_magicdecoy(struct map_session_data *sd, int nameid) {
if( nameid <= 0 || !itemdb_is_element(nameid) || (i = pc_search_inventory(sd,nameid)) < 0 || !skill_id || pc_delitem(sd,i,1,0,0,LOG_TYPE_CONSUME) )
{
- clif_skill_fail(sd,NC_MAGICDECOY,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,NC_MAGICDECOY,USESKILL_FAIL_LEVEL,0);
return 0;
}
@@ -16511,7 +16511,7 @@ int skill_spellbook (struct map_session_data *sd, int nameid) {
for(i=SC_SPELLBOOK1; i <= SC_MAXSPELLBOOK; i++) if( sc && !sc->data[i] ) break;
if( i > SC_MAXSPELLBOOK )
{
- clif_skill_fail(sd, WL_READING_SB, USESKILL_FAIL_SPELLBOOK_READING, 0);
+ clif->skill_fail(sd, WL_READING_SB, USESKILL_FAIL_SPELLBOOK_READING, 0);
return 0;
}
@@ -16521,7 +16521,7 @@ int skill_spellbook (struct map_session_data *sd, int nameid) {
if( !pc_checkskill(sd, (skill_id = skill_spellbook_db[i].skill_id)) )
{ // User don't know the skill
sc_start(&sd->bl, SC_SLEEP, 100, 1, skill->get_time(WL_READING_SB, pc_checkskill(sd,WL_READING_SB)));
- clif_skill_fail(sd, WL_READING_SB, USESKILL_FAIL_SPELLBOOK_DIFFICULT_SLEEP, 0);
+ clif->skill_fail(sd, WL_READING_SB, USESKILL_FAIL_SPELLBOOK_DIFFICULT_SLEEP, 0);
return 0;
}
@@ -16530,7 +16530,7 @@ int skill_spellbook (struct map_session_data *sd, int nameid) {
if( sc && sc->data[SC_READING_SB] ) {
if( (sc->data[SC_READING_SB]->val2 + point) > max_preserve ) {
- clif_skill_fail(sd, WL_READING_SB, USESKILL_FAIL_SPELLBOOK_PRESERVATION_POINT, 0);
+ clif->skill_fail(sd, WL_READING_SB, USESKILL_FAIL_SPELLBOOK_PRESERVATION_POINT, 0);
return 0;
}
for(i = SC_MAXSPELLBOOK; i >= SC_SPELLBOOK1; i--){ // This is how official saves spellbook. [malufett]
@@ -16558,7 +16558,7 @@ int skill_select_menu(struct map_session_data *sd,uint16 skill_id) {
if( skill_id >= GS_GLITTERING || skill->get_type(skill_id) != BF_MAGIC ||
(id = sd->status.skill[skill_id].id) == 0 || sd->status.skill[skill_id].flag != SKILL_FLAG_PLAGIARIZED ) {
- clif_skill_fail(sd,SC_AUTOSHADOWSPELL,0,0);
+ clif->skill_fail(sd,SC_AUTOSHADOWSPELL,0,0);
return 0;
}
@@ -16589,7 +16589,7 @@ int skill_elementalanalysis(struct map_session_data* sd, int n, uint16 skill_lv,
add_amount = (skill_lv == 1) ? del_amount * (5 + rnd()%5) : del_amount / 10 ;
if( (nameid = sd->status.inventory[idx].nameid) <= 0 || del_amount > sd->status.inventory[idx].amount ) {
- clif_skill_fail(sd,SO_EL_ANALYSIS,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,SO_EL_ANALYSIS,USESKILL_FAIL_LEVEL,0);
return 1;
}
@@ -16605,17 +16605,17 @@ int skill_elementalanalysis(struct map_session_data* sd, int n, uint16 skill_lv,
case 992: product = 996; break; // Wind of Verdure -> Rough Wind.
case 993: product = 997; break; // Green Live -> Great Nature.
default:
- clif_skill_fail(sd,SO_EL_ANALYSIS,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,SO_EL_ANALYSIS,USESKILL_FAIL_LEVEL,0);
return 1;
}
if( pc_delitem(sd,idx,del_amount,0,1,LOG_TYPE_CONSUME) ) {
- clif_skill_fail(sd,SO_EL_ANALYSIS,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,SO_EL_ANALYSIS,USESKILL_FAIL_LEVEL,0);
return 1;
}
if( skill_lv == 2 && rnd()%100 < 25 ) { // At level 2 have a fail chance. You loose your items if it fails.
- clif_skill_fail(sd,SO_EL_ANALYSIS,USESKILL_FAIL_LEVEL,0);
+ clif->skill_fail(sd,SO_EL_ANALYSIS,USESKILL_FAIL_LEVEL,0);
return 1;
}
@@ -16627,7 +16627,7 @@ int skill_elementalanalysis(struct map_session_data* sd, int n, uint16 skill_lv,
if( tmp_item.amount ) {
if( (flag = pc_additem(sd,&tmp_item,tmp_item.amount,LOG_TYPE_CONSUME)) ) {
- clif_additem(sd,0,0,flag);
+ clif->additem(sd,0,0,flag);
map_addflooritem(&tmp_item,tmp_item.amount,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
}
}
@@ -16657,7 +16657,7 @@ int skill_changematerial(struct map_session_data *sd, int n, unsigned short *ite
nameid = sd->status.inventory[idx].nameid;
amount = item_list[k*2+1];
if( nameid > 0 && sd->status.inventory[idx].identify == 0 ){
- clif_msg_skill(sd,GN_CHANGEMATERIAL,0x62D);
+ clif->msg_skill(sd,GN_CHANGEMATERIAL,0x62D);
return 0;
}
if( nameid == skill_produce_db[i].mat_id[j] && (amount-p*skill_produce_db[i].mat_amount[j]) >= skill_produce_db[i].mat_amount[j]
@@ -16679,7 +16679,7 @@ int skill_changematerial(struct map_session_data *sd, int n, unsigned short *ite
}
if( p == 0)
- clif_msg_skill(sd,GN_CHANGEMATERIAL,0x623);
+ clif->msg_skill(sd,GN_CHANGEMATERIAL,0x623);
return 0;
}
@@ -16776,7 +16776,7 @@ int skill_blockpc_start_(struct map_session_data *sd, uint16 skill_id, int tick,
}
if( battle_config.display_status_timers )
- clif_skill_cooldown(sd, idx, tick);
+ clif->skill_cooldown(sd, idx, tick);
if( !load ) {// not being loaded initially so ensure the skill delay is recorded
if( !(cd = idb_get(skillcd_db,sd->status.char_id)) ) {// create a new skill cooldown object for map storage
@@ -17745,7 +17745,7 @@ void skill_reload (void) {
/* lets update all players skill tree : so that if any skill modes were changed they're properly updated */
iter = mapit_getallusers();
for( sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); sd = (TBL_PC*)mapit_next(iter) )
- clif_skillinfoblock(sd);
+ clif->skillinfoblock(sd);
mapit_free(iter);
}