Arch Mage, S.MATK, Warlock Summon/Release (#8386)
- Fixed job stat bonuses of Arch Mage - Fixed damage formula of Summon Elemental Ball / Release 2 - S.MATK is now applied before skill ratio - Fixes #8381
This commit is contained in:
parent
19f94e18f0
commit
98eaf85a90
@ -9213,7 +9213,7 @@ Body:
|
|||||||
Vit: 1
|
Vit: 1
|
||||||
Int: 1
|
Int: 1
|
||||||
- Level: 13
|
- Level: 13
|
||||||
Agi: 1
|
Dex: 1
|
||||||
Spl: 1
|
Spl: 1
|
||||||
- Level: 14
|
- Level: 14
|
||||||
Sta: 1
|
Sta: 1
|
||||||
@ -9229,7 +9229,7 @@ Body:
|
|||||||
Int: 1
|
Int: 1
|
||||||
Dex: 1
|
Dex: 1
|
||||||
- Level: 19
|
- Level: 19
|
||||||
Dex: 1
|
Int: 1
|
||||||
- Level: 20
|
- Level: 20
|
||||||
Vit: 1
|
Vit: 1
|
||||||
Int: 1
|
Int: 1
|
||||||
|
@ -8164,8 +8164,8 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
|
|||||||
case WL_SUMMON_ATK_WATER:
|
case WL_SUMMON_ATK_WATER:
|
||||||
case WL_SUMMON_ATK_WIND:
|
case WL_SUMMON_ATK_WIND:
|
||||||
case WL_SUMMON_ATK_GROUND:
|
case WL_SUMMON_ATK_GROUND:
|
||||||
skillratio += -100 + (1 + skill_lv) / 2 * (status_get_lv(src) + (sd ? sd->status.job_level : 0));
|
skillratio += 200;
|
||||||
RE_LVL_DMOD(100); // ! TODO: Confirm new formula
|
RE_LVL_DMOD(100);
|
||||||
break;
|
break;
|
||||||
case LG_RAYOFGENESIS:
|
case LG_RAYOFGENESIS:
|
||||||
skillratio += -100 + 350 * skill_lv + sstatus->int_; // !TODO: What's the INT bonus?
|
skillratio += -100 + 350 * skill_lv + sstatus->int_; // !TODO: What's the INT bonus?
|
||||||
@ -8719,7 +8719,11 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
|
|||||||
(sc->getSCE(SC_EARTH_INSIGNIA) && sc->getSCE(SC_EARTH_INSIGNIA)->val1 == 3 && s_ele == ELE_EARTH))
|
(sc->getSCE(SC_EARTH_INSIGNIA) && sc->getSCE(SC_EARTH_INSIGNIA)->val1 == 3 && s_ele == ELE_EARTH))
|
||||||
skillratio += 25;
|
skillratio += 25;
|
||||||
}
|
}
|
||||||
|
#ifdef RENEWAL
|
||||||
|
// SMATK needs to be applied before the skill ratio to prevent rounding issues
|
||||||
|
if (sd && sstatus->smatk > 0)
|
||||||
|
ad.damage += ad.damage * sstatus->smatk / 100;
|
||||||
|
#endif
|
||||||
MATK_RATE(skillratio);
|
MATK_RATE(skillratio);
|
||||||
|
|
||||||
//Constant/misc additions from skills
|
//Constant/misc additions from skills
|
||||||
@ -8750,9 +8754,6 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
|
|||||||
ad.damage -= (int64)ad.damage*i/100;
|
ad.damage -= (int64)ad.damage*i/100;
|
||||||
|
|
||||||
#ifdef RENEWAL
|
#ifdef RENEWAL
|
||||||
if (sd && sstatus->smatk > 0)
|
|
||||||
ad.damage += ad.damage * sstatus->smatk / 100;
|
|
||||||
|
|
||||||
// MRes reduces magical damage by a percentage and
|
// MRes reduces magical damage by a percentage and
|
||||||
// is calculated before MDEF and other reductions.
|
// is calculated before MDEF and other reductions.
|
||||||
// This should be the official formula. [Rytech]
|
// This should be the official formula. [Rytech]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user