summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-07 17:46:50 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-07 17:46:50 +0000
commit15d86669fb2fcedefa83d76cfe8b4bf3f110d481 (patch)
tree220c52dc83b47308bef9a1efbc7789e39e31824c /src/map/status.c
parentcaa2c43f341ab070ff82d99410ffab773ba19e72 (diff)
downloadhercules-15d86669fb2fcedefa83d76cfe8b4bf3f110d481.tar.gz
hercules-15d86669fb2fcedefa83d76cfe8b4bf3f110d481.tar.bz2
hercules-15d86669fb2fcedefa83d76cfe8b4bf3f110d481.tar.xz
hercules-15d86669fb2fcedefa83d76cfe8b4bf3f110d481.zip
- Updated the range of BioExplosion and Self Destruction so they count as ranged skills.
- Removed old script bonuses bMatk, bMatk1, bMatk2 - Fixed char-server not sending online notification when a party member logs in. - When skill range by distance is set, the distance checked for is now 5 cells rather than 3. - Fixed bMatkRate bonuses not applying to status earned modifications to int/matk. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9816 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 5f53f6655..bfae98dea 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -1211,13 +1211,12 @@ void status_calc_misc(struct block_list *bl, struct status_data *status, int lev
//Non players get the value set, players need to stack with previous bonuses.
if (bl->type != BL_PC)
status->batk =
- status->matk_min = status->matk_max =
status->hit = status->flee =
status->def2 = status->mdef2 =
status->cri = status->flee2 = 0;
- status->matk_min += status_base_matk_min(status);
- status->matk_max += status_base_matk_max(status);
+ status->matk_min = status_base_matk_min(status);
+ status->matk_max = status_base_matk_max(status);
status->hit += level + status->dex;
status->flee += level + status->agi;
@@ -2665,8 +2664,10 @@ void status_calc_bl_sub_pc(struct map_session_data *sd, unsigned long flag)
status->matk_max = status_base_matk_max(status);
//Bonuses from previous matk
- status->matk_max += b_status->matk_max - status_base_matk_max(b_status);
- status->matk_min += b_status->matk_min - status_base_matk_min(b_status);
+ if(sd->matk_rate != 100){
+ status->matk_max = status->matk_max * sd->matk_rate/100;
+ status->matk_min = status->matk_min * sd->matk_rate/100;
+ }
status->matk_min = status_calc_matk(&sd->bl, &sd->sc, status->matk_min);
status->matk_max = status_calc_matk(&sd->bl, &sd->sc, status->matk_max);