summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog.txt2
-rw-r--r--src/map/battle.c2
-rw-r--r--src/map/clif.c2
3 files changed, 4 insertions, 2 deletions
diff --git a/Changelog.txt b/Changelog.txt
index 3138a5934..a90221c0f 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -1,6 +1,6 @@
Date Added
12/26
- * Fixed some array bounds errors (SVN 796) [MouseJstr]
+ * Fixed some array bounds errors (SVN 797) [MouseJstr]
* @mapexit (and do_final) now persist all data to the
char server before exiting to eliminate storage/inventory
inconsistancies.. [MouseJstr] (SVN 793)
diff --git a/src/map/battle.c b/src/map/battle.c
index 92711bcd4..f7ca80a93 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3026,8 +3026,10 @@ static struct Damage battle_calc_pc_weapon_attack(
damage += atkmax;
damage2 += atkmax_;
if(sd->atk_rate != 100 || sd->weapon_atk_rate != 0) {
+ if (sd->status.weapon < 16) {
damage = (damage * (sd->atk_rate + sd->weapon_atk_rate[sd->status.weapon]))/100;
damage2 = (damage2 * (sd->atk_rate + sd->weapon_atk_rate[sd->status.weapon]))/100;
+ }
}
if(sd->state.arrow_atk)
damage += sd->arrow_atk;
diff --git a/src/map/clif.c b/src/map/clif.c
index 14e4db377..ca7e60c6c 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -5105,7 +5105,7 @@ int clif_item_skill(struct map_session_data *sd,int skillid,int skilllv,const ch
if(range < 0)
range = battle_get_range(&sd->bl) - (range + 1);
WFIFOW(fd,12)=range;
- memcpy(WFIFOP(fd,14),name,24);
+ strncpy(WFIFOP(fd,14),name,24);
WFIFOB(fd,38)=0;
WFIFOSET(fd,packet_len_table[0x147]);
return 0;