summaryrefslogtreecommitdiff
path: root/src/map/battle.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-17 16:16:51 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-17 16:16:51 +0000
commit4a2c67dc47ffc7c33eea340ea96e3d0ba57e359e (patch)
tree1005a1e32bfedd0711c3ffb9f1b3e816cfa87d6a /src/map/battle.c
parente378e27b012798c880f27e25c7471eb9cc537499 (diff)
downloadhercules-4a2c67dc47ffc7c33eea340ea96e3d0ba57e359e.tar.gz
hercules-4a2c67dc47ffc7c33eea340ea96e3d0ba57e359e.tar.bz2
hercules-4a2c67dc47ffc7c33eea340ea96e3d0ba57e359e.tar.xz
hercules-4a2c67dc47ffc7c33eea340ea96e3d0ba57e359e.zip
- Should have fixed the Cart Termination damage code to be scaled correctly when you change the max cart weight. Thanks to The Ultra Mage for the error clarification.
- Implemented Grandcross weird property where if there's noone on the path it'll hit twice for the skill's reported damage, and when there is (or you cant knockback the target) it'll do a splash attack that hits twice for 500% to all affected targets. - Some cleaning of the combo code. TK Rankers will now get their combo-time extended each time they trigger a kick, enabling them to do "unlimited combos". - Modified the autosave function to use a sweep across the player db instead of across connected clients. This will cause non-connected players (like autotraders) to also be saved on a regular interval, may help with possible data-loss from said characters on unclean shutdowns. - Added function map_foreachpc - Removed the code that forces aggressive mobs to go after a Homun instead of their master (no reason why there should be such a condition). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7721 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/battle.c')
-rw-r--r--src/map/battle.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 929b4494c..e47490ee6 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -1437,9 +1437,8 @@ static struct Damage battle_calc_weapon_attack(
if (i < 1) i = 1;
//Preserve damage ratio when max cart weight is changed.
if(sd && sd->cart_weight && sd->cart_max_weight)
-// FIXME: Something is wrong with this check! But what...? [Skotlex]
-// skillratio += (sd->cart_weight * 80000) / (i * sd->cart_max_weight) - 100;
- skillratio += sd->cart_weight/i - 100;
+ skillratio += sd->cart_weight/i * 80000/sd->cart_max_weight - 100;
+// skillratio += sd->cart_weight/i - 100;
else if (!sd)
skillratio += 80000 / i - 100;
flag.cardfix = 0;
@@ -2337,7 +2336,8 @@ struct Damage battle_calc_magic_attack(
if(skill_num == CR_GRANDCROSS || skill_num == NPC_GRANDDARKNESS)
{ //Apply the physical part of the skill's damage. [Skotlex]
struct Damage wd = battle_calc_weapon_attack(src,target,skill_num,skill_lv,mflag);
- ad.damage = (wd.damage + ad.damage) * (100 + 40*skill_lv)/100;
+ //When mflag, this is a no-splash attack, damage gets a bonus of 100%
+ ad.damage = (wd.damage + ad.damage) * ((mflag?200:100) + 40*skill_lv)/100;
if(src==target)
{
if (src->type == BL_PC)