From f70b36bdb08165286a6f101fd62ded7a803bb782 Mon Sep 17 00:00:00 2001 From: ThrisStraizo <45871917+ThrisStraizo@users.noreply.github.com> Date: Fri, 13 Feb 2026 18:27:09 -0800 Subject: [PATCH] Sonic Boom Audit This PR audits the duration of sonic boom. --- scripts/actions/mobskills/sonic_boom.lua | 12 +++++++++--- sql/mob_skills.sql | 8 ++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/scripts/actions/mobskills/sonic_boom.lua b/scripts/actions/mobskills/sonic_boom.lua index a704d6eb4d8..c505ca65623 100644 --- a/scripts/actions/mobskills/sonic_boom.lua +++ b/scripts/actions/mobskills/sonic_boom.lua @@ -9,12 +9,18 @@ mobskillObject.onMobSkillCheck = function(target, mob, skill) return 0 end +-- Nightmare_Gylas sonic boom is static 90 seconds, 50% attack down, and can overwrite itself. + mobskillObject.onMobWeaponSkill = function(target, mob, skill) - local duration = xi.mobskills.calculateDuration(skill:getTP(), 120, 180) + if target:hasStatusEffect(xi.effect.ATTACK_DOWN) then + skill:setMsg(xi.msg.basic.SKILL_NO_EFFECT) + else + local duration = xi.mobskills.calculateDuration(skill:getTP(), 180, 360) - skill:setMsg(xi.mobskills.mobStatusEffectMove(mob, target, xi.effect.ATTACK_DOWN, 25, 0, duration)) + skill:setMsg(xi.mobskills.mobStatusEffectMove(mob, target, xi.effect.ATTACK_DOWN, 25, 0, duration)) - return xi.effect.ATTACK_DOWN + return xi.effect.ATTACK_DOWN + end end return mobskillObject diff --git a/sql/mob_skills.sql b/sql/mob_skills.sql index 5b3e27786f0..db9f39dba38 100644 --- a/sql/mob_skills.sql +++ b/sql/mob_skills.sql @@ -1690,10 +1690,10 @@ INSERT INTO `mob_skills` VALUES (1656,426,'crystal_weapon_wind',0,0.0,15.0,2000, -- INSERT INTO `mob_skills` VALUES (1663,1407,'blood_drain',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (1664,1408,'subsonics',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (1665,338,'marrow_drain',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); --- INSERT INTO `mob_skills` VALUES (1666,1410,'sonic_boom',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); --- INSERT INTO `mob_skills` VALUES (1667,1411,'jet_stream',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); --- INSERT INTO `mob_skills` VALUES (1668,1412,'slipstream',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); --- INSERT INTO `mob_skills` VALUES (1669,1413,'turbulence',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +-- INSERT INTO `mob_skills` VALUES (1666,137,'sonic_boom',2,10.0,10.0,2000,1500,4,0,0,0,0,0,0); +-- INSERT INTO `mob_skills` VALUES (1667,139,'jet_stream',0,0.0,7.0,2000,1200,4,0,0,0,0,0,0); +-- INSERT INTO `mob_skills` VALUES (1668,339,'slipstream',2,15.0,20.0,2000,1500,4,0,0,0,0,0,0); +-- INSERT INTO `mob_skills` VALUES (1669,340,'turbulence',0,10.0,10.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (1670,200,'tentacle',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (1671,202,'ink_jet',0,0.0,7.0,2000,0,4,4,0,3,0,0,0); -- INSERT INTO `mob_skills` VALUES (1672,1416,'hard_membrane',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0);