Index: src/map/battle.c
===================================================================
--- src/map/battle.c (revision 17299)
+++ src/map/battle.c (working copy)
@@ -1516,10 +1516,8 @@
short type = 0;
int damage = 0;
- if (!sd)
- { //Mobs/Pets
- if(flag&4)
- {
+ if (!sd) { //Mobs/Pets
+ if(flag&4) {
atkmin = status->matk_min;
atkmax = status->matk_max;
} else {
@@ -1532,8 +1530,7 @@
atkmax = wa->atk;
type = (wa == &status->lhw)?EQI_HAND_L:EQI_HAND_R;
- if (!(flag&1) || (flag&2))
- { //Normal attacks
+ if (!(flag&1) || (flag&2)) { //Normal attacks
atkmin = status->dex;
if (sd->equip_index[type] >= 0 && sd->inventory_data[sd->equip_index[type]])
@@ -1542,8 +1539,7 @@
if (atkmin > atkmax)
atkmin = atkmax;
- if(flag&2 && !(flag&16))
- { //Bows
+ if(flag&2 && !(flag&16)) { //Bows
atkmin = atkmin*atkmax/100;
if (atkmin > atkmax)
atkmax = atkmin;
@@ -1560,8 +1556,7 @@
else
damage = atkmax;
- if (sd)
- {
+ if (sd) {
//rodatazone says the range is 0~arrow_atk-1 for non crit
if (flag&2 && sd->bonus.arrow_atk)
damage += ( (flag&1) ? sd->bonus.arrow_atk : rnd()%sd->bonus.arrow_atk );
@@ -1576,6 +1571,10 @@
//Finally, add baseatk
if(flag&4)
damage += status->matk_min;
+#ifdef RENEWAL
+ else if(flag&32)
+ damage += status->matk_min + status->batk;
+#endif
else
damage += status->batk;
@@ -2161,7 +2160,11 @@
{
i = (flag.cri?1:0)|
(flag.arrow?2:0)|
+#ifndef RENEWAL
(skill_id == HW_MAGICCRASHER?4:0)|
+#else
+ (skill_id == HW_MAGICCRASHER?32:0)|
+#endif
(!skill_id && sc && sc->data[SC_CHANGE]?4:0)|
(skill_id == MO_EXTREMITYFIST?8:0)|
(sc && sc->data[SC_WEAPONPERFECTION]?8:0);