Hello all,
Im not that well versed with Gse so I asked chat gpt to assist me in writing a macro, Im curious what the throughput could be with something tuned from an ai but I cannot get it to compile. I will provide the generated macro and the error from gse below and any assistance pointing me in the right direction would be appreciated.
Error = GSE RAW Editor Unable to process content. Fix table and try again.
GSE Raw Editor [string “return – Define the rotation and cooldowns for the druid boomk…”]:2: unexpected symbol near ‘local’
Here is the macro the ai generated.
– Define the rotation and cooldowns for the druid boomkin
local rotation = {
– Single target spells
{ “Starfire”, “player.eclipse > 0”, “target.debuff(Moonfire).duration < 3” },
{ “Moonfire”, “player.eclipse < 0”, “target.debuff(Moonfire).duration < 3” },
{ “Solar Wrath”, “player.eclipse > 0”, “target.debuff(Moonfire).duration > 3” },
{ “Lunar Strike”, “player.eclipse < 0”, “target.debuff(Moonfire).duration > 3” },
{ “Starsurge”, “player.spell(Starsurge).cooldown = 0” },
{ “Sunfire”, “target.debuff(Sunfire).duration < 3” },
{ “Stellar Flare”, “target.debuff(Stellar Flare).duration < 3” },
– Multi-target spells
{ “Starfall”, “player.area(8).enemies > 2” },
{ “Starfire”, “player.area(8).enemies > 2” },
{ “Moonfire”, “player.area(8).enemies > 2” },
{ “Solar Wrath”, “player.area(8).enemies > 2” },
{ “Lunar Strike”, “player.area(8).enemies > 2” },
{ “Sunfire”, “player.area(8).enemies > 2” },
{ “Stellar Flare”, “player.area(8).enemies > 2” },
}
local cooldowns = {
{ “Incarnation: Chosen of Elune”, “player.spell(Incarnation: Chosen of Elune).cooldown = 0” },
{ “Celestial Alignment”, “player.spell(Celestial Alignment).cooldown = 0” },
}
– Create a function to execute the rotation and cooldowns
function ExecuteRotation()
– Loop through the rotation and execute each spell in order
for i, spell in ipairs(rotation) do
– Check if the spell is ready and the conditions are met
if player.spell(spell[1]).cooldown == 0 and GSE.EvaluateCondition(spell[2]) and GSE.EvaluateCondition(spell[3]) then
– Execute the spell
player.cast(spell[1])
return
end
end
– Loop through the cooldowns and execute each spell if the conditions are met
for i, spell in ipairs(cooldowns) do
if GSE.EvaluateCondition(spell[2]) then
player.cast(spell[1])
return
end
end
end