diff --git a/scripts/actions/mobskills/arcuballista.lua b/scripts/actions/mobskills/arcuballista.lua index 30ef36ef7f7..0fc08a0dc3a 100644 --- a/scripts/actions/mobskills/arcuballista.lua +++ b/scripts/actions/mobskills/arcuballista.lua @@ -1,7 +1,7 @@ ----------------------------------- -- Arcuballista -- Family: Automaton --- Description: Delivers a single ranged attack. Damage varies with TP. +-- Description: Delivers a ranged attack. Damage varies with TP. ----------------------------------- ---@type TMobSkill local mobskillObject = {} @@ -17,7 +17,6 @@ mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) params.numHits = 1 params.fTP = { 2.5, 3.0, 4.0 } params.accuracyModifier = { 100, 100, 100 } - params.dex_wSC = 0.5 params.attackType = xi.attackType.RANGED params.damageType = xi.damageType.PIERCING params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_1 diff --git a/scripts/mixins/families/Troll_Automaton.lua b/scripts/mixins/families/Troll_Automaton.lua new file mode 100644 index 00000000000..c617d891c2a --- /dev/null +++ b/scripts/mixins/families/Troll_Automaton.lua @@ -0,0 +1,103 @@ +----------------------------------- +require('scripts/globals/mixins') +----------------------------------- +xi = xi or {} +xi.mix = xi.mix or {} +xi.mix.trollAutomaton = xi.mix.trollAutomaton or {} + +g_mixins = g_mixins or {} +g_mixins.families = g_mixins.families or {} + +local automatonTypes = +{ + { + name = 'Harlequin', + job = xi.job.RDM, + modelId = 1977, + isCaster = true, + spellList = 567, + }, + + { + name = 'Valoredge', + job = xi.job.PLD, + modelId = 1983, + doubleAttack = 15, + }, + + { + name = 'Sharpshot', + job = xi.job.RNG, + modelId = 1990, + isRanged = true, + standbackHp = 70, + specialCool = 12, + specialSkill = xi.mobSkill.RANGED_ATTACK_1, + rangedAttackRange = 13, + }, + + { + name = 'Stormwalker', + job = xi.job.RDM, + modelId = 1994, + isCaster = true, + spellList = 566, + standbackHp = 70, + }, +} + +g_mixins.families.Troll_Automaton = function(automatonMob) + automatonMob:addListener('SPAWN', 'TROLL_AUTOMATON_SPAWN', function(mob) + xi.mix.trollAutomaton.setupAutomaton(mob, automatonTypes[math.random(1, #automatonTypes)]) + end) +end + +xi.mix.trollAutomaton.setupAutomaton = function(mob, automatonType) + mob:setLocalVar('automatonTypeModelId', automatonType.modelId) + mob:setModelId(automatonType.modelId) + mob:changeJob(automatonType.job) + mob:setDelay(270) -- All Frames (Waiting for delay conversion PR to be merged) + mob:setMod(xi.mod.DOUBLE_ATTACK, automatonType.doubleAttack or 0) -- Valoredge Frame + mob:setMobMod(xi.mobMod.MAGIC_COOL, 27) -- Harlequin and Stormwalker + mob:setMobMod(xi.mobMod.MAGIC_DELAY, math.random(3, 7)) -- Harlequin and Stormwalker + mob:setSpellList(automatonType.spellList or 0) -- Harlequin and Stormwalker + mob:setMagicCastingEnabled(automatonType.isCaster or false) -- Harlequin & Stormwalker + mob:setBehavior(bit.band(mob:getBehavior(), bit.bnot(xi.behavior.STANDBACK))) -- Sharpshot and Stormwalker + mob:setMobMod(xi.mobMod.HP_STANDBACK, automatonType.standbackHp or 0) -- Sharpshot and Stormwalker + mob:setMobMod(xi.mobMod.SPECIAL_COOL, automatonType.specialCool or 0) -- Sharpshot Frame + mob:setMobMod(xi.mobMod.SPECIAL_SKILL, automatonType.specialSkill or 0) -- Sharpshot Frame + mob:setMobMod(xi.mobMod.RANGED_ATTACK_RANGE, automatonType.rangedAttackRange or 0) -- Sharpshot Frame + + return automatonType +end + +xi.mix.trollAutomaton.onMobMobskillChoose = function(mob, target) + local modelId = mob:getModelId() + local skillList = {} + + switch(modelId): caseof + { + [1977] = function() -- Harlequin + table.insert(skillList, xi.mobSkill.SLAPSTICK) + end, + + [1983] = function() -- Valoredge + table.insert(skillList, xi.mobSkill.CHIMERA_RIPPER) + table.insert(skillList, xi.mobSkill.STRING_CLIPPER) + table.insert(skillList, xi.mobSkill.SHIELD_BASH_AUTOMATON) + end, + + [1990] = function() -- Sharpshot + table.insert(skillList, xi.mobSkill.SLAPSTICK) + table.insert(skillList, xi.mobSkill.ARCUBALLISTA) + end, + + [1994] = function() -- Stormwalker + table.insert(skillList, xi.mobSkill.SLAPSTICK) + end, + } + + return skillList[math.random(1, #skillList)] +end + +return g_mixins.families.Troll_Automaton diff --git a/scripts/zones/Al_Zahbi/mobs/Trolls_Automaton.lua b/scripts/zones/Al_Zahbi/mobs/Trolls_Automaton.lua new file mode 100644 index 00000000000..31ff076eb84 --- /dev/null +++ b/scripts/zones/Al_Zahbi/mobs/Trolls_Automaton.lua @@ -0,0 +1,14 @@ +----------------------------------- +-- Area: Al Zahbi +-- Mob: Troll's Automaton +----------------------------------- +mixins = { require('scripts/mixins/families/Troll_Automaton') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobMobskillChoose = function(mob, target, skillId) + return xi.mix.trollAutomaton.onMobMobskillChoose(mob, target) +end + +return entity diff --git a/scripts/zones/Bhaflau_Remnants/mobs/Trolls_Automaton.lua b/scripts/zones/Bhaflau_Remnants/mobs/Trolls_Automaton.lua new file mode 100644 index 00000000000..e8353bbcc9c --- /dev/null +++ b/scripts/zones/Bhaflau_Remnants/mobs/Trolls_Automaton.lua @@ -0,0 +1,14 @@ +----------------------------------- +-- Area: Bhaflau Remnants +-- Mob: Troll's Automaton +----------------------------------- +mixins = { require('scripts/mixins/families/Troll_Automaton') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobMobskillChoose = function(mob, target, skillId) + return xi.mix.trollAutomaton.onMobMobskillChoose(mob, target) +end + +return entity diff --git a/scripts/zones/Bhaflau_Thickets/mobs/Trolls_Automaton.lua b/scripts/zones/Bhaflau_Thickets/mobs/Trolls_Automaton.lua new file mode 100644 index 00000000000..d22904e58e1 --- /dev/null +++ b/scripts/zones/Bhaflau_Thickets/mobs/Trolls_Automaton.lua @@ -0,0 +1,14 @@ +----------------------------------- +-- Area: Bhaflau Thickets +-- Mob: Troll's Automaton +----------------------------------- +mixins = { require('scripts/mixins/families/Troll_Automaton') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobMobskillChoose = function(mob, target, skillId) + return xi.mix.trollAutomaton.onMobMobskillChoose(mob, target) +end + +return entity diff --git a/scripts/zones/Halvung/mobs/Trolls_Automaton.lua b/scripts/zones/Halvung/mobs/Trolls_Automaton.lua new file mode 100644 index 00000000000..c6d7fec10cd --- /dev/null +++ b/scripts/zones/Halvung/mobs/Trolls_Automaton.lua @@ -0,0 +1,14 @@ +----------------------------------- +-- Area: Halvung +-- Mob: Troll's Automaton +----------------------------------- +mixins = { require('scripts/mixins/families/Troll_Automaton') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobMobskillChoose = function(mob, target, skillId) + return xi.mix.trollAutomaton.onMobMobskillChoose(mob, target) +end + +return entity diff --git a/scripts/zones/Mount_Zhayolm/mobs/Trolls_Automaton.lua b/scripts/zones/Mount_Zhayolm/mobs/Trolls_Automaton.lua new file mode 100644 index 00000000000..89fdf63891f --- /dev/null +++ b/scripts/zones/Mount_Zhayolm/mobs/Trolls_Automaton.lua @@ -0,0 +1,14 @@ +----------------------------------- +-- Area: Mount Zhayolm +-- Mob: Troll's Automaton +----------------------------------- +mixins = { require('scripts/mixins/families/Troll_Automaton') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobMobskillChoose = function(mob, target, skillId) + return xi.mix.trollAutomaton.onMobMobskillChoose(mob, target) +end + +return entity diff --git a/scripts/zones/Wajaom_Woodlands/mobs/Trolls_Automaton.lua b/scripts/zones/Wajaom_Woodlands/mobs/Trolls_Automaton.lua new file mode 100644 index 00000000000..ab1cfe027a6 --- /dev/null +++ b/scripts/zones/Wajaom_Woodlands/mobs/Trolls_Automaton.lua @@ -0,0 +1,14 @@ +----------------------------------- +-- Area: Wajaom Woodlands +-- Mob: Troll's Automaton +----------------------------------- +mixins = { require('scripts/mixins/families/Troll_Automaton') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobMobskillChoose = function(mob, target, skillId) + return xi.mix.trollAutomaton.onMobMobskillChoose(mob, target) +end + +return entity diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 2d8c7a7ebf0..643b6e2f2f4 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -4091,7 +4091,7 @@ INSERT INTO `mob_pools` VALUES (4031,'Troll_Speculator','Troll_Speculator',246,0 INSERT INTO `mob_pools` VALUES (4032,'Troll_Stoneworker','Troll_Stoneworker',246,0x0600B00600000000000000000000000000000000,2,2,1,480,100,0,1,0,1,0,0,0,184,131,1,0,0,0,0,246,246,1,17); INSERT INTO `mob_pools` VALUES (4033,'Troll_Stormer','Troll_Stormer',246,0x0600AC0600000000000000000000000000000000,5,5,4,230,100,0,1,0,0,0,0,0,9,131,0,0,3,0,0,246,246,1,17); INSERT INTO `mob_pools` VALUES (4034,'Troll_Surveillant','Troll_Surveillant',246,0x0600B00600000000000000000000000000000000,18,18,7,230,100,0,1,0,1,0,0,0,126,131,0,0,0,0,0,246,246,1,17); -INSERT INTO `mob_pools` VALUES (4035,'Trolls_Automaton','Trolls_Automaton',28,0x0600B90700000000000000000000000000000000,3,3,11,320,100,0,0,0,1,0,0,0,1,131,0,0,3,0,0,28,28,2,8); +INSERT INTO `mob_pools` VALUES (4035,'Trolls_Automaton','Trolls_Automaton',28,0x0600B90700000000000000000000000000000000,3,3,11,320,100,0,0,0,1,0,0,0,1,131,0,0,567,0,0,363,28,2,8); INSERT INTO `mob_pools` VALUES (4036,'Troll_Targeteer','Troll_Targeteer',246,0x06009B0600000000000000000000000000000000,7,7,2,280,100,0,1,0,1,0,0,0,1,133,0,0,4,0,0,247,246,2,20); INSERT INTO `mob_pools` VALUES (4037,'Troll_Velites','Troll_Velites',246,0x0600B00600000000000000000000000000000000,2,2,1,480,100,0,1,0,0,0,0,0,10,131,0,0,0,0,0,246,246,1,17); INSERT INTO `mob_pools` VALUES (4038,'Trombe','Trombe',242,0x0000340100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,0,0,0,330,129,0,0,0,0,0,242,242,0,22); diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index 3f87f058b63..7c6055907d0 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -18239,9 +18239,9 @@ INSERT INTO `mob_spawn_points` VALUES (17084521,0,'Wandering_Wamoura','Wandering INSERT INTO `mob_spawn_points` VALUES (17084522,0,'Wandering_Wamoura','Wandering Wamoura',207,74,75,181.848,-0.365,312.326,142); INSERT INTO `mob_spawn_points` VALUES (17084523,0,'Wandering_Wamoura','Wandering Wamoura',207,74,75,171.300,-0.076,291.626,127); INSERT INTO `mob_spawn_points` VALUES (17084524,0,'Troll_Engraver','Troll Engraver',208,75,77,170.917,-0.167,311.498,135); -INSERT INTO `mob_spawn_points` VALUES (17084525,0,'Troll_s_Automaton','Troll\'s Automaton',209,70,71,170.917,-0.500,311.498,135); +INSERT INTO `mob_spawn_points` VALUES (17084525,0,'Trolls_Automaton','Troll\'s Automaton',209,70,71,170.917,-0.500,311.498,135); INSERT INTO `mob_spawn_points` VALUES (17084526,0,'Troll_Engraver','Troll Engraver',208,75,77,185.285,-0.108,290.365,253); -INSERT INTO `mob_spawn_points` VALUES (17084527,0,'Troll_s_Automaton','Troll\'s Automaton',209,70,71,167.606,-0.449,303.664,77); +INSERT INTO `mob_spawn_points` VALUES (17084527,0,'Trolls_Automaton','Troll\'s Automaton',209,70,71,167.606,-0.449,303.664,77); INSERT INTO `mob_spawn_points` VALUES (17084528,0,'Troll_Ironworker','Troll Ironworker',203,75,77,183.221,-0.241,303.615,217); INSERT INTO `mob_spawn_points` VALUES (17084529,0,'Troll_Ironworker','Troll Ironworker',203,75,77,179.591,-0.384,296.482,164); INSERT INTO `mob_spawn_points` VALUES (17084530,0,'Wandering_Wamoura','Wandering Wamoura',207,74,75,249.022,-0.500,229.764,0); @@ -18251,12 +18251,12 @@ INSERT INTO `mob_spawn_points` VALUES (17084533,0,'Wandering_Wamoura','Wandering INSERT INTO `mob_spawn_points` VALUES (17084534,0,'Wandering_Wamoura','Wandering Wamoura',207,74,75,272.393,-0.449,218.814,0); INSERT INTO `mob_spawn_points` VALUES (17084535,0,'Wandering_Wamoura','Wandering Wamoura',207,74,75,259.120,-0.500,232.087,0); INSERT INTO `mob_spawn_points` VALUES (17084536,0,'Troll_Engraver','Troll Engraver',208,75,77,258.426,-0.500,221.581,0); -INSERT INTO `mob_spawn_points` VALUES (17084537,0,'Troll_s_Automaton','Troll\'s Automaton',209,70,71,239.770,-0.266,219.251,141); +INSERT INTO `mob_spawn_points` VALUES (17084537,0,'Trolls_Automaton','Troll\'s Automaton',209,70,71,239.770,-0.266,219.251,141); INSERT INTO `mob_spawn_points` VALUES (17084538,0,'Troll_Ironworker','Troll Ironworker',203,75,77,249.553,-0.500,230.294,0); INSERT INTO `mob_spawn_points` VALUES (17084539,0,'Troll_Engraver','Troll Engraver',208,75,77,270.465,3.499,378.762,184); -INSERT INTO `mob_spawn_points` VALUES (17084540,0,'Troll_s_Automaton','Troll\'s Automaton',209,70,71,272.792,3.499,374.652,177); +INSERT INTO `mob_spawn_points` VALUES (17084540,0,'Trolls_Automaton','Troll\'s Automaton',209,70,71,272.792,3.499,374.652,177); INSERT INTO `mob_spawn_points` VALUES (17084541,0,'Troll_Engraver','Troll Engraver',208,75,77,262.099,3.500,384.199,24); -INSERT INTO `mob_spawn_points` VALUES (17084542,0,'Troll_s_Automaton','Troll\'s Automaton',209,70,71,260.149,3.513,386.085,26); +INSERT INTO `mob_spawn_points` VALUES (17084542,0,'Trolls_Automaton','Troll\'s Automaton',209,70,71,260.149,3.513,386.085,26); INSERT INTO `mob_spawn_points` VALUES (17084543,0,'Troll_Stoneworker','Troll Stoneworker',204,75,77,249.978,3.488,383.689,105); INSERT INTO `mob_spawn_points` VALUES (17084544,0,'Troll_Cameist','Troll Cameist',206,75,77,254.358,3.500,382.203,76); INSERT INTO `mob_spawn_points` VALUES (17084545,0,'Wandering_Wamoura','Wandering Wamoura',207,74,75,246.197,3.483,401.592,214); @@ -18270,7 +18270,7 @@ INSERT INTO `mob_spawn_points` VALUES (17084552,0,'Wandering_Wamoura','Wandering INSERT INTO `mob_spawn_points` VALUES (17084553,0,'Wandering_Wamoura','Wandering Wamoura',207,74,75,259.130,-0.791,128.664,111); INSERT INTO `mob_spawn_points` VALUES (17084554,0,'Wandering_Wamoura','Wandering Wamoura',207,74,75,269.320,-0.500,147.218,155); INSERT INTO `mob_spawn_points` VALUES (17084555,0,'Troll_Engraver','Troll Engraver',208,75,77,269.500,-0.537,119.117,116); -INSERT INTO `mob_spawn_points` VALUES (17084556,0,'Troll_s_Automaton','Troll\'s Automaton',209,70,71,275.190,-0.574,124.950,159); +INSERT INTO `mob_spawn_points` VALUES (17084556,0,'Trolls_Automaton','Troll\'s Automaton',209,70,71,275.190,-0.574,124.950,159); INSERT INTO `mob_spawn_points` VALUES (17084557,0,'Troll_Stoneworker','Troll Stoneworker',205,75,77,252.660,-0.533,120.613,155); INSERT INTO `mob_spawn_points` VALUES (17084558,0,'Troll_Cameist','Troll Cameist',206,75,77,276.800,-0.499,129.464,81); INSERT INTO `mob_spawn_points` VALUES (17084559,0,'Wandering_Wamoura','Wandering Wamoura',207,74,75,254.660,-0.760,126.904,166); @@ -18288,34 +18288,34 @@ INSERT INTO `mob_spawn_points` VALUES (17084570,0,'Troll_Smelter','Troll Smelter INSERT INTO `mob_spawn_points` VALUES (17084571,0,'Troll_Cameist','Troll Cameist',300,77,78,-466.815,-0.449,-315.698,0); INSERT INTO `mob_spawn_points` VALUES (17084572,0,'Troll_Ironworker','Troll Ironworker',305,77,78,-455.773,-0.548,-297.452,57); INSERT INTO `mob_spawn_points` VALUES (17084573,0,'Troll_Engraver','Troll Engraver',306,77,78,-427.867,-0.129,-268.722,71); -INSERT INTO `mob_spawn_points` VALUES (17084574,0,'Troll_s_Automaton','Troll\'s Automaton',307,77,78,-422.700,-0.483,-258.260,111); +INSERT INTO `mob_spawn_points` VALUES (17084574,0,'Trolls_Automaton','Troll\'s Automaton',307,77,78,-422.700,-0.483,-258.260,111); INSERT INTO `mob_spawn_points` VALUES (17084575,0,'Troll_Engraver','Troll Engraver',306,77,78,-425.973,-0.112,-268.623,95); -INSERT INTO `mob_spawn_points` VALUES (17084576,0,'Troll_s_Automaton','Troll\'s Automaton',307,77,78,-419.700,-0.497,-266.500,46); +INSERT INTO `mob_spawn_points` VALUES (17084576,0,'Trolls_Automaton','Troll\'s Automaton',307,77,78,-419.700,-0.497,-266.500,46); INSERT INTO `mob_spawn_points` VALUES (17084577,0,'Troll_Engraver','Troll Engraver',306,77,78,-420.122,-0.407,-261.554,230); -INSERT INTO `mob_spawn_points` VALUES (17084578,0,'Troll_s_Automaton','Troll\'s Automaton',307,77,78,-423.400,-0.273,-253.960,172); +INSERT INTO `mob_spawn_points` VALUES (17084578,0,'Trolls_Automaton','Troll\'s Automaton',307,77,78,-423.400,-0.273,-253.960,172); INSERT INTO `mob_spawn_points` VALUES (17084579,0,'Troll_Stoneworker','Troll Stoneworker',304,77,78,-338.924,-0.478,-278.748,213); INSERT INTO `mob_spawn_points` VALUES (17084580,0,'Troll_Smelter','Troll Smelter',302,77,78,-359.364,-0.500,-245.938,0); INSERT INTO `mob_spawn_points` VALUES (17084581,0,'Troll_Cameist','Troll Cameist',300,77,78,-326.245,-0.612,-253.684,40); INSERT INTO `mob_spawn_points` VALUES (17084582,0,'Troll_Ironworker','Troll Ironworker',305,77,78,-323.332,-0.500,-254.087,100); INSERT INTO `mob_spawn_points` VALUES (17084583,0,'Troll_Engraver','Troll Engraver',306,77,78,-345.479,-0.481,-280.660,174); -INSERT INTO `mob_spawn_points` VALUES (17084584,0,'Troll_s_Automaton','Troll\'s Automaton',307,77,78,-375.900,-0.444,-290.790,130); +INSERT INTO `mob_spawn_points` VALUES (17084584,0,'Trolls_Automaton','Troll\'s Automaton',307,77,78,-375.900,-0.444,-290.790,130); INSERT INTO `mob_spawn_points` VALUES (17084585,0,'Troll_Gemologist','Troll Gemologist',301,77,78,-319.327,-0.505,-264.616,12); INSERT INTO `mob_spawn_points` VALUES (17084586,0,'Troll_Lapidarist','Troll Lapidarist',303,77,78,-340.315,-0.314,-275.346,156); INSERT INTO `mob_spawn_points` VALUES (17084587,0,'Troll_Stoneworker','Troll Stoneworker',304,77,78,-346.941,-0.500,-277.045,87); INSERT INTO `mob_spawn_points` VALUES (17084588,0,'Troll_Engraver','Troll Engraver',306,77,78,-324.140,-0.500,-280.934,116); -INSERT INTO `mob_spawn_points` VALUES (17084589,0,'Troll_s_Automaton','Troll\'s Automaton',307,77,78,-329.400,-0.444,-255.500,130); +INSERT INTO `mob_spawn_points` VALUES (17084589,0,'Trolls_Automaton','Troll\'s Automaton',307,77,78,-329.400,-0.444,-255.500,130); INSERT INTO `mob_spawn_points` VALUES (17084590,0,'Troll_Gemologist','Troll Gemologist',301,77,78,-320.127,-0.500,-242.262,41); INSERT INTO `mob_spawn_points` VALUES (17084591,0,'Troll_Stoneworker','Troll Stoneworker',304,77,78,-320.995,-0.500,-267.388,0); INSERT INTO `mob_spawn_points` VALUES (17084592,0,'Troll_Smelter','Troll Smelter',302,77,78,-323.761,-0.500,-281.846,0); INSERT INTO `mob_spawn_points` VALUES (17084593,0,'Troll_Cameist','Troll Cameist',300,77,78,-355.927,-0.500,-238.486,127); INSERT INTO `mob_spawn_points` VALUES (17084594,0,'Troll_Ironworker','Troll Ironworker',305,77,78,-322.305,-1.000,-251.890,0); INSERT INTO `mob_spawn_points` VALUES (17084595,0,'Troll_Engraver','Troll Engraver',306,77,78,-359.149,-0.500,-248.905,192); -INSERT INTO `mob_spawn_points` VALUES (17084596,0,'Troll_s_Automaton','Troll\'s Automaton',307,77,78,-354.900,-0.500,-244.000,60); +INSERT INTO `mob_spawn_points` VALUES (17084596,0,'Trolls_Automaton','Troll\'s Automaton',307,77,78,-354.900,-0.500,-244.000,60); INSERT INTO `mob_spawn_points` VALUES (17084597,0,'Troll_Gemologist','Troll Gemologist',301,77,78,-325.679,-0.587,-279.071,12); INSERT INTO `mob_spawn_points` VALUES (17084598,0,'Troll_Lapidarist','Troll Lapidarist',303,77,78,-315.696,-0.500,-250.907,0); INSERT INTO `mob_spawn_points` VALUES (17084599,0,'Troll_Stoneworker','Troll Stoneworker',304,77,78,-327.223,-0.751,-281.294,49); INSERT INTO `mob_spawn_points` VALUES (17084600,0,'Troll_Engraver','Troll Engraver',306,77,78,-351.299,-0.500,-239.730,249); -INSERT INTO `mob_spawn_points` VALUES (17084601,0,'Troll_s_Automaton','Troll\'s Automaton',307,77,78,-315.300,-0.500,-256.000,200); +INSERT INTO `mob_spawn_points` VALUES (17084601,0,'Trolls_Automaton','Troll\'s Automaton',307,77,78,-315.300,-0.500,-256.000,200); INSERT INTO `mob_spawn_points` VALUES (17084602,0,'Troll_Gemologist','Troll Gemologist',301,77,78,-335.027,-0.500,-247.158,54); INSERT INTO `mob_spawn_points` VALUES (17084603,0,'Black_Pudding','Black Pudding',308,77,78,-205.300,-0.225,-589.950,194); INSERT INTO `mob_spawn_points` VALUES (17084604,0,'Black_Pudding','Black Pudding',308,77,78,-213.500,-0.082,-588.170,178); diff --git a/sql/mob_spell_lists.sql b/sql/mob_spell_lists.sql index 08e73d379d5..62ad64ede98 100644 --- a/sql/mob_spell_lists.sql +++ b/sql/mob_spell_lists.sql @@ -5764,7 +5764,31 @@ INSERT INTO `mob_spell_lists` VALUES ('Chemical_Cook_Chemachiq',565,57,1,255); INSERT INTO `mob_spell_lists` VALUES ('Chemical_Cook_Chemachiq',565,59,1,255); -- Silence (1~255) INSERT INTO `mob_spell_lists` VALUES ('Chemical_Cook_Chemachiq',565,112,1,255); -- Flash (1~255) --- Next Available: 566 +-- Stormwalker_Frame (566) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,154,1,255); -- Aero (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,231,1,255); -- Bio II (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,53,1,255); -- Blink (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,149,1,255); -- Blizzard (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,24,1,255); -- Dia II (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,33,1,255); -- Diaga (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,260,1,255); -- Dispel (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,105,1,255); -- Enwater (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,144,1,255); -- Fire (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,216,1,255); -- Gravity (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,44,1,255); -- Protect II (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,220,1,255); -- Poison (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,108,1,255); -- Regen (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,49,1,255); -- Shell II (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,160,1,255); -- Stone II (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,54,1,255); -- Stoneskin (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,164,1,255); -- Thunder (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,169,1,255); -- Water (1~255) +INSERT INTO `mob_spell_lists` VALUES ('Stormwalker_Frame',566,55,1,255); -- Aquaveil (1~255) + +-- Harlequin_Frame (567) +INSERT INTO `mob_spell_lists` VALUES ('Harlequin_Frame',567,23,1,255); -- Dia (1~255) + +-- Next Available: 568 /*!40000 ALTER TABLE `mob_spell_lists` ENABLE KEYS */; UNLOCK TABLES;