From da3761ecdb5c6aed1980e18268424579586ecb03 Mon Sep 17 00:00:00 2001 From: Skold <113406182+Skold177@users.noreply.github.com> Date: Tue, 14 Apr 2026 21:37:39 -0400 Subject: [PATCH] [lua] [sql] Divine Might Tuning Adds base damage to the Ark Angels and gives the Mandragora a spell list --- .../LaLoff_Amphitheater/mobs/Ark_Angel_EV.lua | 2 ++ .../LaLoff_Amphitheater/mobs/Ark_Angel_GK.lua | 2 ++ .../LaLoff_Amphitheater/mobs/Ark_Angel_HM.lua | 2 ++ .../LaLoff_Amphitheater/mobs/Ark_Angel_MR.lua | 2 ++ .../LaLoff_Amphitheater/mobs/Ark_Angel_TT.lua | 2 ++ .../mobs/Ark_Angels_Mandragora.lua | 15 +++++++++++---- sql/mob_pools.sql | 2 +- sql/mob_skills.sql | 2 +- 8 files changed, 23 insertions(+), 6 deletions(-) diff --git a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_EV.lua b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_EV.lua index 1bebacd3ccb..7056189a4a9 100644 --- a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_EV.lua +++ b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_EV.lua @@ -21,6 +21,8 @@ entity.onMobInitialize = function(mob) end entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + xi.mix.jobSpecial.config(mob, { specials = { diff --git a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_GK.lua b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_GK.lua index 47105d2c433..9195183d0b1 100644 --- a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_GK.lua +++ b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_GK.lua @@ -52,6 +52,8 @@ entity.onMobInitialize = function(mob) end entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + xi.mix.jobSpecial.config(mob, { specials = diff --git a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_HM.lua b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_HM.lua index 791f7f85dc6..2340d0b940e 100644 --- a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_HM.lua +++ b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_HM.lua @@ -21,6 +21,8 @@ entity.onMobInitialize = function(mob) end entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + xi.mix.jobSpecial.config(mob, { between = 30, specials = diff --git a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_MR.lua b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_MR.lua index 91aef8ad2f0..ec216feca56 100644 --- a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_MR.lua +++ b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_MR.lua @@ -51,6 +51,8 @@ entity.onMobInitialize = function(mob) end entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + xi.mix.jobSpecial.config(mob, { specials = diff --git a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_TT.lua b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_TT.lua index 7e928af24cc..6a7f4751d42 100644 --- a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_TT.lua +++ b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angel_TT.lua @@ -63,6 +63,8 @@ entity.onMobInitialize = function(mob) end entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + xi.mix.jobSpecial.config(mob, { between = 30, diff --git a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angels_Mandragora.lua b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angels_Mandragora.lua index aaa889b838a..20cf1ff509a 100644 --- a/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angels_Mandragora.lua +++ b/scripts/zones/LaLoff_Amphitheater/mobs/Ark_Angels_Mandragora.lua @@ -5,7 +5,9 @@ ---@type TMobEntity local entity = {} --- TODO: Determine spell list and behavior. Potentially includes Breakga and Bindga, unless they're TP moves. +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.MAGIC_COOL, 70) +end entity.onMobEngage = function(mob, target) local mobid = mob:getID() @@ -18,10 +20,15 @@ entity.onMobEngage = function(mob, target) end end -entity.onMobFight = function(mob, target) -end +entity.onMobSpellChoose = function(mob, target, spellId) + local spellList = + { + [1] = { xi.magic.spell.QUAKE, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [2] = { xi.magic.spell.SLOW, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.SLOW, 4, 100 }, + [3] = { xi.magic.spell.BINDGA, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.BIND, 0, 100 }, + } -entity.onMobDeath = function(mob, player, optParams) + return xi.combat.behavior.chooseAction(mob, target, nil, spellList) end return entity diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 941176e108f..e0acb9f8d57 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -294,7 +294,7 @@ INSERT INTO `mob_pools` VALUES (235,'Ark_Angel_EV','Ark_Angel_EV',352,0x00001103 INSERT INTO `mob_pools` VALUES (236,'Ark_Angel_GK','Ark_Angel_GK',353,0x0000140300000000000000000000000000000000,12,14,10,240,125,0,1,1,1,18,0,32,693,1179,0,0,0,0,0,353,353,1,15); INSERT INTO `mob_pools` VALUES (237,'Ark_Angel_HM','Ark_Angel_HM',354,0x0000100300000000000000000000000000000000,1,13,3,240,125,0,1,1,1,18,0,32,3139,1179,0,0,38,0,0,354,354,1,16); INSERT INTO `mob_pools` VALUES (238,'Ark_Angel_MR','Ark_Angel_MR',355,0x0000120300000000000000000000000000000000,9,6,2,240,125,0,1,1,1,18,0,32,4504,1051,0,0,0,0,0,355,355,1,15); -INSERT INTO `mob_pools` VALUES (239,'Ark_Angels_Mandragora','Ark_Angels_Mandragora',178,0x00002D0100000000000000000000000000000000,2,2,1,480,100,0,1,0,1,18,0,0,0,1667,8,0,0,0,0,178,178,1,8); +INSERT INTO `mob_pools` VALUES (239,'Ark_Angels_Mandragora','Ark_Angels_Mandragora',178,0x00002D0100000000000000000000000000000000,2,4,1,360,100,0,1,0,1,18,0,0,0,1667,8,0,1,0,0,178,178,1,8); INSERT INTO `mob_pools` VALUES (240,'Ark_Angels_Tiger','Ark_Angels_Tiger',242,0x0000340100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,18,0,0,0,1153,0,0,0,0,0,242,242,1,25); INSERT INTO `mob_pools` VALUES (241,'Ark_Angels_Wyvern','Ark_Angels_Wyvern',193,0x00000C0300000000000000000000000000000000,14,1,7,200,100,0,1,0,1,18,0,0,0,1157,0,0,0,0,0,714,193,1,8); INSERT INTO `mob_pools` VALUES (242,'Ark_Angel_TT','Ark_Angel_TT',356,0x0000130300000000000000000000000000000000,4,8,7,240,125,2,1,1,1,18,0,32,1129,1179,0,0,39,0,0,356,356,1,12); diff --git a/sql/mob_skills.sql b/sql/mob_skills.sql index 8f790b7ee51..149510cb917 100644 --- a/sql/mob_skills.sql +++ b/sql/mob_skills.sql @@ -958,7 +958,7 @@ INSERT INTO `mob_skills` VALUES (930,76,'entangle_poison',0,0.0,7.0,2000,1500,4, INSERT INTO `mob_skills` VALUES (931,633,'cross_reaver',4,0.0,7.0,2000,500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (932,634,'havoc_spiral',1,0.0,7.0,2000,500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (933,635,'dominion_slash',2,0.0,15.0,2000,500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (934,638,'shield_strike',4,0.0,10.0,2000,0,4,4,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (934,638,'shield_strike',4,0.0,7.0,2000,0,4,4,0,2,0,0,0); INSERT INTO `mob_skills` VALUES (935,636,'amon_drive',2,0.0,15.0,2000,500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (936,639,'ark_guardian_tarutaru',0,0.0,22.0,500,0,1,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (937,637,'dragonfall',1,0.0,7.0,2000,500,4,0,0,0,0,0,0);