Bard power effect imbue function.

Seeing how I get inundated with requests on how I accomplish this, please feel free to use/modify this function to your needs. What it basically does is just maintains your song effects so that passives hit constantly and you never lose out on a passive due to things like having PrincessFarewell permanently imbued. Will work for all bards. The function comes as-is and there will be little support provided, but do feel to post on the thread if you are really stuck. Anyway...

function pvp.princess_farewell()
  send("discern " .. tmp.target)
  send("beast order spit " .. tmp.target)
  if type(tmp.stanza) == "string" then
    send("perform refrain " .. tmp.target)
    return
  else
  if tonumber(tmp.stanza < 7) then return e:warn("Insufficient stanza for princess farewell.") end
    send("compose pk stanza " .. (tmp.stanza == 7 and tmp.stanza + 1 or tmp.stanza) .. " imbue princessfarewell")
    send("perform " .. (tmp.stanza == 7 and "song" or "refrain") .. " pk " .. tmp.target)
    pvp.imbue_song(tmp.stanza == 7 and tmp.stanza + 1 or tmp.stanza)
  end
end

function pvp.imbue_song(oneshot)
  local stanzas = {
    { "Revelation leads to revolution,", "lovecanticle" },
    { "Or isn't much of anything at all.", "mercifulsanctus" },
    { "So must faith evolve into religion,", "starlight" },
    { "Having need of hands to break its fall.", "lightcantata" },
    { "Here we have a chance to reconsider,", "celestode" },
    { "As we go through rites as brisk as breath,", "crusadercanto" },
    { "Salvaging a soul that else were bitter,", "recessional" },
    { "Here alone, for nothing else but death.", "justchorale" },
    { "Hallowed by our passion and our pain.", "eversea" }
  }

  if not oneshot then
    for stanza, lyric in ipairs(stanzas) do
      send("compose pk stanza " .. stanza .. " imbue none")
    end
    for stanza, lyric in ipairs(stanzas) do
      send("compose pk stanza " .. stanza .. " imbue " .. lyric[2])
    end
  else
    send("compose pk stanza " .. oneshot .. " imbue none")
    send("compose pk stanza " .. oneshot .. " imbue " .. stanzas[oneshot][2])
  end
end

Can't remember how to add code tags on these silly forums. Sorry.
Sign In or Register to comment.