Cleaned up Joint Beat behavior (#4123)

* Fixes #4122.
* Added missing rate and duration reduction based on the targets stats.
* Confirmed that double damage only applies to BREAK_NECK.
* Cleaned up skill to remove jb_flag from status_change struct.
Thanks to @mrjnumber1!
This commit is contained in:
Aleos
2019-07-17 09:28:24 -04:00
committed by GitHub
parent 2ca417b61f
commit cb2c553f34
4 changed files with 23 additions and 35 deletions

View File

@@ -3634,11 +3634,9 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
skillratio += 40 * skill_lv;
break;
case LK_JOINTBEAT:
i = 10 * skill_lv - 50;
// Although not clear, it's being assumed that the 2x damage is only for the break neck ailment.
if (wd->miscflag&BREAK_NECK)
i *= 2;
skillratio += i;
skillratio += -100 + 10 * skill_lv - 50;
if (wd->miscflag & BREAK_NECK || (tsc && tsc->data[status_skill2sc(skill_id)]->val2 & BREAK_NECK)) // The 2x damage is only for the BREAK_NECK ailment.
skillratio <<= 1;
break;
#ifdef RENEWAL
// Renewal: skill ratio applies to entire damage [helvetica]