Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function lam.pickForm(formType)
- if not formType then
- lam.echo("No argument given to lam.pickForm", "red")
- return
- end
- local valid = {"iceArms", "iceLegs", "iceHinder", "dust"}
- if not table.contains(valid, formType) then
- lam.echo("Invalid argument given to lam.pickForm: " .. formType, "red")
- return
- end
- local stance = lam.getStance()
- local power = tonumber(gmcp.Char.Vitals.pow)
- if formType == "dust" then
- lam.nextForm = "dust"
- if not lam.selfHasAff("recklessness") then
- if power > 6 then
- lam.boostNext = true
- end
- if target.shielded and power > 7 then
- lam.boostNext = false
- lam.tahtaiNext = true
- end
- end
- elseif formType == "iceHinder" then
- lam.nextForm = "icehinder"
- if not lam.selfHasAff("recklessness") then
- if power > 6 then
- lam.boostNext = true
- end
- if target.shielded and power > 7 then
- lam.boostNext = false
- lam.tahtaiNext = true
- end
- end
- elseif formType == "iceLegs" then
- if stance == "n" then
- lam.nextForm = "dmg"
- elseif stance == "b" then
- lam.nextForm = "rlm"
- elseif stance == "th" then
- lam.nextForm = "rlm"
- lam.boostNext = true
- elseif stance == "c" then
- lam.nextForm = "rlm"
- if target.hasAff("RLegMutilated") and target.hasAff("LLegMutilated") then
- lam.nextForm = "sk"
- end
- if power > 7 then
- lam.boostNext = true
- end
- elseif stance == "sh" then
- lam.nextForm = "icehinder"
- if target.hasAff("RLegMutilated") and not target.hasAff("LLegMutilated") then
- lam.nextForm = "rlm"
- elseif target.hasAff("LLegMutilated") and not target.hasAff("RLegMutilated") then
- lam.nextForm = "llm"
- end
- if target.hasAff("Prone") then
- lam.nextForm = "sk"
- if target.hasAff("RLegMutilated") and target.hasAff("LLegMutilated") then
- lam.nextForm = "dust"
- end
- end
- if (lam.nextForm == "rlm" or lam.nextForm == "llm") and target.shielded then
- lam.tahtaiNext = true
- end
- elseif stance == "k" then
- lam.nextForm = "icehinder"
- if target.hasAff("RLegMutilated") and not target.hasAff("LLegMutilated") then
- if power > 1 then
- lam.nextForm = "llm"
- lam.regressNext = true
- end
- elseif target.hasAff("LLegMutilated") and not target.hasAff("RLegMutilated") then
- if power > 1 then
- lam.nextForm = "rlm"
- lam.regressNext = true
- else
- lam.nextForm = "icehinder"
- end
- else
- if target.hasAff("LLegMutilated") and target.hasAff("RLegMutilated") then
- lam.nextForm = "icehinder"
- else
- if power > 1 then
- lam.nextForm = "rlm"
- lam.regressNext = true
- else
- lam.nextForm = "icehinder"
- end
- end
- end
- end
- -- end ice legs
- elseif formType == "iceArms" then
- if stance == "n" then
- lam.nextForm = "dmg"
- elseif stance == "b" then
- lam.nextForm = "rlm"
- elseif stance == "th" then
- lam.nextForm = "rlm"
- lam.boostNext = true
- elseif stance == "c" then
- lam.nextForm = "ram"
- if target.hasAff("RArmMutilated") and not target.hasAff("LArmMutilated") then
- lam.nextForm = "lam"
- elseif target.hasAff("RArmMutilated") and target.hasAff("LArmMutilated") then
- lam.nextform = "sk"
- end
- if power > 7 then
- lam.boostNext = true
- end
- elseif stance == "sh" then
- lam.nextForm = "icehinder"
- if target.hasAff("RArmMutilated") and not target.hasAff("RArmDamaged") then
- lam.nextForm = "ram"
- elseif target.hasAff("LArmMutilated") and not target.hasAff("LArmDamaged") then
- lam.nextForm = "lam"
- end
- if (lam.nextForm == "ram" or lam.nextForm == "lam") and target.shielded then
- lam.tahtaiNext = true
- end
- elseif stance == "k" then
- lam.nextForm = "icehinder"
- if target.hasAff("RArmMutilated") and not target.hasAff("LArmMutilated") then
- if power > 1 then
- lam.nextForm = "lam"
- lam.regressNext = true
- end
- elseif target.hasAff("LArmMutilated") and not target.hasAff("RArmMutilated") then
- if power > 1 then
- lam.nextForm = "ram"
- lam.regressNext = true
- end
- end
- end
- -- end ice arms
- end
- -- end form logic
- end
- function lam.queueForm(form)
- if not form then
- form = lam.nextForm
- end
- if not lam.forms[form] then
- lam.echo("Bad argument given to lam.queueForm: " .. form .. " not found in form db.", "red")
- return
- end
- form = lam.forms[form]
- if target.shielded then
- form = lam.forms[form.raze]
- end
- local formString = form.short
- local targ = target.name .. " "
- local stance = lam.getStance()
- local actionTable = {"sm clear"}
- if not lam.artifactPipe then
- table.insert(actionTable, "sm add free light pipes")
- end
- -- do poison stuff
- if form.isRaze then
- table.insert(actionTable, "sm add free wipe right|envenom right with " .. form.poison)
- else
- if form[stance] then
- table.insert(
- actionTable,
- "sm add free wipe left|wipe right|envenom left with " ..
- form[stance][1] ..
- "|envenom right with " ..
- form[stance][2]
- )
- end
- end
- -- beast poison spit too
- if lam.beastBal and not target.shielded then
- table.insert(actionTable, "sm add free beast order spit " .. target.name)
- end
- -- instakill stuff
- if stance == "c" and target.hemo > 770 and tonumber(gmcp.Char.Vitals.pow) > 4 then
- formString = formString .. " burst"
- table.insert(actionTable, "sm add kata perform " .. targ .. formString)
- lam.warning(targ:upper() .. "IS PREPPED FOR INSTAKILL, BURSTING HEMO", "orange_red")
- lam.warning(targ:upper() .. "IS PREPPED FOR INSTAKILL, BURSTING HEMO", "orange_red")
- if lam.cc then
- mm.cc("Bursting hemorrhaging on " .. target.name .. ", HINDER THEM!")
- end
- lam.sendTable(actionTable)
- return
- end
- -- prep for usual form stuff
- if lam.boostNext and tonumber(gmcp.Char.Vitals.pow) > 1 and not lam.tahtaiNext then
- formString = formString .. "+"
- lam.boostNext = false
- end
- if lam.regressNext and tonumber(gmcp.Char.Vitals.pow) > 1 then
- formString = formString .. " tahto'sho"
- lam.regressNext = false
- end
- if lam.tahtaiNext and tonumber(gmcp.Char.Vitals.pow) > 2 then
- formString = "=" .. formString
- lam.tahtaiNext = false
- lam.boostNext = false
- end
- -- finish up
- table.insert(actionTable, "sm add kata perform " .. targ .. formString)
- lam.echo("Attempting form: " .. formString)
- lam.sendTable(actionTable)
- lam.nextForm = form.short
- return
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement