Untitled
unknown
plain_text
a year ago
9.1 kB
7
Indexable
if snd.class == "Archivist" then
snd.starting_attack()
function snd.attack_function()
if not snd.waiting.queue then
local touse = {}
local touse2 = {}
local tohit = {}
local string = ""
local biostring = ""
local empowerstring = ""
local impressstring = ""
local call = ""
local bioessence = tonumber(gmcp.Char.Vitals.bio)
local hp = 100*(gmcp.Char.Vitals.hp/gmcp.Char.Vitals.maxhp)
local mp = 100*(gmcp.Char.Vitals.mp/gmcp.Char.Vitals.maxmp)
local physcount = 0
for aff in pairs(snd.physical_affs) do
if table.contains(snd.target_has, snd.physical_affs[aff]) then
physcount = physcount + 1
end
end
local mentcount = 0
for aff in pairs(snd.mental_affs) do
if table.contains(snd.target_has, snd.mental_affs[aff]) then
mentcount = mentcount + 1
end
end
if bioessence > 0 then
biostring = "bio stimulant"..snd.sep
else
biostring = ""
end
snd.giving = {
"dizziness",
"faintness",
"epilepsy",
"shyness",
"laxity",
"lovers_effect",
"peace",
"magnanimity",
"merciful",
"masochism",
"berserking",
"recklessness",
}
snd.giving_venom = {
"paresis",
"clumsiness",
"sensitivity",
"asthma",
"left_leg_crippled",
"right_leg_crippled",
"left_arm_crippled",
"right_arm_crippled",
"vomiting",
"allergies",
}
for i in pairs(snd.giving) do
if not snd.checkAff(snd.giving[i]) then
if not table.contains(touse, snd.giving[i]) then
table.insert(touse, snd.giving[i])
end
end
end
for k in pairs(snd.giving_venom) do
if not snd.checkAff(snd.giving_venom[k]) then
if not table.contains(touse2, snd.giving_venom[k]) then
table.insert(touse2, snd.giving_venom[k])
end
end
end
for aff in pairs(touse2) do
table.insert(tohit, snd.effects[touse2[aff]])
end
echo("\nMutagen Given by: "..snd.mutmaster.." Bioessence: "..bioessence.." Physicals: "..physcount.." Mentals: "..mentcount)
if snd.empowerready then
if physcount >= 3 and mentcount >= 3 then
empowerstring = "empower rafic"..snd.sep
elseif snd.balance.madness then
empowerstring = "empower jhako"..snd.sep
elseif (snd.cureset == "akkari" or snd.cureset == "praenomen") then
empowerstring = "empower ef'tig"..snd.sep
elseif gmcp.Char.Vitals.blood < "50" and snd.bloodwork then
empowerstring = "empower jherza"
else
empowerstring = ""
end
end
if snd.my_impress == "" then
impressstring = "geo impress swirl"..snd.sep
elseif not snd.checkAff("paresis") and physcount >= 2 then
if snd.my_impress ~= "Star" then
impressstring = "geo impress star"..snd.sep
end
elseif not snd.checkAff("vomiting") and (mentcount > 4 and mentcount < 12) then
if snd.my_impress ~= "Bloom" then
impressstring = "geo impress bloom"..snd.sep
end
elseif not snd.checkAff("hypochondria") then
if snd.my_impress ~= "Hex" then
impressstring = "geo impress hex"..snd.sep
end
elseif not snd.checkAff("mental_disruption") then
if snd.my_impress ~= "Swirl" then
impressstring = "geo impress swirl"..snd.sep
end
end
if snd.used.shield then
string = impressstring.."incite fork "..snd.target..snd.sep..biostring -- break shield
elseif snd.theytumbling then
string = impressstring.."elicit return "..snd.target.." 3"..biostring -- make them return in 3 seconds, no running
elseif physcount >= 3 and mentcount >= 3 and snd.my_mutagen then -- only do this if your revelation is on them
string = empowerstring..impressstring.."elicit unravel "..snd.target..snd.sep..biostring
--elseif hp <= 70 and not snd.knit and bioessence > 0 then
-- string = impressstring.."bio knitting"
--elseif hp <= 60 and bioessence > 1 and not snd.balance.ethereal then
-- string = impressstring.."bio ethereal"
--elseif mp < 60 and (snd.cureset == "akkari" or snd.cureset == "praenomen") then
-- string = empowerstring..impressstring.."elicit stream "..snd.target..snd.sep
--elseif gmcp.Char.Vitals.blood >= "50" and (snd.cureset == "akkari" or snd.cureset == "praenomen") and snd.bloodwork then
-- string = empowerstring..impressstring.."elicit bloodwork"..snd.sep
elseif snd.mutmaster == "" and not snd.my_mutagen and bioessence > 1 then
string = impressstring.."bio infect "..snd.target.." with one"..snd.sep.."bio steroid"..snd.sep
elseif physcount >= 1 and mentcount >= 4 then
if bioessence > 0 and not snd.checkAff("addiction") then
string = impressstring.."bio flare "..snd.target..snd.sep..biostring
else
if snd.my_incite ~= "Crescent" and snd.crescentable and not snd.checkAff("blackout") then
string = impressstring.."incite crescent " ..snd.target..snd.sep..biostring
elseif snd.checkAff("blackout") then
string = impressstring.."jab "..snd.target.." "..tohit[1]..snd.sep.."bio steroid"..snd.sep
elseif not snd.growth and bioessence > 2 then
string = impressstring.."bio growth " ..snd.target..snd.sep..biostring
else
if not snd.conjoin then
string = impressstring.."geo conjoin"..snd.sep.."incite "..snd.shape_attacks[touse[1]].." "..snd.target..snd.sep..biostring
else
string = impressstring.."incite "..snd.shape_attacks[touse[1]].." "..snd.target..snd.sep
end
end
end
--elseif snd.syncopateready and not snd.syncopatehave and mentcount > 4 and physcount > 0 and (snd.checkAff("lemniscate") or snd.checkAff("matrix")) then
-- string = impressstring.."elicit syncopate " ..snd.target..snd.sep
elseif mentcount > 5 and physcount < 2 and not snd.my_incite == "Hex" then
string = impressstring.."incite hex " ..snd.target..snd.sep
elseif snd.my_incite ~= "Crescent" and snd.crescentable and not snd.checkAff("blackout") and not snd.checkAff("lemniscate") then
string = impressstring.."incite crescent " ..snd.target..snd.sep..biostring
elseif not snd.checkAff("patterns") and snd.checksomeAffs({"lemniscate", "matrix"}, 1) then
string = impressstring.."geo pattern "..snd.target..snd.sep..biostring
elseif snd.checkAff("lemniscate") and not snd.checkAff("matrix") then
string = impressstring.."geo matrix " ..snd.target..snd.sep..biostring
elseif not snd.checksomeAffs({"sealing_circle", "sealing_triangle", "sealing_square"}, 2) then
if not snd.checksomeAffs({"dementia", "paranoia", "hallucinations"}, 2) and snd.balance.madness then
string = empowerstring..impressstring.."elicit madness "..snd.target..snd.sep..biostring
elseif (snd.checksomeAffs({"faintness","dizziness","shyness","laxity"}, 2)) and not snd.checkAff("lemniscate") then
string = impressstring.."incite lemniscate " ..snd.target..snd.sep..biostring
elseif snd.checksomeAffs({"dizziness", "faintness", "epilepsy", "shyness"}, 4) and not snd.checkAff("sealing_square") then
string = impressstring.."geo sealing square " ..snd.target..snd.sep
elseif snd.checksomeAffs({"laxity", "lovers_effect", "peace", "magnanimity"}, 4) and not snd.checkAff("sealing_triangle") then
string = impressstring.."geo sealing triangle " ..snd.target..snd.sep..biostring
elseif snd.checksomeAffs({"merciful", "masochism", "berserking", "recklessness"}, 4) and not snd.checkAff("sealing_circle") then
string = impressstring.."geo sealing circle " ..snd.target..snd.sep
else
if not snd.conjoin then
string = impressstring.."geo conjoin"..snd.sep.."incite "..snd.shape_attacks[touse[1]].." "..snd.target..snd.sep..biostring
call = "wt Afflicting "..snd.target..": "..touse[1]
else
string = impressstring.."incite "..snd.shape_attacks[touse[1]].." "..snd.target..snd.sep
call = "wt Afflicting "..snd.target..": "..touse[1]
end
end
else
string = impressstring.."incite crux " ..snd.target..snd.sep
end
if snd.toggles.affcalling and not snd.target_gone and call~= "" then
string = call..snd.sep..string
end
if string ~= snd.last_attack and not snd.waiting.queue then
snd.last_attack = string
snd.attack(snd.last_attack)
snd.waiting.queue = true
tempTimer(snd.delay(), [[snd.waiting.queue = false]])
end
end
end
snd.attack_function()
endEditor is loading...
Leave a Comment