Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions scripts/actions/mobskills/arcuballista.lua
Original file line number Diff line number Diff line change
@@ -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 = {}
Expand All @@ -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
Expand Down
103 changes: 103 additions & 0 deletions scripts/mixins/families/Troll_Automaton.lua
Original file line number Diff line number Diff line change
@@ -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
14 changes: 14 additions & 0 deletions scripts/zones/Al_Zahbi/mobs/Trolls_Automaton.lua
Original file line number Diff line number Diff line change
@@ -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
14 changes: 14 additions & 0 deletions scripts/zones/Bhaflau_Remnants/mobs/Trolls_Automaton.lua
Original file line number Diff line number Diff line change
@@ -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
14 changes: 14 additions & 0 deletions scripts/zones/Bhaflau_Thickets/mobs/Trolls_Automaton.lua
Original file line number Diff line number Diff line change
@@ -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
14 changes: 14 additions & 0 deletions scripts/zones/Halvung/mobs/Trolls_Automaton.lua
Original file line number Diff line number Diff line change
@@ -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
14 changes: 14 additions & 0 deletions scripts/zones/Mount_Zhayolm/mobs/Trolls_Automaton.lua
Original file line number Diff line number Diff line change
@@ -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
14 changes: 14 additions & 0 deletions scripts/zones/Wajaom_Woodlands/mobs/Trolls_Automaton.lua
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion sql/mob_pools.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
26 changes: 13 additions & 13 deletions sql/mob_spawn_points.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand All @@ -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);
Expand All @@ -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);
Expand Down
Loading
Loading