diff options
author | malufett <malufett.eat.my.binaries@gmail.com> | 2014-12-10 00:57:50 +0800 |
---|---|---|
committer | malufett <malufett.eat.my.binaries@gmail.com> | 2014-12-10 00:57:50 +0800 |
commit | 8faef4ff7ef37f52f24ac6e1e026a418b19db1fe (patch) | |
tree | f81a5bef40dfacc5f792308dd132d5004529b17a /src/map/clif.c | |
parent | f17873a56f76ccbab082522e28a71962ea2aa2fe (diff) | |
download | hercules-8faef4ff7ef37f52f24ac6e1e026a418b19db1fe.tar.gz hercules-8faef4ff7ef37f52f24ac6e1e026a418b19db1fe.tar.bz2 hercules-8faef4ff7ef37f52f24ac6e1e026a418b19db1fe.tar.xz hercules-8faef4ff7ef37f52f24ac6e1e026a418b19db1fe.zip |
RENEWAL Updates:
-Homunculus Official Statuses
-Updated RE @mobinfo to show proper status data.(Follow up 28a8b0f7b06a6af86aff6ececf7d9541d457e297)
-Some official behaviors.
Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 44 |
1 files changed, 34 insertions, 10 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index d3564f97d..5194a637a 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -1422,15 +1422,24 @@ void clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int flag) WBUFW(buf,29)=hd->homunculus.hunger; WBUFW(buf,31)=(unsigned short) (hd->homunculus.intimacy / 100) ; WBUFW(buf,33)=0; // equip id +#ifdef RENEWAL + WBUFW(buf, 35) = cap_value(hstatus->rhw.atk2, 0, INT16_MAX); +#else WBUFW(buf,35)=cap_value(hstatus->rhw.atk2+hstatus->batk, 0, INT16_MAX); +#endif WBUFW(buf,37)=cap_value(hstatus->matk_max, 0, INT16_MAX); WBUFW(buf,39)=hstatus->hit; if (battle_config.hom_setting&0x10) WBUFW(buf,41)=hstatus->luk/3 + 1; //crit is a +1 decimal value! Just display purpose.[Vicious] else WBUFW(buf,41)=hstatus->cri/10; +#ifdef RENEWAL + WBUFW(buf, 43) = hstatus->def + hstatus->def2; + WBUFW(buf, 45) = hstatus->mdef + hstatus->mdef2; +#else WBUFW(buf,43)=hstatus->def + hstatus->vit ; - WBUFW(buf,45)=hstatus->mdef; + WBUFW(buf, 45) = hstatus->mdef; +#endif WBUFW(buf,47)=hstatus->flee; WBUFW(buf,49)=(flag)?0:hstatus->amotion; if (hstatus->max_hp > INT16_MAX) { @@ -11260,15 +11269,23 @@ void clif_parse_UseSkillToId_homun(struct homun_data *hd, struct map_session_dat if( !hd ) return; - if( skill->not_ok_hom(skill_id, hd) ) + if (skill->not_ok_hom(skill_id, hd)){ + clif->emotion(&hd->bl, E_DOTS); return; - if( hd->bl.id != target_id && skill->get_inf(skill_id)&INF_SELF_SKILL ) + } + if (hd->bl.id != target_id && skill->get_inf(skill_id)&INF_SELF_SKILL) target_id = hd->bl.id; - if( hd->ud.skilltimer != INVALID_TIMER ) { - if( skill_id != SA_CASTCANCEL && skill_id != SO_SPELLFIST ) return; - } else if( DIFF_TICK(tick, hd->ud.canact_tick) < 0 ) + if (hd->ud.skilltimer != INVALID_TIMER) { + if (skill_id != SA_CASTCANCEL && skill_id != SO_SPELLFIST) return; + } + else if (DIFF_TICK(tick, hd->ud.canact_tick) < 0){ + clif->emotion(&hd->bl, E_DOTS); + if (hd->master) + clif->skill_fail(hd->master, skill_id, USESKILL_FAIL_SKILLINTERVAL, 0); return; + } + lv = homun->checkskill(hd, skill_id); if( skill_lv > lv ) skill_lv = lv; @@ -11280,12 +11297,19 @@ void clif_parse_UseSkillToPos_homun(struct homun_data *hd, struct map_session_da int lv; if( !hd ) return; - if( skill->not_ok_hom(skill_id, hd) ) + if (skill->not_ok_hom(skill_id, hd)){ + clif->emotion(&hd->bl, E_DOTS); return; - if( hd->ud.skilltimer != INVALID_TIMER ) { - if( skill_id != SA_CASTCANCEL && skill_id != SO_SPELLFIST ) return; - } else if( DIFF_TICK(tick, hd->ud.canact_tick) < 0 ) + } + if ( hd->ud.skilltimer != INVALID_TIMER ) { + if ( skill_id != SA_CASTCANCEL && skill_id != SO_SPELLFIST ) return; + + } else if ( DIFF_TICK(tick, hd->ud.canact_tick) < 0 ) { + clif->emotion(&hd->bl, E_DOTS); + if ( hd->master ) + clif->skill_fail(hd->master, skill_id, USESKILL_FAIL_SKILLINTERVAL, 0); return; + } if( hd->sc.data[SC_BASILICA] ) return; |