summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2012-12-21 22:07:37 -0800
committerBen Longbons <b.r.longbons@gmail.com>2012-12-24 10:02:20 -0800
commit7afacd63fe36eb56b52490ecf22daeaa95657942 (patch)
tree53711f61f99d5659a8ef516415655f7e1427dca0
parente5360f5bdfbc67aecd42c9ebda2a42cee732693d (diff)
downloadtmwa-7afacd63fe36eb56b52490ecf22daeaa95657942.tar.gz
tmwa-7afacd63fe36eb56b52490ecf22daeaa95657942.tar.bz2
tmwa-7afacd63fe36eb56b52490ecf22daeaa95657942.tar.xz
tmwa-7afacd63fe36eb56b52490ecf22daeaa95657942.zip
Remove sending of packets the client can't handle
-rw-r--r--src/map/atcommand.cpp19
-rw-r--r--src/map/battle.cpp11
-rw-r--r--src/map/chat.cpp15
-rw-r--r--src/map/clif.cpp1381
-rw-r--r--src/map/clif.hpp66
-rw-r--r--src/map/map.cpp7
-rw-r--r--src/map/map.hpp3
-rw-r--r--src/map/mob.cpp28
-rw-r--r--src/map/pc.cpp30
-rw-r--r--src/map/script.cpp3
-rw-r--r--src/map/skill.cpp265
11 files changed, 10 insertions, 1818 deletions
diff --git a/src/map/atcommand.cpp b/src/map/atcommand.cpp
index 5a43b54..7691789 100644
--- a/src/map/atcommand.cpp
+++ b/src/map/atcommand.cpp
@@ -1685,13 +1685,6 @@ int atcommand_option(const int fd, struct map_session_data *sd,
sd->opt1 = param1;
sd->opt2 = param2;
- if (!bool(sd->status.option & Option::CART_MASK)
- && bool(param3 & Option::CART_MASK))
- {
- clif_cart_itemlist(sd);
- clif_cart_equiplist(sd);
- clif_updatestatus(sd, SP_CARTINFO);
- }
sd->status.option = param3;
// fix pecopeco display
if (sd->status.pc_class == 13 || sd->status.pc_class == 21
@@ -1888,12 +1881,8 @@ int atcommand_heal(const int fd, struct map_session_data *sd,
sp = 1 - sd->status.sp;
}
- if (hp > 0) // display like heal
- clif_heal(fd, SP_HP, hp);
- else if (hp < 0) // display like damage
+ if (hp < 0) // display like damage
clif_damage(&sd->bl, &sd->bl, gettick(), 0, 0, -hp, 0, 4, 0);
- if (sp > 0) // no display when we lost SP
- clif_heal(fd, SP_SP, sp);
if (hp != 0 || sp != 0)
{
@@ -2228,7 +2217,6 @@ int atcommand_pvpoff(const int fd, struct map_session_data *sd,
if (map[sd->bl.m].flag.pvp)
{
map[sd->bl.m].flag.pvp = 0;
- clif_send0199(sd->bl.m, 0);
for (i = 0; i < fd_max; i++)
{ //人数分ループ
if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data)
@@ -2236,7 +2224,6 @@ int atcommand_pvpoff(const int fd, struct map_session_data *sd,
{
if (sd->bl.m == pl_sd->bl.m)
{
- clif_pvpset(pl_sd, 0, 0, 2);
if (pl_sd->pvp_timer != -1)
{
delete_timer(pl_sd->pvp_timer,
@@ -2276,7 +2263,6 @@ int atcommand_pvpon(const int fd, struct map_session_data *sd,
if (!map[sd->bl.m].flag.pvp && !map[sd->bl.m].flag.nopvp)
{
map[sd->bl.m].flag.pvp = 1;
- clif_send0199(sd->bl.m, 1);
for (i = 0; i < fd_max; i++)
{
if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data)
@@ -2960,7 +2946,6 @@ int atcommand_produce(const int fd, struct map_session_data *sd,
tmp_item.card[0] = 0x00ff;
tmp_item.card[1] = ((star * 5) << 8) + attribute;
*((unsigned long *) (&tmp_item.card[2])) = sd->char_id;
- clif_produceeffect(sd, 0, item_id); // 製造エフェクトパケット
clif_misceffect(&sd->bl, 3); // 他人にも成功を通知
if ((flag = pc_additem(sd, &tmp_item, 1)))
clif_additem(sd, 0, 0, flag);
@@ -3042,7 +3027,6 @@ int atcommand_memo(const int fd, struct map_session_data *sd,
24);
sd->status.memo_point[position].x = sd->bl.x;
sd->status.memo_point[position].y = sd->bl.y;
- clif_skill_memo(sd, 0);
if (pc_checkskill(sd, AL_WARP) <= (position + 1))
clif_displaymessage(fd, "Note: you don't have the 'Warp' skill level to use it.");
atcommand_memo_sub(sd);
@@ -7608,7 +7592,6 @@ int atcommand_summon(const int, struct map_session_data *sd,
md->deletetimer = add_timer(tick + 60000, mob_timer_delete, id, 0);
clif_misceffect(&md->bl, 344);
}
- clif_skill_poseffect(&sd->bl, AM_CALLHOMUN, 1, x, y, tick);
return 0;
}
diff --git a/src/map/battle.cpp b/src/map/battle.cpp
index 43a4719..6d650cc 100644
--- a/src/map/battle.cpp
+++ b/src/map/battle.cpp
@@ -1719,8 +1719,6 @@ int battle_calc_damage(struct block_list *src, struct block_list *bl,
if (MRAND(100) < sc_data[SC_AUTOGUARD].val2)
{
damage = 0;
- clif_skill_nodamage(bl, bl, CR_AUTOGUARD,
- sc_data[SC_AUTOGUARD].val1, 1);
if (sd)
sd->canmove_tick = gettick() + 300;
else if (md)
@@ -1733,11 +1731,7 @@ int battle_calc_damage(struct block_list *src, struct block_list *bl,
&& flag & BF_WEAPON)
{
if (MRAND(100) < sc_data[SC_PARRYING].val2)
- {
damage = 0;
- clif_skill_nodamage(bl, bl, LK_PARRYING,
- sc_data[SC_PARRYING].val1, 1);
- }
}
// リジェクトソード
if (sc_data[SC_REJECTSWORD].timer != -1 && damage > 0
@@ -1752,10 +1746,6 @@ int battle_calc_damage(struct block_list *src, struct block_list *bl,
{ //反射確率は10+5*Lv
damage = damage * 50 / 100;
battle_damage(bl, src, damage, 0);
- //ダメージを与えたのは良いんだが、ここからどうして表示するんだかわかんねぇ
- //エフェクトもこれでいいのかわかんねぇ
- clif_skill_nodamage(bl, bl, ST_REJECTSWORD,
- sc_data[SC_REJECTSWORD].val1, 1);
if ((--sc_data[SC_REJECTSWORD].val2) <= 0)
skill_status_change_end(bl, SC_REJECTSWORD, -1);
}
@@ -4762,7 +4752,6 @@ int battle_weapon_attack(struct block_list *src, struct block_list *target,
uint16_t(MO_TRIPLEATTACK), skilllv, 0, 0, delay, 0);
}
sd->attackabletime = sd->canmove_tick = tick + delay;
- clif_combo_delay(src, delay);
clif_skill_damage(src, target, tick, wd.amotion, wd.dmotion,
wd.damage, 3, MO_TRIPLEATTACK,
pc_checkskill(sd, MO_TRIPLEATTACK), -1);
diff --git a/src/map/chat.cpp b/src/map/chat.cpp
index b9c8dfe..9530bfc 100644
--- a/src/map/chat.cpp
+++ b/src/map/chat.cpp
@@ -43,23 +43,12 @@ int chat_leavechat(struct map_session_data *sd)
if (leavechar < 0) // そのchatに所属していないらしい (バグ時のみ)
return -1;
- if (leavechar == 0 && cd->users > 1 && (*cd->owner)->type == BL_PC)
- {
- // 所有者だった&他に人が居る&PCのチャット
- clif_changechatowner(cd, cd->usersd[1]);
- clif_clearchat(cd, 0);
- }
-
- // 抜けるPCにも送るのでusersを減らす前に実行
- clif_leavechat(cd, sd);
-
cd->users--;
pc_setchatid(sd, 0);
if (cd->users == 0 && (*cd->owner)->type == BL_PC)
{
// 全員居なくなった&PCのチャットなので消す
- clif_clearchat(cd, 0);
map_delobject(cd->bl.id, BL_CHAT); // freeまでしてくれる
}
else
@@ -72,7 +61,6 @@ int chat_leavechat(struct map_session_data *sd)
cd->bl.x = cd->usersd[0]->bl.x;
cd->bl.y = cd->usersd[0]->bl.y;
}
- clif_dispchat(cd, 0);
}
return 0;
@@ -118,8 +106,6 @@ int chat_createnpcchat(struct npc_data *nd, int limit, int pub, int trigger,
}
nd->chat_id = cd->bl.id;
- clif_dispchat(cd, 0);
-
return 0;
}
@@ -135,7 +121,6 @@ int chat_deletenpcchat(struct npc_data *nd)
nullpo_ret(cd = (struct chat_data *) map_id2bl(nd->chat_id));
chat_npckickall(cd);
- clif_clearchat(cd, 0);
map_delobject(cd->bl.id, BL_CHAT); // freeまでしてくれる
nd->chat_id = 0;
diff --git a/src/map/clif.cpp b/src/map/clif.cpp
index 881cee6..3844eb9 100644
--- a/src/map/clif.cpp
+++ b/src/map/clif.cpp
@@ -868,71 +868,6 @@ int clif_set007b(struct map_session_data *sd, unsigned char *buf)
}
/*==========================================
- * クラスチェンジ typeはMobの場合は1で他は0?
- *------------------------------------------
- */
-int clif_npc_class_change(struct block_list *bl, int npc_class, int type)
-{
- uint8_t buf[16];
-
- nullpo_ret(bl);
-
- if (npc_class >= MAX_PC_CLASS)
- {
- WBUFW(buf, 0) = 0x1b0;
- WBUFL(buf, 2) = bl->id;
- WBUFB(buf, 6) = type;
- WBUFL(buf, 7) = npc_class;
-
- clif_send(buf, packet_len_table[0x1b0], bl, AREA);
- }
- return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int clif_mob_class_change(struct mob_data *md, int class_)
-{
- uint8_t buf[16];
- int view = mob_get_viewclass(class_);
-
- nullpo_ret(md);
-
- if (view >= MAX_PC_CLASS)
- {
- WBUFW(buf, 0) = 0x1b0;
- WBUFL(buf, 2) = md->bl.id;
- WBUFB(buf, 6) = 1;
- WBUFL(buf, 7) = view;
-
- clif_send(buf, packet_len_table[0x1b0], &md->bl, AREA);
- }
- return 0;
-}
-
-// mob equipment [Valaris]
-
-int clif_mob_equip(struct mob_data *md, int nameid)
-{
- unsigned char buf[16];
-
- nullpo_ret(md);
-
- memset(buf, 0, packet_len_table[0x1a4]);
-
- WBUFW(buf, 0) = 0x1a4;
- WBUFB(buf, 2) = 3;
- WBUFL(buf, 3) = md->bl.id;
- WBUFL(buf, 7) = nameid;
-
- clif_send(buf, packet_len_table[0x1a4], &md->bl, AREA);
-
- return 0;
-}
-
-/*==========================================
* MOB表示1
*------------------------------------------
*/
@@ -1052,39 +987,6 @@ int clif_npc0078(struct npc_data *nd, unsigned char *buf)
return packet_len_table[0x78];
}
-/*==========================================
- *
- *------------------------------------------
- */
-static
-int clif_set01e1(struct map_session_data *sd, unsigned char *buf)
-{
- nullpo_ret(sd);
-
- WBUFW(buf, 0) = 0x1e1;
- WBUFL(buf, 2) = sd->bl.id;
- WBUFW(buf, 6) = sd->spiritball;
-
- return packet_len_table[0x1e1];
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-static
-int clif_set0192(int fd, int m, int x, int y, int type)
-{
- WFIFOW(fd, 0) = 0x192;
- WFIFOW(fd, 2) = x;
- WFIFOW(fd, 4) = y;
- WFIFOW(fd, 6) = type;
- memcpy(WFIFOP(fd, 8), map[m].name, 16);
- WFIFOSET(fd, packet_len_table[0x192]);
-
- return 0;
-}
-
/* These indices are derived from equip_pos in pc.c and some guesswork */
static
int equip_points[LOOK_LAST + 1] = {
@@ -1148,9 +1050,6 @@ int clif_spawnpc(struct map_session_data *sd)
WBUFW(buf, 51) = 0;
clif_send(buf, packet_len_table[0x1d9], &sd->bl, AREA_WOS);
- if (sd->spiritball > 0)
- clif_spiritball(sd);
-
if (sd->status.pc_class == 13 || sd->status.pc_class == 21
|| sd->status.pc_class == 4014 || sd->status.pc_class == 4022)
pc_setoption(sd, sd->status.option | Option::RIDING); // [Valaris]
@@ -1272,9 +1171,6 @@ int clif_spawnmob(struct mob_data *md)
len = clif_mob0078(md, buf);
clif_send(buf, len, &md->bl, AREA);
- if (mob_get_equip(md->mob_class) > 0) // mob equipment [Valaris]
- clif_mob_equip(md, mob_get_equip(md->mob_class));
-
return 0;
}
@@ -2086,10 +1982,6 @@ int clif_updatestatus(struct map_session_data *sd, int type)
case SP_JOBLEVEL:
WFIFOL(fd, 4) = 0;
break;
- case SP_MANNER:
- WFIFOL(fd, 4) = sd->status.manner;
- clif_changestatus(&sd->bl, SP_MANNER, sd->status.manner);
- break;
case SP_STATUSPOINT:
WFIFOL(fd, 4) = sd->status.status_point;
break;
@@ -2237,15 +2129,6 @@ int clif_updatestatus(struct map_session_data *sd, int type)
len = 14;
break;
- case SP_CARTINFO:
- WFIFOW(fd, 0) = 0x121;
- WFIFOW(fd, 2) = sd->cart_num;
- WFIFOW(fd, 4) = sd->cart_max_num;
- WFIFOL(fd, 6) = sd->cart_weight;
- WFIFOL(fd, 10) = sd->cart_max_weight;
- len = 14;
- break;
-
case SP_GM:
WFIFOL(fd, 4) = pc_isGM(sd);
break;
@@ -2260,37 +2143,6 @@ int clif_updatestatus(struct map_session_data *sd, int type)
return 0;
}
-int clif_changestatus(struct block_list *bl, int type, int val)
-{
- unsigned char buf[12];
- struct map_session_data *sd = NULL;
-
- nullpo_ret(bl);
-
- if (bl->type == BL_PC)
- sd = (struct map_session_data *) bl;
-
-//printf("clif_changestatus id:%d type:%d val:%d\n",bl->id,type,val);
- if (sd)
- {
- WBUFW(buf, 0) = 0x1ab;
- WBUFL(buf, 2) = bl->id;
- WBUFW(buf, 6) = type;
- switch (type)
- {
- case SP_MANNER:
- WBUFL(buf, 8) = val;
- break;
- default:
- if (battle_config.error_log)
- printf("clif_changestatus : make %d routine\n", type);
- return 1;
- }
- clif_send(buf, packet_len_table[0x1ab], bl, AREA_WOS);
- }
- return 0;
-}
-
/*==========================================
*
*------------------------------------------
@@ -2675,107 +2527,6 @@ int clif_useitemack(struct map_session_data *sd, int index, int amount,
}
/*==========================================
- *
- *------------------------------------------
- */
-int clif_dispchat(struct chat_data *cd, int fd)
-{
- uint8_t buf[128]; // 最大title(60バイト)+17
-
- if (cd == NULL || *cd->owner == NULL)
- return 1;
-
- WBUFW(buf, 0) = 0xd7;
- WBUFW(buf, 2) = strlen(cd->title) + 17;
- WBUFL(buf, 4) = (*cd->owner)->id;
- WBUFL(buf, 8) = cd->bl.id;
- WBUFW(buf, 12) = cd->limit;
- WBUFW(buf, 14) = cd->users;
- WBUFB(buf, 16) = cd->pub;
- strcpy((char *)WBUFP(buf, 17), cd->title);
- if (fd)
- {
- memcpy(WFIFOP(fd, 0), buf, WBUFW(buf, 2));
- WFIFOSET(fd, WBUFW(buf, 2));
- }
- else
- {
- clif_send(buf, WBUFW(buf, 2), *cd->owner, AREA_WOSC);
- }
-
- return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int clif_clearchat(struct chat_data *cd, int fd)
-{
- uint8_t buf[32];
-
- nullpo_ret(cd);
-
- WBUFW(buf, 0) = 0xd8;
- WBUFL(buf, 2) = cd->bl.id;
- if (fd)
- {
- memcpy(WFIFOP(fd, 0), buf, packet_len_table[0xd8]);
- WFIFOSET(fd, packet_len_table[0xd8]);
- }
- else
- {
- clif_send(buf, packet_len_table[0xd8], *cd->owner, AREA_WOSC);
- }
-
- return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int clif_changechatowner(struct chat_data *cd, struct map_session_data *sd)
-{
- uint8_t buf[64];
-
- nullpo_ret(sd);
- nullpo_ret(cd);
-
- WBUFW(buf, 0) = 0xe1;
- WBUFL(buf, 2) = 1;
- memcpy(WBUFP(buf, 6), cd->usersd[0]->status.name, 24);
- WBUFW(buf, 30) = 0xe1;
- WBUFL(buf, 32) = 0;
- memcpy(WBUFP(buf, 36), sd->status.name, 24);
-
- clif_send(buf, packet_len_table[0xe1] * 2, &sd->bl, CHAT);
-
- return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int clif_leavechat(struct chat_data *cd, struct map_session_data *sd)
-{
- uint8_t buf[32];
-
- nullpo_ret(sd);
- nullpo_ret(cd);
-
- WBUFW(buf, 0) = 0xdd;
- WBUFW(buf, 2) = cd->users - 1;
- memcpy(WBUFP(buf, 4), sd->status.name, 24);
- WBUFB(buf, 28) = 0;
-
- clif_send(buf, packet_len_table[0xdd], &sd->bl, CHAT);
-
- return 0;
-}
-
-/*==========================================
* 取り引き要請受け
*------------------------------------------
*/
@@ -2906,7 +2657,6 @@ int clif_tradeitemok(struct map_session_data *sd, int index, int amount,
fd = sd->fd;
WFIFOW(fd, 0) = 0x1b1;
- //WFIFOW(fd,0)=0xea;
WFIFOW(fd, 2) = index;
WFIFOW(fd, 4) = amount;
WFIFOB(fd, 6) = fail;
@@ -3128,25 +2878,10 @@ void clif_getareachar_pc(struct map_session_data *sd,
WFIFOSET(sd->fd, len);
}
- if (dstsd->chatID)
- {
- struct chat_data *cd;
- cd = (struct chat_data *) map_id2bl(dstsd->chatID);
- if (cd->usersd[0] == dstsd)
- clif_dispchat(cd, sd->fd);
- }
- if (dstsd->spiritball > 0)
- {
- clif_set01e1(dstsd, WFIFOP(sd->fd, 0));
- WFIFOSET(sd->fd, packet_len_table[0x1e1]);
- }
if (battle_config.save_clothcolor == 1 && dstsd->status.clothes_color > 0)
clif_changelook(&dstsd->bl, LOOK_CLOTHES_COLOR,
dstsd->status.clothes_color);
- if (sd->status.manner < 0)
- clif_changestatus(&sd->bl, SP_MANNER, sd->status.manner);
-
clif_changelook_accessories(&sd->bl, dstsd);
clif_changelook_accessories(&dstsd->bl, sd);
}
@@ -3168,12 +2903,6 @@ void clif_getareachar_npc(struct map_session_data *sd, struct npc_data *nd)
len = clif_npc0078(nd, WFIFOP(sd->fd, 0));
WFIFOSET(sd->fd, len);
-
- if (nd->chat_id)
- {
- clif_dispchat((struct chat_data *) map_id2bl(nd->chat_id), sd->fd);
- }
-
}
/*==========================================
@@ -3190,9 +2919,6 @@ int clif_movemob(struct mob_data *md)
len = clif_mob007b(md, buf);
clif_send(buf, len, &md->bl, AREA);
- if (mob_get_equip(md->mob_class) > 0) // mob equipment [Valaris]
- clif_mob_equip(md, mob_get_equip(md->mob_class));
-
return 0;
}
@@ -3319,9 +3045,6 @@ void clif_getareachar_mob(struct map_session_data *sd, struct mob_data *md)
len = clif_mob0078(md, WFIFOP(sd->fd, 0));
WFIFOSET(sd->fd, len);
}
-
- if (mob_get_equip(md->mob_class) > 0) // mob equipment [Valaris]
- clif_mob_equip(md, mob_get_equip(md->mob_class));
}
/*==========================================
@@ -3356,103 +3079,6 @@ void clif_getareachar_item(struct map_session_data *sd,
}
/*==========================================
- * 場所スキルエフェクトが視界に入る
- *------------------------------------------
- */
-static
-int clif_getareachar_skillunit(struct map_session_data *sd,
- struct skill_unit *unit)
-{
- int fd;
- struct block_list *bl;
-
- nullpo_ret(unit);
-
- fd = sd->fd;
- bl = map_id2bl(unit->group->src_id);
- memset(WFIFOP(fd, 0), 0, packet_len_table[0x1c9]);
- WFIFOW(fd, 0) = 0x1c9;
- WFIFOL(fd, 2) = unit->bl.id;
- WFIFOL(fd, 6) = unit->group->src_id;
- WFIFOW(fd, 10) = unit->bl.x;
- WFIFOW(fd, 12) = unit->bl.y;
- WFIFOB(fd, 14) = unit->group->unit_id;
- WFIFOB(fd, 15) = 1;
- WFIFOL(fd, 15 + 1) = 0; //1-4調べた限り固定
- WFIFOL(fd, 15 + 5) = 0; //5-8調べた限り固定
- //9-12マップごとで一定の77-80とはまた違う4バイトのかなり大きな数字
- WFIFOL(fd, 15 + 13) = unit->bl.y - 0x12; //13-16ユニットのY座標-18っぽい(Y:17でFF FF FF FF)
- WFIFOL(fd, 15 + 17) = 0x004f37dd; //17-20調べた限り固定
- WFIFOL(fd, 15 + 21) = 0x0012f674; //21-24調べた限り固定
- WFIFOL(fd, 15 + 25) = 0x0012f664; //25-28調べた限り固定
- WFIFOL(fd, 15 + 29) = 0x0012f654; //29-32調べた限り固定
- WFIFOL(fd, 15 + 33) = 0x77527bbc; //33-36調べた限り固定
- //37-39
- WFIFOB(fd, 15 + 40) = 0x2d; //40調べた限り固定
- WFIFOL(fd, 15 + 41) = 0; //41-44調べた限り0固定
- WFIFOL(fd, 15 + 45) = 0; //45-48調べた限り0固定
- WFIFOL(fd, 15 + 49) = 0; //49-52調べた限り0固定
- WFIFOL(fd, 15 + 53) = 0x0048d919; //53-56調べた限り固定
- WFIFOL(fd, 15 + 57) = 0x0000003e; //57-60調べた限り固定
- WFIFOL(fd, 15 + 61) = 0x0012f66c; //61-64調べた限り固定
- //65-68
- //69-72
- if (bl)
- WFIFOL(fd, 15 + 73) = bl->y; //73-76術者のY座標
- WFIFOL(fd, 15 + 77) = unit->bl.m; //77-80マップIDかなぁ?かなり2バイトで足りそうな数字
- WFIFOB(fd, 15 + 81) = 0xaa; //81終端文字0xaa
-
- /* Graffiti [Valaris] */
- if (unit->group->unit_id == 0xb0)
- {
- WFIFOL(fd, 15) = 1;
- WFIFOL(fd, 16) = 1;
- memcpy(WFIFOP(fd, 17), unit->group->valstr, 80);
- }
-
- WFIFOSET(fd, packet_len_table[0x1c9]);
- if (unit->group->skill_id == WZ_ICEWALL)
- clif_set0192(fd, unit->bl.m, unit->bl.x, unit->bl.y, 5);
-
- return 0;
-}
-
-/*==========================================
- * 場所スキルエフェクトが視界から消える
- *------------------------------------------
- */
-static
-int clif_clearchar_skillunit(struct skill_unit *unit, int fd)
-{
- nullpo_ret(unit);
-
- WFIFOW(fd, 0) = 0x120;
- WFIFOL(fd, 2) = unit->bl.id;
- WFIFOSET(fd, packet_len_table[0x120]);
- if (unit->group->skill_id == WZ_ICEWALL)
- clif_set0192(fd, unit->bl.m, unit->bl.x, unit->bl.y, unit->val2);
-
- return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int clif_01ac(struct block_list *bl)
-{
- uint8_t buf[32];
-
- nullpo_ret(bl);
-
- WBUFW(buf, 0) = 0x1ac;
- WBUFL(buf, 2) = bl->id;
-
- clif_send(buf, packet_len_table[0x1ac], bl, AREA);
- return 0;
-}
-
-/*==========================================
*
*------------------------------------------
*/
@@ -3478,7 +3104,6 @@ void clif_getareachar(struct block_list *bl, struct map_session_data *sd)
clif_getareachar_item(sd, (struct flooritem_data *) bl);
break;
case BL_SKILL:
- clif_getareachar_skillunit(sd, (struct skill_unit *) bl);
break;
default:
if (battle_config.error_log)
@@ -3506,13 +3131,6 @@ void clif_pcoutsight(struct block_list *bl, struct map_session_data *sd)
{
clif_clearchar_id(dstsd->bl.id, 0, sd->fd);
clif_clearchar_id(sd->bl.id, 0, dstsd->fd);
- if (dstsd->chatID)
- {
- struct chat_data *cd;
- cd = (struct chat_data *) map_id2bl(dstsd->chatID);
- if (cd->usersd[0] == dstsd)
- clif_dispchat(cd, sd->fd);
- }
}
break;
case BL_NPC:
@@ -3526,7 +3144,6 @@ void clif_pcoutsight(struct block_list *bl, struct map_session_data *sd)
clif_clearflooritem((struct flooritem_data *) bl, sd->fd);
break;
case BL_SKILL:
- clif_clearchar_skillunit((struct skill_unit *) bl, sd->fd);
break;
}
}
@@ -3562,7 +3179,6 @@ void clif_pcinsight(struct block_list *bl, struct map_session_data *sd)
clif_getareachar_item(sd, (struct flooritem_data *) bl);
break;
case BL_SKILL:
- clif_getareachar_skillunit(sd, (struct skill_unit *) bl);
break;
}
}
@@ -3713,28 +3329,6 @@ int clif_skillup(struct map_session_data *sd, SkillID skill_num)
}
/*==========================================
- * スキル詠唱エフェクトを送信する
- *------------------------------------------
- */
-int clif_skillcasting(struct block_list *bl,
- int src_id, int dst_id, int dst_x, int dst_y,
- SkillID skill_num, int casttime)
-{
- unsigned char buf[32];
- WBUFW(buf, 0) = 0x13e;
- WBUFL(buf, 2) = src_id;
- WBUFL(buf, 6) = dst_id;
- WBUFW(buf, 10) = dst_x;
- WBUFW(buf, 12) = dst_y;
- WBUFW(buf, 14) = uint16_t(skill_num); //魔法詠唱スキル
- WBUFL(buf, 16) = skill_get_pl(skill_num); //属性
- WBUFL(buf, 20) = casttime; //skill詠唱時間
- clif_send(buf, packet_len_table[0x13e], bl, AREA);
-
- return 0;
-}
-
-/*==========================================
*
*------------------------------------------
*/
@@ -3825,221 +3419,6 @@ int clif_skill_damage(struct block_list *src, struct block_list *dst,
}
/*==========================================
- * 支援/回復スキルエフェクト
- *------------------------------------------
- */
-int clif_skill_nodamage(struct block_list *src, struct block_list *dst,
- SkillID skill_id, int heal, int fail)
-{
- unsigned char buf[32];
-
- nullpo_ret(src);
- nullpo_ret(dst);
-
- WBUFW(buf, 0) = 0x11a;
- WBUFW(buf, 2) = uint16_t(skill_id);
- WBUFW(buf, 4) = (heal > 0x7fff) ? 0x7fff : heal;
- WBUFL(buf, 6) = dst->id;
- WBUFL(buf, 10) = src->id;
- WBUFB(buf, 14) = fail;
- clif_send(buf, packet_len_table[0x11a], src, AREA);
-
- return 0;
-}
-
-/*==========================================
- * 場所スキルエフェクト
- *------------------------------------------
- */
-int clif_skill_poseffect(struct block_list *src, SkillID skill_id, int val,
- int x, int y, int tick)
-{
- unsigned char buf[32];
-
- nullpo_ret(src);
-
- WBUFW(buf, 0) = 0x117;
- WBUFW(buf, 2) = uint16_t(skill_id);
- WBUFL(buf, 4) = src->id;
- WBUFW(buf, 8) = val;
- WBUFW(buf, 10) = x;
- WBUFW(buf, 12) = y;
- WBUFL(buf, 14) = tick;
- clif_send(buf, packet_len_table[0x117], src, AREA);
-
- return 0;
-}
-
-/*==========================================
- * 場所スキルエフェクト表示
- *------------------------------------------
- */
-int clif_skill_setunit(struct skill_unit *unit)
-{
- unsigned char buf[128];
- struct block_list *bl;
-
- nullpo_ret(unit);
-
- bl = map_id2bl(unit->group->src_id);
-
- memset(WBUFP(buf, 0), 0, packet_len_table[0x1c9]);
- WBUFW(buf, 0) = 0x1c9;
- WBUFL(buf, 2) = unit->bl.id;
- WBUFL(buf, 6) = unit->group->src_id;
- WBUFW(buf, 10) = unit->bl.x;
- WBUFW(buf, 12) = unit->bl.y;
- WBUFB(buf, 14) = unit->group->unit_id;
- WBUFB(buf, 15) = 1;
- WBUFL(buf, 15 + 1) = 0; //1-4調べた限り固定
- WBUFL(buf, 15 + 5) = 0; //5-8調べた限り固定
- //9-12マップごとで一定の77-80とはまた違う4バイトのかなり大きな数字
- WBUFL(buf, 15 + 13) = unit->bl.y - 0x12; //13-16ユニットのY座標-18っぽい(Y:17でFF FF FF FF)
- WBUFL(buf, 15 + 17) = 0x004f37dd; //17-20調べた限り固定(0x1b2で0x004fdbddだった)
- WBUFL(buf, 15 + 21) = 0x0012f674; //21-24調べた限り固定
- WBUFL(buf, 15 + 25) = 0x0012f664; //25-28調べた限り固定
- WBUFL(buf, 15 + 29) = 0x0012f654; //29-32調べた限り固定
- WBUFL(buf, 15 + 33) = 0x77527bbc; //33-36調べた限り固定
- //37-39
- WBUFB(buf, 15 + 40) = 0x2d; //40調べた限り固定
- WBUFL(buf, 15 + 41) = 0; //41-44調べた限り0固定
- WBUFL(buf, 15 + 45) = 0; //45-48調べた限り0固定
- WBUFL(buf, 15 + 49) = 0; //49-52調べた限り0固定
- WBUFL(buf, 15 + 53) = 0x0048d919; //53-56調べた限り固定(0x01b2で0x00495119だった)
- WBUFL(buf, 15 + 57) = 0x0000003e; //57-60調べた限り固定
- WBUFL(buf, 15 + 61) = 0x0012f66c; //61-64調べた限り固定
- //65-68
- //69-72
- if (bl)
- WBUFL(buf, 15 + 73) = bl->y; //73-76術者のY座標
- WBUFL(buf, 15 + 77) = unit->bl.m; //77-80マップIDかなぁ?かなり2バイトで足りそうな数字
- WBUFB(buf, 15 + 81) = 0xaa; //81終端文字0xaa
-
- /* Graffiti [Valaris] */
- if (unit->group->unit_id == 0xb0)
- {
- WBUFL(buf, 15) = 1;
- WBUFL(buf, 16) = 1;
- memcpy(WBUFP(buf, 17), unit->group->valstr, 80);
- }
-
- clif_send(buf, packet_len_table[0x1c9], &unit->bl, AREA);
- return 0;
-}
-
-/*==========================================
- * 場所スキルエフェクト削除
- *------------------------------------------
- */
-int clif_skill_delunit(struct skill_unit *unit)
-{
- unsigned char buf[16];
-
- nullpo_ret(unit);
-
- WBUFW(buf, 0) = 0x120;
- WBUFL(buf, 2) = unit->bl.id;
- clif_send(buf, packet_len_table[0x120], &unit->bl, AREA);
- return 0;
-}
-
-/*==========================================
- * ワープ場所選択
- *------------------------------------------
- */
-int clif_skill_warppoint(struct map_session_data *sd, SkillID skill_num,
- const char *map1, const char *map2,
- const char *map3, const char *map4)
-{
- int fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
- WFIFOW(fd, 0) = 0x11c;
- WFIFOW(fd, 2) = uint16_t(skill_num);
- memcpy(WFIFOP(fd, 4), map1, 16);
- memcpy(WFIFOP(fd, 20), map2, 16);
- memcpy(WFIFOP(fd, 36), map3, 16);
- memcpy(WFIFOP(fd, 52), map4, 16);
- WFIFOSET(fd, packet_len_table[0x11c]);
- return 0;
-}
-
-/*==========================================
- * メモ応答
- *------------------------------------------
- */
-int clif_skill_memo(struct map_session_data *sd, int flag)
-{
- int fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
-
- WFIFOW(fd, 0) = 0x11e;
- WFIFOB(fd, 2) = flag;
- WFIFOSET(fd, packet_len_table[0x11e]);
- return 0;
-}
-
-int clif_skill_teleportmessage(struct map_session_data *sd, int flag)
-{
- int fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
- WFIFOW(fd, 0) = 0x189;
- WFIFOW(fd, 2) = flag;
- WFIFOSET(fd, packet_len_table[0x189]);
- return 0;
-}
-
-/*==========================================
- * モンスター情報
- *------------------------------------------
- */
-int clif_skill_estimation(struct map_session_data *sd,
- struct block_list *dst)
-{
- struct mob_data *md;
- unsigned char buf[64];
- int i;
-
- nullpo_ret(sd);
- nullpo_ret(dst);
-
- if (dst->type != BL_MOB)
- return 0;
- if ((md = (struct mob_data *) dst) == NULL)
- return 0;
-
- WBUFW(buf, 0) = 0x18c;
- WBUFW(buf, 2) = mob_get_viewclass(md->mob_class);
- WBUFW(buf, 4) = mob_db[md->mob_class].lv;
- WBUFW(buf, 6) = mob_db[md->mob_class].size;
- WBUFL(buf, 8) = md->hp;
- WBUFW(buf, 12) = battle_get_def2(&md->bl);
- WBUFW(buf, 14) = mob_db[md->mob_class].race;
- WBUFW(buf, 16) =
- battle_get_mdef2(&md->bl) - (mob_db[md->mob_class].vit >> 1);
- WBUFW(buf, 18) = battle_get_elem_type(&md->bl);
- for (i = 0; i < 9; i++)
- WBUFB(buf, 20 + i) = battle_attr_fix(100, i + 1, md->def_ele);
-
- if (sd->status.party_id > 0)
- clif_send(buf, packet_len_table[0x18c], &sd->bl, PARTY_AREA);
- else
- {
- memcpy(WFIFOP(sd->fd, 0), buf, packet_len_table[0x18c]);
- WFIFOSET(sd->fd, packet_len_table[0x18c]);
- }
- return 0;
-}
-
-/*==========================================
* 状態異常アイコン/メッセージ表示
*------------------------------------------
*/
@@ -4101,20 +3480,6 @@ int clif_GMmessage(struct block_list *bl, const char *mes, int len, int flag)
}
/*==========================================
- * HPSP回復エフェクトを送信する
- *------------------------------------------
- */
-int clif_heal(int fd, int type, int val)
-{
- WFIFOW(fd, 0) = 0x13d;
- WFIFOW(fd, 2) = type;
- WFIFOW(fd, 4) = val;
- WFIFOSET(fd, packet_len_table[0x13d]);
-
- return 0;
-}
-
-/*==========================================
* 復活する
*------------------------------------------
*/
@@ -4141,95 +3506,6 @@ int clif_resurrection(struct block_list *bl, int type)
}
/*==========================================
- * PVP実装?(仮)
- *------------------------------------------
- */
-int clif_set0199(int fd, int type)
-{
- WFIFOW(fd, 0) = 0x199;
- WFIFOW(fd, 2) = type;
- WFIFOSET(fd, packet_len_table[0x199]);
-
- return 0;
-}
-
-/*==========================================
- * PVP実装?(仮)
- *------------------------------------------
- */
-int clif_pvpset(struct map_session_data *sd, int pvprank, int pvpnum,
- int type)
-{
- nullpo_ret(sd);
-
- if (map[sd->bl.m].flag.nopvp)
- return 0;
-
- if (type == 2)
- {
- WFIFOW(sd->fd, 0) = 0x19a;
- WFIFOL(sd->fd, 2) = sd->bl.id;
- if (pvprank <= 0)
- pc_calc_pvprank(sd);
- WFIFOL(sd->fd, 6) = pvprank;
- WFIFOL(sd->fd, 10) = pvpnum;
- WFIFOSET(sd->fd, packet_len_table[0x19a]);
- }
- else
- {
- uint8_t buf[32];
-
- WBUFW(buf, 0) = 0x19a;
- WBUFL(buf, 2) = sd->bl.id;
- if (bool(sd->status.option & Option::REAL_ANY_HIDE))
- WBUFL(buf, 6) = -1;
- else if (pvprank <= 0)
- pc_calc_pvprank(sd);
- WBUFL(buf, 6) = pvprank;
- WBUFL(buf, 10) = pvpnum;
- if (!type)
- clif_send(buf, packet_len_table[0x19a], &sd->bl, AREA);
- else
- clif_send(buf, packet_len_table[0x19a], &sd->bl, ALL_SAMEMAP);
- }
-
- return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int clif_send0199(int m, int type)
-{
- struct block_list bl;
- uint8_t buf[16];
-
- bl.m = m;
- WBUFW(buf, 0) = 0x199;
- WBUFW(buf, 2) = type;
- clif_send(buf, packet_len_table[0x199], &bl, ALL_SAMEMAP);
-
- return 0;
-}
-
-/*==========================================
- * 精錬エフェクトを送信する
- *------------------------------------------
- */
-int clif_refine(int fd, struct map_session_data *, int fail, int index,
- int val)
-{
- WFIFOW(fd, 0) = 0x188;
- WFIFOW(fd, 2) = fail;
- WFIFOW(fd, 4) = index + 2;
- WFIFOW(fd, 6) = val;
- WFIFOSET(fd, packet_len_table[0x188]);
-
- return 0;
-}
-
-/*==========================================
* Wisp/page is transmitted to the destination player
*------------------------------------------
*/
@@ -4256,335 +3532,6 @@ int clif_wis_end(int fd, int flag) // R 0098 <type>.B: 0: success to send wisper
}
/*==========================================
- * キャラID名前引き結果を送信する
- *------------------------------------------
- */
-int clif_solved_charname(struct map_session_data *sd, int char_id)
-{
- char *p = map_charid2nick(char_id);
- int fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
- if (p != NULL)
- {
- WFIFOW(fd, 0) = 0x194;
- WFIFOL(fd, 2) = char_id;
- memcpy(WFIFOP(fd, 6), p, 24);
- WFIFOSET(fd, packet_len_table[0x194]);
- }
- else
- {
- map_reqchariddb(sd, char_id);
- chrif_searchcharid(char_id);
- }
- return 0;
-}
-
-/*==========================================
- * 鑑定可能アイテムリスト送信
- *------------------------------------------
- */
-int clif_item_identify_list(struct map_session_data *sd)
-{
- int i, c;
- int fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
-
- WFIFOW(fd, 0) = 0x177;
- for (i = c = 0; i < MAX_INVENTORY; i++)
- {
- if (sd->status.inventory[i].nameid > 0
- && sd->status.inventory[i].identify != 1)
- {
- WFIFOW(fd, c * 2 + 4) = i + 2;
- c++;
- }
- }
- if (c > 0)
- {
- WFIFOW(fd, 2) = c * 2 + 4;
- WFIFOSET(fd, WFIFOW(fd, 2));
- }
- return 0;
-}
-
-/*==========================================
- * 修理可能アイテムリスト送信
- * ※実際のパケットがわからないので動作しません
- *------------------------------------------
- */
-int clif_item_repair_list(struct map_session_data *sd)
-{
- int i, c;
- int fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
-
- WFIFOW(fd, 0) = 0x0;
- for (i = c = 0; i < MAX_INVENTORY; i++)
- {
- if (sd->status.inventory[i].nameid > 0
- && sd->status.inventory[i].broken != 0)
- {
- WFIFOW(fd, c * 2 + 4) = i + 2;
- c++;
- }
- }
- if (c > 0)
- {
- WFIFOW(fd, 2) = c * 2 + 4;
- WFIFOSET(fd, WFIFOW(fd, 2));
- }
- return 0;
-}
-
-/*==========================================
- * アイテムによる一時的なスキル効果
- *------------------------------------------
- */
-int clif_item_skill(struct map_session_data *sd, SkillID skillid, int skilllv,
- const char *name)
-{
- int range, fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
- WFIFOW(fd, 0) = 0x147;
- WFIFOW(fd, 2) = uint16_t(skillid);
- WFIFOW(fd, 4) = skill_get_inf(skillid);
- WFIFOW(fd, 6) = 0;
- WFIFOW(fd, 8) = skilllv;
- WFIFOW(fd, 10) = skill_get_sp(skillid, skilllv);
- range = skill_get_range(skillid, skilllv);
- if (range < 0)
- range = battle_get_range(&sd->bl) - (range + 1);
- WFIFOW(fd, 12) = range;
- memcpy(WFIFOP(fd, 14), name, 24);
- WFIFOB(fd, 38) = 0;
- WFIFOSET(fd, packet_len_table[0x147]);
- return 0;
-}
-
-/*==========================================
- * カートにアイテム追加
- *------------------------------------------
- */
-int clif_cart_additem(struct map_session_data *sd, int n, int amount,
- int)
-{
- int view, j, fd;
- unsigned char *buf;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
- buf = WFIFOP(fd, 0);
- if (n < 0 || n >= MAX_CART || sd->status.cart[n].nameid <= 0)
- return 1;
-
- WBUFW(buf, 0) = 0x124;
- WBUFW(buf, 2) = n + 2;
- WBUFL(buf, 4) = amount;
- if ((view = itemdb_viewid(sd->status.cart[n].nameid)) > 0)
- WBUFW(buf, 8) = view;
- else
- WBUFW(buf, 8) = sd->status.cart[n].nameid;
- WBUFB(buf, 10) = sd->status.cart[n].identify;
- if (sd->status.cart[n].broken == 1) //is weapon broken [Valaris]
- WBUFB(buf, 11) = 1;
- else
- WBUFB(buf, 11) = sd->status.cart[n].attribute;
- WBUFB(buf, 12) = sd->status.cart[n].refine;
- if (sd->status.cart[n].card[0] == 0x00ff
- || sd->status.cart[n].card[0] == 0x00fe
- || sd->status.cart[n].card[0] == (short) 0xff00)
- {
- WBUFW(buf, 13) = sd->status.cart[n].card[0];
- WBUFW(buf, 15) = sd->status.cart[n].card[1];
- WBUFW(buf, 17) = sd->status.cart[n].card[2];
- WBUFW(buf, 19) = sd->status.cart[n].card[3];
- }
- else
- {
- if (sd->status.cart[n].card[0] > 0
- && (j = itemdb_viewid(sd->status.cart[n].card[0])) > 0)
- WBUFW(buf, 13) = j;
- else
- WBUFW(buf, 13) = sd->status.cart[n].card[0];
- if (sd->status.cart[n].card[1] > 0
- && (j = itemdb_viewid(sd->status.cart[n].card[1])) > 0)
- WBUFW(buf, 15) = j;
- else
- WBUFW(buf, 15) = sd->status.cart[n].card[1];
- if (sd->status.cart[n].card[2] > 0
- && (j = itemdb_viewid(sd->status.cart[n].card[2])) > 0)
- WBUFW(buf, 17) = j;
- else
- WBUFW(buf, 17) = sd->status.cart[n].card[2];
- if (sd->status.cart[n].card[3] > 0
- && (j = itemdb_viewid(sd->status.cart[n].card[3])) > 0)
- WBUFW(buf, 19) = j;
- else
- WBUFW(buf, 19) = sd->status.cart[n].card[3];
- }
- WFIFOSET(fd, packet_len_table[0x124]);
- return 0;
-}
-
-/*==========================================
- * カートからアイテム削除
- *------------------------------------------
- */
-int clif_cart_delitem(struct map_session_data *sd, int n, int amount)
-{
- int fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
-
- WFIFOW(fd, 0) = 0x125;
- WFIFOW(fd, 2) = n + 2;
- WFIFOL(fd, 4) = amount;
-
- WFIFOSET(fd, packet_len_table[0x125]);
-
- return 0;
-}
-
-/*==========================================
- * カートのアイテムリスト
- *------------------------------------------
- */
-int clif_cart_itemlist(struct map_session_data *sd)
-{
- struct item_data *id;
- int i, n, fd;
- unsigned char *buf;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
- buf = WFIFOP(fd, 0);
- WBUFW(buf, 0) = 0x1ef;
- for (i = 0, n = 0; i < MAX_CART; i++)
- {
- if (sd->status.cart[i].nameid <= 0)
- continue;
- id = itemdb_search(sd->status.cart[i].nameid);
- if (itemdb_isequip2(id))
- continue;
- WBUFW(buf, n * 18 + 4) = i + 2;
- if (id->view_id > 0)
- WBUFW(buf, n * 18 + 6) = id->view_id;
- else
- WBUFW(buf, n * 18 + 6) = sd->status.cart[i].nameid;
- WBUFB(buf, n * 18 + 8) = id->type;
- WBUFB(buf, n * 18 + 9) = sd->status.cart[i].identify;
- WBUFW(buf, n * 18 + 10) = sd->status.cart[i].amount;
- WBUFW(buf, n * 18 + 12) = 0;
- WBUFW(buf, n * 18 + 14) = sd->status.cart[i].card[0];
- WBUFW(buf, n * 18 + 16) = sd->status.cart[i].card[1];
- WBUFW(buf, n * 18 + 18) = sd->status.cart[i].card[2];
- WBUFW(buf, n * 18 + 20) = sd->status.cart[i].card[3];
- n++;
- }
- if (n)
- {
- WBUFW(buf, 2) = 4 + n * 18;
- WFIFOSET(fd, WFIFOW(fd, 2));
- }
- return 0;
-}
-
-/*==========================================
- * カートの装備品リスト
- *------------------------------------------
- */
-int clif_cart_equiplist(struct map_session_data *sd)
-{
- struct item_data *id;
- int i, j, n, fd;
- unsigned char *buf;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
- buf = WFIFOP(fd, 0);
-
- WBUFW(buf, 0) = 0x122;
- for (i = 0, n = 0; i < MAX_INVENTORY; i++)
- {
- if (sd->status.cart[i].nameid <= 0)
- continue;
- id = itemdb_search(sd->status.cart[i].nameid);
- if (!itemdb_isequip2(id))
- continue;
- WBUFW(buf, n * 20 + 4) = i + 2;
- if (id->view_id > 0)
- WBUFW(buf, n * 20 + 6) = id->view_id;
- else
- WBUFW(buf, n * 20 + 6) = sd->status.cart[i].nameid;
- WBUFB(buf, n * 20 + 8) = id->type;
- WBUFB(buf, n * 20 + 9) = sd->status.cart[i].identify;
- WBUFW(buf, n * 20 + 10) = id->equip;
- WBUFW(buf, n * 20 + 12) = sd->status.cart[i].equip;
- if (sd->status.cart[i].broken == 1)
- WBUFB(buf, n * 20 + 14) = 1; //is weapon broken [Valaris]
- else
- WBUFB(buf, n * 20 + 14) = sd->status.cart[i].attribute;
- WBUFB(buf, n * 20 + 15) = sd->status.cart[i].refine;
- if (sd->status.cart[i].card[0] == 0x00ff
- || sd->status.cart[i].card[0] == 0x00fe
- || sd->status.cart[i].card[0] == (short) 0xff00)
- {
- WBUFW(buf, n * 20 + 16) = sd->status.cart[i].card[0];
- WBUFW(buf, n * 20 + 18) = sd->status.cart[i].card[1];
- WBUFW(buf, n * 20 + 20) = sd->status.cart[i].card[2];
- WBUFW(buf, n * 20 + 22) = sd->status.cart[i].card[3];
- }
- else
- {
- if (sd->status.cart[i].card[0] > 0
- && (j = itemdb_viewid(sd->status.cart[i].card[0])) > 0)
- WBUFW(buf, n * 20 + 16) = j;
- else
- WBUFW(buf, n * 20 + 16) = sd->status.cart[i].card[0];
- if (sd->status.cart[i].card[1] > 0
- && (j = itemdb_viewid(sd->status.cart[i].card[1])) > 0)
- WBUFW(buf, n * 20 + 18) = j;
- else
- WBUFW(buf, n * 20 + 18) = sd->status.cart[i].card[1];
- if (sd->status.cart[i].card[2] > 0
- && (j = itemdb_viewid(sd->status.cart[i].card[2])) > 0)
- WBUFW(buf, n * 20 + 20) = j;
- else
- WBUFW(buf, n * 20 + 20) = sd->status.cart[i].card[2];
- if (sd->status.cart[i].card[3] > 0
- && (j = itemdb_viewid(sd->status.cart[i].card[3])) > 0)
- WBUFW(buf, n * 20 + 22) = j;
- else
- WBUFW(buf, n * 20 + 22) = sd->status.cart[i].card[3];
- }
- n++;
- }
- if (n)
- {
- WBUFW(buf, 2) = 4 + n * 20;
- WFIFOSET(fd, WFIFOW(fd, 2));
- }
- return 0;
-}
-
-/*==========================================
* パーティ作成完了
* Relay the result of party creation.
*
@@ -4870,183 +3817,6 @@ int clif_movetoattack(struct map_session_data *sd, struct block_list *bl)
}
/*==========================================
- * 製造エフェクト
- *------------------------------------------
- */
-int clif_produceeffect(struct map_session_data *sd, int flag, int nameid)
-{
- int view, fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
- // 名前の登録と送信を先にしておく
- if (map_charid2nick(sd->status.char_id) == NULL)
- map_addchariddb(sd->status.char_id, sd->status.name);
- clif_solved_charname(sd, sd->status.char_id);
-
- WFIFOW(fd, 0) = 0x18f;
- WFIFOW(fd, 2) = flag;
- if ((view = itemdb_viewid(nameid)) > 0)
- WFIFOW(fd, 4) = view;
- else
- WFIFOW(fd, 4) = nameid;
- WFIFOSET(fd, packet_len_table[0x18f]);
- return 0;
-}
-
-/*==========================================
- * オートスペル リスト送信
- *------------------------------------------
- */
-int clif_autospell(struct map_session_data *sd, int skilllv)
-{
- int fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
- WFIFOW(fd, 0) = 0x1cd;
-
- if (skilllv > 0 && pc_checkskill(sd, MG_NAPALMBEAT) > 0)
- WFIFOL(fd, 2) = uint16_t(MG_NAPALMBEAT);
- else
- WFIFOL(fd, 2) = 0x00000000;
- if (skilllv > 1 && pc_checkskill(sd, MG_COLDBOLT) > 0)
- WFIFOL(fd, 6) = uint16_t(MG_COLDBOLT);
- else
- WFIFOL(fd, 6) = 0x00000000;
- if (skilllv > 1 && pc_checkskill(sd, MG_FIREBOLT) > 0)
- WFIFOL(fd, 10) = uint16_t(MG_FIREBOLT);
- else
- WFIFOL(fd, 10) = 0x00000000;
- if (skilllv > 1 && pc_checkskill(sd, MG_LIGHTNINGBOLT) > 0)
- WFIFOL(fd, 14) = uint16_t(MG_LIGHTNINGBOLT);
- else
- WFIFOL(fd, 14) = 0x00000000;
- if (skilllv > 4 && pc_checkskill(sd, MG_SOULSTRIKE) > 0)
- WFIFOL(fd, 18) = uint16_t(MG_SOULSTRIKE);
- else
- WFIFOL(fd, 18) = 0x00000000;
- if (skilllv > 7 && pc_checkskill(sd, MG_FIREBALL) > 0)
- WFIFOL(fd, 22) = uint16_t(MG_FIREBALL);
- else
- WFIFOL(fd, 22) = 0x00000000;
- if (skilllv > 9 && pc_checkskill(sd, MG_FROSTDIVER) > 0)
- WFIFOL(fd, 26) = uint16_t(MG_FROSTDIVER);
- else
- WFIFOL(fd, 26) = 0x00000000;
-
- WFIFOSET(fd, packet_len_table[0x1cd]);
- return 0;
-}
-
-/*==========================================
- * ディボーションの青い糸
- *------------------------------------------
- */
-int clif_devotion(struct map_session_data *sd, int)
-{
- unsigned char buf[56];
- int n;
-
- nullpo_ret(sd);
-
- WBUFW(buf, 0) = 0x1cf;
- WBUFL(buf, 2) = sd->bl.id;
-// WBUFL(buf,6)=target;
- for (n = 0; n < 5; n++)
- WBUFL(buf, 6 + 4 * n) = sd->dev.val2[n];
-// WBUFL(buf,10+4*n)=0;
- WBUFB(buf, 26) = 8;
- WBUFB(buf, 27) = 0;
-
- clif_send(buf, packet_len_table[0x1cf], &sd->bl, AREA);
- return 0;
-}
-
-/*==========================================
- * 氣球
- *------------------------------------------
- */
-int clif_spiritball(struct map_session_data *sd)
-{
- unsigned char buf[16];
-
- nullpo_ret(sd);
-
- WBUFW(buf, 0) = 0x1d0;
- WBUFL(buf, 2) = sd->bl.id;
- WBUFW(buf, 6) = sd->spiritball;
- clif_send(buf, packet_len_table[0x1d0], &sd->bl, AREA);
- return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int clif_combo_delay(struct block_list *bl, int wait)
-{
- unsigned char buf[32];
-
- nullpo_ret(bl);
-
- WBUFW(buf, 0) = 0x1d2;
- WBUFL(buf, 2) = bl->id;
- WBUFL(buf, 6) = wait;
- clif_send(buf, packet_len_table[0x1d2], bl, AREA);
-
- return 0;
-}
-
-/*==========================================
- *白刃取り
- *------------------------------------------
- */
-int clif_bladestop(struct block_list *src, struct block_list *dst, int boolean)
-{
- unsigned char buf[32];
-
- nullpo_ret(src);
- nullpo_ret(dst);
-
- WBUFW(buf, 0) = 0x1d1;
- WBUFL(buf, 2) = src->id;
- WBUFL(buf, 6) = dst->id;
- WBUFL(buf, 10) = boolean;
-
- clif_send(buf, packet_len_table[0x1d1], src, AREA);
-
- return 0;
-}
-
-/*==========================================
- *
- *------------------------------------------
- */
-int clif_changemapcell(int m, int x, int y, int cell_type, int type)
-{
- struct block_list bl;
- uint8_t buf[32];
-
- bl.m = m;
- bl.x = x;
- bl.y = y;
- WBUFW(buf, 0) = 0x192;
- WBUFW(buf, 2) = x;
- WBUFW(buf, 4) = y;
- WBUFW(buf, 6) = cell_type;
- memcpy(WBUFP(buf, 8), map[m].name, 16);
- if (!type)
- clif_send(buf, packet_len_table[0x192], &bl, AREA);
- else
- clif_send(buf, packet_len_table[0x192], &bl, ALL_SAMEMAP);
-
- return 0;
-}
-
-/*==========================================
* MVPエフェクト
*------------------------------------------
*/
@@ -5063,43 +3833,6 @@ int clif_mvp_effect(struct map_session_data *sd)
}
/*==========================================
- * MVPアイテム所得
- *------------------------------------------
- */
-int clif_mvp_item(struct map_session_data *sd, int nameid)
-{
- int view, fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
- WFIFOW(fd, 0) = 0x10a;
- if ((view = itemdb_viewid(nameid)) > 0)
- WFIFOW(fd, 2) = view;
- else
- WFIFOW(fd, 2) = nameid;
- WFIFOSET(fd, packet_len_table[0x10a]);
- return 0;
-}
-
-/*==========================================
- * MVP経験値所得
- *------------------------------------------
- */
-int clif_mvp_exp(struct map_session_data *sd, int exp)
-{
- int fd;
-
- nullpo_ret(sd);
-
- fd = sd->fd;
- WFIFOW(fd, 0) = 0x10b;
- WFIFOL(fd, 2) = exp;
- WFIFOSET(fd, packet_len_table[0x10b]);
- return 0;
-}
-
-/*==========================================
* エモーション
*------------------------------------------
*/
@@ -5138,37 +3871,6 @@ void clif_emotion_towards(struct block_list *bl,
}
/*==========================================
- * トーキーボックス
- *------------------------------------------
- */
-void clif_talkiebox(struct block_list *bl, const char *talkie)
-{
- unsigned char buf[86];
-
- nullpo_retv(bl);
-
- WBUFW(buf, 0) = 0x191;
- WBUFL(buf, 2) = bl->id;
- memcpy(WBUFP(buf, 6), talkie, 80);
- clif_send(buf, packet_len_table[0x191], bl, AREA);
-}
-
-/*==========================================
- * 結婚エフェクト
- *------------------------------------------
- */
-void clif_wedding_effect(struct block_list *bl)
-{
- unsigned char buf[6];
-
- nullpo_retv(bl);
-
- WBUFW(buf, 0) = 0x1ea;
- WBUFL(buf, 2) = bl->id;
- clif_send(buf, packet_len_table[0x1ea], bl, AREA);
-}
-
-/*==========================================
* 座る
*------------------------------------------
*/
@@ -5243,29 +3945,6 @@ int clif_GM_kick(struct map_session_data *sd, struct map_session_data *tsd,
return 0;
}
-/*==========================================
- * サウンドエフェクト
- *------------------------------------------
- */
-void clif_soundeffect(struct map_session_data *sd, struct block_list *bl,
- const char *name, int type)
-{
- int fd;
-
- nullpo_retv(sd);
- nullpo_retv(bl);
-
- fd = sd->fd;
- WFIFOW(fd, 0) = 0x1d3;
- memcpy(WFIFOP(fd, 2), name, 24);
- WFIFOB(fd, 26) = type;
- WFIFOL(fd, 27) = 0;
- WFIFOL(fd, 31) = bl->id;
- WFIFOSET(fd, packet_len_table[0x1d3]);
-
- return;
-}
-
// displaying special effects (npcs, weather, etc) [Valaris]
int clif_specialeffect(struct block_list *bl, int type, int flag)
{
@@ -5388,13 +4067,6 @@ void clif_parse_LoadEndAck(int, struct map_session_data *sd)
// item
clif_itemlist(sd);
clif_equiplist(sd);
- // cart
- if (pc_iscarton(sd))
- {
- clif_cart_itemlist(sd);
- clif_cart_equiplist(sd);
- clif_updatestatus(sd, SP_CARTINFO);
- }
// param all
clif_initialstatus(sd);
// party
@@ -5428,7 +4100,6 @@ void clif_parse_LoadEndAck(int, struct map_session_data *sd)
sd->pvp_lastusers = 0;
sd->pvp_point = 5;
}
- clif_set0199(sd->fd, 1);
}
else
{
@@ -6968,56 +5639,6 @@ void clif_parse_GMHide(int fd, struct map_session_data *sd)
}
}
-/*==========================================
- * GMによるチャット禁止時間付与
- *------------------------------------------
- */
-static
-void clif_parse_GMReqNoChat(int fd, struct map_session_data *sd)
-{
- int tid = RFIFOL(fd, 2);
- int type = RFIFOB(fd, 6);
- int limit = RFIFOW(fd, 7);
- struct block_list *bl = map_id2bl(tid);
- struct map_session_data *dstsd;
- int dstfd;
-
- nullpo_retv(sd);
-
- if (!battle_config.muting_players)
- {
- clif_displaymessage(fd, "Muting is disabled.");
- return;
- }
-
- if (type == 0)
- limit = 0 - limit;
- if (bl->type == BL_PC && (dstsd = (struct map_session_data *) bl))
- {
- if ((tid == bl->id && type == 2 && !pc_isGM(sd))
- || (pc_isGM(sd) > pc_isGM(dstsd)))
- {
- dstfd = dstsd->fd;
- WFIFOW(dstfd, 0) = 0x14b;
- WFIFOB(dstfd, 2) = (type == 2) ? 1 : type;
- memcpy(WFIFOP(dstfd, 3), sd->status.name, 24);
- WFIFOSET(dstfd, packet_len_table[0x14b]);
- dstsd->status.manner -= limit;
- if (dstsd->status.manner < 0)
- skill_status_change_start(bl, SC_NOCHAT, 0, 0, 0, 0, 0, 0);
- else
- {
- dstsd->status.manner = 0;
- skill_status_change_end(bl, SC_NOCHAT, -1);
- }
- printf("name:%s type:%d limit:%d manner:%d\n",
- dstsd->status.name, type, limit, dstsd->status.manner);
- }
- }
-
- return;
-}
-
// 4144 wants this, but I don't like it ...
static
void clif_parse_PMIgnoreAll(int fd, struct map_session_data *sd)
@@ -7408,7 +6029,7 @@ func_table clif_parse_func_table[0x220] =
{ clif_parse_NpcCloseClicked, 300 }, // 146
{ NULL, 0 }, // 147
{ NULL, 0 }, // 148
- { clif_parse_GMReqNoChat, 0 }, // 149
+ { NULL, 0 }, // 149
{ NULL, 0 }, // 14a
{ NULL, 0 }, // 14b
{ NULL, 0 }, // 14c
diff --git a/src/map/clif.hpp b/src/map/clif.hpp
index 3952933..fd8c9b1 100644
--- a/src/map/clif.hpp
+++ b/src/map/clif.hpp
@@ -53,7 +53,6 @@ int clif_viewpoint(struct map_session_data *, int, int, int, int, int, int); //
int clif_additem(struct map_session_data *, int, int, int); //self
int clif_delitem(struct map_session_data *, int, int); //self
int clif_updatestatus(struct map_session_data *, int); //self
-int clif_changestatus(struct block_list *, int, int); //area
int clif_damage(struct block_list *, struct block_list *, unsigned int, int, int, int, int, int, int); // area
#define clif_takeitem(src,dst) clif_damage(src,dst,0,0,0,0,0,1,0)
int clif_changelook(struct block_list *, int, int); // area
@@ -67,18 +66,8 @@ int clif_misceffect(struct block_list *, int); // area
int clif_changeoption(struct block_list *); // area
int clif_useitemack(struct map_session_data *, int, int, int); // self
-int clif_dispchat(struct chat_data *, int); // area or fd
-int clif_changechatowner(struct chat_data *, struct map_session_data *); // chat
-int clif_clearchat(struct chat_data *, int); // area or fd
-int clif_leavechat(struct chat_data *, struct map_session_data *); // chat
-
void clif_emotion(struct block_list *bl, int type);
-void clif_talkiebox(struct block_list *bl, const char *talkie);
-void clif_wedding_effect(struct block_list *bl);
void clif_sitting(int fd, struct map_session_data *sd);
-//void clif_sitting(struct map_session_data *sd);
-void clif_soundeffect(struct map_session_data *sd, struct block_list *bl,
- const char *name, int type);
// trade
int clif_traderequest(struct map_session_data *sd, const char *name);
@@ -109,50 +98,17 @@ void clif_pcoutsight(struct block_list *, struct map_session_data *);
void clif_mobinsight(struct block_list *, struct mob_data *);
void clif_moboutsight(struct block_list *, struct mob_data *);
-int clif_npc_class_change(struct block_list *bl, int npc_class, int type);
-int clif_mob_class_change(struct mob_data *md, int mob_class);
-int clif_mob_equip(struct mob_data *md, int nameid); // [Valaris]
-
int clif_skillinfo(struct map_session_data *sd, SkillID skillid, int type,
int range);
int clif_skillinfoblock(struct map_session_data *sd);
int clif_skillup(struct map_session_data *sd, SkillID skill_num);
-int clif_skillcasting(struct block_list *bl,
- int src_id, int dst_id, int dst_x, int dst_y,
- SkillID skill_num, int casttime);
int clif_skillcastcancel(struct block_list *bl);
int clif_skill_fail(struct map_session_data *sd, SkillID skill_id, int type,
int btype);
int clif_skill_damage(struct block_list *src, struct block_list *dst,
unsigned int tick, int sdelay, int ddelay, int damage,
int div, SkillID skill_id, int skill_lv, int type);
-int clif_skill_nodamage(struct block_list *src, struct block_list *dst,
- SkillID skill_id, int heal, int fail);
-int clif_skill_poseffect(struct block_list *src, SkillID skill_id, int val,
- int x, int y, int tick);
-int clif_skill_estimation(struct map_session_data *sd,
- struct block_list *dst);
-int clif_skill_warppoint(struct map_session_data *sd, SkillID skill_num,
- const char *map1, const char *map2,
- const char *map3, const char *map4);
-int clif_skill_memo(struct map_session_data *sd, int flag);
-int clif_skill_teleportmessage(struct map_session_data *sd, int flag);
-
-int clif_produceeffect(struct map_session_data *sd, int flag, int nameid);
-
-int clif_skill_setunit(struct skill_unit *unit);
-int clif_skill_delunit(struct skill_unit *unit);
-
-int clif_01ac(struct block_list *bl);
-
-int clif_autospell(struct map_session_data *sd, int skilllv);
-int clif_devotion(struct map_session_data *sd, int target);
-int clif_spiritball(struct map_session_data *sd);
-int clif_combo_delay(struct block_list *src, int wait);
-int clif_bladestop(struct block_list *src, struct block_list *dst,
- int boolean);
-int clif_changemapcell(int m, int x, int y, int cell_type, int type);
int clif_status_change(struct block_list *bl,
StatusChange type, int flag);
@@ -160,25 +116,10 @@ int clif_status_change(struct block_list *bl,
int clif_wis_message(int fd, const char *nick, const char *mes, int mes_len);
int clif_wis_end(int fd, int flag);
-int clif_solved_charname(struct map_session_data *sd, int char_id);
-
int clif_itemlist(struct map_session_data *sd);
int clif_equiplist(struct map_session_data *sd);
-int clif_cart_additem(struct map_session_data *, int, int, int);
-int clif_cart_delitem(struct map_session_data *, int, int);
-int clif_cart_itemlist(struct map_session_data *sd);
-int clif_cart_equiplist(struct map_session_data *sd);
-
-int clif_item_identify_list(struct map_session_data *sd);
-int clif_item_repair_list(struct map_session_data *sd);
-
-int clif_item_skill(struct map_session_data *sd, SkillID skillid, int skilllv,
- const char *name);
-
int clif_mvp_effect(struct map_session_data *sd);
-int clif_mvp_item(struct map_session_data *sd, int nameid);
-int clif_mvp_exp(struct map_session_data *sd, int exp);
int clif_movetoattack(struct map_session_data *sd, struct block_list *bl);
@@ -200,14 +141,7 @@ int clif_party_hp(struct party *p, struct map_session_data *sd);
int clif_displaymessage(int fd, const char *mes);
int clif_disp_onlyself(struct map_session_data *sd, const char *mes, int len);
int clif_GMmessage(struct block_list *bl, const char *mes, int len, int flag);
-int clif_heal(int fd, int type, int val);
int clif_resurrection(struct block_list *bl, int type);
-int clif_set0199(int fd, int type);
-int clif_pvpset(struct map_session_data *sd, int pvprank, int pvpnum,
- int type);
-int clif_send0199(int map, int type);
-int clif_refine(int fd, struct map_session_data *sd, int fail, int index,
- int val);
int clif_specialeffect(struct block_list *bl, int type, int flag); // special effects [Valaris]
int clif_message(struct block_list *bl, const char *msg); // messages (from mobs/npcs) [Valaris]
diff --git a/src/map/map.cpp b/src/map/map.cpp
index 2d49739..d4a9289 100644
--- a/src/map/map.cpp
+++ b/src/map/map.cpp
@@ -994,16 +994,9 @@ void map_addchariddb(int charid, const char *name)
else
numdb_erase(charid_db, charid);
- int req = p->req_id;
memcpy(p->nick, name, 24);
p->req_id = 0;
numdb_insert(charid_db, charid, p);
- if (req)
- { // 返信待ちがあれば返信
- struct map_session_data *sd = map_id2sd(req);
- if (sd != NULL)
- clif_solved_charname(sd, charid);
- }
}
/*==========================================
diff --git a/src/map/map.hpp b/src/map/map.hpp
index 1c9eb82..93032bb 100644
--- a/src/map/map.hpp
+++ b/src/map/map.hpp
@@ -639,7 +639,7 @@ struct flooritem_data
enum
{
- SP_SPEED, SP_BASEEXP, SP_JOBEXP, SP_KARMA, SP_MANNER, SP_HP, SP_MAXHP, SP_SP, // 0-7
+ SP_SPEED, SP_BASEEXP, SP_JOBEXP, SP_KARMA, _sp_manner, SP_HP, SP_MAXHP, SP_SP, // 0-7
SP_MAXSP, SP_STATUSPOINT, SP_0a, SP_BASELEVEL, SP_SKILLPOINT, SP_STR, SP_AGI, SP_VIT, // 8-15
SP_INT, SP_DEX, SP_LUK, SP_CLASS, SP_ZENY, SP_SEX, SP_NEXTBASEEXP, SP_NEXTJOBEXP, // 16-23
SP_WEIGHT, SP_MAXWEIGHT, SP_1a, SP_1b, SP_1c, SP_1d, SP_1e, SP_1f, // 24-31
@@ -648,7 +648,6 @@ enum
SP_MDEF2, SP_HIT, SP_FLEE1, SP_FLEE2, SP_CRITICAL, SP_ASPD, SP_36, SP_JOBLEVEL, // 48-55
SP_UPPER, SP_PARTNER, SP_CART, SP_FAME, SP_UNBREAKABLE, //56-58
SP_DEAF = 70,
- SP_CARTINFO = 99, // 99
SP_GM = 500,
// original 1000-
diff --git a/src/map/mob.cpp b/src/map/mob.cpp
index db4e326..064fba4 100644
--- a/src/map/mob.cpp
+++ b/src/map/mob.cpp
@@ -2680,12 +2680,10 @@ int mob_damage(struct block_list *src, struct mob_data *md, int damage,
/* ソウルドレイン */
if (sd && (skill = pc_checkskill(sd, HW_SOULDRAIN)) > 0)
{
- clif_skill_nodamage(src, &md->bl, HW_SOULDRAIN, skill, 1);
sp = (battle_get_lv(&md->bl)) * (65 + 15 * skill) / 100;
if (sd->status.sp + sp > sd->status.max_sp)
sp = sd->status.max_sp - sd->status.sp;
sd->status.sp += sp;
- clif_heal(sd->fd, SP_SP, sp);
}
// map外に消えた人は計算から除くので
@@ -2912,7 +2910,6 @@ int mob_damage(struct block_list *src, struct mob_data *md, int damage,
if (mexp < 1)
mexp = 1;
clif_mvp_effect(mvp_sd); // エフェクト
- clif_mvp_exp(mvp_sd, mexp);
pc_gainexp(mvp_sd, mexp, 0);
for (j = 0; j < 3; j++)
{
@@ -2931,7 +2928,6 @@ int mob_damage(struct block_list *src, struct mob_data *md, int damage,
memset(&item, 0, sizeof(item));
item.nameid = mob_db[md->mob_class].mvpitem[i].nameid;
item.identify = !itemdb_isequip3(item.nameid);
- clif_mvp_item(mvp_sd, item.nameid);
if (mvp_sd->weight * 2 > mvp_sd->max_weight)
map_addflooritem(&item, 1, mvp_sd->bl.m, mvp_sd->bl.x,
mvp_sd->bl.y, mvp_sd, second_sd,
@@ -3017,7 +3013,6 @@ int mob_class_change(struct mob_data *md, int *value)
max_hp = battle_get_max_hp(&md->bl);
hp_rate = md->hp * 100 / max_hp;
- clif_mob_class_change(md, mob_class);
md->mob_class = mob_class;
max_hp = battle_get_max_hp(&md->bl);
if (battle_config.monster_class_change_full_recover == 1)
@@ -3299,9 +3294,6 @@ int mob_summonslave(struct mob_data *md2, int *value, int amount, int flag)
md->bl.type = BL_MOB;
map_addiddb(&md->bl);
mob_spawn(md->bl.id);
- clif_skill_nodamage(&md->bl, &md->bl,
- (flag) ? NPC_SUMMONSLAVE : NPC_SUMMONMONSTER,
- a, 1);
if (flag)
md->master_id = md2->bl.id;
@@ -3703,21 +3695,6 @@ int mobskill_use_id(struct mob_data *md, struct block_list *target,
target->id, uint16_t(skill_id), skill_lv,
casttime, md->mob_class);
- if (casttime > 0 || forcecast)
- { // 詠唱が必要
-// struct mob_data *md2;
- clif_skillcasting(&md->bl,
- md->bl.id, target->id, 0, 0, skill_id, casttime);
-
- // 詠唱反応モンスター
-/* if ( target->type==BL_MOB && mob_db[(md2= (struct mob_data *)target)->mob_class].mode&0x10 &&
- md2->state.state!=MS_ATTACK){
- md2->target_id=md->bl.id;
- md->state.targettype = ATTACKABLE;
- md2->min_chase=13;
- }*/
- }
-
if (casttime <= 0) // 詠唱の無いものはキャンセルされない
md->state.skillcastcancel = 0;
@@ -3805,11 +3782,6 @@ int mobskill_use_pos(struct mob_data *md,
skill_x, skill_y, uint16_t(skill_id), skill_lv,
casttime, md->mob_class);
- if (casttime > 0) // A cast time is required.
- clif_skillcasting(&md->bl,
- md->bl.id, 0, skill_x, skill_y, skill_id,
- casttime);
-
if (casttime <= 0) // A skill without a cast time wont be cancelled.
md->state.skillcastcancel = 0;
diff --git a/src/map/pc.cpp b/src/map/pc.cpp
index 4aa87c9..7703b2f 100644
--- a/src/map/pc.cpp
+++ b/src/map/pc.cpp
@@ -268,7 +268,6 @@ void pc_spiritball_timer(timer_id tid, tick_t, custom_id_t id, custom_data_t)
sd->spiritball--;
if (sd->spiritball < 0)
sd->spiritball = 0;
- clif_spiritball(sd);
}
int pc_addspiritball(struct map_session_data *sd, int interval, int max)
@@ -300,12 +299,11 @@ int pc_addspiritball(struct map_session_data *sd, int interval, int max)
sd->spirit_timer[sd->spiritball - 1] =
add_timer(gettick() + interval, pc_spiritball_timer, sd->bl.id, 0);
- clif_spiritball(sd);
return 0;
}
-int pc_delspiritball(struct map_session_data *sd, int count, int type)
+int pc_delspiritball(struct map_session_data *sd, int count, int)
{
int i;
@@ -337,9 +335,6 @@ int pc_delspiritball(struct map_session_data *sd, int count, int type)
sd->spirit_timer[i] = -1;
}
- if (!type)
- clif_spiritball(sd);
-
return 0;
}
@@ -3656,7 +3651,6 @@ int pc_isUseitem(struct map_session_data *sd, int n)
if (nameid == 601
&& (map[sd->bl.m].flag.noteleport))
{
- clif_skill_teleportmessage(sd, 0);
return 0;
}
@@ -3708,7 +3702,7 @@ int pc_useitem(struct map_session_data *sd, int n)
*------------------------------------------
*/
static
-int pc_cart_delitem(struct map_session_data *sd, int n, int amount, int type)
+int pc_cart_delitem(struct map_session_data *sd, int n, int amount, int)
{
nullpo_retr(1, sd);
@@ -3722,11 +3716,6 @@ int pc_cart_delitem(struct map_session_data *sd, int n, int amount, int type)
memset(&sd->status.cart[n], 0, sizeof(sd->status.cart[0]));
sd->cart_num--;
}
- if (!type)
- {
- clif_cart_delitem(sd, n, amount);
- clif_updatestatus(sd, SP_CARTINFO);
- }
return 0;
}
@@ -6363,8 +6352,6 @@ int pc_jobchange(struct map_session_data *sd, int job, int upper)
if (sd->status.clothes_color > 0)
clif_changelook(&sd->bl, LOOK_CLOTHES_COLOR,
sd->status.clothes_color);
- if (battle_config.muting_players && sd->status.manner < 0)
- clif_changestatus(&sd->bl, SP_MANNER, sd->status.manner);
pc_calcstatus(sd, 0);
pc_checkallowskill(sd);
@@ -6474,9 +6461,6 @@ int pc_setcart(struct map_session_data *sd, int type)
if (!pc_iscarton(sd))
{ // カートを付けていない
pc_setoption(sd, cart[type]);
- clif_cart_itemlist(sd);
- clif_cart_equiplist(sd);
- clif_updatestatus(sd, SP_CARTINFO);
clif_status_change(&sd->bl, StatusChange::CART, 0);
}
else
@@ -7430,22 +7414,17 @@ void pc_calc_pvprank_sub(struct block_list *bl, struct map_session_data *sd2)
*/
int pc_calc_pvprank(struct map_session_data *sd)
{
- int old;
struct map_data *m;
nullpo_ret(sd);
nullpo_ret(m = &map[sd->bl.m]);
- old = sd->pvp_rank;
-
if (!(m->flag.pvp))
return 0;
sd->pvp_rank = 1;
map_foreachinarea(std::bind(pc_calc_pvprank_sub, ph::_1, sd),
sd->bl.m, 0, 0, m->xs, m->ys,
BL_PC);
- if (old != sd->pvp_rank || sd->pvp_lastusers != m->users)
- clif_pvpset(sd, sd->pvp_rank, sd->pvp_lastusers = m->users, 0);
return sd->pvp_rank;
}
@@ -7690,7 +7669,6 @@ int pc_natural_heal_hp(struct map_session_data *sd)
sd->status.hp = sd->status.max_hp;
sd->hp_sub = sd->inchealhptick = 0;
}
- clif_heal(sd->fd, SP_HP, bonus);
}
}
}
@@ -7715,7 +7693,6 @@ int pc_natural_heal_hp(struct map_session_data *sd)
sd->status.hp = sd->status.max_hp;
sd->hp_sub = sd->inchealhptick = 0;
}
- clif_heal(sd->fd, SP_HP, bonus);
}
}
}
@@ -7795,7 +7772,6 @@ int pc_natural_heal_sp(struct map_session_data *sd)
sd->status.sp = sd->status.max_sp;
sd->sp_sub = sd->inchealsptick = 0;
}
- clif_heal(sd->fd, SP_SP, bonus);
}
}
}
@@ -7843,7 +7819,6 @@ int pc_spirit_heal_hp(struct map_session_data *sd, int)
bonus_hp = sd->status.max_hp - sd->status.hp;
sd->status.hp = sd->status.max_hp;
}
- clif_heal(sd->fd, SP_HP, bonus_hp);
sd->inchealspirithptick = 0;
}
}
@@ -7894,7 +7869,6 @@ int pc_spirit_heal_sp(struct map_session_data *sd, int)
bonus_sp = sd->status.max_sp - sd->status.sp;
sd->status.sp = sd->status.max_sp;
}
- clif_heal(sd->fd, SP_SP, bonus_sp);
sd->inchealspiritsptick = 0;
}
}
diff --git a/src/map/script.cpp b/src/map/script.cpp
index 690e938..43451ef 100644
--- a/src/map/script.cpp
+++ b/src/map/script.cpp
@@ -3579,7 +3579,6 @@ void builtin_pvpon(ScriptState *st)
if (m >= 0 && !map[m].flag.pvp && !map[m].flag.nopvp)
{
map[m].flag.pvp = 1;
- clif_send0199(m, 1);
if (battle_config.pk_mode) // disable ranking functions if pk_mode is on [Valaris]
return;
@@ -3615,7 +3614,6 @@ void builtin_pvpoff(ScriptState *st)
if (m >= 0 && map[m].flag.pvp && map[m].flag.nopvp)
{
map[m].flag.pvp = 0;
- clif_send0199(m, 0);
if (battle_config.pk_mode) // disable ranking options if pk_mode is on [Valaris]
return;
@@ -3627,7 +3625,6 @@ void builtin_pvpoff(ScriptState *st)
{
if (m == pl_sd->bl.m)
{
- clif_pvpset(pl_sd, 0, 0, 2);
if (pl_sd->pvp_timer != -1)
{
delete_timer(pl_sd->pvp_timer,
diff --git a/src/map/skill.cpp b/src/map/skill.cpp
index f45f73d..06351dc 100644
--- a/src/map/skill.cpp
+++ b/src/map/skill.cpp
@@ -1394,7 +1394,7 @@ int skill_additional_effect(struct block_list *src, struct block_list *bl,
pc_checkskill(sd, TF_STEAL)) * 10 > MRAND(1000))
{
if (pc_steal_item(sd, bl))
- clif_skill_nodamage(src, bl, TF_STEAL, skill2, 1);
+ {}
else
clif_skill_fail(sd, skillid, 0, 0);
}
@@ -2010,10 +2010,8 @@ int skill_attack(int attack_type, struct block_list *src,
}
else //回復SP+現在のSPがMSPより小さい場合は回復SPを加算
((struct map_session_data *) bl)->status.sp += sp;
- clif_heal(((struct map_session_data *) bl)->fd, SP_SP, sp); //SP回復エフェクトの表示
((struct map_session_data *) bl)->canact_tick = tick + skill_delayfix(bl, skill_get_delay(SA_MAGICROD, sc_data[SC_MAGICROD].val1)); //
}
- clif_skill_nodamage(bl, bl, SA_MAGICROD, sc_data[SC_MAGICROD].val1, 1); //マジックロッドエフェクトを表示
}
//マジックロッド処理ここまで
@@ -2055,7 +2053,6 @@ int skill_attack(int attack_type, struct block_list *src,
0, 0, delay, 0); //コンボ状態に
}
sd->attackabletime = sd->canmove_tick = tick + delay;
- clif_combo_delay(src, delay); //コンボディレイパケットの送信
}
//連打掌(MO_CHAINCOMBO)ここまで
//猛龍拳(MO_COMBOFINISH)ここから
@@ -2081,7 +2078,6 @@ int skill_attack(int attack_type, struct block_list *src,
0, 0, delay, 0); //コンボ状態に
}
sd->attackabletime = sd->canmove_tick = tick + delay;
- clif_combo_delay(src, delay); //コンボディレイパケットの送信
}
//猛龍拳(MO_COMBOFINISH)ここまで
//伏虎拳(CH_TIGERFIST)ここから
@@ -2099,7 +2095,6 @@ int skill_attack(int attack_type, struct block_list *src,
0, 0, delay, 0); //コンボ状態に
}
sd->attackabletime = sd->canmove_tick = tick + delay;
- clif_combo_delay(src, delay); //コンボディレイパケットの送信
}
//伏虎拳(CH_TIGERFIST)ここまで
//連柱崩撃(CH_CHAINCRUSH)ここから
@@ -2120,7 +2115,6 @@ int skill_attack(int attack_type, struct block_list *src,
0, 0, delay, 0); //コンボ状態に
}
sd->attackabletime = sd->canmove_tick = tick + delay;
- clif_combo_delay(src, delay); //コンボディレイパケットの送信
}
//連柱崩撃(CH_CHAINCRUSH)ここまで
}
@@ -2540,8 +2534,6 @@ void skill_timer(timer_id, tick_t tick, custom_id_t id, custom_data_t data)
switch (skl->skill_id)
{
case TF_BACKSLIDING:
- clif_skill_nodamage(src, src, skl->skill_id, skl->skill_lv,
- 1);
break;
case RG_INTIMIDATE:
if (sd && !map[src->m].flag.noteleport)
@@ -2630,8 +2622,6 @@ void skill_timer(timer_id, tick_t tick, custom_id_t id, custom_data_t data)
skill_unitsetting(src, skl->skill_id, skl->skill_lv,
skl->type >> 16, skl->type & 0xFFFF,
0);
- clif_skill_poseffect(src, skl->skill_id, skl->skill_lv,
- skl->x, skl->y, tick);
}
else
skill_unitsetting(src, skl->skill_id, skl->skill_lv,
@@ -3231,7 +3221,6 @@ int skill_castend_damage_id(struct block_list *src, struct block_list *bl,
break;
case WZ_SIGHTRASHER:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_castend_pos2(src, bl->x, bl->y, skillid, skilllv, tick, 0);
skill_status_change_end(src, SC_SIGHT, -1);
break;
@@ -3302,8 +3291,6 @@ int skill_castend_damage_id(struct block_list *src, struct block_list *bl,
{
skill_area_temp[1] = bl->id;
skill_area_temp[2] = battle_get_hp(src);
- clif_skill_nodamage(src, src, NPC_SELFDESTRUCTION, -1,
- 1);
map_foreachinarea(std::bind(skill_area_sub, ph::_1, src, skillid, skilllv, tick, flag | BCT_ENEMY | 1, skill_castend_damage_id),
bl->m, bl->x - 5, bl->y - 5,
bl->x + 5, bl->y + 5, 0);
@@ -3322,15 +3309,7 @@ int skill_castend_damage_id(struct block_list *src, struct block_list *bl,
NPC_BLOODDRAIN) ? BF_WEAPON : BF_MAGIC, src,
src, bl, skillid, skilllv, tick, flag);
if (heal > 0)
- {
- struct block_list tbl;
- tbl.id = 0;
- tbl.m = src->m;
- tbl.x = src->x;
- tbl.y = src->y;
- clif_skill_nodamage(&tbl, src, AL_HEAL, heal, 1);
battle_heal(NULL, src, heal, 0, 0);
- }
}
break;
case SkillID::ZERO:
@@ -3446,7 +3425,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
heal = heal * 2; //スパノビの嫁が旦那にヒールすると2倍になる
}
- clif_skill_nodamage(src, bl, skillid, heal, 1);
heal_get_jobexp = battle_heal(NULL, bl, heal, 0, 0);
// JOB経験値獲得
@@ -3474,7 +3452,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
if (pc_isdead(tsd))
{ /* 死亡判定 */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
switch (skilllv)
{
case 1:
@@ -3548,7 +3525,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
(battle_get_lv(src) + battle_get_int(src) / 5) -
sc_def_mdef))
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl,
SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0,
@@ -3577,7 +3553,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
else
{
int range = 15;
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
map_foreachinarea(std::bind(skill_area_sub, ph::_1, src, skillid, skilllv, tick, flag | BCT_ENEMY | 1, skill_castend_nodamage_id),
src->m, src->x - range, src->y - range,
src->x + range, src->y + range, 0);
@@ -3587,7 +3562,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case PR_LEXDIVINA: /* レックスディビーナ */
{
eptr<struct status_change, StatusChange> sc_data = battle_get_sc_data(bl);
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -3607,7 +3581,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case SA_ABRACADABRA:
break;
case SA_COMA:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -3623,7 +3596,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
dstmd->hp = 1;
break;
case SA_FULLRECOVERY:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -3634,51 +3606,42 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
dstmd->hp = battle_get_max_hp(&dstmd->bl);
break;
case SA_SUMMONMONSTER:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (sd)
mob_once_spawn(sd, map[sd->bl.m].name, sd->bl.x, sd->bl.y,
"--ja--", -1, 1, "");
break;
case SA_LEVELUP:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (sd && pc_nextbaseexp(sd))
pc_gainexp(sd, pc_nextbaseexp(sd) * 10 / 100, 0);
break;
case SA_INSTANTDEATH:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (sd)
pc_damage(NULL, sd, sd->status.max_hp);
break;
case SA_QUESTION:
case SA_GRAVITY:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
break;
case SA_CLASSCHANGE:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (dstmd)
mob_class_change(dstmd, changeclass);
break;
case SA_MONOCELL:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (dstmd)
mob_class_change(dstmd, poringclass);
break;
case SA_DEATH:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (dstsd)
pc_damage(NULL, dstsd, dstsd->status.max_hp);
if (dstmd)
mob_damage(NULL, dstmd, dstmd->hp, 1);
break;
case SA_REVERSEORCISH:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (dstsd)
pc_setoption(dstsd, dstsd->status.option | Option::ORC_HEAD);
break;
case SA_FORTUNE:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (sd)
pc_getzeny(sd, battle_get_lv(bl) * 100);
break;
@@ -3695,7 +3658,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
}
else
{
@@ -3704,7 +3666,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
skilllv, 0, 0, 0,
skill_get_time(skillid, skilllv),
0);
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
}
break;
@@ -3716,7 +3677,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 0);
break;
}
if (bl->type == BL_PC)
@@ -3730,14 +3690,12 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
|| sd2->sc_data[SC_ENCPOISON].timer != -1)
{
clif_skill_fail(sd, skillid, 0, 0);
- clif_skill_nodamage(src, bl, skillid, skilllv, 0);
break;
}
}
if (MRAND(100) > (75 + skilllv * 1) && (skilllv != 5))
{
clif_skill_fail(sd, skillid, 0, 0);
- clif_skill_nodamage(src, bl, skillid, skilllv, 0);
if (bl->type == BL_PC && battle_config.equipment_breaking)
{
struct map_session_data *sd2 =
@@ -3756,12 +3714,10 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
skilllv, 0, 0, 0,
skill_get_time(skillid, skilllv),
0);
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
}
break;
case PR_ASPERSIO: /* アスペルシオ */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -3773,7 +3729,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
skill_get_time(skillid, skilllv), 0);
break;
case PR_KYRIE: /* キリエエレイソン */
- clif_skill_nodamage(bl, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -3805,7 +3760,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case ST_REJECTSWORD: /* リジェクトソード */
case HW_MAGICPOWER: /* 魔法力増幅 */
case PF_MEMORIZE: /* メモライズ */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0,
skill_get_time(skillid, skilllv), 0);
@@ -3820,18 +3774,15 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
|| sd2->sc_data[SC_SEISMICWEAPON].timer != -1
|| sd2->sc_data[SC_ENCPOISON].timer != -1)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 0);
clif_skill_fail(sd, skillid, 0, 0);
break;
}
}
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0,
skill_get_time(skillid, skilllv), 0);
break;
case LK_TENSIONRELAX: /* テンションリラックス */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
pc_setsit(sd);
clif_sitting(sd->fd, sd);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
@@ -3839,12 +3790,10 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
skill_get_time(skillid, skilllv), 0);
break;
case MC_CHANGECART:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
break;
case AC_CONCENTRATION: /* 集中力向上 */
{
int range = 1;
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0,
skill_get_time(skillid, skilllv), 0);
@@ -3864,7 +3813,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
return 1;
}
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0,
skill_get_time(skillid, skilllv), 0);
@@ -3934,8 +3882,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
return 1;
}
}
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
- clif_devotion(sd, bl->id);
skill_status_change_start(bl,
SkillStatusChangeTable[skillid],
src->id, 1, 0, 0,
@@ -3947,7 +3893,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case MO_CALLSPIRITS: // 気功
if (sd)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
pc_addspiritball(sd, skill_get_time(skillid, skilllv),
skilllv);
}
@@ -3955,14 +3900,12 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case CH_SOULCOLLECT: // 狂気功
if (sd)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
for (int i = 0; i < 5; i++)
pc_addspiritball(sd, skill_get_time(skillid, skilllv),
5);
}
break;
case MO_BLADESTOP: // 白刃取り
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(src, SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0,
skill_get_time(skillid, skilllv), 0);
@@ -3976,7 +3919,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
{
if (dstsd->spiritball > 0)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
i = dstsd->spiritball * 7;
pc_delspiritball(dstsd, dstsd->spiritball, 0);
if (i > 0x7FFF)
@@ -3996,42 +3938,20 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
}
}
if (i)
- {
sd->status.sp += i;
- clif_heal(sd->fd, SP_SP, i);
- }
- else
- clif_skill_nodamage(src, bl, skillid, skilllv, 0);
break;
}
case AC_MAKINGARROW: /* 矢作成 */
-/* if (sd) {
- clif_arrow_create_list(sd);
- clif_skill_nodamage(src,bl,skillid,skilllv,1);
- }*/
break;
case AM_PHARMACY: /* ポーション作成 */
-/* if (sd) {
- clif_skill_produce_mix_list(sd,32);
- clif_skill_nodamage(src,bl,skillid,skilllv,1);
- }*/
break;
case WS_CREATECOIN: /* クリエイトコイン */
-/* if (sd) {
- clif_skill_produce_mix_list(sd,64);
- clif_skill_nodamage(src,bl,skillid,skilllv,1);
- }*/
break;
case WS_CREATENUGGET: /* 塊製造 */
-/* if (sd) {
- clif_skill_produce_mix_list(sd,128);
- clif_skill_nodamage(src,bl,skillid,skilllv,1);
- }*/
break;
case BS_HAMMERFALL: /* ハンマーフォール */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_weapon_damage)
@@ -4045,7 +3965,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
break;
case RG_RAID: /* サプライズアタック */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
{
int x = bl->x, y = bl->y;
skill_area_temp[1] = bl->id;
@@ -4122,8 +4041,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case SN_WINDWALK: /* ウインドウォーク */
if (sd == NULL || sd->status.party_id == 0 || (flag & 1))
{
- /* 個別の処理 */
- clif_skill_nodamage(bl, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -4146,8 +4063,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case BS_OVERTHRUST: /* オーバートラスト */
if (sd == NULL || sd->status.party_id == 0 || (flag & 1))
{
- /* 個別の処理 */
- clif_skill_nodamage(bl, bl, skillid, skilllv, 1);
skill_status_change_start(bl,
SkillStatusChangeTable[skillid],
skilllv, (src == bl) ? 1 : 0, 0, 0,
@@ -4170,7 +4085,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
{
eptr<struct status_change, StatusChange> tsc_data = battle_get_sc_data(bl);
StatusChange sc = SkillStatusChangeTable[skillid];
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (tsc_data)
{
if (tsc_data[sc].timer == -1)
@@ -4189,7 +4103,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
{
eptr<struct status_change, StatusChange> tsc_data = battle_get_sc_data(bl);
StatusChange sc = SkillStatusChangeTable[skillid];
- clif_skill_nodamage(src, bl, skillid, -1, 1);
if (tsc_data)
{
if (tsc_data[sc].timer == -1)
@@ -4208,7 +4121,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
{
eptr<struct status_change, StatusChange> tsc_data = battle_get_sc_data(bl);
StatusChange sc = SkillStatusChangeTable[skillid];
- clif_skill_nodamage(src, bl, skillid, -1, 1);
if (tsc_data)
{
if (tsc_data[sc].timer == -1)
@@ -4229,7 +4141,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
{
eptr<struct status_change, StatusChange> tsc_data = battle_get_sc_data(bl);
StatusChange sc = SkillStatusChangeTable[skillid];
- clif_skill_nodamage(src, bl, skillid, -1, 1);
if (tsc_data)
{
if (tsc_data[sc].timer == -1)
@@ -4264,14 +4175,12 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case DC_FORTUNEKISS: /* 幸運のキス */
case DC_SERVICEFORYOU: /* サービスフォーユー */
case CG_MOONLIT: /* 月明りの泉に落ちる花びら */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_unitsetting(src, skillid, skilllv, src->x, src->y, 0);
break;
case HP_BASILICA: /* バジリカ */
case PA_GOSPEL: /* ゴスペル */
skill_clear_unitgroup(src);
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_unitsetting(src, skillid, skilllv, src->x, src->y, 0);
break;
@@ -4279,28 +4188,17 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
{
eptr<struct status_change, StatusChange> sc_data = battle_get_sc_data(src);
if (sc_data && sc_data[SC_DANCING].timer != -1)
- {
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_stop_dancing(src, 0);
- }
}
break;
case BA_FROSTJOKE: /* 寒いジョーク */
case DC_SCREAM: /* スクリーム */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_addtimerskill(src, tick + 3000, bl->id, 0, 0, skillid,
skilllv, 0, flag);
break;
case TF_STEAL: // スティール
- if (sd)
- {
- if (pc_steal_item(sd, bl))
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
- else
- clif_skill_nodamage(src, bl, skillid, skilllv, 0);
- }
break;
case RG_STEALCOIN: // スティールコイン
@@ -4311,11 +4209,8 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
int range = skill_get_range(skillid, skilllv);
if (range < 0)
range = battle_get_range(src) - (range + 1);
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
mob_target((struct mob_data *) bl, src, range);
}
- else
- clif_skill_nodamage(src, bl, skillid, skilllv, 0);
}
break;
@@ -4325,7 +4220,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
clif_skill_fail(sd, sd->skillid, 0, 0);
break;
}
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -4341,12 +4235,10 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
break;
case NV_FIRSTAID: /* 応急手当 */
- clif_skill_nodamage(src, bl, skillid, 5, 1);
battle_heal(NULL, bl, 5, 0, 0);
break;
case AL_CURE: /* キュアー */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -4362,13 +4254,11 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
break;
case TF_DETOXIFY: /* 解毒 */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_end(bl, SC_POISON, -1);
break;
case PR_STRECOVERY: /* リカバリー */
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -4404,43 +4294,16 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
break;
case WZ_ESTIMATION: /* モンスター情報 */
- if (src->type == BL_PC)
- {
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
- clif_skill_estimation((struct map_session_data *) src, bl);
- }
break;
case MC_IDENTIFY: /* アイテム鑑定 */
- if (sd)
- clif_item_identify_list(sd);
break;
case BS_REPAIRWEAPON: /* 武器修理 */
- if (sd)
-//動作しないのでとりあえずコメントアウト
-// clif_item_repair_list(sd);
- break;
+ break;
case AL_TELEPORT: /* テレポート */
- if (sd)
- {
- if (map[sd->bl.m].flag.noteleport)
- { /* テレポ禁止 */
- clif_skill_teleportmessage(sd, 0);
- break;
- }
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
- if (sd->skilllv == 1)
- clif_skill_warppoint(sd, sd->skillid, "Random", "", "",
- "");
- else
- {
- clif_skill_warppoint(sd, sd->skillid, "Random",
- sd->status.save_point.map, "", "");
- }
- }
- else if (bl->type == BL_MOB)
+ if (bl->type == BL_MOB)
mob_warp((struct mob_data *) bl, -1, -1, -1, 3);
break;
@@ -4449,7 +4312,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
{
int eflag;
struct item item_tmp;
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
memset(&item_tmp, 0, sizeof(item_tmp));
item_tmp.nameid = 523;
item_tmp.identify = 1;
@@ -4474,7 +4336,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
int eflag;
struct item item_tmp;
struct block_list tbl;
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
memset(&item_tmp, 0, sizeof(item_tmp));
memset(&tbl, 0, sizeof(tbl)); // [MouseJstr]
item_tmp.nameid = 7049;
@@ -4501,7 +4362,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
strip_time = skill_get_time(skillid, skilllv) + strip_fix / 2;
if (MRAND(100) < strip_per)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl,
SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0, strip_time, 0);
@@ -4531,7 +4391,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
strip_time = skill_get_time(skillid, skilllv) + strip_fix / 2;
if (MRAND(100) < strip_per)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl,
SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0, strip_time, 0);
@@ -4561,7 +4420,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
strip_time = skill_get_time(skillid, skilllv) + strip_fix / 2;
if (MRAND(100) < strip_per)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl,
SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0, strip_time, 0);
@@ -4590,7 +4448,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
strip_time = skill_get_time(skillid, skilllv) + strip_fix / 2;
if (MRAND(100) < strip_per)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl,
SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0, strip_time, 0);
@@ -4612,7 +4469,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
/* PotionPitcher */
case AM_POTIONPITCHER: /* ポーションピッチャー */
{
- struct block_list tbl;
int i, x, hp = 0, sp = 0;
if (sd)
{
@@ -4706,22 +4562,12 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
hp = hp * (100 +
pc_checkskill(dstsd, SM_RECOVERY) * 10) / 100;
}
- tbl.id = 0;
- tbl.m = src->m;
- tbl.x = src->x;
- tbl.y = src->y;
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
- if (hp > 0 || (hp <= 0 && sp <= 0))
- clif_skill_nodamage(&tbl, bl, AL_HEAL, hp, 1);
- if (sp > 0)
- clif_skill_nodamage(&tbl, bl, MG_SRECOVERY, sp, 1);
battle_heal(src, bl, hp, sp, 0);
}
break;
case AM_CP_WEAPON:
{
eptr<struct status_change, StatusChange> tsc_data = battle_get_sc_data(bl);
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (tsc_data && tsc_data[SC_STRIPWEAPON].timer != -1)
skill_status_change_end(bl, SC_STRIPWEAPON, -1);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
@@ -4732,7 +4578,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case AM_CP_SHIELD:
{
eptr<struct status_change, StatusChange> tsc_data = battle_get_sc_data(bl);
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (tsc_data && tsc_data[SC_STRIPSHIELD].timer != -1)
skill_status_change_end(bl, SC_STRIPSHIELD, -1);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
@@ -4743,7 +4588,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case AM_CP_ARMOR:
{
eptr<struct status_change, StatusChange> tsc_data = battle_get_sc_data(bl);
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (tsc_data && tsc_data[SC_STRIPARMOR].timer != -1)
skill_status_change_end(bl, SC_STRIPARMOR, -1);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
@@ -4754,7 +4598,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case AM_CP_HELM:
{
eptr<struct status_change, StatusChange> tsc_data = battle_get_sc_data(bl);
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (tsc_data && tsc_data[SC_STRIPHELM].timer != -1)
skill_status_change_end(bl, SC_STRIPHELM, -1);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
@@ -4764,7 +4607,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
break;
case SA_DISPELL: /* ディスペル */
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -4797,7 +4639,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
break;
case SA_CASTCANCEL:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_castcancel(src, 1);
if (sd)
{
@@ -4829,10 +4670,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
}
else
dstsd->status.sp += sp;
- clif_heal(dstsd->fd, SP_SP, sp);
}
- clif_skill_nodamage(bl, bl, SA_MAGICROD,
- sc_data[SC_MAGICROD].val1, 1);
if (sd)
{
sp = sd->status.max_sp / 5;
@@ -4865,7 +4703,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
&& bl_skillid != SkillID::NEGATIVE
&& skill_db[bl_skillid].skill_type == BF_MAGIC)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_castcancel(bl, 0);
sp = skill_get_sp(bl_skillid, bl_skilllv);
if (dstsd)
@@ -4886,7 +4723,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
}
else
sd->status.sp += sp;
- clif_heal(sd->fd, SP_SP, sp);
}
}
else if (sd)
@@ -4904,9 +4740,8 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
skill_get_time(skillid, skilllv), 0);
break;
case SA_AUTOSPELL: /* オートスペル */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (sd)
- clif_autospell(sd, skilllv);
+ {}
else
{
int maxlv = 1;
@@ -4962,7 +4797,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case NPC_CHANGETELEKINESIS:
if (md)
{
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
md->def_ele = skill_get_pl(skillid);
if (md->def_ele == 0) /* ランダム変化、ただし、 */
md->def_ele = MRAND(10); /* 不死属性は除く */
@@ -4971,7 +4805,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
break;
case NPC_HALLUCINATION:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -4985,7 +4818,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case NPC_BARRIER:
{
int skill_time = skill_get_time(skillid, skilllv);
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0, skill_time, 0);
mob_changestate((struct mob_data *) src, MS_DELAY, skill_time);
@@ -4995,7 +4827,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case NPC_DARKBLESSING:
{
int sc_def = 100 - battle_get_mdef(bl);
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
@@ -5022,7 +4853,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
skill_get_time(skillid, skilllv), 0);
break;
case NPC_LICK:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (bl->type == BL_PC
&& ((struct map_session_data *) bl)->
special_state.no_weapon_damage)
@@ -5037,10 +4867,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case NPC_SUICIDE: /* 自決 */
if (src && bl && md)
- {
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
mob_damage(NULL, md, md->hp, 0);
- }
break;
case NPC_SUMMONSLAVE: /* 手下召喚 */
@@ -5068,7 +4895,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
break;
case NPC_DEFENDER:
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
break;
case WE_MALE: /* 君だけは護るよ */
@@ -5078,7 +4904,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
(skilllv <=
0) ? 0 : skill_db[skillid].hp_rate[skilllv - 1];
int gain_hp = sd->status.max_hp * abs(hp_rate) / 100; // 15%
- clif_skill_nodamage(src, bl, skillid, gain_hp, 1);
battle_heal(NULL, bl, gain_hp, 0, 0);
}
break;
@@ -5089,7 +4914,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
(skilllv <=
0) ? 0 : skill_db[skillid].sp_rate[skilllv - 1];
int gain_sp = sd->status.max_sp * abs(sp_rate) / 100; // 15%
- clif_skill_nodamage(src, bl, skillid, gain_sp, 1);
battle_heal(NULL, bl, 0, gain_sp, 0);
}
break;
@@ -5099,7 +4923,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
{
if (map[sd->bl.m].flag.nomemo)
{
- clif_skill_teleportmessage(sd, 1);
return 0;
}
if ((dstsd = pc_get_partner(sd)) == NULL)
@@ -5113,7 +4936,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
break;
case PF_HPCONVERSION: /* ライフ置き換え */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (sd)
{
int conv_hp = 0, conv_sp = 0;
@@ -5126,11 +4948,9 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
sd->status.sp : conv_sp;
sd->status.sp += conv_sp; //SPを増やす
pc_heal(sd, -conv_hp, conv_sp);
- clif_heal(sd->fd, SP_SP, conv_sp);
}
break;
case HT_REMOVETRAP: /* リムーブトラップ */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
{
struct skill_unit *su = NULL;
struct item item_tmp;
@@ -5206,7 +5026,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
}
break;
case HT_SPRINGTRAP: /* スプリングトラップ */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
{
struct skill_unit *su = NULL;
if ((bl->type == BL_SKILL) && (su = (struct skill_unit *) bl)
@@ -5235,7 +5054,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
}
break;
case BD_ENCORE: /* アンコール */
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
if (sd)
skill_use_id(sd, src->id, sd->skillid_dance,
sd->skilllv_dance);
@@ -5243,7 +5061,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
case AS_SPLASHER: /* ベナムスプラッシャー */
if ((double) battle_get_max_hp(bl) * 2 / 3 < battle_get_hp(bl)) //HPが2/3以上残っていたら失敗
return 1;
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
skilllv, uint16_t(skillid), src->id, 0,
skill_get_time(skillid, skilllv), 0);
@@ -5259,7 +5076,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
return 1;
}
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
skill_status_change_start(bl, SkillStatusChangeTable[skillid],
skilllv, 0, 0, 0,
skill_get_time(skillid, skilllv), 0);
@@ -5294,7 +5110,6 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl,
break;
case RG_CLEANER: //AppleGirl
- clif_skill_nodamage(src, bl, skillid, skilllv, 1);
{
struct skill_unit *su = NULL;
if ((bl->type == BL_SKILL) &&
@@ -5511,10 +5326,6 @@ int skill_castend_pos2(struct block_list *src, int x, int y,
{
nullpo_ret(sd = (struct map_session_data *) src);
}
- if (skillid != WZ_METEOR &&
- skillid != WZ_SIGHTRASHER &&
- skillid != AM_CANNIBALIZE && skillid != AM_SPHEREMINE)
- clif_skill_poseffect(src, skillid, skilllv, x, y, tick);
if (skillnotok(skillid, sd)) // [MouseJstr]
return 0;
@@ -5617,11 +5428,7 @@ int skill_castend_pos2(struct block_list *src, int x, int y,
if (j >= 100)
continue;
if (flag_ == 0)
- {
- clif_skill_poseffect(src, skillid, skilllv, tmpx, tmpy,
- tick);
flag_ = 1;
- }
if (i > 0)
skill_addtimerskill(src, tick + i * 1000, 0, tmpx, tmpy,
skillid, skilllv, (x1 << 16) | y1,
@@ -5635,20 +5442,6 @@ int skill_castend_pos2(struct block_list *src, int x, int y,
break;
case AL_WARP: /* ワープポータル */
- if (sd)
- {
- if (map[sd->bl.m].flag.noteleport) /* テレポ禁止 */
- break;
- clif_skill_warppoint(sd, sd->skillid,
- sd->status.save_point.map,
- (sd->skilllv >
- 1) ? sd->status.memo_point[0].map : "",
- (sd->skilllv >
- 2) ? sd->status.memo_point[1].map : "",
- (sd->skilllv >
- 3) ? sd->status.
- memo_point[2].map : "");
- }
break;
case MO_BODYRELOCATION:
if (sd)
@@ -5678,7 +5471,6 @@ int skill_castend_pos2(struct block_list *src, int x, int y,
skill_get_time(skillid, skilllv),
mob_timer_delete, id, 0);
}
- clif_skill_poseffect(src, skillid, skilllv, x, y, tick);
}
break;
case AM_SPHEREMINE: // スフィアーマイン
@@ -5701,7 +5493,6 @@ int skill_castend_pos2(struct block_list *src, int x, int y,
skill_get_time(skillid, skilllv),
mob_timer_delete, id, 0);
}
- clif_skill_poseffect(src, skillid, skilllv, x, y, tick);
}
break;
}
@@ -6412,7 +6203,6 @@ struct skill_unit_group *skill_unitsetting(struct block_list *src,
else
{
map_setcell(src->m, ux, uy, 5);
- clif_changemapcell(src->m, ux, uy, 5, 0);
}
}
@@ -6500,7 +6290,6 @@ int skill_unit_onplace(struct skill_unit *src, struct block_list *bl,
&& ((struct map_session_data *) bl)->
special_state.no_magic_damage)
heal = 0; /* 黄金蟲カード(ヒール量0) */
- clif_skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1);
battle_heal(NULL, bl, heal, 0, 0);
}
else
@@ -6648,7 +6437,6 @@ int skill_unit_onplace(struct skill_unit *src, struct block_list *bl,
clif_fixmobpos((struct mob_data *) bl);
else
clif_fixpos(bl);
- clif_01ac(&src->bl);
sg->limit = DIFF_TICK(tick, sg->tick) + sec;
sg->val2 = bl->id;
}
@@ -6820,7 +6608,6 @@ int skill_unit_onplace(struct skill_unit *src, struct block_list *bl,
break;
if (sg->val2 == 0)
{
- clif_talkiebox(&src->bl, sg->valstr);
sg->unit_id = 0x8c;
clif_changelook(&src->bl, LOOK_BASE, sg->unit_id);
sg->limit = DIFF_TICK(tick, sg->tick) + 5000;
@@ -6851,7 +6638,6 @@ int skill_unit_onplace(struct skill_unit *src, struct block_list *bl,
clif_fixmobpos((struct mob_data *) bl);
else
clif_fixpos(bl);
- clif_01ac(&src->bl);
sg->limit =
DIFF_TICK(tick,
sg->tick) + skill_get_time2(sg->skill_id,
@@ -7102,8 +6888,6 @@ int skill_unit_onlimit(struct skill_unit *src, unsigned int)
case 0x8d: /* アイスウォール */
map_setcell(src->bl.m, src->bl.x, src->bl.y, src->val2);
- clif_changemapcell(src->bl.m, src->bl.x, src->bl.y, src->val2,
- 1);
break;
case 0xb2: /* あなたに会いたい */
{
@@ -7471,7 +7255,6 @@ void skill_check_condition_use_sub(struct block_list *bl, struct block_list *src
)
{
ssd->sc_data[SC_DANCING].val4 = bl->id;
- clif_skill_nodamage(bl, src, skillid, skilllv, 1);
skill_status_change_start(bl, SC_DANCING, uint16_t(skillid),
ssd->sc_data[SC_DANCING].val2, 0,
src->id, skill_get_time(skillid,
@@ -7631,10 +7414,7 @@ int skill_check_condition(struct map_session_data *sd, int type)
case AL_TELEPORT:
case AL_WARP:
if (map[sd->bl.m].flag.noteleport)
- {
- clif_skill_teleportmessage(sd, 0);
return 0;
- }
break;
case MO_CALLSPIRITS: /* 気功 */
if (sd->spiritball >= lv)
@@ -8379,8 +8159,6 @@ int skill_use_id(struct map_session_data *sd, int target_id,
if (casttime > 0 || forcecast)
{ /* 詠唱が必要 */
struct mob_data *md;
- clif_skillcasting(&sd->bl,
- sd->bl.id, target_id, 0, 0, skill_num, casttime);
/* 詠唱反応モンスター */
if (bl->type == BL_MOB && (md = (struct mob_data *) bl)
@@ -8511,11 +8289,6 @@ int skill_use_pos(struct map_session_data *sd,
skill_status_change_end(&sd->bl, SC_MEMORIZE, -1);
}
- if (casttime > 0) /* 詠唱が必要 */
- clif_skillcasting(&sd->bl,
- sd->bl.id, 0, skill_x, skill_y, skill_num,
- casttime);
-
if (casttime <= 0) /* 詠唱の無いものはキャンセルされない */
sd->state.skillcastcancel = 0;
@@ -8829,7 +8602,6 @@ int skill_devotion3(struct block_list *bl, int target)
for (n = 0; n < 5; n++)
if (md->dev.val1[n] == target)
md->dev.val2[n] = 0; // 離れた時は、糸を切るだけ
- clif_devotion(md, sd->bl.id);
return 1;
}
return 0;
@@ -8849,7 +8621,6 @@ void skill_devotion_end(struct map_session_data *md,
sd->sc_data[SC_DEVOTION].val1 = 0;
sd->sc_data[SC_DEVOTION].val2 = 0;
clif_status_change(&sd->bl, SC_DEVOTION, 0);
- clif_devotion(md, sd->bl.id);
}
}
@@ -9042,7 +8813,6 @@ void skill_idun_heal(struct block_list *bl, struct skill_unit *unit)
if (bl->type == BL_PC || bl->type == BL_MOB)
{
- clif_skill_nodamage(&unit->bl, bl, AL_HEAL, heal, 1);
battle_heal(NULL, bl, heal, 0, 0);
}
}
@@ -9296,10 +9066,6 @@ int skill_status_change_end(struct block_list *bl, StatusChange type, int tid)
sc_data[type].val4, SC_BLADESTOP,
-1);
- if (sc_data[type].val2 == 2)
- clif_bladestop((struct block_list *) sc_data[type].val3,
- (struct block_list *) sc_data[type].val4,
- 0);
}
break;
case SC_DANCING:
@@ -9325,15 +9091,6 @@ int skill_status_change_end(struct block_list *bl, StatusChange type, int tid)
}
break;
case SC_NOCHAT: //チャット禁止状態
- {
- struct map_session_data *sd = NULL;
- if (bl->type == BL_PC
- && (sd = (struct map_session_data *) bl))
- {
- sd->status.manner = 0;
- clif_updatestatus(sd, SP_MANNER);
- }
- }
break;
case SC_SPLASHER: /* ベナムスプラッシャー */
{
@@ -9940,7 +9697,6 @@ void skill_status_change_timer(timer_id tid, tick_t tick, custom_id_t id, custom
&& time(&timer) <
((sc_data[type].val2) + 60 * (0 - sd->status.manner)))
{ //開始からstatus.manner分経ってないので継続
- clif_updatestatus(sd, SP_MANNER);
sc_data[type].timer = add_timer( /* タイマー再設定(60秒) */
60000 + tick,
skill_status_change_timer,
@@ -10364,9 +10120,6 @@ int skill_status_effect(struct block_list *bl, StatusChange type,
case SC_BLADESTOP_WAIT: /* 白刃取り(待ち) */
break;
case SC_BLADESTOP: /* 白刃取り */
- if (val2 == 2)
- clif_bladestop((struct block_list *) val3,
- (struct block_list *) val4, 1);
*opt3 |= Opt3::_bladestop;
break;
@@ -10499,12 +10252,10 @@ int skill_status_effect(struct block_list *bl, StatusChange type,
tick = 60000;
if (!val2)
val2 = time(&timer);
- updateflag = SP_MANNER;
+ // updateflag = SP_MANNER;
}
break;
case SC_SELFDESTRUCTION: //自爆
- clif_skillcasting(bl, bl->id, bl->id, 0, 0, DC_FORTUNEKISS,
- skill_get_time(SkillID(val2), val1));
val3 = tick / 1000;
tick = 1000;
break;
@@ -11105,7 +10856,6 @@ struct skill_unit *skill_initunit(struct skill_unit_group *group, int idx,
unit->alive = 1;
map_addblock(&unit->bl);
- clif_skill_setunit(unit);
return unit;
}
@@ -11134,8 +10884,6 @@ int skill_delunit(struct skill_unit *unit)
unit->bl.m, unit->bl.x - range, unit->bl.y - range,
unit->bl.x + range, unit->bl.y + range, 0);
- clif_skill_delunit(unit);
-
unit->group = NULL;
unit->alive = 0;
map_delobjectnofree(unit->bl.id, BL_SKILL);
@@ -11701,7 +11449,6 @@ int skill_unit_move_unit_group(struct skill_unit_group *group, int m, int dx,
unit->bl.x += dx;
unit->bl.y += dy;
map_addblock(&unit->bl);
- clif_skill_setunit(unit);
if (range > 0)
{
if (range < 7)
@@ -11762,7 +11509,6 @@ int skill_unit_move_unit_group(struct skill_unit_group *group, int m, int dx,
unit1->bl.x += dx;
unit1->bl.y += dy;
map_addblock(&unit1->bl);
- clif_skill_setunit(unit1);
if (range > 0)
{
if (range < 7)
@@ -11789,7 +11535,6 @@ int skill_unit_move_unit_group(struct skill_unit_group *group, int m, int dx,
unit2->bl.y = unit1->bl.y + dy;
unit2->range = unit1->range;
map_addblock(&unit2->bl);
- clif_skill_setunit(unit2);
if (range > 0)
{
if (range < 7)