From 41da8646ff15b1fdac69d1732d8fc81cdce435d4 Mon Sep 17 00:00:00 2001 From: Aleos Date: Thu, 7 Apr 2022 14:41:15 -0400 Subject: [PATCH] Fixes an issue with Joint Beat resistance (#6805) * Follow up to cb2c553. * Fixes a math error in the status resistance and duration for Joint Beat. Thanks to @Tokeiburu and @Playtester! --- src/map/skill.cpp | 2 +- src/map/status.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/map/skill.cpp b/src/map/skill.cpp index dd35ca4cd9..9990c85383 100755 --- a/src/map/skill.cpp +++ b/src/map/skill.cpp @@ -5156,7 +5156,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint if (flag != BREAK_NECK && tsc && tsc->data[SC_JOINTBEAT] && tsc->data[SC_JOINTBEAT]->val2 & BREAK_NECK) flag = BREAK_NECK; // Target should always receive double damage if neck is already broken if (skill_attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag)) - sc_start4(src, bl, SC_JOINTBEAT, 50 + (skill_lv + 1), skill_lv, flag&BREAK_FLAGS, src->id, 0, skill_get_time2(skill_id, skill_lv)); + status_change_start(src, bl, SC_JOINTBEAT, (50 * (skill_lv + 1) - (270 * tstatus->str) / 100) * 10, skill_lv, flag & BREAK_FLAGS, src->id, 0, skill_get_time2(skill_id, skill_lv), SCSTART_NONE); break; case MO_COMBOFINISH: diff --git a/src/map/status.cpp b/src/map/status.cpp index eca49b91f5..7c7d59ff90 100644 --- a/src/map/status.cpp +++ b/src/map/status.cpp @@ -8858,8 +8858,7 @@ t_tick status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_ sc_def = status->agi*50; break; case SC_JOINTBEAT: - sc_def2 = 270 * status->str / 100; // 270 * STR / 100 - tick_def2 = (status->luk * 50 + status->agi * 200) / 2; // (50 * LUK / 100 + 20 * AGI / 100) / 2 + tick_def2 = 1000 * ((status->luk / 2 + status->agi / 5) / 2); // (50 * LUK / 100 + 20 * AGI / 100) / 2 break; case SC_DEEPSLEEP: tick_def2 = status_get_base_status(bl)->int_ * 25 + status_get_lv(bl) * 50;