summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-05-07 09:36:53 +0000
committerrud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-05-07 09:36:53 +0000
commit4303c5001974a694aa1be004d7b062c82927a460 (patch)
tree99f91cc3984c4c0e79ff743a96af01043d81813c
parent78dd9d3e2c08e1291c3245f9aa25a4c10d7632e4 (diff)
downloadhercules-4303c5001974a694aa1be004d7b062c82927a460.tar.gz
hercules-4303c5001974a694aa1be004d7b062c82927a460.tar.bz2
hercules-4303c5001974a694aa1be004d7b062c82927a460.tar.xz
hercules-4303c5001974a694aa1be004d7b062c82927a460.zip
Fixed bugreport:5685 Base atk formula is now in RE
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16084 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--src/map/status.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 623a39dce..f8197ee7d 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -1726,7 +1726,12 @@ int status_base_amotion_pc(struct map_session_data* sd, struct status_data* stat
static unsigned short status_base_atk(const struct block_list *bl, const struct status_data *status)
{
- int flag = 0, str, dex, dstr;
+ int flag = 0, str, dex,
+#ifdef RENEWAL
+ rstr,
+#endif
+ dstr;
+
if(!(bl->type&battle_config.enable_baseatk))
return 0;
@@ -1744,9 +1749,15 @@ static unsigned short status_base_atk(const struct block_list *bl, const struct
flag = 1;
}
if (flag) {
+#ifdef RENEWAL
+ rstr =
+#endif
str = status->dex;
dex = status->str;
} else {
+#ifdef RENEWAL
+ rstr =
+#endif
str = status->str;
dex = status->dex;
}
@@ -1756,7 +1767,11 @@ static unsigned short status_base_atk(const struct block_list *bl, const struct
dstr = str/10;
str += dstr*dstr;
if (bl->type == BL_PC)
+#ifdef RENEWAL
+ str = (rstr*10 + dex*10/5 + status->luk*10/3 + ((TBL_PC*)bl)->status.base_level*10/4)/10;
+#else
str+= dex/5 + status->luk/5;
+#endif
return cap_value(str, 0, USHRT_MAX);
}
@@ -1827,11 +1842,6 @@ void status_calc_misc(struct block_list *bl, struct status_data *status, int lev
status->batk = cap_value(temp, 0, USHRT_MAX);
} else
status->batk = status_base_atk(bl, status);
-
-#ifdef RENEWAL // renewal attack bonus formula
- status->batk += (int)((float)status->luk/3 + (float)level/4); //(every 3 luk = + 1ATK) + (every 4 base level = +1 ATK)
-#endif
-
if (status->cri)
switch (bl->type) {
case BL_MOB: