From 67fbbd2b41ae93c095232bb6b07615261245436f Mon Sep 17 00:00:00 2001 From: malufett Date: Sat, 17 Jan 2015 03:34:18 +0800 Subject: Fixed Bug#8497 -http://hercules.ws/board/tracker/issue-8497-all-mercenaries-miss-hit-for-0/?gopid=24434#entry24434 Signed-off-by: malufett --- src/map/clif.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/map/clif.c') diff --git a/src/map/clif.c b/src/map/clif.c index c20d6585e..9db3cee03 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -16096,13 +16096,27 @@ void clif_mercenary_info(struct map_session_data *sd) { WFIFOL(fd,2) = md->bl.id; // Mercenary shows ATK as a random value between ATK ~ ATK2 - atk = rnd()%(mstatus->rhw.atk2 - mstatus->rhw.atk + 1) + mstatus->rhw.atk; - WFIFOW(fd,6) = cap_value(atk, 0, INT16_MAX); +#ifdef RENEWAL + atk = status->get_weapon_atk(&md->bl, &mstatus->rhw, 0); +#else + atk = rnd() % (mstatus->rhw.atk2 - mstatus->rhw.atk + 1) + mstatus->rhw.atk; +#endif + WFIFOW(fd, 6) = cap_value(atk, 0, INT16_MAX); +#ifdef RENEWAL + atk = status->base_matk(&md->bl, mstatus, status->get_lv(&md->bl)); + WFIFOW(fd,8) = cap_value(atk, 0, INT16_MAX); +#else WFIFOW(fd,8) = cap_value(mstatus->matk_max, 0, INT16_MAX); +#endif WFIFOW(fd,10) = mstatus->hit; WFIFOW(fd,12) = mstatus->cri/10; +#ifdef RENEWAL + WFIFOW(fd, 14) = mstatus->def2; + WFIFOW(fd, 16) = mstatus->mdef2; +#else WFIFOW(fd,14) = mstatus->def; WFIFOW(fd,16) = mstatus->mdef; +#endif WFIFOW(fd,18) = mstatus->flee; WFIFOW(fd,20) = mstatus->amotion; safestrncpy((char*)WFIFOP(fd,22), md->db->name, NAME_LENGTH); -- cgit v1.2.3-60-g2f50