Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- params : ...
- local Player = script.Parent.Parent
- local Mouse = Player:GetMouse()
- repeat
- wait()
- until Player.Character
- local Character = Player.Character
- local Camera = workspace.CurrentCamera
- local PlayerGui = Player:WaitForChild("PlayerGui")
- local allmult = 1
- local Humanoid = Character:WaitForChild("Humanoid")
- table.foreach(Humanoid:GetPlayingAnimationTracks(), function(_, v)
- v:Stop()
- end)
- if Character:FindFirstChild("Animate) then
- Character:FindFirstChild("Animate):Destroy()
- end
- local Container = Character.Head:WaitForChild("Container)
- local woosh = Character.Torso:WaitForChild("woosh")
- local voiceline = Character.Torso:WaitForChild("voiceline")
- local menacing = Character.Torso:WaitForChild("Menacing")
- local InputService = game:GetService("UserInputService")
- local intextbox = false
- local changestatevent = game:GetService("ReplicatedStorage").Data.changestat
- local jointevent = game:GetService("ReplicatedStorage").Logic.sendjoints
- local updatejointevent = game:GetService("ReplicatedStorage").Logic.receivejoints
- local hitevent = game:GetService("ReplicatedStorage").Logic.hitbox
- local miscevent = game:GetService("ReplicatedStorage").Logic.misc
- miscevent:FireServer(5, Humanoid, 16)
- addexp = function(amount)
- if amount > 0 and Player:FindFirstChild("Experience").Value + amount < Player:FindFirstChild("Level").Value * 200 then
- changestatevent:FireServer("Experience", Player:FindFirstChild("Experience").Value + amount)
- else
- if amount > 0 and Player:FindFirstChild("Level").Value * 200 <= Player:FindFirstChild("Experience").Value + amount then
- changestatevent:FireServer("Level", Player:FindFirstChild("Level").Value + 1)
- changestatevent:FireServer("Experience", 0)
- changestatevent:FireServer("Points", Player:FindFirstChild("Points").Value + 3)
- end
- end
- end
- local Joints = {Character.HumanoidRootPart.RootJoint, Character.Torso.Neck, Character.Torso["Left Shoulder"], Character.Torso["Right Shoulder"], Character.Torso["Left Hip"], Character.Torso["Right Hip"]}
- local specialsound = Character.Torso:WaitForChild("specialsound")
- local specialsound2 = Character.Torso:WaitForChild("specialsound2")
- local specialtable = {}
- local specialvar, random1, random2, random3, random4, random5 = nil, nil, nil, nil, nil, nil
- local orig1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- local orig2 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- local orig3 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- local orig4 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- local orig5 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- local orig6 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- local timer = 0
- local speed = 0.02
- local effecttimer = 0
- local hit = false
- local punching = false
- local animation = 0
- local keyframe = 0
- local attacking = false
- local jointtimer = 0
- local keepmoving = false
- local moveframe = 0
- local movetimer = 0
- local movespeed = 0
- local falling = false
- local canfall = true
- local running = false
- local cooled1 = true
- local cooled2 = true
- randomangle = function(restrict)
- local angle = nil
- if not restrict then
- angle = math.random(math.rad(-360), math.rad(360))
- else
- angle = math.random(math.rad(-restrict), math.rad(restrict))
- end
- return angle
- end
- if workspace.timestopped.Value == true and workspace.timerstopper.Value ~= Player.Name then
- Character.Torso.Anchored = true
- end
- GetAxis = function(c1, c2)
- local axis = {}
- axis[1] = c1[2] - c1[1].unit
- axis[2] = c1[3] - c1[1].unit
- axis[3] = c1[5] - c1[1].unit
- axis[4] = c2[2] - c2[1].unit
- axis[5] = c2[3] - c2[1].unit
- axis[6] = c2[5] - c2[1].unit
- axis[7] = axis[1]:Cross(axis[4]).unit
- axis[8] = axis[1]:Cross(axis[5]).unit
- axis[9] = axis[1]:Cross(axis[6]).unit
- axis[10] = axis[2]:Cross(axis[4]).unit
- axis[11] = axis[2]:Cross(axis[5]).unit
- axis[12] = axis[2]:Cross(axis[6]).unit
- axis[13] = axis[3]:Cross(axis[4]).unit
- axis[14] = axis[3]:Cross(axis[5]).unit
- axis[15] = axis[3]:Cross(axis[6]).unit
- return axis
- end
- TestAxis = function(corners1, corners2, axis, surface)
- if axis.Magnitude == 0 or tostring(axis) == "NAN, NAN, NAN" then
- return true
- end
- local adists, bdists = {}, {}
- for i = 1, 8 do
- table.insert(adists, corners1[i]:Dot(axis))
- table.insert(bdists, corners2[i]:Dot(axis))
- end
- local amax, amin = math.max(unpack(adists)), math.min(unpack(adists))
- local bmax, bmin = math.max(unpack(bdists)), math.min(unpack(bdists))
- local longspan = math.max(amax, bmax) - math.min(amin, bmin)
- local sumspan = amax - amin + bmax - bmin
- local pass, mtv = nil, nil
- if longspan > sumspan then
- pass = not surface
- pass = longspan < sumspan
- do
- do
- if pass and (bmax >= amax or not -(bmax - amin)) then
- local overlap = amax - bmin
- end
- mtv = axis * overlap
- do return pass, mtv end
- -- DECOMPILER ERROR: 7 unprocessed JMP targets
- end
- end
- end
- end
- GetCorners = function(framepos, size)
- local size, corners = size / 2, {}
- for x = -1, 1, 2 do
- for y = -1, 1, 2 do
- for z = -1, 1, 2 do
- table.insert(corners, framepos * CFrame.new(size * Vector3.new(x, y, z)).p)
- end
- end
- end
- return corners
- end
- NewRegion = function(framepos, size)
- local region = setmetatable({}, {
- __index = {}
- })
- region.surfaceCountsAsCollision = true
- region.cframe = framepos
- region.size = size
- region.planes = {}
- region.corners = GetCorners(region.cframe, region.size)
- for _,enum in next do
- local lnormal = Vector3.FromNormalId(enum)
- local wnormal = region.cframe:vectorToWorldSpace(lnormal)
- local distance = lnormal * region.size / 2.magnitude
- local point = region.cframe.p + wnormal * distance
- table.insert(region.planes, {normal = wnormal, point = point})
- end
- return region
- end
- ShallowCopy = function(t)
- local nt = {}
- for k,v in next do
- nt[k] = v
- end
- return nt
- end
- CastPart = function(part, region)
- local corners1 = region.corners
- local corners2 = GetCorners(part.CFrame, part.Size)
- local axis, mtvs = GetAxis(corners1, corners2), {}
- for i = 1, #axis do
- local intersect, mtv = TestAxis(corners1, corners2, axis[i], region.surfaceCountsAsCollision)
- if not intersect then
- return false, Vector3.new()
- end
- if mtv then
- table.insert(mtvs, mtv)
- end
- end
- table.sort(mtvs, function(a, b)
- do return a.magnitude < b.magnitude end
- -- DECOMPILER ERROR: 1 unprocessed JMP targets
- end)
- return true, mtvs[1]
- end
- CastRegion = function(ignore, maxParts, region)
- if type(ignore) ~= "table" or not ignore then
- local ignore = {ignore}
- end
- local maxParts = maxParts or 20
- local rmin, rmax = {}, {}
- local copy = ShallowCopy(region.corners)
- for _,enum in next do
- local lnormal = Vector3.FromNormalId(enum)
- do
- table.sort(copy, function(a, b)
- do return b:Dot(lnormal) < a:Dot(lnormal) end
- -- DECOMPILER ERROR: 1 unprocessed JMP targets
- end)
- table.insert(rmin, copy[#copy)
- table.insert(rmax, copy[1)
- end
- end
- rmin = Vector3.new(rmin[1].x, rmin[2].y, rmin[3].z)
- local realRegion3 = Region3.new(rmin, rmax)
- local parts = game.Workspace:FindPartsInRegion3WithIgnoreList(realRegion3, ignore, maxParts)
- local inRegion = {}
- for _,part in next do
- if CastPart(part, region) then
- table.insert(inRegion, part)
- end
- end
- return inRegion
- end
- game:GetService("ReplicatedStorage").Specials.receiveheartattack.OnClientEvent:connect(function(player, part, frame)
- if part then
- part.CFrame = frame
- end
- end)
- updatejointevent.OnClientEvent:connect(function(player, characterjoints, standjoints, standtorso)
- if player and player ~= Player and player.Character:FindFirstChild("HumanoidRootPart") and player.Character:FindFirstChild("HumanoidRootPart"):FindFirstChild("RootJoint") then
- player.Character.HumanoidRootPart.RootJoint.C0 = characterjoints[1]
- player.Character.Torso.Neck.C0 = characterjoints[2]
- player.Character.Torso["Left Shoulder"].C0 = characterjoints[3]
- player.Character.Torso["Right Shoulder"].C0 = characterjoints[4]
- player.Character.Torso["Left Hip"].C0 = characterjoints[5]
- player.Character.Torso["Right Hip"].C0 = characterjoints[6]
- if player.Character.Head:FindFirstChild("Container") and player.Character.Head.Container:FindFirstChild("fakearm") and characterjoints[7] then
- player.Character.Head.Container:FindFirstChild("fakearm").CFrame = characterjoints[7]
- player.Character.Head.Container:FindFirstChild("fakearm").Size = characterjoints[8]
- end
- if standjoints and standtorso then
- standtorso.CFrame = standjoints[1]
- standtorso.Neck.C0 = standjoints[2]
- standtorso["Left Shoulder"].C0 = standjoints[3]
- standtorso["Right Shoulder"].C0 = standjoints[4]
- standtorso["Left Hip"].C0 = standjoints[5]
- standtorso["Right Hip"].C0 = standjoints[6]
- if player.Character.Head.Container:FindFirstChild("fakearm") and standjoints[7] then
- player.Character.Head.Container:FindFirstChild("fakearm").CFrame = standjoints[7]
- player.Character.Head.Container:FindFirstChild("fakearm").Size = standjoints[8]
- player.Character.Head.Container:FindFirstChild("fakearmpart").CFrame = standjoints[9]
- player.Character.Head.Container:FindFirstChild("fakearmpart").Size = standjoints[10]
- end
- end
- end
- end)
- local replicationtimer = 0
- game:GetService("RunService").RenderStepped:connect(function()
- if (workspace.timestopped.Value == false or workspace.timestopper.Value == Player.Name) and Humanoid.Health > 0 then
- replicationtimer = replicationtimer + 1
- if replicationtimer % 3 == 0 then
- jointevent:FireServer({Character.HumanoidRootPart.RootJoint.C0, Character.Torso.Neck.C0, Character.Torso["Left Shoulder"].C0, Character.Torso["Right Shoulder"].C0, Character.Torso["Left Hip"].C0, Character.Torso["Right Hip"].C0})
- end
- if keepmoving then
- movetimer = movetimer + movespeed
- if moveframe == 0 then
- if movetimer >= 0.8 then
- movetimer = 0
- moveframe = 1
- end
- if not running then
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new((0.1 - math.sin(movetimer * 2) / 1.5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 + math.cos(movetimer * 2) / 1.5, (0.1 + math.sin(movetimer * 2) / 5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X) * CFrame.Angles(math.rad(-23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-3), math.rad(-43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z - 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X)), movespeed * 1.95)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new((0.1 - math.sin(movetimer * 2) / 1.5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 - math.cos(movetimer * 2) / 1.5, (0.1 + math.sin(movetimer * 2) / 5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X) * CFrame.Angles(math.rad(-23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-3), math.rad(-43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z - 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X)), movespeed * 1.95)
- else
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new((0.1 - math.sin(movetimer * 2) / 1.15) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 + math.cos(movetimer * 2) / 1.15, (0.1 + math.sin(movetimer * 2) / 4.65) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X) * CFrame.Angles(math.rad(-23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-3), math.rad(-43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z - 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X)), movespeed * 1.95)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new((0.1 - math.sin(movetimer * 2) / 1.15) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 - math.cos(movetimer * 2) / 1.15, (0.1 + math.sin(movetimer * 2) / 4.65) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X) * CFrame.Angles(math.rad(-23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-3), math.rad(-43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z - 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X)), movespeed * 1.95)
- end
- else
- if moveframe == 1 then
- if movetimer >= 0.8 then
- movetimer = 0
- moveframe = 0
- end
- if not running then
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new((0.1 + math.sin(movetimer * 2) / 1.5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 - math.cos(movetimer * 2) / 1.5, (0.1 - math.sin(movetimer * 2) / 5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X) * CFrame.Angles(math.rad(23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-3), math.rad(43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z + 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X)), movespeed * 1.95)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new((0.1 + math.sin(movetimer * 2) / 1.5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 + math.cos(movetimer * 2) / 1.5, (0.1 - math.sin(movetimer * 2) / 5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X) * CFrame.Angles(math.rad(23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-3), math.rad(43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z + 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X)), movespeed * 1.95)
- else
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new((0.1 + math.sin(movetimer * 2) / 1.15) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 - math.cos(movetimer * 2) / 1.15, (0.1 - math.sin(movetimer * 2) / 4.65) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X) * CFrame.Angles(math.rad(23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-3), math.rad(43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z + 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X)), movespeed * 1.95)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new((0.1 + math.sin(movetimer * 2) / 1.15) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 + math.cos(movetimer * 2) / 1.15, (0.1 - math.sin(movetimer * 2) / 4.65) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X) * CFrame.Angles(math.rad(23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-3), math.rad(43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z + 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X)), movespeed * 1.95)
- end
- end
- end
- end
- timer = timer + speed
- if Character.HumanoidRootPart.Velocity.Y > 5 and not attacking and not falling and canfall then
- falling = true
- keepmoving = false
- speed = 0.02
- canfall = false
- animation = 2
- keyframe = 0
- if timer >= 0.5 then
- timer = 0
- end
- end
- if Character.HumanoidRootPart.Velocity.Y < -5 and not attacking and not falling and canfall then
- falling = true
- keepmoving = false
- speed = 0.02
- canfall = false
- animation = 2
- keyframe = 1
- if timer >= 1 then
- timer = 0
- end
- end
- if not falling then
- if Humanoid.MoveDirection == Vector3.new(0, 0, 0) and not attacking and animation ~= 0 then
- animation = 0
- speed = 0.02
- keepmoving = false
- if keyframe > 1 then
- keyframe = 0
- end
- if timer >= 1.5 then
- timer = 0
- end
- else
- if Humanoid.MoveDirection ~= Vector3.new(0, 0, 0) and not attacking and animation ~= 1 then
- animation = 1
- keepmoving = false
- timer = movetimer
- if running then
- speed = 0.04
- else
- speed = 0.03
- end
- if keyframe > 1 then
- keyframe = 0
- end
- if timer >= 0.8 then
- timer = 0
- end
- end
- end
- else
- if falling then
- local region = NewRegion(Character.HumanoidRootPart.CFrame * CFrame.new(0, -4.1, 0), Vector3.new(2, 1, 1))
- for _,part in pairs(CastRegion(Character, math.huge, region)) do
- if part and part.CanCollide then
- local waiter = coroutine.wrap(function()
- falling = false
- wait(0.15)
- canfall = true
- end)
- waiter()
- break
- end
- end
- end
- end
- do
- if animation == 0 then
- if keyframe == 0 then
- if timer >= 1.5 then
- timer = 0
- keyframe = 1
- end
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.new(0, 0, 0.) * CFrame.Angles(0, 0, math.rad(-8), speed * 1.2)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(math.rad(8), 0, math.rad(8), speed * 1.2)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-2), math.rad(), math.rad(-3), speed * 1.5)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-2), math.rad(-), math.rad(5), speed * 1.5)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new(0, -0.09, ) * CFrame.Angles(math.rad(-7), math.rad(1), math.rad(-3), speed * 1.2)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new(0, -0.09, ) * CFrame.Angles(math.rad(-5), math.rad(), math.rad(4), speed * 1.2)
- else
- if keyframe == 1 then
- if timer >= 1.5 then
- timer = 0
- keyframe = 0
- end
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.Angles(math.rad(4), 0, math.rad(-7), speed * 1.2)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(0, 0, math.rad(7), speed * 1.2)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-4), math.rad(), math.rad(-5), speed * 1.5)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-4), math.rad(-), math.rad(3), speed * 1.5)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.Angles(math.rad(-8), math.rad(1), math.rad(-8), speed * 1.2)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.Angles(math.rad(-4), math.rad(), math.rad(6), speed * 1.2)
- end
- end
- else
- if animation == 1 then
- if keyframe == 0 then
- if timer >= 0.8 then
- timer = 0
- keyframe = 1
- end
- if not running then
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.new(0, 0, 0.4 - math.cos(-timer * 1.5) / 1.) * CFrame.Angles(math.rad(4 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), math.rad(-Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X * ), ), speed * 1.75)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(math.rad(-4 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), 0, ), speed * 1.75)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-7), 0, math.rad(53 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), speed * 1.75)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-7), 0, math.rad(53 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), speed * 1.75)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new((0.1 - math.sin(timer * 2) / 1.5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 + math.cos(timer * ) / 1.5, (0.1 + math.sin(timer * 2) / 5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).) * CFrame.Angles(math.rad(-23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-), math.rad(-43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z - 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), speed * 1.95)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new((0.1 - math.sin(timer * 2) / 1.5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 - math.cos(timer * ) / 1.5, (0.1 + math.sin(timer * 2) / 5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).) * CFrame.Angles(math.rad(-23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-), math.rad(-43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z - 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), speed * 1.95)
- else
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.new(0, 0, 0.4 - math.cos(-timer * 1.5) / 1.1) * CFrame.Angles(math.rad(12 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), math.rad(-Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X * ), ), speed * 1.75)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(math.rad(-4 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), 0, ), speed * 1.75)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-9), 0, math.rad(57 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), speed * 1.75)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-9), 0, math.rad(57 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), speed * 1.75)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new((0.1 - math.sin(timer * 2) / 1.15) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 + math.cos(timer * ) / 1.15, (0.1 + math.sin(timer * 2) / 4.65) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).) * CFrame.Angles(math.rad(-23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-), math.rad(-43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z - 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), speed * 1.95)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new((0.1 - math.sin(timer * 2) / 1.15) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 - math.cos(timer * ) / 1.15, (0.1 + math.sin(timer * 2) / 4.65) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).) * CFrame.Angles(math.rad(-23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-), math.rad(-43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z - 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), speed * 1.95)
- end
- else
- if keyframe == 1 then
- if timer >= 0.8 then
- timer = 0
- keyframe = 0
- end
- if not running then
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.new(0, 0, 0.4 - math.cos(-timer * 1.5) / 1.) * CFrame.Angles(math.rad(4 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), math.rad(-Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X * ), ), speed * 1.75)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(math.rad(-4 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), 0, ), speed * 1.75)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-7), 0, math.rad(-53 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), speed * 1.75)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-7), 0, math.rad(-53 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), speed * 1.75)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new((0.1 + math.sin(timer * 2) / 1.5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 - math.cos(timer * ) / 1.5, (0.1 - math.sin(timer * 2) / 5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).) * CFrame.Angles(math.rad(23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-), math.rad(43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z + 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), speed * 1.95)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new((0.1 + math.sin(timer * 2) / 1.5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 + math.cos(timer * ) / 1.5, (0.1 - math.sin(timer * 2) / 5) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).) * CFrame.Angles(math.rad(23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-), math.rad(43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z + 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), speed * 1.95)
- else
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.new(0, 0, 0.4 - math.cos(-timer * 1.5) / 1.1) * CFrame.Angles(math.rad(12 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), math.rad(-Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X * ), ), speed * 1.75)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(math.rad(-4 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), 0, ), speed * 1.75)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-9), 0, math.rad(-57 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), speed * 1.75)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-9), 0, math.rad(-57 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), speed * 1.75)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new((0.1 + math.sin(timer * 2) / 1.15) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 - math.cos(timer * ) / 1.15, (0.1 - math.sin(timer * 2) / 4.65) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).) * CFrame.Angles(math.rad(23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-), math.rad(43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z + 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), speed * 1.95)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new((0.1 + math.sin(timer * 2) / 1.15) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z, 0.1 + math.cos(timer * ) / 1.15, (0.1 - math.sin(timer * 2) / 4.65) * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).) * CFrame.Angles(math.rad(23 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), math.rad(-), math.rad(43 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z + 14 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).X), speed * 1.95)
- end
- end
- end
- else
- if animation == 2 then
- if keyframe == 0 then
- if timer >= 0.5 then
- timer = 0
- keyframe = 1
- end
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.Angles(math.rad(4 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), math.rad(3 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).), ), speed * 1.75)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(math.rad(-5 + -4 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), 0, ), speed * 1.75)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-11), math.rad(), ), speed * 1.75)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-11), math.rad(), ), speed * 1.75)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new(-0.5, 0.2, ) * CFrame.Angles(math.rad(-1.5), 0, math.rad(-2), speed * 2)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.Angles(0, 0, math.rad(-52), speed * 2)
- else
- if keyframe == 1 then
- if timer >= 1 then
- keyframe = 2
- end
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.Angles(math.rad(4 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), math.rad(3 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).), ), speed * 1.75)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(math.rad(12 + -4 * -Character.HumanoidRootPart.CFrame:vectorToObjectSpace(Humanoid.MoveDirection).Z), 0, ), speed * 1.75)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-11), math.rad(), ), speed * 1.75)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-11), math.rad(), ), speed * 1.75)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new(-0.5, 0.2, ) * CFrame.Angles(math.rad(-1.5), 0, math.rad(-11), speed * 2)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.Angles(0, 0, math.rad(-59), speed * 2)
- end
- end
- else
- if animation == 3 then
- if keyframe == 0 then
- if timer >= 0.75 then
- keyframe = 1
- timer = 0
- speed = 0.05 * Player:WaitForChild("Speed").Value * allmult
- miscevent:FireServer(2, woosh, math.random(110, 120) / 100)
- miscevent:FireServer(1, woosh, 0)
- random4 = orig4 * CFrame.new(math.random(15, 35) / 40, 0, 0) * CFrame.Angles(math.rad(math.random(-500, -100) / 100), math.rad(math.random(-1200, 2500) / 100), math.rad(math.random(8600, 940) / 100))
- end
- if Humanoid.MoveDirection == Vector3.new(0, 0, 0) then
- keepmoving = false
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.Angles(math.rad(-2), 0, math.rad(-80), speed * 2)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(math.rad(2), 0, math.rad(80), speed * 2)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-14), math.rad(), ), speed * 2)
- Joints[4].C0 = Joints[4].C0:lerp(random4, speed * 2)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new(0, -0.07, ) * CFrame.Angles(math.rad(-8), math.rad(), math.rad(-4), speed * 2)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new(0, -0.07, ) * CFrame.Angles(math.rad(-3), math.rad(), math.rad(3), speed * 2)
- else
- if not keepmoving then
- keepmoving = true
- if running then
- movespeed = 0.04
- else
- movespeed = 0.03
- end
- if moveframe > 1 then
- moveframe = 0
- end
- if movetimer >= 0.8 then
- movetimer = 0
- end
- end
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.new(0, 0, 0.4 - math.cos(-movetimer * 1.5) / 1.) * CFrame.Angles(math.rad(-2), 0, math.rad(-80), speed * 2)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(math.rad(2), 0, math.rad(80), speed * 2)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-14), math.rad(), ), speed * 2)
- Joints[4].C0 = Joints[4].C0:lerp(random4, speed * 2)
- end
- else
- if keyframe == 1 then
- if timer >= 0.75 then
- timer = 0
- keyframe = 0
- attacking = false
- animation = -1
- keyframe = 0
- speed = 0.02
- miscevent:FireServer(7, Humanoid, 50)
- local waiter = coroutine.wrap(function()
- wait(0.2)
- cooled1 = true
- end)
- waiter()
- end
- do
- if not hit then
- local region = (NewRegion(Character["Right Arm"].CFram, Character["Right Arm"].Size))
- local hum = nil
- for _,v in pairs(CastRegion(Player.Character, math.huge, region)) do
- if not hum and v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") and (v.Parent:FindFirstChild("Torso") or v.Parent:FindFirstChild("UpperTorso")) then
- hum = v.Parent:FindFirstChildOfClass("Humanoid")
- end
- end
- if hum and hum.Health > 0 then
- hit = true
- local results = hitevent:InvokeServer(0, Character["Right Arm"], Character["Right Arm"].CFrame, 2 * Player:WaitForChild("Power").Value * allmul, voiceline, hum)
- if results then
- addexp(results)
- else
- hit = false
- end
- end
- end
- do
- if Humanoid.MoveDirection == Vector3.new(0, 0, 0) then
- keepmoving = false
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.Angles(0, 0, math.rad(40), speed * 4)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(0, 0, math.rad(-30), speed * 4)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-12), math.rad(), ), speed * 2)
- Joints[4].C0 = Joints[4].C0:lerp(random4, speed * 2)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new(0, -0.07, ) * CFrame.Angles(math.rad(-8), math.rad(), math.rad(-4), speed * 2)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new(0, -0.07, ) * CFrame.Angles(math.rad(-3), math.rad(), math.rad(3), speed * 2)
- else
- if not keepmoving then
- keepmoving = true
- if running then
- movespeed = 0.04
- else
- movespeed = 0.03
- end
- if moveframe > 1 then
- moveframe = 0
- end
- if movetimer >= 0.8 then
- movetimer = 0
- end
- end
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.new(0, 0, 0.4 - math.cos(-movetimer * 1.5) / 1.) * CFrame.Angles(0, 0, math.rad(40), speed * 4)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(0, 0, math.rad(-30), speed * 4)
- Joints[3].C0 = Joints[3].C0:lerp(orig3 * CFrame.Angles(math.rad(-12), math.rad(), ), speed * 2)
- Joints[4].C0 = Joints[4].C0:lerp(random4, speed * 2)
- end
- if animation == 4 then
- if keyframe == 0 then
- if timer >= 0.75 then
- keyframe = 1
- timer = 0
- speed = 0.05 * Player:WaitForChild("Speed").Value * allmult
- miscevent:FireServer(2, woosh, math.random(110, 120) / 100)
- miscevent:FireServer(1, woosh, 0)
- random3 = orig3 * CFrame.new(math.random(-35, -15) / 40, 0, 0) * CFrame.Angles(math.rad(math.random(-500, -100) / 100), math.rad(math.random(-1200, 2500) / 100), math.rad(math.random(-9400, -860) / 100))
- end
- if Humanoid.MoveDirection == Vector3.new(0, 0, 0) then
- keepmoving = false
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.Angles(math.rad(-2), 0, math.rad(80), speed * 2)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(math.rad(2), 0, math.rad(-80), speed * 2)
- Joints[3].C0 = Joints[3].C0:lerp(random3, speed * 2)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-14), math.rad(-), ), speed * 2)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new(0, -0.07, ) * CFrame.Angles(math.rad(-8), math.rad(), math.rad(-4), speed * 2)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new(0, -0.07, ) * CFrame.Angles(math.rad(-3), math.rad(), math.rad(3), speed * 2)
- else
- if not keepmoving then
- keepmoving = true
- if running then
- movespeed = 0.04
- else
- movespeed = 0.03
- end
- if moveframe > 1 then
- moveframe = 0
- end
- if movetimer >= 0.8 then
- movetimer = 0
- end
- end
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.new(0, 0, 0.4 - math.cos(-movetimer * 1.5) / 1.) * CFrame.Angles(math.rad(-2), 0, math.rad(80), speed * 2)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(math.rad(2), 0, math.rad(-80), speed * 2)
- Joints[3].C0 = Joints[3].C0:lerp(random3, speed * 2)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-14), math.rad(-), ), speed * 2)
- end
- else
- if keyframe == 1 then
- if timer >= 0.75 then
- timer = 0
- keyframe = 0
- attacking = false
- animation = -1
- keyframe = 0
- speed = 0.02
- miscevent:FireServer(7, Humanoid, 50)
- local waiter = coroutine.wrap(function()
- wait(0.2)
- cooled1 = true
- end)
- waiter()
- end
- do
- if not hit then
- local region = (NewRegion(Character["Left Arm"].CFram, Character["Left Arm"].Size))
- local hum = nil
- for _,v in pairs(CastRegion(Player.Character, math.huge, region)) do
- if not hum and v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") and (v.Parent:FindFirstChild("Torso") or v.Parent:FindFirstChild("UpperTorso")) then
- hum = v.Parent:FindFirstChildOfClass("Humanoid")
- end
- end
- if hum and hum.Health > 0 then
- hit = true
- local results = hitevent:InvokeServer(0, Character["Left Arm"], Character["Left Arm"].CFrame, 2 * Player:WaitForChild("Power").Value * allmul, voiceline, hum)
- if results then
- addexp(results)
- else
- hit = false
- end
- end
- end
- do
- if Humanoid.MoveDirection == Vector3.new(0, 0, 0) then
- keepmoving = false
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.Angles(0, 0, math.rad(-40), speed * 4)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(0, 0, math.rad(30), speed * 4)
- Joints[3].C0 = Joints[3].C0:lerp(random3, speed * 2)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-12), math.rad(-), ), speed * 2)
- Joints[5].C0 = Joints[5].C0:lerp(orig5 * CFrame.new(0, -0.09, ) * CFrame.Angles(math.rad(-7), math.rad(1), math.rad(-3), speed * 2)
- Joints[6].C0 = Joints[6].C0:lerp(orig6 * CFrame.new(0, -0.09, ) * CFrame.Angles(math.rad(-5), math.rad(), math.rad(4), speed * 2)
- else
- if not keepmoving then
- keepmoving = true
- if running then
- movespeed = 0.04
- else
- movespeed = 0.03
- end
- if moveframe > 1 then
- moveframe = 0
- end
- if movetimer >= 0.8 then
- movetimer = 0
- end
- end
- Joints[1].C0 = Joints[1].C0:lerp(orig1 * CFrame.new(0, 0, 0.4 - math.cos(-movetimer * 1.5) / 1.) * CFrame.Angles(0, 0, math.rad(-40), speed * 4)
- Joints[2].C0 = Joints[2].C0:lerp(orig2 * CFrame.Angles(0, 0, math.rad(30), speed * 4)
- Joints[3].C0 = Joints[3].C0:lerp(random3, speed * 2)
- Joints[4].C0 = Joints[4].C0:lerp(orig4 * CFrame.Angles(math.rad(-12), math.rad(-), ), speed * 2)
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end)
- InputService.TextBoxFocused:connect(function()
- intextbox = true
- end)
- InputService.TextBoxFocusReleased:connect(function()
- intextbox = false
- end)
- InputService.InputBegan:connect(function(input)
- do
- -- DECOMPILER ERROR at PC36: Unhandled construct in 'MakeBoolean' P1
- if (workspace.timestopped.Value == false or workspace.timestopper.Value == Player.Name) and input.UserInputType == Enum.UserInputType.MouseButton1 and not intextbox and cooled1 and not attacking and Humanoid.Health > 0 then
- local either = math.random(0, 1)
- if either == 0 then
- attacking = true
- cooled1 = false
- animation = 3
- keyframe = 0
- timer = 0
- miscevent:FireServer(7, Humanoid, 0)
- effecttimer = 0
- movetimer = timer
- speed = 0.025 * Player:WaitForChild("Speed").Value * allmult
- hit = false
- random4 = orig4 * CFrame.new(math.random(15, 35) / 70, 0, 0) * CFrame.Angles(math.rad(math.random(-500, -100) / 100), math.rad(math.random(-3100, 1200) / 100), math.rad(math.random(8600, 9400) / 100))
- else
- if either == 1 then
- attacking = true
- cooled1 = false
- animation = 4
- keyframe = 0
- timer = 0
- miscevent:FireServer(7, Humanoid, 0)
- effecttimer = 0
- movetimer = timer
- speed = 0.025 * Player:WaitForChild("Speed").Value * allmult
- hit = false
- random3 = orig3 * CFrame.new(math.random(-35, -15) / 70, 0, 0) * CFrame.Angles(math.rad(math.random(-500, -100) / 100), math.rad(math.random(1200, 3100) / 100), math.rad(math.random(-9400, -8600) / 100))
- end
- end
- end
- if input.UserInputType == Enum.UserInputType.Keyboard and not intextbox and input.KeyCode == Enum.KeyCode.LeftControl and not attacking and Humanoid.Health > 0 then
- if running then
- running = false
- miscevent:FireServer(5, Humanoid, 16)
- if animation == 1 then
- speed = 0.03
- end
- else
- running = true
- miscevent:FireServer(5, Humanoid, 20)
- if animation == 1 then
- speed = 0.04
- end
- end
- end
- end
- end)
- workspace.timestopped.Changed:connect(function(value)
- wait()
- if workspace.timestopper.Value ~= Player.Name then
- if value == true then
- Character.Torso.Anchored = true
- if woosh.IsPlaying then
- miscevent:FireServer(1, woosh, 2)
- end
- if voiceline.IsPlaying then
- miscevent:FireServer(1, voiceline, 2)
- end
- else
- if value == false then
- Character.Torso.Anchored = false
- if woosh.IsPaused and woosh.TimePosition > 0 then
- miscevent:FireServer(1, woosh, 3)
- end
- if voiceline.IsPaused and voiceline.TimePosition > 0 then
- miscevent:FireServer(1, voiceline, 3)
- end
- end
- end
- end
- end)
- Player:WaitForChild("Endurance).Changed:connect(function(value)
- miscevent:FireServer(8, Humanoid, 50 * value * allmult)
- end)
- Character:WaitForChild("weakened).Changed:connect(function(value)
- if value == true then
- allmult = 0.5
- else
- if value == false then
- if Player:WaitForChild("Requiem").Value == true then
- allmult = 1.25
- else
- allmult = 1
- end
- end
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement