diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-02-07 17:46:50 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-02-07 17:46:50 +0000 |
commit | 15d86669fb2fcedefa83d76cfe8b4bf3f110d481 (patch) | |
tree | 220c52dc83b47308bef9a1efbc7789e39e31824c /src/map/status.c | |
parent | caa2c43f341ab070ff82d99410ffab773ba19e72 (diff) | |
download | hercules-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.c | 11 |
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); |