Untitled
unknown
plain_text
2 years ago
8.6 kB
2
Indexable
if snd.class == "Shapeshifter" then snd.starting_attack() function snd.attack_function() if not snd.waiting.queue then local function feralityConvert(limb) if string.find(limb, "leg") then --and snd.enemy_restoration_balance == false and not snd.checksomeAffs({"left_leg_broken","right_leg_broken"},2) then return "hamstring " .. limb:gsub(" leg", "") elseif string.find(limb, "arm") then --and snd.enemy_restoration_balance == false and not snd.checksomeAffs({"left_arm_broken","right_arm_broken"},2) then return "rend " .. limb:gsub(" arm", "") elseif limb == "torso" then if not snd.checkAff("paresis") then return "spinalcrack" else return "bodypunch" end elseif limb == "head" then if snd.limb_status.head ~= "healed" and not snd.checkAff("fallen") then return "skullwhack" elseif not snd.checkAff("blurry_vision") then return "faceslash" else return "jugular" end else limb = head return "jugular " .. limb end end local function limbCheck() if limbs[limb] ~= snd.parried_limb and limbs[limb] ~= snd.last_hit_limb and limbs[limb] ~= snd.resto_limb then return "clear" end end local mending_count = 0 local broken_limbs = {"right_leg_broken","left_leg_broken","right_arm_broken","left_arm_broken"} for affs in pairs(broken_limbs) do if snd.checkAff(broken_limbs[affs]) then mending_count = mending_count + 1 end end if snd.proned() then if snd.checkAff("groinrip") then limbs = {"left arm", "torso", "head", "right arm", "right leg", "left leg"} elseif snd.checkAff("spleenrip") then limbs = {"right leg", "left leg", "head", "left arm", "right arm", "torso"} elseif snd.checkAff("throatrip") then limbs = {"left leg", "right leg", "left arm", "torso", "right arm", "head"} else limbs = {"left leg", "right leg", "left arm", "head", "right arm", "torso"} end else limbs = {"left leg", "right leg", "left arm", "right arm", "torso", "head"} end mangled = "nothing" broken = "nothing" crippled = "nothing" for limb in pairs(limbs) do if snd.limb_status[limbs[limb]] == "mangled" and mangled == "nothing" then if string.find(limbs[limb], "leg") and not snd.checksomeAffs({"groinrip", "writhe_thighlock"}, 1) then if limbCheck == "clear" then mangled = limbs[limb] end elseif limbs[limb] == "head" and not snd.checksomeAffs({"throatrip", "writhe_necklock"}, 1) then if limbCheck == "clear" then mangled = limbs[limb] end elseif not snd.checksomeAffs({"spleenrip", "writhe_armpitlock"}, 1) and (limbs[limb] == "torso" or string.find(limbs[limb], "arm")) then if limbCheck == "clear" then mangled = limbs[limb] end end elseif snd.limb_status[limbs[limb]] == "damaged" and snd.limb_dmg[limbs[limb]] < 66.66 and broken == "nothing" then if limbCheck == "clear" then broken = limbs[limb] end --end elseif table.contains(snd.target_has, string.gsub(limbs[limb], " ", "_") .. "_broken") and snd.limb_dmg[limbs[limb]] < 33.33 and crippled == "nothing" then if string.find(limbs[limb], "leg") or string.find(limbs[limb], "arm") then if limbCheck == "clear" then crippled = limbs[limb] end end end end if snd.resetWounds == "true" then string = "WOUNDS " .. snd.target snd.resetWounds = "false" elseif snd.used.shield then --probably change this to hammer tat now that it's been super buffed and only pounce if fury string = "touch hammer " .. snd.target elseif snd.checksomeAffs({"groinrip", "throatrip", "spleenrip"}, 2) then string = "devour " .. snd.target elseif snd.checksomeAffs({"writhe_necklock", "writhe_armpitlock", "writhe_thighlock"}, 1) and not snd.jawlocked then string = "quarter " .. snd.target elseif snd.checkAff("writhe_necklock") and snd.jawlocked and not snd.checkAff("throatrip") then string = "throatrip " .. snd.target elseif snd.checkAff("writhe_armpitlock") and snd.jawlocked and not snd.checkAff("spleenrip") then string = "spleenrip " .. snd.target elseif snd.checkAff("writhe_thighlock") and snd.jawlocked and not snd.checkAff("groinrip") then string = "groinrip " .. snd.target elseif snd.proned() and mangled ~= "nothing" and not snd.jawlocked then if string.find(mangled, "leg") and not snd.checkAff("groinrip") then string = "jawlock thigh of " .. snd.target elseif mangled == "head" and not snd.checkAff("throatrip") then string = "jawlock neck of " .. snd.target elseif mangled == "torso" or string.find(mangled, "arm") and not snd.checkAff("spleenrip") then string = "jawlock armpit of " .. snd.target end elseif broken ~= "nothing" and not snd.jawlocked and snd.defenses.def_fury.state ~= "deffed" then if broken == "head" and snd.proned() then string = "skullcrush " .. snd.target elseif broken == "torso" then string = "gut " .. snd.target else string = "mangle " .. broken .. " of " .. snd.target end elseif crippled ~= "nothing" and not snd.jawlocked and snd.defenses.def_fury.state ~= "deffed" and (snd.enemy_restoration_balance == false or mending_count>2) then string = "destroy " .. crippled .. " of " .. snd.target elseif snd.checkAff("paralysis") and not snd.checkAff("spinal_rip") and broken == "nothing" and not snd.jawlocked and snd.defenses.def_fury.state ~= "deffed" then string = "spinalrip " .. snd.target elseif snd.checkAff("blurry_vision") and not snd.checkAff("mauled_face") and broken == "nothing" and not snd.jawlocked and snd.defenses.def_fury.state ~= "deffed" then string = "facemaul " .. snd.target else left = "nothing" right = "nothing" local spare = "nothing" for limb in pairs(limbs) do if limbs[limb] ~= snd.parried_limb and limbs[limb] ~= snd.last_hit_limb and not table.contains(snd.target_has, limbs[limb]:gsub(" ", "_") .. "_broken") then if right == "nothing" then right = limbs[limb] elseif left == "nothing" then left = limbs[limb] elseif right ~= "nothing" and left ~= "nothing" then spare = limbs[limb] end end end if left == "nothing" then left = right end string = "combo " .. snd.target .. " " .. feralityConvert(left) .. " " .. feralityConvert(right) if snd.defenses.def_fury.state == "deffed" then if snd.used.shield then string = "pounce " .. snd.target .. snd.sep .. string elseif snd.checkAff("paralysis") then string = "spinalrip " .. snd.target .. snd.sep .. string elseif snd.limb_status.torso ~= "healed" then string = "gut " .. snd.target .. snd.sep .. string else string = "bite " .. snd.target .. " " .. spare .. snd.sep .. string end end end if string ~= snd.last_attack and not snd.waiting.queue then snd.last_attack = string snd.send("qeb " .. snd.last_attack) snd.waiting.queue = true tempTimer(snd.delay(), [[snd.waiting.queue = false]]) end end end --end the function snd.attack_function() end
Editor is loading...