From b44bfb5a42a90e24d318ec71451c8f4c43943ab7 Mon Sep 17 00:00:00 2001 From: General Date: Sun, 19 Jan 2025 18:16:30 -0700 Subject: [PATCH 1/4] [SQL] Update mob_skills animations, addin Trust Abquhbah mob_skill_list Pulled from captures --- sql/mob_skill_lists.sql | 4 ++- sql/mob_skills.sql | 58 ++++++++++++++++++++--------------------- 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/sql/mob_skill_lists.sql b/sql/mob_skill_lists.sql index ca4086a61fb..888621fe0fb 100644 --- a/sql/mob_skill_lists.sql +++ b/sql/mob_skill_lists.sql @@ -3603,7 +3603,9 @@ INSERT INTO `mob_skill_lists` VALUES ('TRUST_Mildaurion',1086,3473); -- Stellar -- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Selh_teus',1094,0); -- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Yoran-Oran_UC',1095,0); -- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Sylvie_UC',1096,0); --- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Abquhbah',1097,0); +INSERT INTO `mob_skill_lists` VALUES ('TRUST_Abquhbah',1097,1); -- Combo +INSERT INTO `mob_skill_lists` VALUES ('TRUST_Abquhbah',1097,4); -- Backhand Blow +INSERT INTO `mob_skill_lists` VALUES ('TRUST_Abquhbah',1097,3541); -- Salaheem Spirit -- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Balamor',1098,0); -- INSERT INTO `mob_skill_lists` VALUES ('TRUST_August',1099,0); -- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Rosulatia',1100,0); diff --git a/sql/mob_skills.sql b/sql/mob_skills.sql index b591e8e7dd3..542e63dbd9f 100644 --- a/sql/mob_skills.sql +++ b/sql/mob_skills.sql @@ -33,10 +33,10 @@ CREATE TABLE IF NOT EXISTS `mob_skills` ( -- Table contents for `mob_skills` -- --- INSERT INTO `mob_skills` VALUES (1,??,'combo' +INSERT INTO `mob_skills` VALUES (1,16,'combo',0,0.0,5.0,2000,0,4,0,0,0,8,0,0); -- INSERT INTO `mob_skills` VALUES (2,??,'shoulder_tackle' -- INSERT INTO `mob_skills` VALUES (3,??,'one_inch_punch' --- INSERT INTO `mob_skills` VALUES (4,??,'backhand_blow' +INSERT INTO `mob_skills` VALUES (4,19,'backhand_blow',0,0.0,5.0,2000,0,4,0,0,0,6,0,0); -- INSERT INTO `mob_skills` VALUES (5,??,'raging_fists' -- INSERT INTO `mob_skills` VALUES (6,??,'spinning_attack' INSERT INTO `mob_skills` VALUES (7,22,'howling_fist',0,0.0,5.0,2000,0,4,0,0,0,1,8,0); @@ -3264,10 +3264,10 @@ INSERT INTO `mob_skills` VALUES (3245,2036,'shield_subverter',0,0.0,7.0,2000,150 -- INSERT INTO `mob_skills` VALUES (3249,2993,'amatsu_mizumari',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3250,2994,'.',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3251,438,'amatsu_shirahadori',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3252,262,'bisection',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3252,2310,'bisection',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3253,263,'leaden_salute',0,0.0,15.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3254,264,'akimbo_shot',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3255,265,'grisly_horizon',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3254,2312,'akimbo_shot',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3255,2313,'grisly_horizon',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3256,361,'hane_fubuki',1,0.0,18.0,2000,1000,4,0,0,0,1,0,0); -- Gessho INSERT INTO `mob_skills` VALUES (3257,1299,'shibaraku',1,0.0,7.0,2000,1500,4,0,0,1,14,9,0); INSERT INTO `mob_skills` VALUES (3258,363,'shiko_no_mitate',0,0.0,7.0,2000,1500,1,0,0,0,0,0,0); @@ -3326,16 +3326,16 @@ INSERT INTO `mob_skills` VALUES (3310,1712,'dancers_fury',0,0.0,7.0,2000,1000,4, INSERT INTO `mob_skills` VALUES (3311,1713,'whirling_edge',0,0.0,7.0,2000,1000,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3312,1716,'rousing_samba',1,0.0,18.0,2000,1000,1,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3313,1717,'vivifying_waltz',1,0.0,18.0,2000,1000,1,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3314,305,'true_strike',0,0.0,7.0,2000,1500,4,0,0,0,6,8,0); -INSERT INTO `mob_skills` VALUES (3315,306,'hexa_strike',0,0.0,7.0,2000,1500,4,0,0,0,11,0,0); +INSERT INTO `mob_skills` VALUES (3314,2353,'true_strike',0,0.0,7.0,2000,1500,4,0,0,0,6,8,0); +INSERT INTO `mob_skills` VALUES (3315,2354,'hexa_strike',0,0.0,7.0,2000,1500,4,0,0,0,11,0,0); -- INSERT INTO `mob_skills` VALUES (3316,3060,'glutinous_dart',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3317,3061,'death_spin',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3318,3062,'velkkan_pygmachia',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3319,3063,'saurian_slide',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3320,3064,'jungle_wallop',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3321,3065,'.',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3322,308,'critical_mass',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3323,307,'fiery_tailings',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3322,2356,'critical_mass',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3323,2355,'fiery_tailings',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3324,3068,'meteor_strike',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3325,3069,'inferno',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3326,3070,'wind_blade',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); @@ -3450,11 +3450,11 @@ INSERT INTO `mob_skills` VALUES (3434,385,'tachi_kamai',0,0.0,7.0,2000,1500,4,0, INSERT INTO `mob_skills` VALUES (3435,386,'iainuki',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3436,383,'tachi_goten',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3437,384,'tachi_kasha',0,0.0,7.0,2000,1500,4,0,0,0,11,2,0); -INSERT INTO `mob_skills` VALUES (3438,382,'dragon_breath',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3439,381,'hurricane_wing',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3440,269,'pocket_sand',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3441,268,'tripe_gripe',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3442,271,'sharp_eye',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3438,2430,'dragon_breath',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3439,2429,'hurricane_wing',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3440,2317,'pocket_sand',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3441,2316,'tripe_gripe',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3442,2319,'sharp_eye',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3443,3187,'gloeosuccus',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3444,3188,'afflatus_misery',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3445,3189,'merciless_strike',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); @@ -3508,7 +3508,7 @@ INSERT INTO `mob_skills` VALUES (3492,2030,'pirate_pummel',0,0.0,7.0,2000,1500,4 INSERT INTO `mob_skills` VALUES (3493,2031,'powder_keg',0,0.0,7.0,2000,1500,4,0,0,0,5,1,0); INSERT INTO `mob_skills` VALUES (3494,2032,'walk_the_plank',0,0.0,7.0,2000,1500,4,0,2,0,11,0,0); INSERT INTO `mob_skills` VALUES (3495,684,'ground_strike',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); --- INSERT INTO `mob_skills` VALUES (3496,457,'hollow_smite',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3496,2505,'hollow_smite',0,0.0,7.0,2000,1500,4,0,0,0,13,12,0); -- INSERT INTO `mob_skills` VALUES (3497,3241,'sarva's_storm',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3498,3242,'sarva's_storm',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (3499,3243,'soturi's_fury',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); @@ -3553,7 +3553,7 @@ INSERT INTO `mob_skills` VALUES (3517,462,'gloom_spray',0,0.0,7.0,2000,1500,4,0, INSERT INTO `mob_skills` VALUES (3538,474,'null_blast',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3539,1093,'hysteroanima',0,0.0,7.0,2000,0,1,4,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3540,1094,'psychoanima',0,0.0,7.0,2000,0,1,4,0,0,0,0,0); --- INSERT INTO `mob_skills` VALUES (3541,3285,'#1749',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3541,2528,'salaheem_spirit',1,0.0,15.0,2000,1500,1,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3542,1042,'oisoya',0,0.0,15.0,2000,1500,4,0,0,0,13,10,0); -- Light/Distortion. Todo: verify Animation ID, this is copied from BCNM Tenzen. INSERT INTO `mob_skills` VALUES (3543,2033,'knuckle_sandwich',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3544,1713,'whirling_edge',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); @@ -3629,13 +3629,13 @@ INSERT INTO `mob_skills` VALUES (3613,295,'',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3614,296,'',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3615,297,'',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3616,298,'',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3617,299,'feast_of_arrows',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3618,301,'regurgitated_swarm',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3619,302,'setting_the_stage',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3620,303,'last_laugh',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3621,483,'luminous_lance',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3622,481,'rejuvenation',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3623,482,'revelation',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3617,2347,'feast_of_arrows',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3618,2349,'regurgitated_swarm',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3619,2350,'setting_the_stage',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3620,2351,'last_laugh',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3621,2531,'luminous_lance',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3622,2529,'rejuvenation',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3623,2530,'revelation',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3624,900,'memento_mori',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3625,901,'silence_seal',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3626,902,'envoutement',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); @@ -3645,7 +3645,7 @@ INSERT INTO `mob_skills` VALUES (3629,340,'',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3630,341,'',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3631,342,'start_from_scratch',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3632,343,'frenzied_thrust',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3633,344,'sinners_cross',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3633,2392,'sinners_cross',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3634,345,'open_coffin',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3635,346,'ravenous_assault',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3636,347,'hemocladis',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); @@ -3696,11 +3696,11 @@ INSERT INTO `mob_skills` VALUES (3680,291,'12_blades_of_remorse',0,0.0,7.0,2000, INSERT INTO `mob_skills` VALUES (3681,272,'',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3682,273,'',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3683,274,'',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3684,275,'aurous_charge',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3685,276,'howling_gust',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3686,277,'righteous_rasp',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3687,278,'starward_yowl',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (3688,279,'stalking_prey',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3684,2323,'aurous_charge',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3685,2324,'howling_gust',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3686,2325,'righteous_rasp',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3687,2326,'starward_yowl',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (3688,2327,'stalking_prey',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3689,344,'shuffle',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3690,345,'double_down',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (3691,427,'bludgeon',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); From 176c6257625cfea18bd8e1f2951fa6452ee4c715 Mon Sep 17 00:00:00 2001 From: General Date: Sun, 19 Jan 2025 21:17:18 -0700 Subject: [PATCH 2/4] [LUA / SQL] Add in Trusts Maat UC / Abquhbah 1. Adding in mob skill scripts hollow smite (same as victory smite) and Salaheem spirit ( similar as Ecliptic Growl) Both specific to trusts only 2. Update mob_skill_list to add in Maat UC skill list 3. Maat UC will only use hollow smite if player is level 50 or above, tested 4. Salaheem spirit does not appear to have any trigger on retail, as much as it is random in in place of a weapon skill. --- scripts/actions/mobskills/hollow_smite.lua | 24 ++++++++++++++ scripts/actions/mobskills/salaheem_spirit.lua | 32 +++++++++++++++++++ scripts/actions/spells/trust/abquhbah.lua | 6 ++++ scripts/actions/spells/trust/maat_uc.lua | 9 ++++++ sql/mob_skill_lists.sql | 2 +- 5 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 scripts/actions/mobskills/hollow_smite.lua create mode 100644 scripts/actions/mobskills/salaheem_spirit.lua diff --git a/scripts/actions/mobskills/hollow_smite.lua b/scripts/actions/mobskills/hollow_smite.lua new file mode 100644 index 00000000000..9bff71fe8c7 --- /dev/null +++ b/scripts/actions/mobskills/hollow_smite.lua @@ -0,0 +1,24 @@ +----------------------------------- +-- Hollow Smite +-- Description: Delivers a fourfold attack. Chance of critical hit varies with TP. +-- Type: Physical +----------------------------------- +---@type TMobSkill +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(target, mob, skill) + local numhits = 4 + local accmod = 1 + local dmgmod = 2.25 + local info = xi.mobskills.mobPhysicalMove(mob, target, skill, numhits, accmod, dmgmod, xi.mobskills.physicalTpBonus.CRIT_VARIES, 1.1, 1.25, 1.45) + local dmg = xi.mobskills.mobFinalAdjustments(info.dmg, mob, skill, target, xi.attackType.PHYSICAL, xi.damageType.HTH, info.hitslanded) + + target:takeDamage(dmg, mob, xi.attackType.PHYSICAL, xi.damageType.HTH) + return dmg +end + +return mobskillObject diff --git a/scripts/actions/mobskills/salaheem_spirit.lua b/scripts/actions/mobskills/salaheem_spirit.lua new file mode 100644 index 00000000000..abb0fd4f982 --- /dev/null +++ b/scripts/actions/mobskills/salaheem_spirit.lua @@ -0,0 +1,32 @@ +----------------------------------- +-- Salaheem Spirit +-- Description: Provides a bonus to base attributes for party members in area of effect. Duration varies by TP +-- Only available to Abquhbah Trust +----------------------------------- +---@type TMobSkill +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(target, mob, skill) + local power = math.floor(mob:getMainLvl() / 4) + local tick = 10 + local duration = 50 + local bonusTime = math.floor(mob:getTP() / 10) + 5 + local effects = {xi.effect.STR_BOOST, xi.effect.DEX_BOOST, xi.effect.DEX_BOOST, xi.effect.AGI_BOOST, xi.effect.INT_BOOST, xi.effect.MND_BOOST, xi.effect.CHR_BOOST,} + + for i = 1, #effects do + if target:hasStatusEffect(effects[i]) then + target:delStatusEffect(effects[i]) + target:addStatusEffect(effects[i], power, tick, duration + bonusTime) + end + end + + skill:setMsg(xi.msg.basic.STATUS_BOOST_2) + + return 0 +end + +return mobskillObject diff --git a/scripts/actions/spells/trust/abquhbah.lua b/scripts/actions/spells/trust/abquhbah.lua index b17bc8a744e..3d7323bc0eb 100644 --- a/scripts/actions/spells/trust/abquhbah.lua +++ b/scripts/actions/spells/trust/abquhbah.lua @@ -14,6 +14,12 @@ end spellObject.onMobSpawn = function(mob) xi.trust.message(mob, xi.trust.messageOffset.SPAWN) + mob:addSimpleGambit(ai.t.SELF, ai.c.NOT_SC_AVAILABLE, 0, ai.r.JA, ai.s.SPECIFIC, xi.ja.BERSERK) + mob:addSimpleGambit(ai.t.SELF, ai.c.NOT_SC_AVAILABLE, 0, ai.r.JA, ai.s.SPECIFIC, xi.ja.WARCRY) + mob:addSimpleGambit(ai.t.SELF, ai.c.ALWAYS, 0, ai.r.JA, ai.s.SPECIFIC, xi.ja.RESTRAINT) + + mob:setTrustTPSkillSettings(ai.tp.CLOSER_UNTIL_TP, ai.s.RANDOM,1500) + end spellObject.onMobDespawn = function(mob) diff --git a/scripts/actions/spells/trust/maat_uc.lua b/scripts/actions/spells/trust/maat_uc.lua index 7cdc64c560b..445a3c46a9f 100644 --- a/scripts/actions/spells/trust/maat_uc.lua +++ b/scripts/actions/spells/trust/maat_uc.lua @@ -14,6 +14,15 @@ end spellObject.onMobSpawn = function(mob) xi.trust.message(mob, xi.trust.messageOffset.SPAWN) + -- TODO test and incorporate (possesses increased kick attacks rate) + mob:addSimpleGambit(ai.t.SELF, ai.c.HPP_LT, 50, ai.r.JA, ai.s.SPECIFIC, xi.ja.CHAKRA) + mob:addSimpleGambit(ai.t.SELF, ai.c.HAS_TOP_ENMITY, 0, ai.r.JA, ai.s.SPECIFIC, xi.ja.COUNTERSTANCE) + mob:addSimpleGambit(ai.t.SELF, ai.c.ALWAYS, 0, ai.r.JA, ai.s.SPECIFIC, xi.ja.IMPETUS) + + if mob:getMaster():getMainLvl() >= 50 then + -- TODO no current implementation to have multiple criterias on setTrustTOSkillSetting to allow opening a skill chain and closing a skill chain + mob:setTrustTPSkillSettings(ai.tp.CLOSER_UNTIL_TP, ai.s.HIGHEST,3000) + end end spellObject.onMobDespawn = function(mob) diff --git a/sql/mob_skill_lists.sql b/sql/mob_skill_lists.sql index 888621fe0fb..12746f54999 100644 --- a/sql/mob_skill_lists.sql +++ b/sql/mob_skill_lists.sql @@ -3643,7 +3643,7 @@ INSERT INTO `mob_skill_lists` VALUES ('TRUST_AAGK',1111,3726); -- Tachi: Fudo -- Reserved for future Trust 6003 (ID: 1118) (Formerly Cornelia) -- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Excenmille_S',1119,0); -- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Ayame_UC',1120,0); --- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Maat_UC',1121,0); +INSERT INTO `mob_skill_lists` VALUES ('TRUST_Maat_UC',1121,3496); -- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Aldo_UC',1122,0); -- INSERT INTO `mob_skill_lists` VALUES ('TRUST_Naja_Salaheem_UC',1123,0); INSERT INTO `mob_skill_lists` VALUES ('TRUST_Lion_II',1124,3491); -- Grapeshot From ea5c834c141166ad8005e7fc16f48fb094390d6f Mon Sep 17 00:00:00 2001 From: General Date: Mon, 20 Jan 2025 11:51:14 -0700 Subject: [PATCH 3/4] Updated formatting and removed hasStatusEffect check --- scripts/actions/mobskills/salaheem_spirit.lua | 8 +++----- scripts/actions/spells/trust/abquhbah.lua | 3 +-- scripts/actions/spells/trust/maat_uc.lua | 2 +- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/scripts/actions/mobskills/salaheem_spirit.lua b/scripts/actions/mobskills/salaheem_spirit.lua index abb0fd4f982..661a1878456 100644 --- a/scripts/actions/mobskills/salaheem_spirit.lua +++ b/scripts/actions/mobskills/salaheem_spirit.lua @@ -15,13 +15,11 @@ mobskillObject.onMobWeaponSkill = function(target, mob, skill) local tick = 10 local duration = 50 local bonusTime = math.floor(mob:getTP() / 10) + 5 - local effects = {xi.effect.STR_BOOST, xi.effect.DEX_BOOST, xi.effect.DEX_BOOST, xi.effect.AGI_BOOST, xi.effect.INT_BOOST, xi.effect.MND_BOOST, xi.effect.CHR_BOOST,} + local effects = { xi.effect.STR_BOOST, xi.effect.DEX_BOOST, xi.effect.VIT_BOOST, xi.effect.AGI_BOOST, xi.effect.INT_BOOST, xi.effect.MND_BOOST, xi.effect.CHR_BOOST } for i = 1, #effects do - if target:hasStatusEffect(effects[i]) then - target:delStatusEffect(effects[i]) - target:addStatusEffect(effects[i], power, tick, duration + bonusTime) - end + target:delStatusEffect(effects[i]) + target:addStatusEffect(effects[i], power, tick, duration + bonusTime) end skill:setMsg(xi.msg.basic.STATUS_BOOST_2) diff --git a/scripts/actions/spells/trust/abquhbah.lua b/scripts/actions/spells/trust/abquhbah.lua index 3d7323bc0eb..42a0d364f68 100644 --- a/scripts/actions/spells/trust/abquhbah.lua +++ b/scripts/actions/spells/trust/abquhbah.lua @@ -18,8 +18,7 @@ spellObject.onMobSpawn = function(mob) mob:addSimpleGambit(ai.t.SELF, ai.c.NOT_SC_AVAILABLE, 0, ai.r.JA, ai.s.SPECIFIC, xi.ja.WARCRY) mob:addSimpleGambit(ai.t.SELF, ai.c.ALWAYS, 0, ai.r.JA, ai.s.SPECIFIC, xi.ja.RESTRAINT) - mob:setTrustTPSkillSettings(ai.tp.CLOSER_UNTIL_TP, ai.s.RANDOM,1500) - + mob:setTrustTPSkillSettings(ai.tp.CLOSER_UNTIL_TP, ai.s.RANDOM, 1500) end spellObject.onMobDespawn = function(mob) diff --git a/scripts/actions/spells/trust/maat_uc.lua b/scripts/actions/spells/trust/maat_uc.lua index 445a3c46a9f..c8ff0ec8455 100644 --- a/scripts/actions/spells/trust/maat_uc.lua +++ b/scripts/actions/spells/trust/maat_uc.lua @@ -21,7 +21,7 @@ spellObject.onMobSpawn = function(mob) if mob:getMaster():getMainLvl() >= 50 then -- TODO no current implementation to have multiple criterias on setTrustTOSkillSetting to allow opening a skill chain and closing a skill chain - mob:setTrustTPSkillSettings(ai.tp.CLOSER_UNTIL_TP, ai.s.HIGHEST,3000) + mob:setTrustTPSkillSettings(ai.tp.CLOSER_UNTIL_TP, ai.s.HIGHEST, 3000) end end From 19ad6440dc56af91686fa32d2540f844b8b9a234 Mon Sep 17 00:00:00 2001 From: General Date: Tue, 21 Jan 2025 18:37:02 -0700 Subject: [PATCH 4/4] Updated Salaheem spirit script formatting and remove loop --- scripts/actions/mobskills/salaheem_spirit.lua | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/scripts/actions/mobskills/salaheem_spirit.lua b/scripts/actions/mobskills/salaheem_spirit.lua index 661a1878456..6dcbaa18d36 100644 --- a/scripts/actions/mobskills/salaheem_spirit.lua +++ b/scripts/actions/mobskills/salaheem_spirit.lua @@ -15,12 +15,22 @@ mobskillObject.onMobWeaponSkill = function(target, mob, skill) local tick = 10 local duration = 50 local bonusTime = math.floor(mob:getTP() / 10) + 5 - local effects = { xi.effect.STR_BOOST, xi.effect.DEX_BOOST, xi.effect.VIT_BOOST, xi.effect.AGI_BOOST, xi.effect.INT_BOOST, xi.effect.MND_BOOST, xi.effect.CHR_BOOST } - for i = 1, #effects do - target:delStatusEffect(effects[i]) - target:addStatusEffect(effects[i], power, tick, duration + bonusTime) - end + target:delStatusEffect(xi.effect.STR_BOOST) + target:delStatusEffect(xi.effect.DEX_BOOST) + target:delStatusEffect(xi.effect.VIT_BOOST) + target:delStatusEffect(xi.effect.AGI_BOOST) + target:delStatusEffect(xi.effect.INT_BOOST) + target:delStatusEffect(xi.effect.MND_BOOST) + target:delStatusEffect(xi.effect.CHR_BOOST) + + target:addStatusEffect(xi.effect.STR_BOOST, power, tick, duration + bonusTime) + target:addStatusEffect(xi.effect.DEX_BOOST, power, tick, duration + bonusTime) + target:addStatusEffect(xi.effect.VIT_BOOST, power, tick, duration + bonusTime) + target:addStatusEffect(xi.effect.AGI_BOOST, power, tick, duration + bonusTime) + target:addStatusEffect(xi.effect.INT_BOOST, power, tick, duration + bonusTime) + target:addStatusEffect(xi.effect.MND_BOOST, power, tick, duration + bonusTime) + target:addStatusEffect(xi.effect.CHR_BOOST, power, tick, duration + bonusTime) skill:setMsg(xi.msg.basic.STATUS_BOOST_2)