summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/pc.c5
-rw-r--r--src/map/status.c4
2 files changed, 9 insertions, 0 deletions
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;