0% found this document useful (0 votes)
96 views72 pages

Roblox Animation Style Management

The document is a Lua script for a game, specifically for handling player animations and interactions within the game environment. It includes functions for checking and updating animation styles based on server data, managing character states, and configuring various gameplay mechanics such as movement and attacks. The script also incorporates modules for camera effects and hitboxes, and it adjusts animations based on player status and gear configurations.

Uploaded by

thiddenwarrior
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views72 pages

Roblox Animation Style Management

The document is a Lua script for a game, specifically for handling player animations and interactions within the game environment. It includes functions for checking and updating animation styles based on server data, managing character states, and configuring various gameplay mechanics such as movement and attacks. The script also incorporates modules for camera effects and hitboxes, and it adjusts animations based on player status and gear configurations.

Uploaded by

thiddenwarrior
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

local player = game:GetService("Players").

LocalPlayer
local players = game:GetService("Players")
local RunService = game:GetService("RunService")
local tweenservice = game:GetService("TweenService")
local userinputservice = game:GetService("UserInputService")
local replicatedstorage = game:GetService("ReplicatedStorage")
local assets = replicatedstorage:WaitForChild("Assets")
local debris = game:GetService("Debris")

function sub(...)
[Link](...)()
end

local Data = player:WaitForChild("CharacterData")


local mouse = player:GetMouse()
local character = [Link]
local animate = character:WaitForChild("Animate")
local humanoid = character:WaitForChild("Humanoid")
local humanoidrootpart = character:WaitForChild("HumanoidRootPart")
local currentcamera = [Link]

local ClientEffects = require([Link])


local OdmgModule = require([Link])

local checkDataEvent = [Link]:WaitForChild("CheckData")


local checkWordEvent = [Link]:WaitForChild("CheckWord")

local Animations

local function getServerAnimationStyle()


return checkWordEvent:InvokeServer("AnimationStyle")
end

local function checkAnimationStyle()


local localAnimationStyle = [Link]
local serverAnimationStyle = getServerAnimationStyle()

if serverAnimationStyle and localAnimationStyle == serverAnimationStyle then


warn("Animation style is correct.")
Animations = [Link][serverAnimationStyle]
else
warn("Animation style does not match the server's record!")
[Link] = serverAnimationStyle
Animations = [Link][serverAnimationStyle]
end
end

checkAnimationStyle()

local camerashaker = require([Link])


local raycasthitbox = require([Link].RaycastHitboxV2)
local Library = require([Link])

local odmblur = [Link]

local bypass = "vcwls 1010101"

humanoid:SetStateEnabled([Link], false)
humanoid:SetStateEnabled([Link],false)
local camshake = [Link]([Link],
function(shakeCFrame)
[Link] = [Link] * shakeCFrame
end)
camshake:Start()

local odmg, blades, odmggui, StationaryHandles =


[Link]:InvokeServer([Link],
[Link], [Link], bypass)

local Sound = [Link]


local gas = odmg:WaitForChild("Gas")
local rblade, lblade = blades:FindFirstChild("RightBlade"),
blades:FindFirstChild("LeftBlade")
local hitbox = raycasthitbox:Initialize(blades, {character})

local maxgas = 300


local maxblades = 8
local maxdurability = 275
local attackcd = 1.35
local lastdurability = 0

local currentgas = 0 -- 0
local currentblades = 0 -- 0
local currentdurability =
[Link]:WaitForChild("BladeDurability") -- 0
local velo = [Link](([Link] *
[Link](1, 0, 1)).Magnitude)

local continuousMovementTime = 0
local maxContinuousTime = 10 -- Max time to increase speed, adjust as needed
local maxVelocityMultiplier = 1.85 -- Max multiplier for velocity, adjust as needed

local gearConfiguration = [Link]:WaitForChild('gearConfiguration')


local animationStyle = [Link]:WaitForChild("AnimationStyle")

local walkspeed = [Link]


local runspeed = 32
local speedmultiplier = 0.72
local orbitspeedmultiplier = 1.35
local slideMultiplier = 3
local attack = 1
local attacking = false
local distance = 60
local distancecounter

local velocityCoroutine

local lhook, rhook


local lhookattached, rhookattached = false, false

local unhookStatus1 = nil


local unhookStatus2 = nil

local HookStatus = [Link]:WaitForChild("Hooking").Value

local lhitsurface, rhitsurface


local q, e = false, false
local a, d = false, false

local ground = true


local boosting = false
local sheathed = true
local bladesbroken = false
local canuseodmg = false
local backflipping = false
local swiftbladeplayercd = false
local canbackflip = true
local canboostflip = true
local boostflipping = false
local canhold = true
local wireshooting1 = false
local wireshooting2 = false
local canshootleft = true
local canshootright = true

local StudsUI = true

local SpeedLines = {}
local ClosestStation

local canattack = true


local status = false
local boostfliplines = true
local canroll = false
local LeftHookCD = 0
local RightHookCD = 0
local maxforce = 14000

local NoHook = [Link]

local humanoiddied
local durabilitychanged
local Getmarkerunsheate
local odmend
local sheateconnection
local sheatestop
local connectionattack1start
local connectiongas
local connectionattack2start
local connectionattack3start
local connectionattack1end
local connectionattack2end
local connectionattack3end
local onhitbox
local RefillGasConnection
local RestockBladesConnection
local humanoiddied

local hooking = script:WaitForChild("hooking")

local lwire1, lwire2 = [Link].Wire1, [Link].Wire2


local rwire1, rwire2 = [Link].Wire1, [Link].Wire2

local questStatus = [Link]:FindFirstChild("RansotengaiQuest").Value


local function checkdata(dataName)
return checkDataEvent:InvokeServer(dataName)
end

-------- normal ones --------------------------------

if checkdata("LegInjury") then
for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
[Link] = "rbxassetid://116559067399684"
[Link] = "rbxassetid://116559067399684"
[Link] = "rbxassetid://94793032082292"
[Link] = "rbxassetid://119180611619871"
[Link] = "rbxassetid://84213601631080"
warn("changed gear anim to leginjury")
end

if [Link] == "ELITE" or [Link] == "ADMG" then


for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
[Link] = "rbxassetid://84128997593078"
[Link] = "rbxassetid://84128997593078"
[Link] = "rbxassetid://136215034324714"
[Link] = "rbxassetid://86168238695750"
[Link] = "rbxassetid://72753177908768"
warn("changed gear anim to elite")

elseif [Link] == "CONTRIBUTORS" then


for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
[Link] = "rbxassetid://72145506590564"
[Link] = "rbxassetid://72145506590564"
[Link] = "rbxassetid://114139665259241"
[Link] = "rbxassetid://126342273351396"
[Link] = "rbxassetid://97235552049149"
attackcd = 0.85
warn("changed gear anim to contributor")

elseif [Link] == "ADVANCED" then


for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
[Link] = "rbxassetid://72145506590564"
[Link] = "rbxassetid://72145506590564"
[Link] = "rbxassetid://71667456185479"
[Link] = "rbxassetid://126342273351396"
[Link] = "rbxassetid://97235552049149"
warn("changed gear anim to advanced")

elseif [Link] == "STYLECHANGE" then


for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
[Link] = "rbxassetid://72145506590564"
[Link] = "rbxassetid://72145506590564"
[Link] = "rbxassetid://71667456185479"
[Link] = "rbxassetid://126342273351396"
[Link] = "rbxassetid://97235552049149"
attackcd = 0.70
warn("changed gear anim to stylechange")

else
[Link] = "rbxassetid://116559067399684"
[Link] = "rbxassetid://116559067399684"
[Link] = "rbxassetid://137719188144453"
[Link] = "rbxassetid://119180611619871"
[Link] = "rbxassetid://84213601631080"
warn("changed gear anim to normal")
end

---------------------- alter anims

if checkdata("Megalomaniac") then
if [Link] == "ELITE" or [Link] == "ADMG" then
for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
[Link] = "rbxassetid://136001493517832"
[Link] = "rbxassetid://136001493517832"
[Link] = "rbxassetid://115656646613734"
[Link] = "rbxassetid://119180611619871"
[Link] = "rbxassetid://96872719969043"
warn("changed gear anim to elite m")
end
end

if checkdata("Megalomaniac") and [Link] == "STYLECHANGE" or


[Link] == "ADVANCED" then
for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
[Link] = "rbxassetid://75314071061039"
[Link] = "rbxassetid://75314071061039"
[Link] = "rbxassetid://115656646613734"
[Link] = "rbxassetid://119180611619871"
[Link] = "rbxassetid://96872719969043"
attackcd = 0.65
warn("changed gear anim to stylechange m")
end

if checkdata("Megalomaniac") and [Link] == "CONTRIBUTORS" then


for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
[Link] = "rbxassetid://75314071061039"
[Link] = "rbxassetid://75314071061039"
[Link] = "rbxassetid://115656646613734"
[Link] = "rbxassetid://119180611619871"
[Link] = "rbxassetid://96872719969043"
attackcd = 0.85
warn("changed gear anim to contibutor m")
end

if checkdata("Megalomaniac") and checkdata("LegInjury") then


for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
[Link] = "rbxassetid://97957522037785"
[Link] = "rbxassetid://97957522037785"
[Link] = "rbxassetid://100917331661692"
[Link] = "rbxassetid://119180611619871"
[Link] = "rbxassetid://96872719969043"
warn("changed gear anim to leg injury m")
end
if checkdata("Megalomaniac") and [Link] ~= "ADVANCED" and
[Link] ~= "CONTRIBUTORS" and [Link] ~= "STYLECHANGE"
and [Link] ~= "ELITE" and [Link] ~= "ADMG" then
for _, track in
pairs(humanoid:WaitForChild("Animator"):GetPlayingAnimationTracks()) do
track:Stop(0)
end
[Link] = "rbxassetid://97957522037785"
[Link] = "rbxassetid://97957522037785"
[Link] = "rbxassetid://115656646613734"
[Link] = "rbxassetid://119180611619871"
[Link] = "rbxassetid://96872719969043"
warn("changed gear anim to base m")
end

local run = humanoid:LoadAnimation([Link])


local run1 = humanoid:LoadAnimation([Link])
local righthookidle = humanoid:LoadAnimation([Link])
local lefthookidle = humanoid:LoadAnimation([Link])
local doublehookstart = humanoid:LoadAnimation([Link])
local doublehookidle = humanoid:LoadAnimation([Link])
local rightorbitstart = humanoid:LoadAnimation([Link])
local rightorbitidle = humanoid:LoadAnimation([Link])
local righthookstart = humanoid:LoadAnimation([Link])
local righthookstartground =
humanoid:LoadAnimation([Link])
local leftorbitstart = humanoid:LoadAnimation([Link])
local lefthookstart = humanoid:LoadAnimation([Link])
local lefthookstartground = humanoid:LoadAnimation([Link])
local leftorbitidle = humanoid:LoadAnimation([Link])
local jumpboost = humanoid:LoadAnimation([Link])
local leftboosting = humanoid:LoadAnimation([Link])
local rightboosting = humanoid:LoadAnimation([Link])
local unsheathe = humanoid:LoadAnimation([Link])
local sheathe = humanoid:LoadAnimation([Link])
local aunsheathe = humanoid:LoadAnimation([Link])
local asheathe = humanoid:LoadAnimation([Link])
local wallhangstart = humanoid:LoadAnimation([Link])
local groundslide = humanoid:LoadAnimation([Link])
local backflip = humanoid:LoadAnimation([Link])
local boostflip2 = humanoid:LoadAnimation(Animations.Boostflip2)
local wallhangidle = humanoid:LoadAnimation([Link])
local Use = humanoid:LoadAnimation([Link])
local Disable = humanoid:LoadAnimation([Link])
local Refill = humanoid:LoadAnimation([Link])
local lefthookbreak = humanoid:LoadAnimation([Link])
local grappleend = humanoid:LoadAnimation([Link])
local righthookbreak = humanoid:LoadAnimation([Link])
local land = humanoid:LoadAnimation([Link])
local landrough = humanoid:LoadAnimation([Link])
local gascheck
local thebardair = humanoid:LoadAnimation([Link])

if checkdata("TheBard") then
gascheck = humanoid:LoadAnimation([Link])
else
gascheck = humanoid:LoadAnimation([Link])
end

local attack1Hold = humanoid:LoadAnimation([Link])


local attack2Hold = humanoid:LoadAnimation([Link])
local attack3Hold = humanoid:LoadAnimation([Link])

local attack1 = humanoid:LoadAnimation([Link])


local attack2 = humanoid:LoadAnimation([Link])
local attack3 = humanoid:LoadAnimation([Link])

[Link] = [Link].Action4
[Link] = [Link].Action4
[Link] = [Link].Action4

[Link] = [Link].Action4
[Link] = [Link].Action4
[Link] = [Link].Action4

[Link] = [Link].Action4
[Link] = [Link].Action4

[Link] = [Link].Action3
[Link] = [Link].Action4
[Link] = [Link].Action2
[Link] = [Link].Action3
[Link] = [Link].Action2
[Link] = [Link].Action2
[Link] = [Link].Action3
[Link] = [Link].Action2
[Link] = [Link].Action2
[Link] = [Link]
[Link] = [Link]
[Link] = [Link].Action2
[Link] = [Link].Action2
[Link] = [Link].Action2
[Link] = [Link].Action2
[Link] = [Link].Action3
[Link] = [Link].Action4
[Link] = [Link].Action4
[Link] = [Link].Action4
[Link] = [Link].Action3
[Link] = [Link].Action4
local messages = {
RansotengaiQuest = {
"SHOW YOUR TRUE HATRED.",
"FIND YOUR TRUE POWER.",
"KEEP GOING.",
"ONE MORE.",
"DO NOT GIVE UP",
"HATE. HATE. HATE",
"SHOW YOUR HATE"
},
Perfect = {
"That was a good cut.",
"Let's keep it up.",
"That training paid off.",
"Clean cut.",
"Good one.",
"Im glad i trained enough.",
"One less titan standing!",
"Nice slash.",

},
Seraphim = {
"Open.",
"Consume.",
"Release.",
"Destroy.",
"Implode.",
"Explode."

},
NotPerfect = {
"Agh.",
"Come on.",
"Am I even trying?",
"What am i even doing?.",
"Whats wrong with me?.",
"Im doing something wrong.",
"Is this my full potential?."
},
Combat = {
"I got you now.",
"This is my chance.",
"Don't mess this up.",
"My adrenaline is pumping.",
"Time to show my power",
}
}

local Char = character

local freefallTime = 1
local start = tick() -- Initially set tick(), so as to not break the script when
the player respawns

local function createhook(hookname)


local a = [Link]:Clone()
[Link] = [Link].."'s "..hookname
[Link] = [Link]

return a
end
local function createfakehook(hookname)
local a = [Link]:Clone()
[Link] = hookname
[Link] = [Link]
return a
end

function PlayHookAnimationDouble()
if lhookattached and rhookattached and not [Link] then
doublehookstart:Play()
end
end

function StopHookAnimationDouble()
doublehookstart:Stop()
end

local function GetClosestStation()


local Distance = 7
local NewClosestStation

for _, Child in pairs(workspace:GetDescendants()) do


if Child:IsA("Model") and ([Link] == "GasRefill" or [Link] ==
"BladeBox") then
if ([Link] -
[Link]).Magnitude <= Distance then
Distance = ([Link] -
[Link]).Magnitude
NewClosestStation = Child

return NewClosestStation
end
end
end

return nil
end

local function refillEffect(equipping)


[Link] = 0
Refill:Play()
if equipping then
Refill:AdjustSpeed(.85)
end
[Link]:FireServer([Link])
[Link]:Wait()
[Link] = 16
end
function tweenCameraAndLightningAttack(bool)
if bool == true then
if checkdata("Whisperer") then
local Color = [Link](0.836225, 0.834012, 0.927687)
[Link]:FireServer(bypass, Color)
local mrandom = [Link](1,10)
if mrandom == 1 then
[Link]:FireServer("ODMG",
player, "Relax.")
else if mrandom == 2 then

[Link]:FireServer("ODMG", player, "I've got


this.")
else if mrandom == 3 then

[Link]:FireServer("ODMG", player, "Stay calm.")


else if mrandom == 4 then

[Link]:FireServer("ODMG", player, "Breath.")


else if mrandom == 5 then

[Link]:FireServer("ODMG", player, "Do it.")


else if mrandom == 6 then

[Link]:FireServer("ODMG", player, "Focus.")


else if mrandom == 7 then

[Link]:FireServer("ODMG", player, "Stay in


control.")
else if mrandom == 8 then

[Link]:FireServer("ODMG", player, "Destroy


it.")
else if mrandom == 9
then

[Link]:FireServer("ODMG", player, "DO. IT.


KEEP. DOING. IT.")
else if mrandom ==
10 then

[Link]:FireServer("ODMG", player, "Keep going.


Don't Stop")
end
end
end
end

end
end
end
end
end
end
end
end
end
local function castray(a, b)
local hit, pos, surf = workspace:FindPartOnRayWithIgnoreList(a, b, true,
false)
if hit ~= nil and [Link]:FindFirstChild("isHuman") ~= nil then
[Link](b, [Link])
return castray(a, b)
elseif hit ~= nil and [Link]:FindFirstChild("isHuman") == nil and
([Link] == "Hitbox" or [Link] == "Odmg" or [Link] ==
"RightBlade" or [Link] == "LeftBlade" or [Link] == "Musket" or
[Link]:IsA("Accessory")) then
[Link](b, [Link])
return castray(a, b)
elseif hit ~= nil and ([Link] == "Barrier" or [Link] == "__RainEmitter"
or [Link] == "Bite" or [Link] == "LHand" or [Link] == "LLeg" or [Link] ==
"LLeg" or [Link] == "Nape" or [Link] == "NapeSwingBox" or [Link] == "RHand"
or [Link] == "RLeg" or [Link] == "RTendon" or [Link] == "Stomp" or [Link]
== "SwingBox" or [Link] == "DummyNape") then
[Link](b, hit)
return castray(a, b)
elseif hit ~= nil and hit:GetAttribute("NotHookable") then
[Link](b, [Link])
[Link](b, hit)
return castray(a, b)
elseif hit ~= nil and [Link]:FindFirstChild("isHuman") == nil and not
([Link] == "Hitbox" or [Link] == "Odmg" or [Link] ==
"RightBlade" or [Link] == "LeftBlade" or [Link] == "Musket" or
[Link] == [Link].."'s high quality arms") and not
[Link]:IsA("Accessory") and not ([Link] == "Barrier" or [Link] ==
"__RainEmitter" or [Link] == "Terrain") then
return hit, pos, surf
elseif hit ~= nil and not hit:GetAttribute("NotHookable") then
return hit, pos, surf
end
end

local function ShowCooldown(Name, Timer)


local CD = [Link]:Clone()
[Link] = [Link]
[Link] = 0.5
[Link] = 1

-- Ensure Top Frame exists


if CD:FindFirstChild("Top") then
[Link] = Name
[Link] = Timer
else
warn("Top frame not found in CD")
return
end

for _, v in pairs(CD:GetDescendants()) do
if v:IsA("ImageLabel") and [Link] ~= "Top" then
[Link] = 1
[Link] = 1
[Link](function()
wait(.05)
[Link]:Create(v, [Link](.15),
{BackgroundTransparency = 0, ImageTransparency = 0}):Play()
end)()
end
end

[Link] = true
[Link]:AddItem(CD, Timer + .2)
[Link] = [Link](1, 0, 1, 0)
[Link]:Create([Link], [Link](Timer,
[Link], [Link]), {Size = [Link](0, 0, 1,
0)}):Play()

for i = 1, Timer do
[Link] = Timer - i
wait(1)
end

for _, v in pairs(CD:GetDescendants()) do
if v:IsA("ImageLabel") and [Link] ~= "Top" then
[Link](function()
[Link]:Create(v, [Link](.3), {Position =
[Link](2, 0, 0.277, 0), BackgroundTransparency = 1, ImageTransparency =
1}):Play()
end)()
elseif v:IsA("TextLabel") then
[Link](function()
[Link]:Create(v, [Link](.1),
{TextTransparency = 1}):Play()
end)()
end
end
end

local function CreateSpeedLines()


local db = false
if not db then
db = true
pcall(function()

local SpeedLine =
[Link]:Clone()
[Link] = character
[Link] = character
[Link] = true

local color = [Link](1,2)

if color == 1 then
[Link] =
[Link]([Link](255, 255, 255))
else if color == 2 then
[Link] =
[Link]([Link](108, 109, 110))
end
end

SpeedLines[SpeedLine] = {Offset = [Link]([Link](-


20,20),[Link](-15,15), 0); Line = SpeedLine}
[Link] =
([Link]:ToWorldSpace([Link](SpeedLines[SpeedLine].Offset,playe
[Link] +
[Link] * 10)))
[Link](.1)

[Link] = false
[Link]:AddItem(SpeedLine,3)

db = false
end)
end

for _,v in pairs(SpeedLines) do


if v then

[Link] =
([Link]:ToWorldSpace([Link]([Link],[Link]
[Link] + [Link] *
10)))
end
end
end

local function CleanSpeedlines()

pcall(function()
for Index,v in pairs(SpeedLines) do
[Link]:AddItem([Link],.5)

[Link](.5,function()
SpeedLines[Index] = nil
end)

end
end)
end

local function addBlood(value)


[Link] =
[Link] - value
end

local function IsSlidingOnGround()


local character = character
local Origin = [Link]

local Params = [Link]()


[Link] = [Link]
[Link] = {character}

local Results = workspace:Raycast(Origin, [Link](0, -3.5, 0), Params)

if Results and [Link] then


return true
end
end

local function HasAnyStatusEffect(character)


local statusEffects = {"Stunned", "Immobilized", "Cutscened", "MusketValue"}
for _, effect in ipairs(statusEffects) do
if character:FindFirstChild(effect) then
return true
end
end
return false
end

local function damagecounter(damage, textLabel)


local startValue = 0.0
local duration = 1.4 -- Adjust this to control the speed of the counter
local fadeOutDuration = 1 -- Adjust this for the fade-out speed

[Link] = 0

local tweenInfo = [Link](duration, [Link])


local goal = {Value = damage}

local valueObject = [Link]("NumberValue")


[Link] = startValue

valueObject:GetPropertyChangedSignal("Value"):Connect(function()
[Link] = [Link]("%.1f", [Link])
end)

local tween = tweenservice:Create(valueObject, tweenInfo, goal)


tween:Play()

[Link]:Connect(function()
valueObject:Destroy()

local fadeOutTweenInfo = [Link](fadeOutDuration,


[Link])
local fadeOutGoal = {TextTransparency = 1}

local fadeOutTween = tweenservice:Create(textLabel, fadeOutTweenInfo,


fadeOutGoal)
fadeOutTween:Play()

[Link]:Connect(function()
[Link] = ""
end)
end)
end

local holdingG = false


local holdStartTime = 0

[Link]:SetAttribute("3dmgEnabled", false)

[Link]:Connect(function(key)
if key == "g" then
holdingG = true
holdStartTime = tick() -- Record the time when "G" was first pressed
while holdingG do
if tick() - holdStartTime >= 0.70 then
if canuseodmg then
[Link]:SetAttribute("3dmgEnabled", false)
Disable:Play()

[Link]:FireServer([Link])
canuseodmg = false
wait(0.7)
[Link]:FireServer(odmg, false,
blades, status, StationaryHandles)
else
if checkdata("ArmInjury") then

[Link]:FireServer("ODMG", player, "I can't use


this.")
else
[Link]:SetAttribute("3dmgEnabled",
true)
Use:Play()

[Link]:FireServer([Link])
canuseodmg = true
[Link]:FireServer(odmg,
true, blades, status, StationaryHandles)
end
end
break
end
wait(0.1)
end
end
end)

[Link]:Connect(function(key)
if key == "g" then
holdingG = false
end
end)

local ReplicatedStorage = game:GetService("ReplicatedStorage")


local remotecall =
ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("callremote")
local player = [Link]

-- Ensure this script only runs for players on the Scouting Legion team
if [Link] == [Link]["Scouting Legion"] then
[Link]:Connect(function()
warn("tried increasing gas")
currentgas = currentgas + 200
if currentgas >= 325 then
currentgas = 325
end
[Link](.5,odmggui)
[Link]:FireServer("ODMG", player,
"Akille. i feel he's calling to me!.")
end)
end

-- Any additional 3DMG client code goes here


if checkdata("GasConserver") then
maxgas = 325
end
if checkdata("ExtraLeverage") then
distance = 80
end
if checkdata("BladesConserver") then
maxdurability = 325
end

if checkdata("Tailwind") then
speedmultiplier = speedmultiplier + .10
maxVelocityMultiplier = maxVelocityMultiplier + .10
end
if checkdata("Edgerunner") then
speedmultiplier = speedmultiplier + .19
maxVelocityMultiplier = maxVelocityMultiplier + .08
end
if checkdata("Aerodynamic") then
speedmultiplier = speedmultiplier + .05
maxVelocityMultiplier = maxVelocityMultiplier + .05
end
if checkdata("Acrobat") then
speedmultiplier = speedmultiplier + .03
maxVelocityMultiplier = maxVelocityMultiplier + .03
end
if checkdata("Butterfly") then
speedmultiplier = speedmultiplier + .04
end
if checkdata("VelocityManiac") then
maxVelocityMultiplier = maxVelocityMultiplier + .03
end
if checkdata("GearSpecialist") then
speedmultiplier = speedmultiplier + .03
maxVelocityMultiplier = maxVelocityMultiplier + .01
end

if checkdata("GodSpeed") then
speedmultiplier = speedmultiplier + .15
maxVelocityMultiplier = maxVelocityMultiplier + .05
end

if [Link]:GetAttribute("Sandevistan") then
targetvelocity = 700
speedmultiplier = speedmultiplier + .100
maxVelocityMultiplier = maxVelocityMultiplier + .50
end

if checkdata("Tempest") then
speedmultiplier = speedmultiplier + .20
maxVelocityMultiplier = maxVelocityMultiplier + .07
end

if [Link]:GetAttribute("TempestBuff") then
speedmultiplier = speedmultiplier + .08
maxVelocityMultiplier = maxVelocityMultiplier + .07
end

if [Link]:GetAttribute("SuddenGustsBuff") then
speedmultiplier = speedmultiplier + .08
maxVelocityMultiplier = maxVelocityMultiplier + .07
end

if [Link]:GetAttribute("BlessingBuff") then
speedmultiplier = speedmultiplier + .08
maxVelocityMultiplier = maxVelocityMultiplier + .01
end

if [Link]:GetAttribute("NeverSayDieProcced") then
speedmultiplier = speedmultiplier + .05
maxVelocityMultiplier = maxVelocityMultiplier + .01
end

if [Link]:GetAttribute("Overweight") then
speedmultiplier = speedmultiplier - .20
maxVelocityMultiplier = maxVelocityMultiplier - .02
end

if checkdata("LegInjury") and [Link] ~= "CavaleiroLixo" then


speedmultiplier = speedmultiplier - .20
maxVelocityMultiplier = maxVelocityMultiplier + .03
end

if checkdata("ArmInjury") and [Link] ~= "CavaleiroLixo" then


speedmultiplier = speedmultiplier - .20
maxVelocityMultiplier = maxVelocityMultiplier + .03
end

distancecounter = distance * 10

local function findHumanoidRootPart(part)


local currentPart = part
while currentPart do
if currentPart:FindFirstChild("HumanoidRootPart") then
return [Link]
end
currentPart = [Link]
end
return nil
end

local function findIsHuman(part)


local currentPart = part
while currentPart do
if currentPart:FindFirstChild("IsHuman") then
return true
end
currentPart = [Link]
end
return false
end

local function releaseHook(hook, hookAttachedVar, wire1, wire2, getPlayerPosition,


canShootVar, hitSurfaceVar, hookCooldown, isLeftHook)
if isLeftHook then
q = false
hooking = false
wireshooting1 = false
[Link]:SetAttribute("LeftHooking", false)
HookStatus = false
else
e = false
hooking = false
wireshooting2 = false
[Link]:SetAttribute("RightHooking", false)
HookStatus = false
end

CleanSpeedlines()
[Link]:FindFirstChild("Sliding").Value = false

if hook ~= nil then


[Link]:FireServer([Link])

if hookAttachedVar and hook:FindFirstChild("WeldConstraint") then


[Link]:Destroy()
[Link] = false

if isLeftHook then
lhookattached = false
else
rhookattached = false
end

wire1.Attachment1 = wire2.Attachment1
wire2.Attachment1 = nil
end

local CS0_Max = 9
local ReturnConnection
local HookReturn = [Link](function()
local Distance = 0.105
[Link] = 500
wire1.CurveSize0 = 0
wire1.CurveSize1 = 0
ReturnConnection =
game:GetService("RunService").Heartbeat:Connect(function()
wire1.CurveSize0 = [Link](-CS0_Max, CS0_Max)
wire1.CurveSize1 = [Link](-CS0_Max, CS0_Max)
local hookExit = getPlayerPosition()
[Link] = [Link]:Lerp(hookExit, Distance)
CS0_Max *= 0.95
Distance /= 0.93
if ([Link] - hookExit).Magnitude <= 1 then
ReturnConnection:Disconnect()
wire1.CurveSize0 = 0
wire1.CurveSize1 = 0
hook:Destroy()
if isLeftHook then
lhook = nil
else
rhook = nil
end
return
end
end)
end)
[Link](HookReturn)

[Link]:FireServer([Link])

if isLeftHook then
canshootleft = true
lhitsurface = nil
else
canshootright = true
rhitsurface = nil
end

wait(hookCooldown)
end
end

local function getPlayerPosition()


return [Link] and [Link] and
[Link] or [Link](0, 0, 0)
end

local function releaseLeftHook()


releaseHook(lhook, lhookattached, lwire1, lwire2, getPlayerPosition,
canshootleft, lhitsurface, LeftHookCD, true)
end

local function releaseRightHook()


releaseHook(rhook, rhookattached, rwire1, rwire2, getPlayerPosition,
canshootright, rhitsurface, RightHookCD, false)
end

odmgcore= [Link]:Connect(function(input, gpe)


if gpe then return end

if [Link] == [Link].MouseButton1 and canattack ==


true and not attacking and not ([Link] or [Link] or
[Link] or [Link] or [Link]) and
canuseodmg and not character:FindFirstChildWhichIsA("Tool") and not
HasAnyStatusEffect(character) then
if [Link] == 1 and [Link] == 1
then return end

attacking = true
if attack == 1 and canhold == true then
attack1Hold:Play()
tweenCameraAndLightningAttack(true)
elseif attack == 2 and canhold == true then
attack2Hold:Play()
tweenCameraAndLightningAttack(true)
elseif attack == 3 and canhold == true then
attack3Hold:Play()
tweenCameraAndLightningAttack(true)
end
elseif [Link] == [Link] then
if [Link] == [Link].Q and not q and lhook == nil and
currentgas > 0 and canuseodmg and canshootleft and not
HasAnyStatusEffect(character) then
q = true

if [Link] ~= nil and [Link] == "Barrier" then


[Link] = [Link]
end

do
local ignorelist = {
character
}

local part, partpos

for i = 1, 10 do -- Increased iterations for better


precision
local ray = [Link]([Link],
([Link] - [Link]).Unit * distance * i)
local hit, pos, surf = castray(ray, ignorelist)
if hit ~= nil then
part, partpos, lhitsurface = hit, pos, surf
break
elseif not q then
break
end
end

if part ~= nil and partpos ~= nil and lhitsurface ~= nil


and q then

local characterSpeed =
[Link]
if characterSpeed > 50 then -- Arbitrary speed
threshold
local forwardVector = (partpos -
[Link]).Unit
partpos = partpos + forwardVector *
(characterSpeed * 0.1)
end

[Link]:FireServer([Link])

[Link]:FireServer([Link])

if IsSlidingOnGround() then
lefthookstartground:Play()
else
lefthookstart:Play()
end

[Link]:Emit(20)

lhook = createhook("LeftHook")
[Link] = true
lwire1.Attachment1 = lhook:FindFirstChild("A1")

[Link] =
[Link]([Link], [Link])

if partpos and [Link] then


local tweeninfo = [Link]((partpos -
[Link]).Magnitude / 200 * 0.05, [Link],
[Link])
local goal = {CFrame = [Link](partpos)}

local tween = tweenservice:Create(lhook,


tweeninfo, goal)
tween:Play()

spawn(function()
for i = 0, 1, 6 do
lwire1.CurveSize0 = -
[Link](tick() * 60) * 2
lwire1.CurveSize1 = [Link](tick()
* 60) * 2
wait()
end
lwire1.CurveSize0 = 0
lwire1.CurveSize1 = 0
end)

[Link]:Connect(function(playbackstate)
tween:Destroy()
if playbackstate ==
[Link] then
local lwire2fake =
odmg.LeftGrapple2.Wire2
if findIsHuman(part) then
local rootparthit =
findHumanoidRootPart(part)
if rootparthit then
[Link] =
[Link]
part = rootparthit
local hookposition =
[Link]

[Link]:FireServer(lwire2fake, [Link], part,


[Link], lhitsurface, true, hookposition)
end
else

[Link] =
[Link](partpos, partpos - lhitsurface)
local hookposition =
[Link]

[Link]:FireServer(lwire2fake, [Link], part,


partpos, lhitsurface, false, hookposition)
end

[Link] = false
local a =
[Link]("WeldConstraint")
[Link] = lhook
a.Part0 = lhook
a.Part1 = part

lwire2.Attachment1 =
lwire1.Attachment1
lwire1.Attachment1 = nil

local lwire2fake =
odmg.LeftGrapple2.Wire2

lhookattached = true
HookStatus = true
wireshooting1 = true

canshootleft = false

[Link]:SetAttribute("LeftHooking", true)

[Link]:SetAttribute("Hooking", true)

if findIsHuman(part) then
local rootparthit =
findHumanoidRootPart(part)

[Link]:FireServer([Link])

if
checkdata("GearSpecialist") then
local Color =
[Link](0.376532, 0.0818189, 0.113893)

[Link]:FireServer(bypass, Color)
end

[Link](.5,
odmggui)
local mrandom =
[Link](1, 3)

local selectedMessage =
[Link][mrandom]

[Link]:FireServer("ODMG", player,
selectedMessage)
end
end
end)
end
end
end

elseif [Link] == [Link].E and not e and rhook == nil and


currentgas > 0 and canuseodmg and canshootright and not
HasAnyStatusEffect(character) then
e = true

if [Link] ~= nil and [Link] == "Barrier" then


[Link] = [Link]
end

do
local ignorelist = {
character
}

local part, partpos

for i = 1, 10 do -- Increased iterations for better


precision
local ray = [Link]([Link],
([Link] - [Link]).Unit * distance * i)
local hit, pos, surf = castray(ray, ignorelist)
if hit ~= nil then
part, partpos, rhitsurface = hit, pos, surf
break
elseif not e then
break
end
end

if part ~= nil and partpos ~= nil and rhitsurface ~= nil


and e then

local characterSpeed =
[Link]
if characterSpeed > 50 then -- Arbitrary speed
threshold
local forwardVector = (partpos -
[Link]).Unit
partpos = partpos + forwardVector *
(characterSpeed * 0.1)
end

[Link]:FireServer([Link])

[Link]:FireServer([Link])

if IsSlidingOnGround() then
righthookstartground:Play()
else
righthookstart:Play()
end
[Link]:Emit(20)

rhook = createhook("RightHook")
[Link] = true

rwire1.Attachment1 = rhook:FindFirstChild("A1")

[Link] =
[Link]([Link], [Link])
if partpos and [Link] then
local tweeninfo = [Link]((partpos -
[Link]).Magnitude / 200 * 0.05, [Link],
[Link])
local goal = {CFrame = [Link](partpos)}

local tween = tweenservice:Create(rhook,


tweeninfo, goal)
tween:Play()

spawn(function()
for i = 0, 1, 1.35 do
rwire1.CurveSize0 = -
[Link](tick() * 60) * 2
rwire1.CurveSize1 = [Link](tick()
* 60) * 2
wait()
end
rwire1.CurveSize0 = 0
rwire1.CurveSize1 = 0
end)

[Link]:Connect(function(playbackstate)
tween:Destroy()
if playbackstate ==
[Link] then

local rwire2fake =
odmg.RightGrapple2.Wire2
if findIsHuman(part) then
local rootparthit =
findHumanoidRootPart(part)
if rootparthit then
[Link] =
[Link]
part = rootparthit --
Update the part to be the HumanoidRootPart
local hookposition =
[Link]

[Link]:FireServer(rwire2fake, [Link], part,


[Link], rhitsurface, true, hookposition)
end
else
[Link] =
[Link](partpos, partpos - rhitsurface)
local hookposition =
[Link]

[Link]:FireServer(rwire2fake, [Link], part,


partpos, rhitsurface, false, hookposition)
end

[Link] = false

local a =
[Link]("WeldConstraint")
[Link] = rhook
a.Part0 = rhook
a.Part1 = part

rwire2.Attachment1 =
rwire1.Attachment1
rwire1.Attachment1 = nil

rhookattached = true
HookStatus = true
wireshooting2 = true

canshootright = false

[Link]:SetAttribute("RightHooking", true)

[Link]:SetAttribute("Hooking", true)

if findIsHuman(part) then
local rootparthit =
findHumanoidRootPart(part)

[Link]:FireServer([Link])

if
checkdata("GearSpecialist") then
local Color =
[Link](0.376532, 0.0818189, 0.113893)

[Link]:FireServer(bypass, Color)
end

[Link](.5,
odmggui)
local mrandom =
[Link](1, 3)

local selectedMessage =
[Link][mrandom]

[Link]:FireServer("ODMG", player,
selectedMessage)
end
end
end)
end
end
end
elseif [Link] == [Link].R and canuseodmg and
IsSlidingOnGround() and not HasAnyStatusEffect(character)then
if ([Link] or [Link] or
[Link] or attacking) then return end
if [Link] == 1 and [Link]
== 1 then
if currentblades ~= 0 then
unsheathe:Play()
status = true
end

elseif [Link] == 0 and


[Link] == 0 then
sheathe:Play()
status = false
end

elseif [Link] == [Link].R and canuseodmg and not


HasAnyStatusEffect(character) then
if ([Link] or [Link] or
[Link] or attacking) then return end
if [Link] == 1 and [Link]
== 1 then
if currentblades ~= 0 then
aunsheathe:Play()
status = true
end

elseif [Link] == 0 and


[Link] == 0 then
asheathe:Play()
status = false
end
elseif [Link] == [Link] and IsSlidingOnGround() and
not HasAnyStatusEffect(character) then
if canuseodmg == true then
[Link]:FireServer("ODMG",
player, "I need my handles stationed.")
return
end

[Link]:FireServer("ODMG", player,
"Taking off gear.")

Refill:Play()

StudsUI = false
odmgcore:Disconnect()
odmend:Disconnect()
RestockBladesConnection:Disconnect()
RefillGasConnection:Disconnect()
--onhitbox:Disconnect()
connectionattack1end:Disconnect()
connectionattack1start:Disconnect()
connectionattack2end:Disconnect()
connectionattack2start:Disconnect()
sheateconnection:Disconnect()
Getmarkerunsheate:Disconnect()
durabilitychanged:Disconnect()
if q then

[Link]:FireServer([Link])
else if e then

[Link]:FireServer([Link])
end
end
[Link]:FireServer(player,bypass)

[Link]:SetAttribute("3dmgEnabled", false)
[Link]:WaitForChild("BodyGyro"):Destroy()
[Link]:WaitForChild("BodyForce"):Destroy()
[Link]:WaitForChild("BodyVelocity"):Destroy()

elseif [Link] == [Link].U and not attacking and not


([Link] or [Link] or [Link]) and not
HasAnyStatusEffect(character) then
if not IsSlidingOnGround() then
if checkdata("TheBard") then
thebardair:Play()

[Link]:Wait()

local ratio = currentgas / maxgas


local Ratio = [Link](ratio * 100 + 0.5) -- Round
to nearest whole number.

local bladeratio = [Link] /


maxdurability
local bladeRatio = [Link](bladeratio * 100 + 0.5)
-- Round to nearest whole number.

if checkdata("GearSpecialist") then
sub(function()

[Link]:FireServer("ODMG", player, "I have


"..Ratio.."%".." of gas left.")
wait(1)

[Link]:FireServer("ODMG", player, "I have


"..bladeRatio.."%".." of blade durability.")
end)
else

[Link]:FireServer("ODMG", player, "I have


"..Ratio.."%".." of gas left.")
end
else

[Link]:FireServer("ODMG", player, "I need to be


on the ground.")
end
else
if checkdata("TheBard") then
[Link] = 0
[Link] = 0

gascheck:Play()

[Link]:Wait()

[Link] = 16
[Link] = 50
else
[Link] = 0

gascheck:Play()

[Link]:Wait()
[Link] = 50
end

local ratio = currentgas / maxgas


local Ratio = [Link](ratio * 100 + 0.5) -- Round to
nearest whole number.

local bladeratio = [Link] / maxdurability


local bladeRatio = [Link](bladeratio * 100 + 0.5) --
Round to nearest whole number.

if checkdata("GearSpecialist") then
sub(function()

[Link]:FireServer("ODMG", player, "I have


"..Ratio.."%".." of gas left.")
wait(1)

[Link]:FireServer("ODMG", player, "I have


"..bladeRatio.."%".." of blade durability.")
end)
else

[Link]:FireServer("ODMG", player, "I have


"..Ratio.."%".." of gas left.")
end
end

elseif [Link] == [Link].A and not [Link]


and not HasAnyStatusEffect(character) then
a = true

if (lhookattached or rhookattached) then


[Link]:FireServer([Link], 35,
bypass)
[Link]:FireServer([Link])

end
elseif [Link] == [Link] and currentgas > 0 and not
[Link] and canuseodmg and canboostflip == true and
humanoid:GetState() == [Link] and checkdata("GasBurst")
and not HasAnyStatusEffect(character) then

if not (q or e) then

sub(function()
ShowCooldown("Gas Burst", 11)
end)

boostflipping = true
boostfliplines = false
canroll = true

[Link] =
(([Link] * 425))
currentgas = currentgas - 8
[Link]:FireServer([Link], 45,
bypass)
canboostflip = false

[Link]:FireServer([Link])

if not [Link] and [Link] ==


1 and [Link] == 1 then
boostflip2:Play()
camshake:Shake([Link],0.2)
[Link](character)
else
boostflip2:Play()
camshake:Shake([Link],0.2)
[Link](character)
end

wait(1)

boostflipping = false
boostfliplines = true

wait(2)

canroll = false

wait(8)
canboostflip = true

end

elseif [Link] == [Link].T and currentgas > 0 and not


[Link] and canuseodmg and backflipping == false and
checkdata("Backspring") and not HasAnyStatusEffect(character) then

if not (q or e) then

backflipping = true

sub(function()
ShowCooldown("Backspring", 7)
end)

[Link]:FireServer([Link], 45,
bypass)
[Link]:FireServer([Link])
backflip:Play()
boostfliplines = false

currentgas = currentgas - 4

[Link] =
(([Link] * -295) + ([Link] *
140))

camshake:Shake([Link],0.2)
[Link](character)
wait(1)
boostfliplines = true

wait(6)

backflipping = false

end

elseif [Link] == [Link].D and not [Link]


and not HasAnyStatusEffect(character) then
d = true

if (lhookattached or rhookattached) then


[Link]:FireServer([Link], 35,
bypass)
[Link]:FireServer([Link])
end

--[[elseif [Link] == [Link].V and not


[Link] and not HasAnyStatusEffect(character) then
[Link](function()
if not [Link]:GetAttribute("Focus") then
[Link]:SetAttribute("Focus", true)

[Link]:FireServer("ODMG", player, "Lock in.")


ShowCooldown("Focus", 30)
[Link]:SetAttribute("Focus", false)
end
end)()--]]

elseif [Link] == [Link] and currentgas > 0 and not


[Link] and not HasAnyStatusEffect(character) then
if lhookattached or rhookattached then
boosting = true
[Link]:FireServer([Link], 35,
bypass)
[Link]:FireServer([Link])
[Link] = true
end
end
end
end)

odmend = [Link]:Connect(function(input)
if [Link] == [Link].Q and q and not
HasAnyStatusEffect(character) then
releaseLeftHook()
elseif [Link] == [Link].E and e and not
HasAnyStatusEffect(character) then
releaseRightHook()
elseif [Link] == [Link].A and not HasAnyStatusEffect(character)
then
a = false

elseif [Link] == [Link].D and not HasAnyStatusEffect(character)


then
d = false
elseif [Link] == [Link] and not
HasAnyStatusEffect(character) then
boosting = false
[Link] = false

elseif [Link] == [Link].F and not HasAnyStatusEffect(character)


then

ClosestStation = GetClosestStation()

if ClosestStation ~= nil then

if [Link] == "GasRefill" then


if tonumber([Link]) < tonumber(1)
then
return
end

local GasNeeded = currentgas - maxgas

wait(9)

[Link]:FireServer(player,GasNeeded)
else
if tonumber([Link]) < tonumber(1)
then
return
end
[Link]:FireServer(odmg,bypass)

[Link]:FireServer([Link])
Refill:Play()

[Link]:FireServer([Link])

if lastdurability ~= 0 then
lastdurability = 0
end

if [Link] > 0 then


[Link] = 0
end
end
end
elseif [Link] == [Link].MouseButton1 and attacking
and not ([Link] or [Link] or [Link] or
[Link]) and not HasAnyStatusEffect(character) then
if [Link] == 1 and [Link] == 1
then return end

-- Function to handle attack logic


local function handleAttack(attackNumber, attackAnim, attackHold)
attacking = true
attackAnim:Play()
tweenCameraAndLightningAttack(false)
sub(function()
end)

if [Link] == "CONTRIBUTORS" then


local SwingSounds =
[Link]:GetChildren()
local SwingS = SwingSounds[[Link](1, #SwingSounds)]
SwingS:Play()
else
local SwingSounds = [Link]:GetChildren()
local SwingS = SwingSounds[[Link](1, #SwingSounds)]
SwingS:Play()
end

attackHold:Stop()
attack = attackNumber + 1
canattack = false
canhold = false
wait(attackcd)
canattack = true
canhold = true
end

-- Check for "CONTRIBUTORS" animation style


if [Link] == "CONTRIBUTORS" then
if attack == 1 and canattack then
handleAttack(1, attack1, attack1Hold)
elseif attack == 2 and canattack then
handleAttack(2, attack2, attack2Hold)
elseif attack == 3 and canattack then
handleAttack(3, attack3, attack3Hold)
attack = 1 -- Reset attack to 1 after the third attack
end
else
-- Default animation style with 2 attacks
if attack == 1 and canattack then
handleAttack(1, attack1, attack1Hold)
elseif attack == 2 and canattack then
handleAttack(2, attack2, attack2Hold)
attack = 1 -- Reset attack to 1 after the second attack
end
end
end
end)
Getmarkerunsheate =
unsheathe:GetMarkerReachedSignal("BladesOut"):Connect(function()
[Link]:FireServer([Link])

if currentblades == 8 then
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades1, bypass)
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades11, bypass)
currentblades = currentblades - 2
elseif currentblades == 6 then
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades2, bypass)
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades22, bypass)
currentblades = currentblades - 2
elseif currentblades == 4 then
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades3, bypass)
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades33, bypass)
currentblades = currentblades - 2
elseif currentblades == 2 then
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades4, bypass)
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades44, bypass)
currentblades = currentblades - 2
end

if sheathed then
sheathed = false
end

if bladesbroken then
bladesbroken = false
end

if lastdurability > 0 then


[Link] = lastdurability
lastdurability = 0
elseif lastdurability == 0 then
[Link] = maxdurability
end
end)

Getmarkerunsheate =
aunsheathe:GetMarkerReachedSignal("BladesOut"):Connect(function()
[Link]:FireServer([Link])

if currentblades == 8 then
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades1, bypass)
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades11, bypass)
currentblades = currentblades - 2
elseif currentblades == 6 then
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades2, bypass)
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades22, bypass)
currentblades = currentblades - 2
elseif currentblades == 4 then
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades3, bypass)
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades33, bypass)
currentblades = currentblades - 2
elseif currentblades == 2 then
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades4, bypass)
[Link]:FireServer(odmg, [Link], [Link],
odmg.Blades44, bypass)
currentblades = currentblades - 2
end

if sheathed then
sheathed = false
end

if bladesbroken then
bladesbroken = false
end

if lastdurability > 0 then


[Link] = lastdurability
lastdurability = 0
elseif lastdurability == 0 then
[Link] = maxdurability
end
end)

sheateconnection =sheathe:GetMarkerReachedSignal("BladesIn"):Connect(function()
[Link]:FireServer([Link])

if currentblades == 0 then
[Link]:FireServer([Link], [Link],
odmg.Blades4, bypass)
[Link]:FireServer([Link], [Link],
odmg.Blades44, bypass)
currentblades = currentblades + 2
elseif currentblades == 2 then
[Link]:FireServer([Link], [Link],
odmg.Blades3, bypass)
[Link]:FireServer([Link], [Link],
odmg.Blades33, bypass)
currentblades = currentblades + 2
elseif currentblades == 4 then
[Link]:FireServer([Link], [Link],
odmg.Blades2, bypass)
[Link]:FireServer([Link], [Link],
odmg.Blades22, bypass)
currentblades = currentblades + 2
elseif currentblades == 6 then
[Link]:FireServer([Link], [Link],
odmg.Blades1, bypass)
[Link]:FireServer([Link], [Link],
odmg.Blades11, bypass)
currentblades = currentblades + 2
end

if not sheathed then


sheathed = true
end

if [Link] > 0 then


lastdurability = [Link]
[Link] = 0
end
end)

sheateconnection =asheathe:GetMarkerReachedSignal("BladesIn"):Connect(function()
[Link]:FireServer([Link])

if currentblades == 0 then
[Link]:FireServer([Link], [Link],
odmg.Blades4, bypass)
[Link]:FireServer([Link], [Link],
odmg.Blades44, bypass)
currentblades = currentblades + 2
elseif currentblades == 2 then
[Link]:FireServer([Link], [Link],
odmg.Blades3, bypass)
[Link]:FireServer([Link], [Link],
odmg.Blades33, bypass)
currentblades = currentblades + 2
elseif currentblades == 4 then
[Link]:FireServer([Link], [Link],
odmg.Blades2, bypass)
[Link]:FireServer([Link], [Link],
odmg.Blades22, bypass)
currentblades = currentblades + 2
elseif currentblades == 6 then
[Link]:FireServer([Link], [Link],
odmg.Blades1, bypass)
[Link]:FireServer([Link], [Link],
odmg.Blades11, bypass)
currentblades = currentblades + 2
end

if not sheathed then


sheathed = true
end

if [Link] > 0 then


lastdurability = [Link]
[Link] = 0
end
end)

connectionattack1start =
attack1:GetMarkerReachedSignal("AttackStart"):Connect(function()
hitbox:HitStart()

[Link]:FireServer(bypass)

[Link]:FireServer([Link], true, bypass)


[Link]:FireServer([Link], true, bypass)

end)

[Link]:Connect(function()
if checkdata("TheBard") then
[Link]:FireServer([Link])
else
[Link]:FireServer([Link])
end
end)

[Link]:Connect(function()
[Link]:FireServer([Link])
end)
connectionattack1end
=attack1:GetMarkerReachedSignal("AttackEnd"):Connect(function()
attacking = false

hitbox:HitStop()

[Link]:FireServer([Link], false, bypass)


[Link]:FireServer([Link], false, bypass)
end)

connectionattack2start =
attack2:GetMarkerReachedSignal("AttackStart"):Connect(function()
hitbox:HitStart()

[Link]:FireServer(bypass)

[Link]:FireServer([Link], true, bypass)


[Link]:FireServer([Link], true, bypass)
end)

connectionattack2end
=attack2:GetMarkerReachedSignal("AttackEnd"):Connect(function()
attacking = false

hitbox:HitStop()
[Link]:FireServer([Link], false, bypass)

[Link]:FireServer([Link], false, bypass)


end)

connectionattack3start =
attack3:GetMarkerReachedSignal("AttackStart"):Connect(function()
hitbox:HitStart()

[Link]:FireServer(bypass)

[Link]:FireServer([Link], true, bypass)


[Link]:FireServer([Link], true, bypass)
end)

connectionattack3end =
attack3:GetMarkerReachedSignal("AttackEnd"):Connect(function()
attacking = false

hitbox:HitStop()
[Link]:FireServer([Link], false, bypass)

[Link]:FireServer([Link], false, bypass)


end)

local debounce = false


[Link]:Connect(function(hit)
local humanoid = [Link]:FindFirstChild("Humanoid") or
[Link]:FindFirstChild("Humanoid")
local rootpart = [Link]:FindFirstChild("HumanoidRootPart") or
[Link]:FindFirstChild("HumanoidRootPart")
if [Link] > 0 then
if [Link] == "Nape" then
warn("Hit nape")
local damageval = 850

[Link](function()
if checkdata("Strength") then damageval = damageval + 50
end
if checkdata("Appeal") then damageval = damageval + 62 end
if checkdata("ConcentrationV1") then damageval = damageval
+ 200 end
if checkdata("Edgerunner") then damageval = damageval + 350
end
if checkdata("Ackerman") then damageval = damageval + 550
end
if checkdata("LegInjury") then damageval = damageval - 50
end
if checkdata("ArmInjury") then damageval = damageval - 120
end
if checkdata("MetalArm") then damageval = damageval + 50
end
if checkdata("MetalLeg") then damageval = damageval + 25
end
if checkdata("Ransotengai") then damageval = damageval +
350 end
if checkdata("Critical") then
local randommcrit = [Link](1, 20)
if not
[Link]:GetAttribute("CriticalCooldown") then
if randommcrit == 1 then -- Critical hit
condition
damageval = damageval + 300

[Link]:SetAttribute("CriticalCooldown", true)
[Link](0.5, odmggui)

[Link]:FireServer("ODMG", player, "That's a


critical!")
ShowCooldown("Critical", 30)

wait(30) -- Wait for cooldown


duration

[Link]:SetAttribute("CriticalCooldown", false)
end
end
end
if checkdata("Dueler") then
local randommessage = [Link](1, 10)
if randommessage == 1 then
print("Dueler critical hit")
if not
[Link]:GetAttribute("DuelerCritTrue") then

[Link]:SetAttribute("DuelerCrit", true)

[Link]:SetAttribute("DuelerCritTrue", true)
[Link](0.5, odmggui)
-- Insert additional Dueler effects
here

wait(30) -- Wait for Dueler


critical hit cooldown

[Link]:SetAttribute("DuelerCritTrue", false)
end
end
end
end)()

if [Link]:GetAttribute("Overweight") then damageval =


damageval - 900 [Link]:FireServer("ODMG", player,
"I'm too heavy!") end
if [Link]:GetAttribute("TempestPassiveProcced") then
damageval = damageval + 10 [Link]:FireServer("ODMG",
player, "My prayers are being answered!") end
if [Link]:GetAttribute("AlterEgo") then damageval =
damageval + 250 [Link]:FireServer("ODMG", player,
"d̷̖̠̗̫̱͖͎̉͆̾í̷̺̊̊̀́ẻ̷̮ͅ") end
if [Link]:GetAttribute("VeloCamera") then damageval =
damageval + 365 end
if [Link]:GetAttribute("ConcentrationV1Buff") then
damageval = damageval + 200 end
if [Link]:GetAttribute("DuelerCrit") then damageval =
damageval + 200 end
if [Link]:GetAttribute("BlessingBuff") then damageval =
damageval + 100 [Link]:FireServer("ODMG", player,
"That blessing made my hit heavier") end
if [Link]:GetAttribute("BladeArtProcced") then
damageval = damageval + 190 [Link]:FireServer("ODMG",
player, "A HIT AS STRONG AS I CAN!") end
if [Link]:GetAttribute("NeverSayDieProcced") then
damageval = damageval + 100 [Link]:FireServer("ODMG",
player, "I wont fall.") end
if [Link]:GetAttribute("FuryProcced") then damageval =
damageval + 100 [Link]:FireServer("ODMG", player,
"Fall, monster.") end
if [Link]:GetAttribute("ConfidentProcced") then
damageval = damageval + 80 [Link]:FireServer("ODMG",
player, "Confident as ever.") end
if [Link]:GetAttribute("TempestBuff") then damageval =
damageval + 125 [Link]:FireServer("ODMG", player,
"The wind carries me.") end
if [Link]:GetAttribute("SuddenGustsBuff") then
damageval = damageval + 200 [Link]:FireServer("ODMG",
player, "Thank you, Aeolus.") end
if [Link]:GetAttribute("AboutTitans") then damageval =
damageval + 90 end
if [Link]:GetAttribute("MultiChainRealValue") then
damageval = damageval + 650 end

local damage = [Link](damageval * 1.25)

[Link]:FireServer("Damage", damage,
[Link])
[Link] = [Link] - 10
[Link](function()
damagecounter(damage,
[Link])
end)()

[Link](function()
addBlood(0.45)
end)()

[Link](function()
if [Link] == true and not
[Link]:GetAttribute("CombatStarted") then
[Link](player, 2,
[Link])
[Link]:SetAttribute("CombatStarted",
true)
local randommessage = [Link](1,3)
if checkdata("Fury") then
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "Time to kill


titans, again!")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "I CAN FEEL


MY BLOOD BOILING!.")
else

[Link]:FireServer("ODMG", player, "TIME TO


DESTROY THOSE MONSTERS!.")
end
else
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "Time to


fight titans!")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "I will make


it out alive!.")
else

[Link]:FireServer("ODMG", player, "Adrenaline


is pumping!.")
end
end
end
end)()

[Link](function()
if checkdata("Confident") then
if not
[Link]:GetAttribute("ConfidentCooldown") then

[Link]:SetAttribute("ConfidentProcced", true)

[Link]:SetAttribute("ConfidentCooldown", true)
[Link]:FireServer("ODMG", player, "COME AND GET
ME!")
ShowCooldown("I'm Confident", 15)

[Link]:SetAttribute("ConfidentProcced", false)
ShowCooldown("Confident", 45)

[Link]:SetAttribute("ConfidentCooldown", false)
end
end
end)()

if checkdata("TitanExpert") then
local SerrationWave = [Link]
[Link]:FireServer([Link],
true, bypass)

[Link]:FireServer([Link])
[Link](0.65)
[Link]:FireServer([Link],
false, bypass)
[Link](0.20)

[Link]:FireServer([Link])
end

[Link](function()
if checkdata("Tempest") then
local randommessage = [Link](1,3)
if not
[Link]:GetAttribute("TempestPassiveProcced") then

[Link]:SetAttribute("TempestPassiveProcced", true)
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "May Aeolus


lend me his strength.")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "May Aeolus


bestow me his powers.")
else

[Link]:FireServer("ODMG", player, "Aeolus, lend


me your power!.")
end
[Link](.5,odmggui)
ShowCooldown("Aeolus Blessing", 20)
[Link](character)

[Link]:SetAttribute("TempestPassiveProcced", false)

[Link]:FireServer("ODMG", player, "The wind


calms down")
end
end
end)()

[Link](function()
if checkdata("BladeArt") then
if not
[Link]:GetAttribute("BladeArtProccedTrue") then

[Link]:SetAttribute("BladeArtProccedTrue", true)

[Link]:SetAttribute("BladeArtProcced", true)

[Link]:FireServer("ODMG", player, "My next hit


will be stronger.")
ShowCooldown("Blade Crit Timer", 10)

[Link]:SetAttribute("BladeArtProcced", false)
ShowCooldown("Blade Art", 40)

[Link]:SetAttribute("BladeArtProccedTrue", false)

end
end
end)()

[Link](function()
if checkdata("Fury") then
if not
[Link]:GetAttribute("FuryProcced") then
local randommessage = [Link](1,4)

[Link]:SetAttribute("FuryProcced", true)
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "I'm


Amazing.")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "No one can


take me down.")
elseif randommessage == 3 then

[Link]:FireServer("ODMG", player, "Bring one


more.")
else

[Link]:FireServer("ODMG", player, "No way i can


fall.")
end
ShowCooldown("Fury", 45)

[Link]:SetAttribute("FuryProcced", false)
end
end
end)()

[Link](function()
if checkdata("Guardian") then
if not
[Link]:GetAttribute("GuardianLifesteal") then

[Link]:SetAttribute("GuardianLifesteal", true)
[Link]:FireServer()
local randommessage = [Link](1,4)

[Link]:FireServer()
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "His blood


heals me.")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "I feel


better now.")
elseif randommessage == 3 then

[Link]:FireServer("ODMG", player, "I feel


rejuvenated.")
else

[Link]:FireServer("ODMG", player, "My Injuries


are closing.")
end
ShowCooldown("Lifesteal", 60)

[Link]:SetAttribute("GuardianLifesteal", false)
end
end
end)()

[Link](function()
if checkdata("MultiChain") then
if not
[Link]:GetAttribute("MultiChain") then

[Link]:SetAttribute("MultiChain", true)

[Link]:SetAttribute("MultiChainRealValue", true)
[Link](0.65, odmggui)

[Link]:FireServer("ODMG", player, "Multi-


Open.")

sub(function()
ShowCooldown("Multi-Chain", 85)

[Link]:SetAttribute("MultiChain", false)
end)

wait(45)

[Link]:SetAttribute("MultiChainRealValue", false)
end
end
end)()

if damage <= 1500 then


[Link]:Play()
local mrandom = [Link](1, 11)
local selectedMessage = questStatus and
[Link][mrandom] or [Link][mrandom]

[Link]:FireServer("ODMG", player,
selectedMessage)

[Link](function()
if checkdata("ChainReaction") then
if not
[Link]:GetAttribute("ChainReaction") then

[Link]:SetAttribute("ChainReaction", true)
local chipdamage = 500

sub(function()
addBlood(0.35)
end)

local Color = [Link](0.599786,


0.135103, 0.175158)

[Link]:FireServer(bypass, Color)

[Link]:FireServer("Damage", chipdamage,
[Link])

[Link]:FireServer("ODMG", player, "Chain-


Connect.")
ShowCooldown("Chain-Reaction", 60)

[Link]:SetAttribute("ChainReaction", false)
end
end
end)()

[Link](function()
if checkdata("MultiChain") then
if not
[Link]:GetAttribute("MultiChain") then

[Link]:SetAttribute("MultiChain", true)
[Link](0.65, odmggui)

[Link]:FireServer("ODMG", player, "Multi-


Open.")
ShowCooldown("Multi-Chain", 60)

[Link]:SetAttribute("MultiChain", false)
end
end
end)()

[Link](function()
if checkdata("Chipper") then

[Link]:FireServer(true, hit,
bypass)
[Link]:FireServer("ODMG", player, "Three.")

wait(0.6)

[Link]:FireServer("ODMG", player, "Two.")

wait(0.6)

[Link]:FireServer("ODMG", player, "One.")

wait(0.6)

grappleend:Play()

[Link](0.65, odmggui)
local Color = [Link](0.806683,
0.906355, 1)

[Link]:FireServer("ODMG", player, "Got you.")

[Link]:FireServer(bypass, Color)

local chipdamage = 600


[Link]:FireServer(bypass,
hit)

[Link]:FireServer(false, hit,
bypass)

[Link]:FireServer("Damage", chipdamage,
[Link])
end
end)()
end

if damage > 1500 then


if checkdata("Katharsis") then
[Link](.5,odmggui)
end
local mrandom = [Link](1,11)
local selectedMessage = questStatus and
[Link][mrandom] or [Link][mrandom]

[Link]:FireServer("ODMG", player,
selectedMessage)

[Link]:Play()

[Link](function()
if checkdata("FlashOverStyle") then
if not
[Link]:GetAttribute("FlashOver") then

[Link]:SetAttribute("FlashOver", true)
local Color = [Link](0.39527,
0.461509, 1)
local FOS =
[Link]

[Link]:FireServer(FOS, 1, bypass)

[Link]:FireServer([Link])
currentgas = currentgas + 15

[Link]:FireServer("ODMG", player, "That's more


gas")

[Link]:FireServer(bypass, Color)
ShowCooldown("Flash Over Style",
20)

[Link]:SetAttribute("FlashOver", false)

end
end
end)()

local ReplicatedStorage =
game:GetService("ReplicatedStorage")
local giveToolRemote =
ReplicatedStorage:WaitForChild("GiveToolRemote")
local giveToolRemoteEdgerunner =
ReplicatedStorage:WaitForChild("GiveToolRemoteEdgerunner")
local player = [Link]

if checkdata("ConcentrationV1") then
if not
[Link]:GetAttribute("ConcentrationV1Cooldown") then
-- Request the tool from the server
giveToolRemote:FireServer()

-- Wait for a moment to ensure the tool is


received and equipped
[Link](0.2)
local tool =
[Link]:FindFirstChild("ConcentrationV1")
if tool then
-- Auto use the tool
[Link]:EquipTool(tool)
tool:Activate()
print("Tool ConcentrationV1 activated.")
else
warn("Tool ConcentrationV1 not found in
backpack")
end

-- Set attributes and show cooldowns

[Link]:SetAttribute("ConcentrationV1Cooldown", true)

[Link]:SetAttribute("ConcentrationV1Buff", true)
ShowCooldown("Concentrated", 300) -- Smoke
effect lasts for 300 seconds

-- End smoke effect and reset attributes

[Link]:SetAttribute("ConcentrationV1Buff", false)
[Link](1)
ShowCooldown("Total Concentration", 550)
[Link](1)

[Link]:SetAttribute("ConcentrationV1Cooldown", false)

end
end

[Link](function()
if checkdata("Edgerunner") then
if not
[Link]:GetAttribute("EdgerunnerCooldown") then
-- Request the tool from the server

giveToolRemoteEdgerunner:FireServer()

-- Wait for a moment to ensure the


tool is received and equipped
[Link](1) -- Increase wait time
to 1 second for better reliability
local tool =
[Link]:FindFirstChild("Edgerunner")
if tool then
-- Auto use the tool

[Link]:EquipTool(tool)
tool:Activate()
print("Tool Edgerunner
activated.")
else
warn("Tool Edgerunner not
found in backpack")
end

-- Set attributes and show


cooldowns

[Link]:SetAttribute("EdgerunnerCooldown", true)

[Link]:SetAttribute("EdgerunnerBuff", true)
ShowCooldown("On the Edge", 300)
[Link](1)

[Link]:SetAttribute("EdgerunnerBuff", false)
ShowCooldown("Edgerunner", 550)
[Link](1)

[Link]:SetAttribute("EdgerunnerCooldown", false)
end
end
end)()
[Link](function()
if checkdata("Intellect") then
local Intellect =
[Link]
local Color = [Link](250, 247, 255)

[Link]:FireServer(Intellect, 8, bypass)

[Link]:FireServer([Link], 8, bypass)

[Link]:FireServer([Link], 8, bypass)

[Link]:FireServer([Link], 8, bypass)

[Link]:FireServer([Link])

[Link]:FireServer(bypass, Color)
end
end)()

[Link](function()
if checkdata("Katharsis") then
local Devotion =
[Link]

[Link]:FireServer(Devotion,8,bypass)

[Link]:FireServer([Link])
end
end)()

[Link](function()
if checkdata("BladeDancer") then
local Slash =
[Link]
local Color = [Link](0.758312,
0.918334, 1)

[Link]:FireServer(Slash,8,bypass)

[Link]:FireServer([Link])

[Link]:FireServer(bypass, Color)

[Link]:FireServer(bypass,hit)
end
end)()

[Link](function()
if checkdata("Riftblade") then

[Link]:FireServer(bypass,hit,humanoid)
end
end)()

[Link](function()
if checkdata("Eviscerate") then
if
[Link]:GetAttribute("EviscerateReady") then
local Color = [Link](0.664424,
0.513283, 0.992798)

[Link]:FireServer(bypass, Color)

[Link]:FireServer(bypass,hit,humanoid)

[Link]:FireServer("ODMG", player,
"Eviscerate.")
end
end
end)()
return
end
end

if [Link] == "DummyNape" then

local damageval = 850

[Link](function()
if checkdata("Strength") then damageval =
damageval + 50 end
if checkdata("Appeal") then damageval =
damageval + 25 end
if checkdata("Critical") then damageval =
damageval + 40 end
end)()

if [Link]:GetAttribute("VeloCamera") then
damageval = damageval + 365 end
if
[Link]:GetAttribute("NeverSayDieProcced") then damageval = damageval + 25
end
if [Link]:GetAttribute("TempestBuff") then
damageval = damageval + 125 end
if [Link]:GetAttribute("SuddenGustsBuff")
then damageval = damageval + 200 end

local damage = [Link](damageval * 1.25)

[Link]:FireServer("Damage", damage,
[Link])
[Link] = [Link] -
10

[Link]:Play()

if damage <= 1500 then


local mrandom = [Link](1, 11)

local selectedMessage = questStatus and


[Link][mrandom] or [Link][mrandom]

[Link]:FireServer("ODMG", player,
selectedMessage)
end
if damage > 1500 then
local mrandom = [Link](1,11)
local selectedMessage = questStatus and
[Link][mrandom] or [Link][mrandom]

[Link]:FireServer("ODMG", player,
selectedMessage)
end
end

local titanmodule =
require([Link])
local Character = [Link] or
[Link]:Wait()
local MaxDistance: number = 200
local HRoot = Character:WaitForChild("HumanoidRootPart")
local function GetClosestTitanLeg()
local Closest
local ClosestDist = [Link]
for i,v in ipairs([Link]:GetChildren()) do
if v:FindFirstChild("HumanoidRootPart") and
v:FindFirstChild("Humanoid") and [Link] > 0 and
v:FindFirstChild("Hitboxes") then
local
Hitboxes=v:FindFirstChild("Hitboxes")
if Hitboxes then
local
RTendon=Hitboxes:FindFirstChild("RTendon")
local
LTendon=Hitboxes:FindFirstChild("LTendon")
local
LLeg=Hitboxes:FindFirstChild("LLeg")
local
RLeg=Hitboxes:FindFirstChild("RLeg")
if LLeg then
local Origin = [Link]
local Dist = ([Link]-
Origin).Magnitude
if Dist < ClosestDist then
ClosestDist = Dist
Closest = v
end

end
end
end
end
if Closest and ClosestDist < MaxDistance then
return Closest
end
return
end

local TitanRemote = [Link]

if [Link] == "RTendon" then


local Titan = GetClosestTitanLeg()
local P1 = Titan
[Link]:Play()
[Link] = [Link] -
40

[Link](function()
addBlood(0.25)
end)()
local randommessage = [Link](1,3)
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "Got his


right tendon!")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "Can't grab


me anymore can you?")
else

[Link]:FireServer("ODMG", player, "One less


limb.")
end
TitanRemote:FireServer("RTendon", P1)
[Link](P1, "Right")
return
end

if [Link] == "LTendon" then


local Titan = GetClosestTitanLeg()
local P1 = Titan
[Link]:Play()
[Link] = [Link] -
40

[Link](function()
addBlood(0.25)
end)()
local randommessage = [Link](1,3)
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "Got his left


tendon!")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "Can't grab


me anymore can you?")
else

[Link]:FireServer("ODMG", player, "One less


limb.")
end
TitanRemote:FireServer("LTendon", P1)
[Link](P1, "Left")
return
end

if [Link] == "LLeg" then


local Titan = [Link]
local P1 = Titan
[Link]:Play()
[Link] = [Link] -
40

[Link](function()
addBlood(0.25)
end)()
local randommessage = [Link](1,3)
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "Stay on the


ground!")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "I got his


left leg!")
else

[Link]:FireServer("ODMG", player, "Fall.")


end
TitanRemote:FireServer("LLeg", P1)
[Link](P1, "Left")
return
end

if [Link] == "RLeg" then


local Titan = [Link]
local P1 = Titan
[Link]:Play()

[Link] = [Link] -
40

[Link](function()
addBlood(0.25)
end)()
local randommessage = [Link](1,3)
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "Stay on the


ground!")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "I got his


right leg!")
else

[Link]:FireServer("ODMG", player, "Fall.")


end
TitanRemote:FireServer("RLeg", P1)
[Link](P1, "Right")
return
end

if [Link] == "Eyes" then


warn("hit eyes")

[Link]:FireServer("Blind", [Link])
[Link]:Play()
[Link] = [Link] -
40
[Link](function()
addBlood(0.25)
end)()

[Link](function()
if checkdata("Fury") then
if not
[Link]:GetAttribute("FuryProcced") then
local randommessage =
[Link](1,4)

[Link]:SetAttribute("FuryProcced", true)
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "I'm


Amazing.")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "No one can


take me down.")
elseif randommessage == 3 then

[Link]:FireServer("ODMG", player, "Bring one


more.")
else

[Link]:FireServer("ODMG", player, "No way i can


fall.")
end
ShowCooldown("Fury Titans", 45)

[Link]:SetAttribute("FuryProcced", false)
end
end
end)()

[Link](function()
if checkdata("Tempest") then
local randommessage = [Link](1,3)
if not
[Link]:GetAttribute("TempestPassiveProcced") then

[Link]:SetAttribute("TempestPassiveProcced", true)
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "May Aeolus


lend me his strength.")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "May Aeolus


give me the force to kill those monsters.")
else

[Link]:FireServer("ODMG", player, "Aeolus, lend


me your power!.")
end
[Link](.5,odmggui)
ShowCooldown("Aeolus Blessing", 20)
[Link](character)

[Link]:SetAttribute("TempestPassiveProcced", false)

[Link]:FireServer("ODMG", player, "The wind is


back to normal.")
end
end
end)()
return
end

if humanoid ~= nil and [Link] > 0 then


if debounce then return end
if [Link]:FindFirstChild("MiniClashFrame") or
[Link]:FindFirstChild("MiniClashFrame") and
character:FindFirstChild("MiniClashFrame") then

[Link]:FireServer(bypass,character,
[Link])
if [Link] then
attack1:Stop()
attacking = false
hitbox:HitStop()

[Link]:FireServer([Link], false, bypass)

[Link]:FireServer([Link], false, bypass)


end
if [Link] then
attack2:Stop()
attacking = false
hitbox:HitStop()

[Link]:FireServer([Link], false, bypass)

[Link]:FireServer([Link], false, bypass)


end
if checkdata("ParryArtist") then
[Link] = [Link] -
125
else
[Link] = [Link] -
maxdurability
end

sub(function()
if e then
releaseRightHook()
end
end)

sub(function()
if q then
releaseLeftHook()
end
end)
return
end

local random = [Link](1, 4)

local baseDamage
local calculatedDamage
local damagecd = false

local function pvpActions(player, humanoid, rootpart, bypass,


hit)
if [Link] == true and not
[Link]:GetAttribute("CombatStarted") then
[Link](player, 2,
[Link])
[Link]:SetAttribute("CombatStarted",
true)
local randommessage = [Link](1, 3)
if checkdata("Fury") then
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "Time to


kill, again!")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "I CAN FEEL


MY BLOOD BOILING!")
else

[Link]:FireServer("ODMG", player, "TIME TO


DESTROY!")
end
else
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "Time to


fight!")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "I will make


it out alive!")
else

[Link]:FireServer("ODMG", player, "Adrenaline


is pumping!")
end
end
end

if checkdata("MultiChain") and not


[Link]:GetAttribute("MultiChain") then
[Link]:SetAttribute("MultiChain",
true)

[Link]:SetAttribute("MultiChainRealValue", true)
[Link](0.65, odmggui)

[Link]:FireServer("ODMG", player, "Multi-


Open.")
ShowCooldown("Multi-Chain", 85)
[Link](45)

[Link]:SetAttribute("MultiChainRealValue", false)
[Link]:SetAttribute("MultiChain",
false)
end

if checkdata("TitanExpert") then
local SerrationWave =
[Link]

[Link]:FireServer([Link], true, bypass)

[Link]:FireServer([Link])
[Link](0.20)

[Link]:FireServer([Link], false, bypass)


[Link](0.15)

[Link]:FireServer([Link])
end

if [Link]:GetAttribute("BladeArtProcced")
then

[Link]:FireServer("ODMG", player, "A hit as


strong as i can!")

[Link]:SetAttribute("BladeArtProcced", false)
end

if checkdata("Tempest") and not


[Link]:GetAttribute("TempestPassivePVPProcced") then

[Link]:SetAttribute("TempestPassiveProcced", false)

[Link]:SetAttribute("TempestPassivePVPProcced", true)
local randommessage = [Link](1, 3)
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "Aeolus, I


will kill him!")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "May Aeolus


give me the force to kill this person.")
else

[Link]:FireServer("ODMG", player, "Aeolus, lend


me your power to kill him!")
end
ShowCooldown("Aeolus Murder Intent", 20)

[Link]:SetAttribute("TempestPassivePVPProcced", false)
end

if [Link]:GetAttribute("AlterEgo") then
[Link]:FireServer("ODMG", player, "d̷̖̠̗̫̱͖͎̉͆̾í̷̺̊̊̀́ẻ̷̮ͅ")
ShowCooldown("A̶̹͠ L̷̘̽T̴̻̜͗̚Ë̴͚͕́̕Ṟ̷̺̏ ̴̱̙̎̈́Ȩ̷̲̈́G̵̘̐̍O̷͇͚̽", 2)
[Link](1)
end

if [Link]:GetAttribute("BlessingBuff") then
[Link]:SetAttribute("BlessingBuff",
false)

[Link]:SetAttribute("BlessingBuffPlayer", true)

[Link]:FireServer("ODMG", player, "That


blessing made my slash stronger")
ShowCooldown("Blessing Remaining Time", 35)

[Link]:SetAttribute("BlessingBuffPlayer", false)
end

if [Link]:GetAttribute("NeverSayDiePVP")
and not [Link]:GetAttribute("NeverSayDieProccedTrue") then

[Link]:SetAttribute("NeverSayDieProccedTrue", true)

[Link]:FireServer("ODMG", player, "OUR LIVES


ARE ON THE LINE!")
ShowCooldown("Life on the Line", 100)

[Link]:SetAttribute("NeverSayDieProccedTrue", false)
end

if [Link]:GetAttribute("SuddenGustsBuff")
then
[Link]:SetAttribute("SuddenGustPVP",
true)

[Link]:SetAttribute("SuddenGustsBuff", false)

[Link]:FireServer("ODMG", player, "FOR AEOLUS.


I WILL KILL HIM!")
ShowCooldown("Aeolus Killing Spree Timer", 50)
[Link]:SetAttribute("SuddenGustPVP",
false)
end

if checkdata("Fury") then
if not
[Link]:GetAttribute("FuryProcced") then
local randommessage = [Link](1, 4)

[Link]:SetAttribute("FuryProcced", true)
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "DIE,


WORTHLESS.")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "I'm better


than him.")
elseif randommessage == 3 then

[Link]:FireServer("ODMG", player, "I feel the


fury.")
else

[Link]:FireServer("ODMG", player, "Weak


bastard.")
end
ShowCooldown("Fury", 45)

[Link]:SetAttribute("FuryProcced", false)
end
end

if checkdata("ChainReaction") then
if not
[Link]:GetAttribute("ChainReaction") then

[Link]:SetAttribute("ChainReaction", true)
addBlood(0.35)
local Color = [Link](0.599786,
0.135103, 0.175158)

[Link]:FireServer(bypass, Color)

[Link]:FireServer(humanoid, 10, bypass, rootpart)

[Link]:FireServer("ODMG", player, "Chain-


Connect.")
ShowCooldown("Chain-Reaction", 60)

[Link]:SetAttribute("ChainReaction", false)
end
end

if checkdata("Guardian") then
if not
[Link]:GetAttribute("GuardianLifesteal") then
addBlood(0.35)

[Link]:SetAttribute("GuardianLifesteal", true)

[Link]:FireServer()
local randommessage = [Link](1, 4)
if randommessage == 1 then

[Link]:FireServer("ODMG", player, "His blood


heals me.")
elseif randommessage == 2 then

[Link]:FireServer("ODMG", player, "I feel


better now.")
elseif randommessage == 3 then

[Link]:FireServer("ODMG", player, "I feel


rejuvenated.")
else
[Link]:FireServer("ODMG", player, "My Injuries
are closing.")
end
ShowCooldown("Lifesteal", 60)

[Link]:SetAttribute("GuardianLifesteal", false)
end
end

if checkdata("Chipper") and swiftbladeplayercd ==


false then
swiftbladeplayercd = true
ShowCooldown("Player Chipper", 30)

[Link]:FireServer(true, hit,
bypass)

[Link]:FireServer("ODMG", player, "Three.")


[Link](0.6)

[Link]:FireServer("ODMG", player, "Two.")


[Link](0.6)

[Link]:FireServer("ODMG", player, "One.")


[Link](0.6)
grappleend:Play()
[Link](0.65, odmggui)
local Color = [Link](0.806683, 0.906355, 1)

[Link]:FireServer("ODMG", player, "Got you.")


[Link]:FireServer(bypass,
Color)
[Link]:FireServer(bypass, hit)

[Link]:FireServer(false, hit,
bypass)
[Link]:FireServer(humanoid,
35, bypass, rootpart)
addBlood(0.35)
[Link](30)
swiftbladeplayercd = false
end
end

local function calculateDamage()


if checkdata("Dueler") and [Link](1, 12) == 1 then
print("dueler crit")
if not
[Link]:GetAttribute("DuelerCritTrue") then

[Link]:SetAttribute("DuelerCritTrue", true)

[Link]:FireServer("ODMG", player, "That's more


like it, stronger")
calculatedDamage = calculatedDamage + 3
ShowCooldown("Dueler", 30)
[Link]:SetAttribute("DuelerCritTrue", false)
end
end

if checkdata("Critical") and [Link](1, 21) == 1 then


print("critical crit")
if not
[Link]:GetAttribute("CriticalCooldown") then

[Link]:SetAttribute("CriticalCooldown", true)

[Link]:FireServer("ODMG", player, "That's a


Critical")
calculatedDamage = calculatedDamage + 3
ShowCooldown("Critical", 30)

[Link]:SetAttribute("CriticalCooldown", false)
end
end

if checkdata("Strength") then calculatedDamage =


calculatedDamage + 2 end
if checkdata("ArmInjury") then calculatedDamage =
calculatedDamage - 3 end
if checkdata("LegInjury") then calculatedDamage =
calculatedDamage - 1 end
if checkdata("Ackerman") then calculatedDamage =
calculatedDamage + 3 end
if checkdata("MetalLeg") then calculatedDamage =
calculatedDamage + 1 end
if checkdata("MetalArm") then calculatedDamage =
calculatedDamage + 1 end
if checkdata("ConcentrationV1") then calculatedDamage =
calculatedDamage + 2 end
if [Link]:GetAttribute("TempestPassiveProcced")
then calculatedDamage = calculatedDamage + 2 end
if checkdata("Edgerunner") then calculatedDamage =
calculatedDamage + 3 end
if [Link]:GetAttribute("SuddenGustsBuff") then
calculatedDamage = calculatedDamage + 2 end
if checkdata("Ransotengai") then calculatedDamage =
calculatedDamage + 5 end
if [Link]:GetAttribute("NeverSayDieProccedTrue")
then calculatedDamage = calculatedDamage + 3 end
if [Link]:GetAttribute("BlessingBuff") then
calculatedDamage = calculatedDamage + 2 end
if [Link]:GetAttribute("AlterEgo") then
calculatedDamage = calculatedDamage + 9 end
if [Link]:GetAttribute("EdgerunnerBuff") then
calculatedDamage = calculatedDamage + 4 end
if [Link]:GetAttribute("FuryProcced") then
calculatedDamage = calculatedDamage + 3 end
if [Link]:GetAttribute("Bloodthirsty") then
calculatedDamage = calculatedDamage + 9 end
if [Link]:GetAttribute("PredicamentProcced") then
calculatedDamage = calculatedDamage + 3 end
if [Link]:GetAttribute("BladeArtProcced") then
calculatedDamage = calculatedDamage + 3 end
if [Link]:GetAttribute("Overweight") then
calculatedDamage = calculatedDamage - 12 end
if [Link]:GetAttribute("DuelerCrit") then
calculatedDamage = calculatedDamage + 5 end
if [Link]:GetAttribute("BlessingBuffPlayer") then
calculatedDamage = calculatedDamage + 3 end
if [Link]:GetAttribute("MultiChainRealValue")
then calculatedDamage = calculatedDamage + 8 end
print("Calculated Damage inside function: ",
calculatedDamage)
end

local function applyDamage(player, humanoid, bypass, rootpart)


if damagecd then return end

damagecd = true
debounce = true
[Link](0.5, function() debounce = false
damagecd = false
end)

local initialDurability = [Link]


[Link] = initialDurability -
[Link](8, 16)

if [Link]:GetAttribute("VeloCamera") then
baseDamage = 17
calculatedDamage = baseDamage
calculateDamage()
else
baseDamage = 9
calculatedDamage = baseDamage
calculateDamage()
end
print("Final Damage after calculation: ", calculatedDamage)

attacking = false
hitbox:HitStop()
[Link]:FireServer(humanoid,
calculatedDamage, bypass, rootpart)
damagecounter(calculatedDamage,
[Link])
pvpActions(player, humanoid, rootpart, bypass, hit)

[Link]:FireServer(bypass,
[Link])

[Link](function()
addBlood(0.45)
end)()

if [Link]:FindFirstChild("IsArmored") then
[Link] = [Link] -
1000
end

if e then
releaseRightHook()
end
if q then
releaseLeftHook()
end
end

if [Link] > 0 then


if not damagecd then
if [Link]:FindFirstChild("IsTitan") == nil
and not [Link]:FindFirstChild("Dead") then
applyDamage(player, humanoid, bypass, rootpart)
end

end

end
end
end
end)

RefillGasConnection = [Link]:Connect(function()
currentgas = maxgas
end)

RestockBladesConnection=
[Link]:Connect(function()
currentblades = maxblades
end)

[Link]:Connect(function(refillWhat, amount)
if refillWhat == "blades" then
if amount > maxblades then
amount = maxblades
end

currentblades = amount

[Link]:FireServer("ODMG", player,
"Refilled blades.")

elseif refillWhat == "gas" then


if amount > maxgas then
amount = maxgas
end

currentgas = amount

[Link]:FireServer("ODMG", player,
"Refilled gas.")
end

refillEffect()
end)

humanoiddied = [Link]:Connect(function()
odmgcore:Disconnect()
odmend:Disconnect()
RestockBladesConnection:Disconnect()
RefillGasConnection:Disconnect()
--onhitbox:Disconnect()
connectionattack1end:Disconnect()
connectionattack1start:Disconnect()
connectionattack2end:Disconnect()
connectionattack2start:Disconnect()
sheateconnection:Disconnect()
Getmarkerunsheate:Disconnect()
durabilitychanged:Disconnect()

[Link]:WaitForChild("BodyGyro"):Destroy()
[Link]:WaitForChild("BodyForce"):Destroy()
[Link]:WaitForChild("BodyVelocity"):Destroy()

if q then
[Link]:FireServer([Link])
else if e then
[Link]:FireServer([Link])
end
end
[Link]:SetAttribute("3dmgEnabled", false)
end)

durabilitychanged = [Link]:Connect(function(newdurability)
if newdurability == 0 then
if not sheathed and not bladesbroken then
bladesbroken = true
[Link]:FireServer([Link])
status = false
[Link]:FireServer([Link],
[Link], bypass)

if player:WaitForChild("CharacterData").[Link] ~=
"Intermediate" then
[Link]:FireServer("ODMG",
player, "Blades broke.")
end
end
end
end)

while true do
wait()

[Link](function()
if wireshooting1 or wireshooting2 or boostfliplines == false then
local tween =
game:GetService("TweenService"):Create([Link], [Link](3,
[Link], [Link]), {CameraOffset = [Link](0,2,
5.25)})
tween:Play()
[Link]:wait()
tween:Destroy()
end
end)()
[Link](function()
if [Link] > 220 then
[Link](.50, function()
CreateSpeedLines()
end)
end
end)()

[Link](function()
if wireshooting1 == false or wireshooting2 == false then
local tween =
game:GetService("TweenService"):Create([Link], [Link](1),
{CameraOffset =[Link]()})
tween:Play()
[Link]:wait()
tween:Destroy()
end
end)()

[Link]:FireServer(currentgas,
maxgas, currentblades, maxblades)

if (lhookattached or rhookattached) and not [Link] then


local Params = [Link]()
[Link] = {character, odmg}
[Link] = [Link]
local result = workspace:Raycast([Link] ,
[Link] * -4.6, Params)
if result then
if not sliding then
[Link]:FireServer([Link],
true, bypass)

[Link]:FireServer([Link], true,
bypass)
[Link]:FireServer([Link],
true, bypass)

[Link]:FireServer([Link])

groundslide:Play()
[Link]:FindFirstChild("Sliding").Value = true
[Link] = 0
sliding = true
end
else
[Link]:FireServer([Link], false,
bypass)

[Link]:FireServer([Link], false,
bypass)
[Link]:FireServer([Link], false,
bypass)

[Link]:FireServer([Link])

[Link]:FindFirstChild("Sliding").Value = false
sliding = false
groundslide:Stop()
end
else
[Link]:FireServer([Link], false,
bypass)
[Link]:FireServer([Link],
false, bypass)
[Link]:FireServer([Link], false,
bypass)

[Link]:FireServer([Link])

sliding = false
[Link] = 50
groundslide:Stop()
end

if (lhookattached or rhookattached) and not [Link] then


if not [Link] then
[Link]:Play()
end
elseif not (lhookattached or rhookattached) or [Link] then
if [Link] then
[Link]:Stop()
end
end

local velocityMultiplier = 1 + (maxVelocityMultiplier - 1) *


[Link](continuousMovementTime / maxContinuousTime, 1)

if lhook ~= nil and rhook ~= nil and lhookattached and rhookattached then
if [Link] == true then
[Link] = false
end
local hookDirectionalForce =
humanoidrootpart:FindFirstChild("HookingForce") or [Link]("BodyVelocity")
[Link] = "HookingForce"
[Link] = humanoidrootpart
[Link] = [Link](50000,50000,50000)

local HookDirectionalGyro =
humanoidrootpart:FindFirstChild("HookingGyro") or [Link]("BodyGyro")
[Link] = humanoidrootpart
[Link] = "HookingGyro"
HookDirectionalGyro.P = 8000
HookDirectionalGyro.D = 100
[Link] = [Link](50000, 50000, 50000)

if sliding then
[Link] = [Link](maxforce, maxforce,
maxforce) * slideMultiplier
else
[Link] = [Link](maxforce, maxforce,
maxforce)
end
local targetVelocity = 95 * speedmultiplier
continuousMovementTime = continuousMovementTime + 1 -- Increase time
while moving

[Link] = [Link]([Link],
[Link] / 2 + [Link] / 2).LookVector * (targetVelocity *
velocityMultiplier)
[Link] = [Link](8000, 8000, 8000)
[Link] = [Link]([Link],
[Link] / 2 + [Link] / 2)

if not (a or d) then
[Link] =
[Link]([Link], [Link] / 2 + [Link] /
2).LookVector * (165 * speedmultiplier * velocityMultiplier)
else
if a then
if not attacking and not [Link] and not
[Link] and not [Link] then
leftorbitidle:Play()
leftorbitstart:Play()
end
[Link] =
([Link]([Link], [Link] / 2 + [Link] / 2) *
[Link](0, [Link] / 2.4, 0)).LookVector * (76 *
orbitspeedmultiplier * velocityMultiplier)
elseif d then
if not attacking and not [Link] and not
[Link] and not [Link] then
rightorbitidle:Play()
rightorbitstart:Play()
end
[Link] =
([Link]([Link], [Link] / 2 + [Link] / 2) *
[Link](0, [Link] / -2.4, 0)).LookVector * (76 *
orbitspeedmultiplier * velocityMultiplier)
end
end
if sliding then
[Link] = [Link](maxforce, maxforce,
maxforce)
[Link] =
[Link]([Link], [Link] / 2 + [Link] /
2).LookVector * (300 * speedmultiplier * velocityMultiplier)
[Link] = [Link](maxforce, maxforce,
maxforce)
[Link] =
[Link]([Link], [Link] / 2 + [Link] / 2)
end
currentgas = currentgas - 0.08
elseif lhook ~= nil and lhookattached then
local hookDirectionalForce =
humanoidrootpart:FindFirstChild("HookingForce") or [Link]("BodyVelocity")
[Link] = "HookingForce"
[Link] = humanoidrootpart
[Link] = [Link](50000,50000,50000)

local HookDirectionalGyro =
humanoidrootpart:FindFirstChild("HookingGyro") or [Link]("BodyGyro")
[Link] = humanoidrootpart
[Link] = "HookingGyro"
HookDirectionalGyro.P = 8000
HookDirectionalGyro.D = 100
[Link] = [Link](50000, 50000, 50000)

if 5 > ([Link] - [Link]).Magnitude and not


[Link] and 3 > ([Link]() -
[Link]).Magnitude and 1 > ([Link]() +
[Link]).Magnitude and lhook:FindFirstChild("WeldConstraint") ~=
nil and [Link]:FindFirstChild("Humanoid") == nil then
[Link] = [Link]()
[Link] = [Link]([Link],
[Link] + lhitsurface) * [Link](0, 0, -0.25) *
[Link](0, -[Link], 0)
[Link] = [Link]([Link],
[Link] + lhitsurface) * [Link](-2, -2, -1) *
[Link](0, -[Link], 0)
wallhangidle:Play()

sliding = false
groundslide:Stop()
wallhangstart:Play()
elseif not [Link] and (q or e) or ([Link] -
[Link]).Magnitude > 8 then
wallhangidle:Stop()
wallhangstart:Stop()
end

if [Link] == true then


[Link] = false
end

if not [Link] then


currentgas = currentgas - 0.04
end

if 2 > ([Link] - [Link]).Magnitude or


[Link] then
[Link] = [Link]()
[Link] = [Link](8000, 8000, 8000)
[Link] = [Link](8000, 8000, 8000)
else
if not (a or d) then
[Link] =
[Link]([Link], [Link]).LookVector * (150 *
speedmultiplier * velocityMultiplier)
else
if a then
if not attacking and not [Link] and not
[Link] and not [Link] then
leftorbitidle:Play()
leftorbitstart:Play()
end
[Link] =
([Link]([Link], [Link]) *
[Link](0, [Link] / 2.4, 0)).LookVector * (80 *
orbitspeedmultiplier * velocityMultiplier)
elseif d then
if not attacking and not [Link] and not
[Link] and not [Link] then
rightorbitidle:Play()
rightorbitstart:Play()
end
[Link] =
([Link]([Link], [Link]) *
[Link](0, [Link] / -2.4, 0)).LookVector * (80 *
orbitspeedmultiplier * velocityMultiplier)
end
end
if sliding then
[Link] = [Link](maxforce,
maxforce, maxforce) * slideMultiplier
else
[Link] = [Link](maxforce,
maxforce, maxforce)
end
[Link] =
[Link]([Link], [Link])
[Link] = [Link](8000, 8000, 8000)
end
elseif rhook ~= nil and rhookattached then
local hookDirectionalForce =
humanoidrootpart:FindFirstChild("HookingForce") or [Link]("BodyVelocity")
[Link] = "HookingForce"
[Link] = humanoidrootpart
[Link] = [Link](50000,50000,50000)

local HookDirectionalGyro =
humanoidrootpart:FindFirstChild("HookingGyro") or [Link]("BodyGyro")
[Link] = humanoidrootpart
[Link] = "HookingGyro"
HookDirectionalGyro.P = 8000
HookDirectionalGyro.D = 100
[Link] = [Link](50000, 50000, 50000)
if 5 > ([Link] - [Link]).Magnitude and not
[Link] and 3 > ([Link]() -
[Link]).Magnitude and 1 > ([Link]() +
[Link]).Magnitude and rhook:FindFirstChild("WeldConstraint") ~=
nil and [Link]:FindFirstChild("Humanoid") == nil then
[Link] = [Link]()
[Link] = [Link]([Link],
[Link] + rhitsurface) * [Link](0, 0, -0.25) *
[Link](0, -[Link], 0)
[Link] = [Link]([Link],
[Link] + rhitsurface) * [Link](-2, -2, -1) *
[Link](0, -[Link], 0)
wallhangidle:Play()
wallhangstart:Play()

sliding = false
groundslide:Stop()
elseif not [Link] and (q or e) or ([Link] -
[Link]).Magnitude > 8 then
wallhangidle:Stop()
wallhangstart:Stop()
end

if [Link] == true then


[Link] = false
end

if not [Link] then


currentgas = currentgas - 0.04
end

if 2 > ([Link] - [Link]).Magnitude or


[Link] then
[Link] = [Link]()
[Link] = [Link](8000, 8000, 8000)
[Link] = [Link](8000, 8000, 8000)
else
if not (a or d) then
[Link] =
[Link]([Link], [Link]).LookVector * (150 *
speedmultiplier * velocityMultiplier)
else
if a then
if not attacking and not [Link] and not
[Link] and not [Link] then
leftorbitidle:Play()
leftorbitstart:Play()
end
[Link] =
([Link]([Link], [Link]) *
[Link](0, [Link] / 2.4, 0)).LookVector * (80 *
orbitspeedmultiplier * velocityMultiplier)
elseif d then
if not attacking and not [Link] and not
[Link] and not [Link] then
rightorbitidle:Play()
rightorbitstart:Play()
end
[Link] =
([Link]([Link], [Link]) *
[Link](0, [Link] / -2.4, 0)).LookVector * (80 *
orbitspeedmultiplier * velocityMultiplier)
end
end
if sliding then
[Link] = [Link](maxforce,
maxforce, maxforce) * slideMultiplier
else
[Link] = [Link](maxforce,
maxforce, maxforce)
end
[Link] =
[Link]([Link], [Link])
[Link] = [Link](8000, 8000, 8000)
end
else

continuousMovementTime = 0 -- Reset time when not moving


if humanoidrootpart:FindFirstChild("HookingForce") then

if [Link] == false then


[Link] = true
end
if [Link] == true then
[Link]:FireServer([Link], false,
bypass)
end

if [Link] == true then


[Link]:FireServer([Link], false,
bypass)
end

if humanoidrootpart:FindFirstChild("FlingCD") then
[Link]:Destroy();
else
[Link](function()
local waitTime = 0.3

if
humanoidrootpart:FindFirstChild("HookingForce").[Link] >= 125 then
waitTime = 0.65
elseif
humanoidrootpart:FindFirstChild("HookingForce").[Link] >= 240 then
waitTime = 0.85
end

local startTime = tick();


while tick() - startTime < waitTime do
if unhookStatus1 == "UnhookAvailable" or
unhookStatus2 == "UnhookAvailable" then
return
end
[Link]()
end

if not HookStatus and


humanoidrootpart:FindFirstChild("HookingForce") then
[Link]:Destroy()
end

if not HookStatus and


humanoidrootpart:FindFirstChild("HookingGyro") then
[Link]:Destroy()
end
end)
end
end
end

-- Check if the player is hooking


local isHooking = [Link]:GetAttribute("LeftHooking") or
[Link]:GetAttribute("RightHooking")

-- If hooking and boosting, apply the effects


if isHooking and boosting and canuseodmg then
camshake:Shake([Link])
local bv = humanoidrootpart:FindFirstChild("HookingForce")

if bv then
[Link] = [Link] + [Link] *
60 * speedmultiplier
end

currentgas = currentgas - 0.10

if [Link] == false and not ([Link] or


[Link] or [Link]) and character:FindFirstChild("Musket")
== nil then
[Link]:FireServer([Link], true, bypass)
[Link]:FireServer([Link], true, bypass)
end

local ignorelist = { character }


local ray = [Link]([Link],
[Link] - [Link](0, 1024, 0))
local hit, pos = workspace:FindPartOnRayWithIgnoreList(ray, ignorelist,
true, false)

if ([Link] - pos).Magnitude > 4 and


[Link] ~= 100 and not [Link] and not ([Link]
or [Link]) and character:FindFirstChild("Musket") == nil then
[Link] = 100
jumpboost:Play()
elseif ([Link] - pos).Magnitude <= 5 and
([Link] ~= walkspeed or [Link]) and not
([Link] or [Link]) then
jumpboost:Stop()
end
else
-- Stop effects when not boosting or hooking
if [Link] == true then
[Link]:FireServer([Link], false, bypass)
end
if [Link] == true then
[Link]:FireServer([Link], false, bypass)
end

-- Reset the WalkSpeed to normal if not boosting


if [Link] ~= walkspeed or [Link] then
jumpboost:Stop()
end
end

if not rhookattached and [Link] then


righthookstart:Stop()
righthookidle:Stop()
if not IsSlidingOnGround() then
righthookbreak:Play()
end

elseif rhookattached and not [Link] then


if lhookattached then
doublehookstart:Play()
end
righthookidle:Play()
elseif lhookattached and not [Link] then
if rhookattached then
doublehookstart:Play()
end
lefthookidle:Play()
elseif not lhookattached and [Link] then
lefthookstart:Stop()
lefthookidle:Stop()
if not IsSlidingOnGround() then
lefthookbreak:Play()
end

if lhookattached or rhookattached and not [Link] then


doublehookidle:Play()
end
elseif not (lhookattached or rhookattached) and [Link] then
doublehookidle:Stop()
end
if not (lhookattached or rhookattached) and [Link] then
doublehookstart:Stop()
end

if not a or not lhookattached and not rhookattached and


[Link] then
leftorbitidle:Stop()
end

if not d or not lhookattached and not rhookattached and


[Link] then
rightorbitidle:Stop()
end

if ([Link]() - [Link]).magnitude > 12 and


[Link] or not (q or e) then
wallhangidle:Stop()
wallhangstart:Stop()
end

if currentgas < 0 then


currentgas = 0

sub(function()
if e then
releaseRightHook()
end
end)

sub(function()
if q then
releaseLeftHook()
end
end)

if boosting then
boosting = false
end
end

if HasAnyStatusEffect(character) then
sub(function()
if e then
releaseRightHook()
end
end)

sub(function()
if q then
releaseLeftHook()
end
end)

sub(function()
if a then
a = false
end
end)

sub(function()
if d then
d = false
end
end)
end

if [Link] < 0 then


[Link] = 0
end
end

warn("-----")
warn("Loaded ResTech 3dmg Client!")
warn("-----")

You might also like