From 7409a0407e1ff25c8dc25d9c407d3c837f342af1 Mon Sep 17 00:00:00 2001 From: celest Date: Wed, 9 Mar 2005 04:41:56 +0000 Subject: * Added HP and SP rate underflow checking * Added stop auto attacking if no arrows were equipped git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1219 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/pc.c | 5 +++++ src/map/status.c | 4 ++++ 2 files changed, 9 insertions(+) (limited to 'src') diff --git a/src/map/pc.c b/src/map/pc.c index 866ef969c..70b6449fc 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -3694,6 +3694,11 @@ int pc_attack_timer(int tid,unsigned int tick,int id,int data) } } + if(sd->status.weapon == 11 && sd->equip_index[10] < 0) { + clif_arrow_fail(sd,0); + return 0; + } + dist = distance(sd->bl.x,sd->bl.y,bl->x,bl->y); range = sd->attackrange; if(sd->status.weapon != 11) range++; diff --git a/src/map/status.c b/src/map/status.c index de2efce5a..a1826265f 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -943,6 +943,8 @@ int status_calc_pc(struct map_session_data* sd,int first) else if (s_class.upper==2) sd->status.max_hp = sd->status.max_hp * 70/100; + if (sd->hprate <= 0) + sd->hprate = 1; if(sd->hprate!=100) sd->status.max_hp = sd->status.max_hp*sd->hprate/100; @@ -968,6 +970,8 @@ int status_calc_pc(struct map_session_data* sd,int first) sd->status.max_sp = sd->status.max_sp * 130/100; else if (s_class.upper==2) sd->status.max_sp = sd->status.max_sp * 70/100; + if (sd->sprate <= 0) + sd->sprate = 1; if(sd->sprate!=100) sd->status.max_sp = sd->status.max_sp*sd->sprate/100; -- cgit v1.2.3-70-g09d2