Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FakeHeartbeat = Instance.new("BindableEvent", script)
- FakeHeartbeat.Name = "Heartbeat"
- script:WaitForChild("Heartbeat")
- frame = 0.033333333333333
- tf = 0
- lastframea = tick()
- script.Heartbeat:Fire()
- game:service("RunService").Heartbeat:connect(function(s, p)
- tf = tf + s
- if frame <= tf then
- for i = 1, math.floor(tf / frame) do
- script.Heartbeat:Fire()
- end
- lastframea = tick()
- tf = tf - frame * math.floor(tf / frame)
- end
- end
- )
- wait()
- Tool = script.Parent
- vPlayer = game.Players.LocalPlayer
- repeat
- wait()
- until vPlayer.Character
- repeat
- repeat
- wait()
- until #script:children() >= 4
- until script:FindFirstChild("Armor") ~= nil
- RightShoulder = nil
- LeftShoulder = nil
- RightHip = nil
- LeftHip = nil
- Neck = nil
- RootJoint = nil
- RightShoulderC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- RightShoulderC1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- LeftShoulderC0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- LeftShoulderC1 = CFrame.new(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- RightHipC0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- RightHipC1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- LeftHipC0 = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- LeftHipC1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- NeckC0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- NeckC1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- RootJointC0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- RootJointC1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- Grip = nil
- GripC0 = CFrame.new(0, -0.7, 0) * CFrame.fromEulerAnglesXYZ(-math.pi / 2, 0, math.pi)
- TrackFunction = nil
- PlayerAnimationScript = nil
- equipdebounce = true
- PlayerCanJump = true
- StickDir = 5
- StickPos = 5
- PlayerCombatKeys = {}
- radiushelp = 0.2
- InfoGui = nil
- SoundTable = {Airdash = "153092348", BarrierHit = "153092205", Grapple = "153092304", Hit_Damage_Heavycut = "153092274", Hit_Damage_Heavydelaysmack = "153092217", Hit_Damage_Heavysmack = "153092227", Hit_Damage_Lightcut = "153092285", Hit_Damage_Lightsmack = "153092249", Hit_Damage_Mediumcut = "153092292", Hit_Damage_Medsmack = "153092238", Hit_Damage_Medsmack_Alt = "153092213", Hit_Damage_Tinycut = "153092296", Overdrive_Begin = "153092315", Overdrive_End = "153092334", none = ""}
- BodyVel = Instance.new("BodyVelocity")
- BodyVel.Name = "HumanoidMover"
- BodyVel.P = 400
- BodyVel.maxForce = Vector3.new(220000, 0, 220000)
- BodyVel.Parent = nil
- BodyGyro = Instance.new("BodyGyro")
- BodyGyro.P = 13000
- BodyGyro.maxTorque = Vector3.new(185000, 185000, 185000)
- BodyGyro.D = 1000
- CanAttack = true
- PlayerInputs = {}
- PlayerInputCullThreshold = 30
- PlayerInputAgeCullFactor = 30
- PlayerInputStringFrame = 0.7
- CurrentCameraState = "3D"
- CanChangeCameraState = false
- CameraResetTime = 180
- PlayerFacing = "Right"
- DesiredPlayerFacing = "Right"
- CameraPlane = CFrame.new(0, 0, 0)
- CameraOutDir = Vector3.new(0, 0, 0)
- FirstTick = false
- DesiredWalkspeed = 16
- Cooldowns = {E = 0, Z = 0, X = 0, C = 0, V = 45, EZ = 0, EX = 0, EC = 0, EV = 45}
- Trap = nil
- TrapType = ""
- TrapMovespeed = 0.66666666666667
- TwoDInputs = {}
- fwait = function(num)
- if num == 0 or num == nil then
- FakeHeartbeat.Event:wait(0)
- else
- for i = 0, num do
- FakeHeartbeat.Event:wait(0)
- end
- end
- end
- setlastnormal = function(key)
- lastnormal = key
- coroutine.resume(coroutine.create(function(k, kt)
- while k == lastnormal do
- if kt + 1.2 < tick() then
- break
- end
- fwait()
- end
- lastnormal = ""
- end
- ), lastnormal, tick())
- end
- BillboardGui = function(image, position, size)
- local billpar = Instance.new("Part")
- billpar.Transparency = 1
- billpar.formFactor = "Custom"
- billpar.Size = Vector3.new(1, 1, 1)
- billpar.Anchored = true
- billpar.CanCollide = false
- billpar.CFrame = CFrame.new(position)
- billpar.Name = "BillboardGuiPart"
- local bill = Instance.new("BillboardGui", billpar)
- bill.Adornee = billpar
- bill.Size = UDim2.new(1, 0, 1, 0)
- bill.SizeOffset = Vector2.new(size, size)
- local d = Instance.new("ImageLabel", bill)
- d.BackgroundTransparency = 1
- d.Size = UDim2.new(1, 0, 1, 0)
- d.Image = image
- return billpar
- end
- NewPart = function(size, cframe, color, meshtype, meshscale)
- local par = Instance.new("Part")
- par.formFactor = "Custom"
- par.TopSurface = 0
- par.BottomSurface = 0
- par.Size = size
- par.CFrame = cframe
- par.BrickColor = BrickColor.new(color)
- do
- if meshtype then
- local m = Instance.new(meshtype, par)
- m.Scale = meshscale
- end
- return par
- end
- end
- CFrameFromTopBack = function(at, top, back)
- local right = top:Cross(back)
- return CFrame.new(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
- end
- Triangle = function(a, b, c, col)
- local edg1 = c - a:Dot(b - a.unit)
- local edg2 = a - b:Dot(c - b.unit)
- local edg3 = b - c:Dot(a - c.unit)
- if edg1 <= b - a.magnitude and edg1 >= 0 then
- a = a
- else
- -- DECOMPILER ERROR at PC35: Overwrote pending register: R1 in 'AssignReg'
- if edg2 <= c - b.magnitude and edg2 >= 0 then
- a = b
- else
- -- DECOMPILER ERROR at PC46: Overwrote pending register: R2 in 'AssignReg'
- -- DECOMPILER ERROR at PC47: Overwrote pending register: R1 in 'AssignReg'
- if edg3 <= a - c.magnitude and edg3 >= 0 then
- a = c
- else
- assert(false, "unreachable")
- end
- end
- end
- local len1 = c - a:Dot(b - a.unit)
- local len2 = b - a.magnitude - len1
- local width = a + b - a.unit * len1 - c.magnitude
- local maincf = CFrameFromTopBack(a, b - a:Cross(c - b).unit, -b - a.unit)
- local list = {}
- if len1 > 0.01 then
- local w1 = Instance.new("WedgePart", vPlayer.Character.Weapon)
- game:GetService("Debris"):AddItem(w1, 5)
- coroutine.resume(coroutine.create(function(p)
- for i = 1, 7 do
- p.Transparency = 0.5 + i / 14
- fwait()
- end
- p:Remove()
- end
- ), w1)
- w1.FormFactor = "Custom"
- w1.BrickColor = col
- w1.Material = "SmoothPlastic"
- w1.CanCollide = false
- local sz = Vector3.new(0.2, width, len1)
- w1.Size = sz
- local sp = Instance.new("SpecialMesh", w1)
- sp.MeshType = "Wedge"
- sp.Scale = Vector3.new(0, 1, 1) * sz / w1.Size
- w1:BreakJoints()
- w1.Anchored = true
- w1.Transparency = 0
- w1.CFrame = maincf * CFrame.Angles(math.pi, 0, math.pi / 2) * CFrame.new(0, width / 2, len1 / 2)
- end
- do
- if len2 > 0.01 then
- local w2 = Instance.new("WedgePart", vPlayer.Character.Weapon)
- game:GetService("Debris"):AddItem(w2, 5)
- coroutine.resume(coroutine.create(function(p)
- for i = 1, 7 do
- p.Transparency = 0.5 + i / 14
- fwait()
- end
- p:Remove()
- end
- ), w2)
- w2.Material = "SmoothPlastic"
- w2.FormFactor = "Custom"
- w2.BrickColor = col
- w2.Material = "SmoothPlastic"
- w2.CanCollide = false
- local sz = Vector3.new(0.2, width, len2)
- w2.Size = sz
- local sp = Instance.new("SpecialMesh", w2)
- sp.MeshType = "Wedge"
- sp.Scale = Vector3.new(0, 1, 1) * sz / w2.Size
- w2:BreakJoints()
- w2.Anchored = true
- w2.Transparency = 0
- w2.CFrame = maincf * CFrame.Angles(math.pi, math.pi, -math.pi / 2) * CFrame.new(0, width / 2, -len1 - len2 / 2)
- end
- do
- return unpack(list)
- end
- end
- end
- CameraPlane = function()
- local buttspoop = workspace.CurrentCamera.CoordinateFrame.p - workspace.CurrentCamera.CoordinateFrame * CFrame.new(0, 0, 5).p.unit
- return Vector3.new(buttspoop.x, 0, buttspoop.z).unit
- end
- MousePlane = function()
- local mouse = game.Players.LocalPlayer:GetMouse()
- local buttspoop = game.Players.LocalPlayer.Character.HumanoidRootPart.Position - mouse.Hit.p.unit
- return -Vector3.new(buttspoop.x, 0, buttspoop.z).unit
- end
- CanStun = true
- InputNormals = {}
- GetIgnoreList = function()
- local lel = {}
- local filter = {}
- lol = function(p)
- for _,v in pairs(p) do
- if v:IsA("BasePart") or v.className == "UnionOperation" then
- table.insert(lel, v)
- if #v:children() > 0 then
- lol(v:children())
- end
- end
- end
- end
- lol(workspace:children())
- for _,v in pairs(lel) do
- if v.Parent.className == "Tool" or v.Parent:FindFirstChild("Humanoid") or v.CanCollide == false or v.Parent.className == "Hat" or v.Parent.className == "Model" and v.Parent:FindFirstChild("Humanoid") == nil then
- table.insert(filter, v)
- end
- end
- lel = nil
- return filter
- end
- VProj = function(size, position, direction, speed, ignl)
- speed = speed * 0.7
- local direction = direction + Vector3.new(math.random(-3, 3), math.random(-3, 3) + 0.1, math.random(-3, 3)).unit * 0.16
- position = position + direction * 1.1
- local pc = NewPart(Vector3.new(0.1, 0.1, 0.1), CFrame.new(position + Vector3.new(math.random(-3, 3), math.random(-3, 3), math.random(-3, 3)).unit * 0.2), "Really black")
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Transparency = 1
- pc.Name = "Blast"
- game:GetService("Debris"):AddItem(pc, 10)
- print(#ignl)
- for i = 1, 20 do
- do
- -- DECOMPILER ERROR at PC121: Unhandled construct in 'MakeBoolean' P1
- if size < 1.1 and i == 3 then
- local plc = NewPart(Vector3.new(1, 1, 1), CFrame.new(pc.CFrame.p, pc.CFrame.p + direction * 10) * CFrame.Angles(math.pi / 2, math.random(-10, 10), 0), "Really black", "SpecialMesh", Vector3.new(1, 1.3, 1))
- plc.Mesh.MeshType = "FileMesh"
- plc.Anchored = true
- plc.CanCollide = false
- plc.Parent = workspace
- plc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- plc.Name = "Shockwave"
- game:GetService("Debris"):AddItem(plc, 5)
- coroutine.resume(coroutine.create(function(p, s)
- for ii = 1, 8 do
- p.Transparency = ii / 8
- p.CFrame = p.CFrame * CFrame.Angles(0, math.rad(30 + ii), 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.5, -0.1, 0.5) + Vector3.new(0.5, 0, 0.5) * s
- fwait()
- end
- p:Remove()
- end
- ), plc, size)
- end
- do
- if i % 2 == 0 then
- local plc = NewPart(Vector3.new(1, 1, 1), CFrame.new(pc.CFrame.p, pc.CFrame.p + direction * 10) * CFrame.Angles(math.pi / 2, math.random(-10, 10), 0), "Really black", "SpecialMesh", Vector3.new(1, 1.3, 1))
- plc.Mesh.MeshType = "FileMesh"
- plc.Anchored = true
- plc.CanCollide = false
- plc.Parent = workspace
- plc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- plc.Name = "Shockwave"
- game:GetService("Debris"):AddItem(plc, 5)
- coroutine.resume(coroutine.create(function(p, s)
- for ii = 1, 8 do
- p.Transparency = ii / 8
- p.CFrame = p.CFrame * CFrame.Angles(0, math.rad(30 + ii), 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.5, -0.1, 0.5) + Vector3.new(0.5, 0, 0.5) * s
- fwait()
- end
- p:Remove()
- end
- ), plc, size)
- end
- local eff = NewPart(Vector3.new(0.1, 0.1, 0.1), pc.CFrame * CFrame.new(math.random(-15, 15) / 120, math.random(-15, 15) / 120, math.random(-15, 15) / 120) * CFrame.Angles(math.random(-15, 15), math.random(-15, 15), math.random(-15, 15)) - direction * 0.3, "Really black", "BlockMesh", Vector3.new(size, size, size) * 15)
- eff.Parent = vPlayer.Character.Weapon
- eff.Name = "Trail"
- eff.Anchored = true
- eff.CanCollide = false
- game:GetService("Debris"):AddItem(eff, 5)
- coroutine.resume(coroutine.create(function(p, A)
- local R = Vector3.new(math.random(-5, 5), math.random(7, 9), math.random(-5, 5)) / 50
- for ii = 1, 5 do
- p.Mesh.Scale = p.Mesh.Scale / 1.2
- p.Transparency = ii / 5
- p.CFrame = p.CFrame * A
- fwait()
- end
- p:Remove()
- end
- ), eff, CFrame.Angles(math.rad(math.random(-4, 4) * 4), math.rad(math.random(-4, 4) * 3), math.rad(math.random(-4, 4) * 2)))
- fwait(0.05)
- local par, loc = workspace:FindPartOnRayWithIgnoreList(Ray.new(pc.Position, direction * (speed)), ignl)
- if par then
- local v = par
- if v.Parent.className == "Tool" or ((v.CanCollide == false and v.Parent:FindFirstChild("Humanoid") == false) or v.Parent.className == "Hat") then
- print("8)")
- pc.CFrame = pc.CFrame
- else
- print(par)
- if loc - pc.CFrame.p.magnitude < 25 then
- pc.CFrame = CFrame.new(loc)
- else
- print("!", loc)
- end
- print(loc, "|", pc.CFrame.p)
- ccpos = loc
- break
- end
- else
- do
- pc.CFrame = pc.CFrame + direction * (speed)
- do
- local eff = NewPart(Vector3.new(0.1, 0.1, 0.1), pc.CFrame * CFrame.new(math.random(-15, 15) / 120, math.random(-15, 15) / 120, math.random(-15, 15) / 120) * CFrame.Angles(math.random(-15, 15), math.random(-15, 15), math.random(-15, 15)) - direction * (speed) / 2, "Really black", "BlockMesh", Vector3.new(size, size, size) * 15)
- eff.Parent = vPlayer.Character.Weapon
- eff.Name = "Trail"
- eff.Anchored = true
- eff.CanCollide = false
- game:GetService("Debris"):AddItem(eff, 5)
- coroutine.resume(coroutine.create(function(p, A)
- local R = Vector3.new(math.random(-5, 5), math.random(7, 9), math.random(-5, 5)) / 50
- for ii = 1, 5 do
- p.Mesh.Scale = p.Mesh.Scale / 1.2
- p.Transparency = ii / 5
- p.CFrame = p.CFrame * A
- fwait()
- end
- p:Remove()
- end
- ), eff, CFrame.Angles(math.rad(math.random(-4, 4) * 4), math.rad(math.random(-4, 4) * 3), math.rad(math.random(-4, 4) * 2)))
- fwait(0.03)
- -- DECOMPILER ERROR at PC517: LeaveBlock: unexpected jumping out DO_STMT
- -- DECOMPILER ERROR at PC517: LeaveBlock: unexpected jumping out IF_ELSE_STMT
- -- DECOMPILER ERROR at PC517: LeaveBlock: unexpected jumping out IF_STMT
- -- DECOMPILER ERROR at PC517: LeaveBlock: unexpected jumping out DO_STMT
- -- DECOMPILER ERROR at PC517: LeaveBlock: unexpected jumping out DO_STMT
- end
- end
- end
- end
- end
- end
- print(pc.CFrame.p, "()")
- local eff = NewPart(Vector3.new(1, 1, 1), pc.CFrame * CFrame.new(math.random(-15, 15) / 20, math.random(-15, 15) / 20, math.random(-15, 15) / 20) * CFrame.Angles(math.random(-15, 15), math.random(-15, 15), math.random(-15, 15)), "Really black", "BlockMesh", Vector3.new(size, size, size))
- eff.Parent = workspace
- eff.Name = "Trail"
- eff.Anchored = true
- eff.CanCollide = false
- game:GetService("Debris"):AddItem(eff, 5)
- coroutine.resume(coroutine.create(function(p, A, s)
- local R = Vector3.new(math.random(-5, 5), math.random(7, 9), math.random(-5, 5)) / 50
- for i = 1, 8 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1.5, 1.5, 1.5) + Vector3.new(0.1, 0.1, 0.1) * s
- p.Transparency = 0.5 + i / 8
- p.CFrame = p.CFrame * A
- fwait()
- end
- p:Remove()
- end
- ), eff, CFrame.Angles(math.rad(math.random(-4, 4) * 4), math.rad(math.random(-4, 4) * 3), math.rad(math.random(-4, 4) * 2)), size)
- if size > 1.1 then
- local eff = NewPart(Vector3.new(1, 1, 1), pc.CFrame * CFrame.new(math.random(-15, 15) / 20, math.random(-15, 15) / 20, math.random(-15, 15) / 20) * CFrame.Angles(math.random(-15, 15), math.random(-15, 15), math.random(-15, 15)), "Really black", "BlockMesh", Vector3.new(size, size, size))
- eff.Parent = workspace
- eff.Name = "Trail"
- eff.Anchored = true
- eff.CanCollide = false
- game:GetService("Debris"):AddItem(eff, 5)
- coroutine.resume(coroutine.create(function(p, A, s)
- local R = Vector3.new(math.random(-5, 5), math.random(7, 9), math.random(-5, 5)) / 50
- for i = 1, 18 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1.5, 1.5, 1.5) + Vector3.new(0.1, 0.1, 0.1) * s
- p.Transparency = 0.5 + i / 36
- p.CFrame = p.CFrame * A
- fwait()
- end
- p:Remove()
- end
- ), eff, CFrame.Angles(math.rad(math.random(-4, 4) * 4), math.rad(math.random(-4, 4) * 3), math.rad(math.random(-4, 4) * 2)), size * 2)
- local p = Instance.new("Sound", eff)
- p.Volume = 1
- p.Pitch = 1.07
- p.SoundId = "http://www.roblox.com/asset/?id=231917744"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- else
- do
- do
- local p = Instance.new("Sound", eff)
- p.Volume = 1
- p.Pitch = 1
- p.SoundId = "http://www.roblox.com/asset/?id=231917845"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- local plc = NewPart(Vector3.new(1, 1, 1), CFrame.new(pc.CFrame.p + Vector3.new(0, 4, 0)) * CFrame.Angles(0, math.random(-10, 10), 0), "Really black", "SpecialMesh", Vector3.new(3, 7, 3))
- plc.Mesh.MeshType = "FileMesh"
- plc.Anchored = true
- plc.CanCollide = false
- plc.Parent = workspace
- plc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- plc.Name = "Shockwave"
- game:GetService("Debris"):AddItem(plc, 5)
- coroutine.resume(coroutine.create(function(p, s)
- for ii = 1, 10 do
- p.Transparency = ii / 10
- p.CFrame = p.CFrame * CFrame.Angles(0, -math.rad(15 + ii), 0) - Vector3.new(0, 0.25, 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1, -0.5, 1) + Vector3.new(0.3, 0, 0.3) * s
- fwait()
- end
- p:Remove()
- end
- ), plc, size)
- local plc = NewPart(Vector3.new(1, 1, 1), CFrame.new(pc.CFrame.p + Vector3.new(0, 2, 0)) * CFrame.Angles(0, math.random(-10, 10), 0), "Really black", "SpecialMesh", Vector3.new(3, 3.5, 3))
- plc.Mesh.MeshType = "FileMesh"
- plc.Anchored = true
- plc.CanCollide = false
- plc.Parent = workspace
- plc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- plc.Name = "Shockwave"
- game:GetService("Debris"):AddItem(plc, 5)
- coroutine.resume(coroutine.create(function(p, s)
- for ii = 1, 10 do
- p.Transparency = ii / 10
- p.CFrame = p.CFrame * CFrame.Angles(0, math.rad(10 + ii), 0) - Vector3.new(0, 0.125, 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(2, -0.25, 2) + Vector3.new(0.5, 0, 0.5) * s
- fwait()
- end
- p:Remove()
- end
- ), plc, size)
- for _,v in pairs(GetNubsInRadius(pc.CFrame.p + Vector3.new(0, 1, 0), 15 + size ^ 2)) do
- if size < 1.1 then
- applyDamage(v, 7, Vector3.new(), false, false, nil, 0.01, 1, "", 0.95, false, true)
- else
- applyDamage(v, 12, Vector3.new(0, 55, 0), true, false, nil, 0.1, 1, "", 0.95, false, true)
- end
- applyCameraShake(v, 250, 6)
- end
- for _,v in pairs(game.Players:children()) do
- if v.Character and v.Character:FindFirstChild("Torso") and v.Character.Torso.Position - pc.CFrame.p.magnitude <= 40 then
- applyCameraShake(v.Character, 55 - v.Character.Torso.Position - pc.CFrame.p.magnitude, 8)
- end
- end
- local par, loc = workspace:FindPartOnRay(Ray.new(pc.Position + Vector3.new(0, 1, 0), Vector3.new(0, -3, 0)), vPlayer.Character)
- local pz = NewPart(Vector3.new(12, 12, 1), CFrame.new(loc) * CFrame.Angles(math.pi / 2, 0, 0), "Really black", "BlockMesh", Vector3.new(1, 1, 0))
- pz.Transparency = 1
- pz.Anchored = true
- pz.CanCollide = false
- pz.Parent = workspace
- pz.Name = "Rune"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=234376725"
- d1.Face = "Front"
- d1.Name = "d1"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=234376725"
- d1.Face = "Back"
- d1.Name = "d2"
- coroutine.resume(coroutine.create(function(p, dir)
- for i = 1, 5 do
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, math.rad(10 + i * 2))
- p.d1.Transparency = 0.9 + i / 50
- p.d2.Transparency = 0.9 + i / 50
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(2, 2, 0)
- fwait()
- end
- p:Remove()
- end
- ), pz)
- game:GetService("Debris"):AddItem(pz, 6)
- pc:Remove()
- end
- end
- end
- end
- InputNormals.C = function()
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- TrackFunction = nil
- end
- CanInterrupt(false)
- PlayerIsAttacking = true
- local rawframes = 0
- Tool.Status.AnimFrame.Value = 0
- local DidHit = false
- ccctime = tick()
- local CPlane = MousePlane()
- vPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(vPlayer.Character.HumanoidRootPart.Position, vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
- BodyGyro.cframe = CFrame.new(vPlayer.Character.HumanoidRootPart.CFrame.p, vPlayer.Character.HumanoidRootPart.CFrame.p + CPlane * 50)
- local cl = 0
- local clastframe = lastframe
- local cframes = 0
- BodyVel.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.Parent = vPlayer.Character.HumanoidRootPart
- p = Instance.new("Sound", vPlayer.Character.Torso)
- p.Volume = 1
- p.Pitch = 1
- p.SoundId = "http://www.roblox.com/asset/?id=235097614"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- TrackFunction = FakeHeartbeat.Event:connect(function()
- if rawframes < 7 then
- CPlane = MousePlane()
- BodyGyro.cframe = clerp(BodyGyro.cframe, CFrame.new(BodyGyro.Parent.Position, BodyGyro.Parent.Position + CPlane * 50), 1)
- else
- CPlane = vPlayer.Character.HumanoidRootPart.CFrame.lookVector
- end
- if rawframes < 47 and (rawframes + 1) % 6 == 0 then
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(vPlayer.Character.Torso.Position) * CFrame.Angles(0, math.random(-10, 10), 0), "Really black", "SpecialMesh", Vector3.new(1, 7, 1))
- pc.Mesh.MeshType = "FileMesh"
- pc.Anchored = true
- pc.CanCollide = false
- pc.Parent = workspace
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- pc.Name = "Shockwave"
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 10 do
- p.Transparency = ii / 10
- p.CFrame = p.CFrame * CFrame.Angles(0, -math.rad(15 + ii), 0) - Vector3.new(0, 0.25, 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1, -0.5, 1)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(vPlayer.Character.Torso.Position - Vector3.new(0, 2.5, 0)) * CFrame.Angles(0, math.random(-10, 10), 0), "Really black", "SpecialMesh", Vector3.new(11, 1, 11))
- pc.Mesh.MeshType = "FileMesh"
- pc.Anchored = true
- pc.CanCollide = false
- pc.Parent = workspace
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- pc.Name = "Shockwave"
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 10 do
- p.Transparency = ii / 10
- p.CFrame = p.CFrame * CFrame.Angles(0, math.rad(10 + ii), 0) - Vector3.new(0, 0, 0)
- p.Mesh.Scale = p.Mesh.Scale - Vector3.new(0.5, 0, 0.5)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- end
- do
- if rawframes <= 7 then
- cl = cl + (rawframes - 0) * 0.036
- LerpWelds(clastframe, cl, Animations.ShatterCannon.Animation(0))
- print(cl)
- if rawframes == 2 then
- p = Instance.new("Sound", vPlayer.Character.Torso)
- p.Volume = 0.33
- p.Pitch = 0.8
- p.SoundId = "http://www.roblox.com/asset/?id=231917794"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- end
- else
- if rawframes > 7 and rawframes <= 29 then
- if rawframes == 8 then
- local pz = NewPart(Vector3.new(2, 2, 1), CFrame.new(vPlayer.Character.HumanoidRootPart.Position + CPlane * 3, vPlayer.Character.HumanoidRootPart.Position + CPlane * 5), "Really black", "BlockMesh", Vector3.new(1, 1, 0))
- pz.Transparency = 1
- pz.Anchored = true
- pz.CanCollide = false
- pz.Parent = workspace
- pz.Name = "Rune"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=233522684"
- d1.Face = "Front"
- d1.Name = "d1"
- d1.Transparency = 1
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=233522684"
- d1.Face = "Back"
- d1.Name = "d2"
- d1.Transparency = 1
- coroutine.resume(coroutine.create(function(p, dir)
- for i = 1, 28 do
- fwait()
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, math.rad(2))
- if i <= 10 then
- p.d1.Transparency = 1 - i / 12
- p.d2.Transparency = 1 - i / 12
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.3, 0.3, 0)
- end
- end
- for i = 1, 8 do
- fwait()
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, math.rad(2))
- end
- for i = 1, 8 do
- fwait()
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, math.rad(2 + i))
- p.d1.Transparency = i / 8
- p.d2.Transparency = i / 8
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.1 + i * 0.1, 0.1 + i * 0.1, 0)
- end
- p:Remove()
- end
- ), pz, CPlane)
- cl = 0
- end
- do
- if rawframes == 12 then
- local pz = NewPart(Vector3.new(2, 2, 1), CFrame.new(vPlayer.Character.HumanoidRootPart.Position + CPlane * 4.2, vPlayer.Character.HumanoidRootPart.Position + CPlane * 7), "Really black", "BlockMesh", Vector3.new(1, 1, 0))
- pz.Transparency = 1
- pz.Anchored = true
- pz.CanCollide = false
- pz.Parent = workspace
- pz.Name = "Rune"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=233083678"
- d1.Face = "Front"
- d1.Name = "d1"
- d1.Transparency = 1
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=233083678"
- d1.Face = "Back"
- d1.Name = "d2"
- d1.Transparency = 1
- coroutine.resume(coroutine.create(function(p, dir)
- for i = 1, 28 do
- fwait()
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, -math.rad(3))
- if i <= 10 then
- p.d1.Transparency = 1 - i / 12
- p.d2.Transparency = 1 - i / 12
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.15, 0.15, 0)
- end
- end
- for i = 1, 3 do
- fwait()
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, -math.rad(3))
- end
- for i = 1, 8 do
- fwait()
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, -math.rad(3 - i))
- p.d1.Transparency = i / 8
- p.d2.Transparency = i / 8
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.1 + i * 0.1, 0.1 + i * 0.1, 0)
- end
- p:Remove()
- end
- ), pz, CPlane)
- game:GetService("Debris"):AddItem(pz, 6)
- end
- do
- cframes = rawframes - 7
- cl = cl + cframes * 0.004
- LerpWelds({Animations.ShatterCannon.Animation(0)}, cl, Animations.ShatterCannon.Animation(1))
- Grip.C0 = Grip.C0 * CFrame.fromEulerAnglesXYZ(0, 0, -math.rad(26.296296296296 * cframes))
- if rawframes > 29 and rawframes <= 34 then
- cframes = rawframes - 29
- LerpWelds({Animations.ShatterCannon.Animation(0)}, 1 + (cl - 1) * (cframes / 6), Animations.ShatterCannon.Animation(1))
- print(1 + (cl - 1) * (cframes / 6), "|")
- Grip.C0 = Grip.C0 * CFrame.fromEulerAnglesXYZ(0, 0, -math.rad(26.296296296296 * (cframes + 22)))
- print(26.666666666667 * (cframes + 26))
- else
- if rawframes > 43 and rawframes <= 46 then
- if rawframes == 44 then
- cl = 0
- local par, loc = workspace:FindPartOnRay(Ray.new(vPlayer.Character.Torso.Position, Vector3.new(0, -3, 0)), vPlayer.Character)
- local pz = NewPart(Vector3.new(6, 6, 1), CFrame.new(loc) * CFrame.Angles(math.pi / 2, 0, 0), "Really black", "BlockMesh", Vector3.new(1, 1, 0))
- pz.Transparency = 1
- pz.Anchored = true
- pz.CanCollide = false
- pz.Parent = workspace
- pz.Name = "Rune"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=234376725"
- d1.Face = "Front"
- d1.Name = "d1"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=234376725"
- d1.Face = "Back"
- d1.Name = "d2"
- coroutine.resume(coroutine.create(function(p, dir)
- for i = 1, 5 do
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, math.rad(10 + i * 2))
- p.d1.Transparency = 0.9 + i / 50
- p.d2.Transparency = 0.9 + i / 50
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(2, 2, 0)
- fwait()
- end
- p:Remove()
- end
- ), pz, CPlane)
- game:GetService("Debris"):AddItem(pz, 6)
- p = Instance.new("Sound", vPlayer.Character.Torso)
- p.Volume = 1
- p.Pitch = 0.7
- p.SoundId = "http://www.roblox.com/asset/?id=231917856"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(vPlayer.Character.Torso.Position) * CFrame.Angles(0, math.random(-10, 10), 0), "Really black", "SpecialMesh", Vector3.new(3, 5, 3))
- pc.Mesh.MeshType = "FileMesh"
- pc.Anchored = true
- pc.CanCollide = false
- pc.Parent = workspace
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- pc.Name = "Shockwave"
- pc.Transparency = 0.5
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 15 do
- p.Transparency = ii / 15
- p.CFrame = p.CFrame * CFrame.Angles(0, math.rad(5 + ii), 0) - Vector3.new(0, 0.25, 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1.3, -0.33, 1.3)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(vPlayer.Character.Torso.Position + CPlane * 6, vPlayer.Character.Torso.Position - CPlane * 9.5) * CFrame.Angles(-math.pi / 2, math.random(-10, 10), 0), "Institutional white", "SpecialMesh", Vector3.new(7.3, 6, 7.3))
- pc.Mesh.MeshType = "FileMesh"
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- pc.Name = "Shockwave"
- pc.Transparency = 0.5
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 9 do
- p.Transparency = 0.5 + ii / 18
- p.CFrame = p.CFrame * CFrame.Angles(0, math.rad(3 + ii), 0) * CFrame.new(0, 0.5, 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1, -0.3, 1)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(vPlayer.Character.Torso.Position + CPlane * 15, vPlayer.Character.Torso.Position - CPlane * 9.5) * CFrame.Angles(-math.pi / 2, math.random(-10, 10), 0), "Institutional white", "SpecialMesh", Vector3.new(4, 4, 4))
- pc.Mesh.MeshType = "FileMesh"
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- pc.Name = "Shockwave"
- pc.Transparency = 0.5
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 9 do
- p.Transparency = 0.5 + ii / 18
- p.CFrame = p.CFrame * CFrame.Angles(0, math.rad(3 + ii), 0) * CFrame.new(0, 0.5, 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1, -0.2, 1)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(vPlayer.Character.Torso.Position + CPlane * 23, vPlayer.Character.Torso.Position - CPlane * 9.5) * CFrame.Angles(-math.pi / 2, math.random(-10, 10), 0), "Institutional white", "SpecialMesh", Vector3.new(2, 2, 2))
- pc.Mesh.MeshType = "FileMesh"
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- pc.Name = "Shockwave"
- pc.Transparency = 0.5
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 9 do
- p.Transparency = 0.5 + ii / 18
- p.CFrame = p.CFrame * CFrame.Angles(0, math.rad(3 + ii), 0) * CFrame.new(0, 0.5, 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.5, -0.1, 0.5)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(vPlayer.Character.Torso.Position + CPlane * 0, vPlayer.Character.Torso.Position - CPlane * 9.5) * CFrame.Angles(0, 0, 0), "Black", "SpecialMesh", Vector3.new(2.5, 2.5, 2))
- pc.Mesh.MeshType = "Sphere"
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Transparency = 0.5
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 10 do
- p.Transparency = ii / 10
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, 0) * CFrame.new(0, 0, (ii * 0.45 + 0.5) / 1.5)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(-0.25, -0.25, ii * 0.9 + 0.4)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(vPlayer.Character.Torso.Position + CPlane * 0, vPlayer.Character.Torso.Position - CPlane * 9.5) * CFrame.Angles(0, 0, 0), "Royal purple", "SpecialMesh", Vector3.new(2, 2, 3))
- pc.Mesh.MeshType = "Sphere"
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Transparency = 0.5
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 10 do
- p.Transparency = ii / 10
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, 0) * CFrame.new(0, 0, (ii * 0.75 + 0.5) / 1.5)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(-0.2, -0.2, ii * 0.9 + 0.85)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(vPlayer.Character.Torso.Position + CPlane * 0, vPlayer.Character.Torso.Position - CPlane * 9.5) * CFrame.Angles(0, 0, 0), "Really black", "SpecialMesh", Vector3.new(4, 4, 2))
- pc.Mesh.MeshType = "Sphere"
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Transparency = 0.5
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 10 do
- p.Transparency = ii / 10
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, 0) * CFrame.new(0, 0, (ii * 0.5 + 0.5) / 1.5)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(-0.4, -0.4, ii * 0.9 + 0.85)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(vPlayer.Character.Torso.Position + CPlane * 0, vPlayer.Character.Torso.Position - CPlane * 9.5) * CFrame.Angles(0, 0, 0), "Really black", "SpecialMesh", Vector3.new(5, 5, 2))
- pc.Mesh.MeshType = "Sphere"
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Transparency = 0.5
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 12 do
- p.Transparency = ii / 12
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, 0) * CFrame.new(0, 0, (ii * 0.5 + 0.5) / 1.5)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(-0.41666666666667, -0.41666666666667, ii * 0.9 + 0.85)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- for _,v in pairs(GetNubsInRadius(vPlayer.Character.HumanoidRootPart.Position + Vector3.new(0, 1, 0), 25)) do
- applyCameraShake(v, 360, 4)
- end
- applyCameraShake(vPlayer.Character, 360, 4)
- end
- do
- cframes = rawframes - 43
- cl = cframes * 0.33
- LerpWelds({Animations.ShatterCannon.Animation(1)}, cl, Animations.ShatterCannon.Animation(2))
- print(cl, "D")
- if rawframes >= 60 then
- LerpWelds({Animations.ShatterCannon.Animation(2)}, (rawframes - 60) / 10, Animations.Stand.Animation(0))
- end
- if rawframes > 46 and rawframes <= 53 then
- BodyVel.velocity = CPlane * 50
- for _,v in pairs(GetNubsInRadius(vPlayer.Character.HumanoidRootPart.Position + CPlane * ((rawframes - 45) * 3.3), 7)) do
- applyCameraShake(v, 500, 18)
- DidHit = true
- if v.Humanoid:FindFirstChild("SADebounce" .. asset) == nil then
- for sus = 1, 3 do
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(v.Torso.Position, v.Torso.Position - CPlane * 9.5) * CFrame.Angles(math.random(-30, 30) / 50, math.random(-30, 30) / 50, math.random(-30, 30) / 50), "Really black", "SpecialMesh", Vector3.new(3, 3, 2))
- pc.Mesh.MeshType = "FileMesh"
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Transparency = 0.5
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 18 do
- p.Transparency = ii / 18
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, 0) * CFrame.new(0, 0, 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1.6 - ii * 0.07, 1.6 - ii * 0.07, 0)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- end
- end
- do
- do
- applyDamage(v, 40, CPlane * 80 + Vector3.new(0, 20, 0), true, false, nil, 1, 1, "231917970", 0.82, true, true)
- -- DECOMPILER ERROR at PC1344: LeaveBlock: unexpected jumping out DO_STMT
- end
- end
- end
- else
- BodyVel.velocity = BodyVel.velocity / 1.3
- end
- if rawframes == 70 then
- TrackFunction:disconnect()
- TrackFunction = nil
- DesiredWalkspeed = 18
- PlayerIsAttacking = false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes = rawframes + 1
- end
- end
- end
- end
- end
- end
- end
- end
- end
- )
- end
- InputNormals.X = function()
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- TrackFunction = nil
- end
- CanInterrupt(false)
- PlayerIsAttacking = true
- local rawframes = 0
- Tool.Status.AnimFrame.Value = 0
- local DidHit = false
- ccctime = tick()
- local CPlane = MousePlane()
- vPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(vPlayer.Character.HumanoidRootPart.Position, vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
- local cl = 0
- local clastframe = lastframe
- local cproj = nil
- local cprojtab = {}
- local cpm = Instance.new("Model")
- game:GetService("Debris"):AddItem(cpm, 10)
- cpm.Name = "BSHolder"
- TrackFunction = FakeHeartbeat.Event:connect(function()
- if rawframes < 4 then
- CPlane = MousePlane()
- end
- BodyVel.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.cframe = CFrame.new(BodyGyro.Parent.Position, BodyGyro.Parent.Position + CPlane * 50)
- if rawframes == 0 then
- BodyGyro.Parent.CFrame = BodyGyro.cframe
- end
- do
- if rawframes < 25 then
- local pc = NewPart(Vector3.new(1, 1, 1), vPlayer.Character["Left Arm"].CFrame * CFrame.new(0, -1.5, 0) * CFrame.Angles(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)), "Really black", "BlockMesh", Vector3.new(1.6, 1.6, 1.6))
- pc.CanCollide = false
- pc.Anchored = true
- pc.Parent = workspace
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- local R = CFrame.Angles(math.random(-3, 3), math.random(-4, 4), math.random(-5, 5))
- local C = Vector3.new(math.random(-5, 5) / 40, math.random(-5, 5) / 40, math.random(-5, 5) / 40)
- for i = 1, 20 do
- p.Mesh.Scale = p.Mesh.Scale - Vector3.new(1, 1, 1) / 30
- p.Transparency = 0.5 + i / 40
- p.CFrame = p.CFrame * R - Vector3.new(0, 0.029757575757576 * i, 0) + C
- fwait()
- end
- p:Remove()
- end
- ), pc)
- end
- if rawframes <= 5 then
- LerpWelds(clastframe, rawframes / 5, Animations.BlackSpace.Animation(0))
- if rawframes == 1 then
- p = Instance.new("Sound", vPlayer.Character.Torso)
- p.Volume = 0.85
- p.Pitch = 0.9
- p.SoundId = "http://www.roblox.com/asset/?id=233091161"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- end
- else
- if rawframes > 5 and rawframes <= 8 then
- LerpWelds(clastframe, 1 + (rawframes - 6) * 0.02, Animations.BlackSpace.Animation(0))
- if rawframes == 6 then
- local pz = NewPart(Vector3.new(2, 2, 1), vPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0.4, -4.7), "Really black", "BlockMesh", Vector3.new(1.5, 1.5, 0))
- pz.Transparency = 1
- pz.Anchored = true
- pz.CanCollide = false
- pz.Parent = workspace
- pz.Name = "Rune"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=233069802"
- d1.Face = "Front"
- d1.Name = "d1"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=233069802"
- d1.Face = "Back"
- d1.Name = "d2"
- coroutine.resume(coroutine.create(function(p, dir)
- for i = 1, 28 do
- fwait()
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, math.rad(28 - i))
- if i <= 7 then
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(i * 0.12, i * 0.12, 0)
- end
- if i > 20 then
- p.d1.Transparency = (i - 20) / 8
- p.d2.Transparency = (i - 20) / 8
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, math.rad((i - 20) * 5))
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.1, 0.1, 0)
- end
- end
- p:Remove()
- end
- ), pz, CPlane)
- game:GetService("Debris"):AddItem(pz, 6)
- else
- do
- if rawframes == 8 then
- local pz = NewPart(Vector3.new(2, 2, 1), vPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0.4, -4.7), "Really black", "BlockMesh", Vector3.new(1.5, 1.5, 0))
- pz.Transparency = 1
- pz.Anchored = true
- pz.CanCollide = false
- pz.Parent = workspace
- pz.Name = "Rune"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=233069844"
- d1.Face = "Front"
- d1.Name = "d1"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=233069844"
- d1.Face = "Back"
- d1.Name = "d2"
- coroutine.resume(coroutine.create(function(p, dir)
- for i = 1, 28 do
- fwait()
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, -math.rad(28 - i))
- if i <= 7 then
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(i * 0.048, i * 0.048, 0)
- end
- if i > 20 then
- p.d1.Transparency = (i - 20) / 8
- p.d2.Transparency = (i - 20) / 8
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, -math.rad((i - 20) * 5))
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.1, 0.1, 0)
- end
- end
- p:Remove()
- end
- ), pz, CPlane)
- game:GetService("Debris"):AddItem(pz, 6)
- end
- do
- if rawframes > 8 and rawframes <= 12 then
- LerpWelds(clastframe, 1.04 - (rawframes - 8) * 0.02, Animations.BlackSpace.Animation(0))
- else
- if rawframes > 12 and rawframes <= 17 then
- cl = cl + (rawframes - 12) * 0.066
- if rawframes == 15 then
- p = Instance.new("Sound", vPlayer.Character.Torso)
- p.Volume = 0.4
- p.Pitch = 0.7
- p.SoundId = "http://www.roblox.com/asset/?id=233856140"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- end
- LerpWelds({Animations.BlackSpace.Animation(0)}, cl, Animations.BlackSpace.Animation(1))
- print(cl)
- else
- if rawframes > 17 and rawframes <= 20 then
- LerpWelds({Animations.BlackSpace.Animation(0)}, 1 + (rawframes - 17) * 0.02, Animations.BlackSpace.Animation(1))
- else
- if rawframes > 20 and rawframes <= 23 then
- LerpWelds({Animations.BlackSpace.Animation(0)}, 1.04 - (rawframes - 20) * 0.02, Animations.BlackSpace.Animation(1))
- else
- if rawframes > 25 and rawframes <= 34 then
- LerpWelds({Animations.BlackSpace.Animation(1)}, (rawframes - 25) / 9, Animations.Stand.Animation(0))
- end
- end
- end
- end
- end
- do
- if rawframes == 17 then
- local eb = BillboardGui("http://www.roblox.com/asset/?id=234376736", vPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0.4, -6).p, 0)
- eb.Parent = workspace
- eb.BillboardGui.ImageLabel.Rotation = math.random(-180, 180)
- eb.BillboardGui.Size = UDim2.new(8, 0, 8, 0)
- eb.BillboardGui.ImageLabel.ImageTransparency = 0.5
- game:GetService("Debris"):AddItem(eb, 3)
- p = Instance.new("Sound", eb)
- p.Volume = 1
- p.Pitch = 1
- p.SoundId = "http://www.roblox.com/asset/?id=231917975"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- coroutine.resume(coroutine.create(function(p, cdir)
- for i = 1, 50 do
- p.CFrame = p.CFrame + cdir * 0.2
- if i >= 45 then
- p.BillboardGui.ImageLabel.ImageTransparency = p.BillboardGui.ImageLabel.ImageTransparency + 0.1
- end
- p.BillboardGui.ImageLabel.Rotation = p.BillboardGui.ImageLabel.Rotation - (i + 5)
- if i % 8 == 0 and i <= 40 then
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(p.Position - Vector3.new(0, 2.2, 0)) * CFrame.Angles(0, math.random(-10, 10), 0), "Light stone grey", "SpecialMesh", Vector3.new(12, 2, 12))
- pc.Mesh.MeshType = "FileMesh"
- pc.Anchored = true
- pc.CanCollide = false
- pc.Parent = workspace
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- pc.Name = "Shockwave"
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 20 do
- p.Transparency = 0.75 + ii / 80
- p.CFrame = p.CFrame * CFrame.Angles(0, -math.rad(3 + ii), 0) - Vector3.new(0, 0.05, 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.4, -0.1, 0.4)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- if i < 40 then
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(p.Position) * CFrame.Angles(0 + math.rad(90), 0, 0), "Really black", "SpecialMesh", Vector3.new(5, 5, 2))
- pc.Mesh.MeshType = "FileMesh"
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Transparency = 0.5
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p, cdir)
- for ii = 1, 12 do
- p.Transparency = ii / 12
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, 0) * CFrame.new(0, 0, 0) + cdir * 0.15
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1.4, 1.4, 0)
- fwait()
- end
- p:Remove()
- end
- ), pc, cdir)
- end
- end
- do
- if i % 5 == 0 and i <= 50 then
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(p.Position) * CFrame.Angles(math.random(-30, 30) / 50 + math.rad(90), math.random(-30, 30) / 50, math.random(-30, 30) / 50), "Really black", "SpecialMesh", Vector3.new(8, 8, 3))
- pc.Mesh.MeshType = "FileMesh"
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Transparency = 0.5
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p, cdir)
- for ii = 1, 12 do
- p.Transparency = ii / 12
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, 0) * CFrame.new(0, 0, 0) + cdir * 0.15
- p.Mesh.Scale = p.Mesh.Scale - Vector3.new(0.7, 0.7, 0)
- fwait()
- end
- p:Remove()
- end
- ), pc, cdir)
- for _,v in pairs(GetNubsInRadius(p.Position, 28)) do
- local sitoop = (p.Position - v.Torso.Position) * 8
- if p.Position - v.Torso.Position.magnitude <= 8 then
- applyDamage(v, 1, Vector3.new(), false, false, nil, 0.01, 1, "233856106", math.random(190, 210) / 100, false, false)
- local pz = Instance.new("BodyPosition", v.Torso)
- pz.P = 3500
- pz.D = 1500
- pz.maxForce = Vector3.new(180000, 180000, 180000)
- pz.position = p.Position + cdir * 4
- game:GetService("Debris"):AddItem(pz, 0.1)
- local cpro = NewPart(Vector3.new(1, 1, 1), CFrame.new(v.Torso.Position + Vector3.new(math.random(-2, 2), math.random(-2, 2), math.random(-2, 2))), "Really black", "BlockMesh", Vector3.new(1, 1, 1))
- cpro.Anchored = true
- cpro.CanCollide = false
- cpro.Reflectance = 0.1
- cpro.Parent = workspace
- cpro.Transparency = 0.5
- game:GetService("Debris"):AddItem(cpro, 10)
- coroutine.resume(coroutine.create(function(p, cdir, R)
- for ii = 1, 10 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.5, 0.5, 0.5)
- p.Transparency = 0.5 + ii / 20
- p.CFrame = p.CFrame * R
- fwait()
- end
- end
- ), cpro, cdir, CFrame.Angles(math.random(-30, 30) / 100, math.random(-30, 30) / 100, math.random(-30, 30) / 100))
- end
- do
- applyCameraShake(v, 50, 5)
- do
- local cpro = NewPart(Vector3.new(1, 1, 1), CFrame.new(v.Torso.Position + Vector3.new(math.random(-2, 2), math.random(-2, 2), math.random(-2, 2))), "Really black", "SpecialMesh", Vector3.new(1, 1, 1))
- cpro.Anchored = true
- cpro.Mesh.MeshType = "Sphere"
- cpro.CanCollide = false
- cpro.Reflectance = 0.1
- cpro.Parent = workspace
- cpro.Transparency = 0.5
- game:GetService("Debris"):AddItem(cpro, 10)
- coroutine.resume(coroutine.create(function(p, cdir)
- for ii = 1, 7 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.5, 0.5, 0.5)
- p.Transparency = 0.5 + ii / 14
- p.CFrame = p.CFrame + cdir * 0.15
- fwait()
- end
- end
- ), cpro, cdir)
- -- DECOMPILER ERROR at PC451: LeaveBlock: unexpected jumping out DO_STMT
- end
- end
- end
- local cpro = NewPart(Vector3.new(1, 1, 1), p.CFrame, "Really black", "SpecialMesh", Vector3.new(6, 6, 6))
- cpro.Anchored = true
- cpro.Mesh.MeshType = "Sphere"
- cpro.CanCollide = false
- cpro.Reflectance = 0.1
- cpro.Parent = workspace
- cpro.Transparency = 0.5
- game:GetService("Debris"):AddItem(cpro, 10)
- coroutine.resume(coroutine.create(function(p, cdir)
- for ii = 1, 10 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.75, 0.75, 0.75)
- p.Transparency = 0.5 + ii / 20
- p.CFrame = p.CFrame + cdir * 0.15
- fwait()
- end
- end
- ), cpro, cdir)
- local cpro = NewPart(Vector3.new(1, 1, 1), p.CFrame, "Really black", "SpecialMesh", Vector3.new(12, 12, 12))
- cpro.Anchored = true
- cpro.Mesh.MeshType = "Sphere"
- cpro.CanCollide = false
- cpro.Reflectance = 0.1
- cpro.Parent = workspace
- cpro.Transparency = 0.5
- game:GetService("Debris"):AddItem(cpro, 10)
- coroutine.resume(coroutine.create(function(p, cdir)
- for ii = 1, 10 do
- p.Mesh.Scale = p.Mesh.Scale - Vector3.new(0.95, 0.95, 0.95)
- p.Transparency = 0.5 + ii / 20
- p.CFrame = p.CFrame + cdir * 0.15
- fwait()
- end
- end
- ), cpro, cdir)
- local cpro = NewPart(Vector3.new(1, 1, 1), p.CFrame, "Really black", "SpecialMesh", Vector3.new(17, 17, 17))
- cpro.Anchored = true
- cpro.Mesh.MeshType = "Sphere"
- cpro.CanCollide = false
- cpro.Reflectance = 0.1
- cpro.Parent = workspace
- cpro.Transparency = 0.5
- game:GetService("Debris"):AddItem(cpro, 10)
- coroutine.resume(coroutine.create(function(p, cdir)
- for ii = 1, 15 do
- p.Mesh.Scale = p.Mesh.Scale - Vector3.new(1.2, 1.2, 1.2)
- p.Transparency = 0.75 + ii / 60
- p.CFrame = p.CFrame + cdir * 0.15
- fwait()
- end
- end
- ), cpro, cdir)
- end
- do
- do
- fwait()
- -- DECOMPILER ERROR at PC581: LeaveBlock: unexpected jumping out DO_STMT
- -- DECOMPILER ERROR at PC581: LeaveBlock: unexpected jumping out DO_STMT
- end
- end
- end
- end
- p:Remove()
- end
- ), eb, CPlane)
- end
- BodyVel.velocity = BodyVel.velocity / 1.1
- if rawframes == 34 then
- TrackFunction:disconnect()
- TrackFunction = nil
- DesiredWalkspeed = 18
- PlayerIsAttacking = false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes = rawframes + 1
- end
- end
- end
- end
- end
- end
- end
- end
- )
- end
- InputNormals.M = function()
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- TrackFunction = nil
- end
- CanInterrupt(false)
- PlayerIsAttacking = true
- local rawframes = 0
- Tool.Status.AnimFrame.Value = 0
- local DidHit = false
- ccctime = tick()
- local CPlane = MousePlane()
- vPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(vPlayer.Character.HumanoidRootPart.Position, vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
- local cl = 0
- local clastframe = lastframe
- TrackFunction = FakeHeartbeat.Event:connect(function()
- if rawframes < 4 then
- CPlane = MousePlane()
- end
- BodyVel.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.cframe = CFrame.new(BodyGyro.Parent.Position, BodyGyro.Parent.Position + CPlane * 50)
- if rawframes == 0 then
- BodyGyro.Parent.CFrame = BodyGyro.cframe
- end
- if rawframes <= 5 then
- LerpWelds(clastframe, rawframes / 5, Animations.Z.Animation(0))
- if rawframes == 1 then
- p = Instance.new("Sound", vPlayer.Character.Torso)
- p.Volume = 1
- p.Pitch = 0.8
- p.SoundId = "http://www.roblox.com/asset/?id=233856140"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- end
- else
- if rawframes > 5 and rawframes <= 9 then
- LerpWelds(clastframe, 1 + (rawframes - 6) * 0.02, Animations.Z.Animation(0))
- else
- if rawframes > 9 and rawframes <= 13 then
- LerpWelds(clastframe, 1.06 - (rawframes - 10) * 0.02, Animations.Z.Animation(0))
- else
- if rawframes > 13 then
- LerpWelds({Animations.Z.Animation(0)}, (rawframes - 13) / 7, Animations.Stand.Animation(0))
- end
- end
- end
- end
- if rawframes >= 1 and rawframes <= 5 then
- BodyVel.velocity = CPlane * (rawframes * 4 + 5)
- else
- BodyVel.velocity = BodyVel.velocity / 1.2
- end
- if rawframes >= 2 and rawframes <= 6 and rawframes % 2 == 0 then
- for _,v in pairs(GetNubsInRadius(vPlayer.Character.Torso.Position + CPlane * 2.5, 3.6)) do
- applyDamage(R6_PC196, 8, CPlane * 30, false, false, nil, 0.2, 1, "153092238", 1, false, true)
- applyCameraShake(R6_PC196, 70, 5)
- DidHit = true
- end
- end
- do
- if rawframes == 7 then
- setlastnormal("M")
- CanInterrupt(true)
- end
- if rawframes == 20 then
- TrackFunction:disconnect()
- TrackFunction = nil
- DesiredWalkspeed = 18
- PlayerIsAttacking = false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes = rawframes + 1
- end
- end
- )
- end
- InputNormals.MM = function()
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- TrackFunction = nil
- end
- CanInterrupt(false)
- PlayerIsAttacking = true
- local rawframes = 0
- Tool.Status.AnimFrame.Value = 0
- local DidHit = false
- local CPlane = MousePlane()
- vPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(vPlayer.Character.HumanoidRootPart.Position, vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
- local lpos = vPlayer.Character.Weapon.Blade.CFrame
- local cpos = nil
- local cl = 0
- local clastframe = lastframe
- TrackFunction = FakeHeartbeat.Event:connect(function()
- if rawframes < 6 then
- CPlane = MousePlane()
- end
- BodyVel.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.cframe = CFrame.new(BodyGyro.Parent.Position, BodyGyro.Parent.Position + CPlane * 50)
- if rawframes == 0 then
- BodyGyro.Parent.CFrame = BodyGyro.cframe
- end
- if rawframes <= 4 then
- LerpWelds(clastframe, rawframes / 4, Animations.ZZ.Animation(0))
- if rawframes == 1 then
- p = Instance.new("Sound", vPlayer.Character.Weapon.Blade)
- p.Volume = 1
- p.Pitch = 0.6
- p.SoundId = "http://www.roblox.com/asset/?id=234365549"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- end
- else
- if rawframes > 4 and rawframes <= 6 then
- LerpWelds({Animations.ZZ.Animation(0)}, (rawframes - 4) / 2, Animations.ZZ.Animation(1))
- else
- if rawframes > 6 and rawframes <= 8 then
- LerpWelds({Animations.ZZ.Animation(1)}, (rawframes - 6) / 2, Animations.ZZ.Animation(2))
- else
- if rawframes > 8 and rawframes <= 11 then
- LerpWelds({Animations.ZZ.Animation(1)}, 1 + (rawframes - 8) * 0.03, Animations.ZZ.Animation(2))
- else
- if rawframes > 11 and rawframes <= 15 then
- LerpWelds({Animations.ZZ.Animation(1)}, 1.08 - (rawframes - 11) * 0.03, Animations.ZZ.Animation(2))
- else
- if rawframes > 15 then
- LerpWelds({Animations.ZZ.Animation(2)}, (rawframes - 15) / 6, Animations.Stand.Animation(0))
- end
- end
- end
- end
- end
- end
- if rawframes >= 3 and rawframes <= 5 then
- BodyVel.velocity = CPlane * (rawframes * 4 + 15)
- else
- BodyVel.velocity = BodyVel.velocity / 1.5
- end
- if rawframes >= 4 and rawframes <= 10 and rawframes % 2 == 0 then
- for _,v in pairs(GetNubsInRadius(vPlayer.Character.HumanoidRootPart.Position + CPlane * 2, 4)) do
- applyDamage(R6_PC257, 9, CPlane * 40, false, false, nil, 0.4, 1, "201858024", 0.6, true, true)
- applyCameraShake(R6_PC257, 90, 5)
- DidHit = true
- end
- end
- do
- if rawframes < 19 and rawframes % 2 == 0 then
- lpos = vPlayer.Character.Weapon.Blade.CFrame
- if cpos and cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p.magnitude > 0.1 then
- local h = vPlayer.Character.Weapon.Blade.Size.y / 2
- -- DECOMPILER ERROR at PC308: Overwrote pending register: R6 in 'AssignReg'
- -- DECOMPILER ERROR at PC316: Overwrote pending register: R6 in 'AssignReg'
- -- DECOMPILER ERROR at PC324: Overwrote pending register: R6 in 'AssignReg'
- -- DECOMPILER ERROR at PC332: Overwrote pending register: R6 in 'AssignReg'
- local a, b = Triangle(cpos * CFrame.new(0, h, R6_PC257).p, cpos * CFrame.new(0, R6_PC257, 0).p, lpos * CFrame.new(R6_PC257, h, 0).p, BrickColor.new(R6_PC257))
- if a then
- game:GetService("Debris"):AddItem(a, 5)
- end
- if b then
- game:GetService("Debris"):AddItem(b, 5)
- end
- local a, b = Triangle(lpos * CFrame.new(0, h, 0).p, lpos * CFrame.new(0, -h, 0).p, cpos * CFrame.new(0, -h, 0).p, BrickColor.new("Black"))
- if a then
- game:GetService("Debris"):AddItem(a, 5)
- end
- if b then
- game:GetService("Debris"):AddItem(b, 5)
- end
- cpos = lpos
- else
- do
- if not cpos then
- cpos = lpos
- end
- if rawframes == 10 then
- CanInterrupt(true)
- setlastnormal("MM")
- end
- if rawframes == 21 then
- TrackFunction:disconnect()
- TrackFunction = nil
- DesiredWalkspeed = 18
- PlayerIsAttacking = false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes = rawframes + 1
- end
- end
- end
- end
- end
- )
- end
- InputNormals.MMM = function()
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- TrackFunction = nil
- end
- CanInterrupt(false)
- PlayerIsAttacking = true
- local rawframes = 0
- Tool.Status.AnimFrame.Value = 0
- local DidHit = false
- local CPlane = MousePlane()
- vPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(vPlayer.Character.HumanoidRootPart.Position, vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
- local cl = 0
- local clastframe = lastframe
- local lpos = vPlayer.Character.Weapon.Blade.CFrame
- local cpos = nil
- TrackFunction = FakeHeartbeat.Event:connect(function()
- if rawframes < 8 then
- CPlane = MousePlane()
- end
- BodyVel.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.cframe = CFrame.new(BodyGyro.Parent.Position, BodyGyro.Parent.Position + CPlane * 50)
- if rawframes == 0 then
- BodyGyro.Parent.CFrame = BodyGyro.cframe
- end
- if rawframes <= 8 then
- LerpWelds(clastframe, rawframes / 8, Animations.ZZZ.Animation(0))
- else
- if rawframes > 8 and rawframes <= 15 then
- cl = cl + (rawframes - 8) * 0.036
- LerpWelds({Animations.ZZZ.Animation(0)}, cl, Animations.ZZZ.Animation(1))
- if rawframes == 9 then
- p = Instance.new("Sound", vPlayer.Character.Weapon.Blade)
- p.Volume = 1
- p.Pitch = 0.85
- p.SoundId = "http://www.roblox.com/asset/?id=234365573"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- end
- else
- if rawframes > 15 and rawframes <= 21 then
- LerpWelds({Animations.ZZZ.Animation(0)}, 1 + (rawframes - 15) * 0.01, Animations.ZZZ.Animation(1))
- else
- if rawframes > 21 and rawframes <= 25 then
- LerpWelds({Animations.ZZZ.Animation(0)}, 1.1 - (rawframes - 21) * 0.04, Animations.ZZZ.Animation(1))
- else
- if rawframes > 25 then
- LerpWelds({Animations.ZZZ.Animation(1)}, (rawframes - 25) / 6, Animations.Stand.Animation(0))
- end
- end
- end
- end
- end
- if rawframes >= 7 and rawframes <= 8 then
- BodyVel.velocity = CPlane * (rawframes * 5 + 26)
- else
- BodyVel.velocity = BodyVel.velocity / 1.7
- end
- if rawframes >= 8 and rawframes <= 14 and rawframes % 2 == 0 then
- for _,v in pairs(GetNubsInRadius(vPlayer.Character.HumanoidRootPart.Position + CPlane * 2, 4)) do
- applyDamage(R6_PC237, 9, CPlane * 50, false, false, nil, 0.6, 1, "201858024", 0.5, true, true)
- applyCameraShake(R6_PC237, 90, 5)
- DidHit = true
- end
- end
- do
- if rawframes < 18 and rawframes % 2 == 0 then
- lpos = vPlayer.Character.Weapon.Blade.CFrame
- if cpos and cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p.magnitude > 0.1 then
- local h = vPlayer.Character.Weapon.Blade.Size.y / 2
- -- DECOMPILER ERROR at PC288: Overwrote pending register: R6 in 'AssignReg'
- -- DECOMPILER ERROR at PC296: Overwrote pending register: R6 in 'AssignReg'
- -- DECOMPILER ERROR at PC304: Overwrote pending register: R6 in 'AssignReg'
- -- DECOMPILER ERROR at PC312: Overwrote pending register: R6 in 'AssignReg'
- local a, b = Triangle(cpos * CFrame.new(0, h, R6_PC237).p, cpos * CFrame.new(0, R6_PC237, 0).p, lpos * CFrame.new(R6_PC237, h, 0).p, BrickColor.new(R6_PC237))
- if a then
- game:GetService("Debris"):AddItem(a, 5)
- end
- if b then
- game:GetService("Debris"):AddItem(b, 5)
- end
- local a, b = Triangle(lpos * CFrame.new(0, h, 0).p, lpos * CFrame.new(0, -h, 0).p, cpos * CFrame.new(0, -h, 0).p, BrickColor.new("Black"))
- if a then
- game:GetService("Debris"):AddItem(a, 5)
- end
- if b then
- game:GetService("Debris"):AddItem(b, 5)
- end
- cpos = lpos
- else
- do
- if not cpos then
- cpos = lpos
- end
- if rawframes == 16 then
- CanInterrupt(true)
- setlastnormal("MMM")
- end
- if rawframes == 31 then
- TrackFunction:disconnect()
- TrackFunction = nil
- DesiredWalkspeed = 18
- PlayerIsAttacking = false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes = rawframes + 1
- end
- end
- end
- end
- end
- )
- end
- InputNormals.MMMM = function()
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- TrackFunction = nil
- end
- CanInterrupt(false)
- PlayerIsAttacking = true
- local rawframes = 0
- Tool.Status.AnimFrame.Value = 0
- local DidHit = false
- local CPlane = MousePlane()
- vPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(vPlayer.Character.HumanoidRootPart.Position, vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
- local cl = 0
- local clastframe = lastframe
- TrackFunction = FakeHeartbeat.Event:connect(function()
- if rawframes < 9 then
- CPlane = MousePlane()
- end
- BodyVel.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.cframe = CFrame.new(BodyGyro.Parent.Position, BodyGyro.Parent.Position + CPlane * 50)
- if rawframes == 0 then
- BodyGyro.Parent.CFrame = BodyGyro.cframe
- end
- BodyVel.velocity = BodyVel.velocity / 1.25
- if rawframes <= 5 then
- LerpWelds(clastframe, rawframes / 5, Animations.ZZZZ.Animation(0))
- else
- if rawframes > 5 and rawframes <= 10 then
- LerpWelds({Animations.ZZZZ.Animation(0)}, (rawframes - 5) / 5, Animations.ZZZZ.Animation(1))
- if rawframes == 6 then
- p = Instance.new("Sound", vPlayer.Character.Torso)
- p.Volume = 0.25
- p.Pitch = 0.9
- p.SoundId = "http://www.roblox.com/asset/?id=233856140"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- end
- local pc = NewPart(Vector3.new(1, 1, 1), vPlayer.Character["Left Arm"].CFrame * CFrame.new(0, -1.5, 0) * CFrame.Angles(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)), "Really black", "BlockMesh", Vector3.new(1.6, 1.6, 1.6))
- pc.CanCollide = false
- pc.Anchored = true
- pc.Parent = workspace
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- local R = CFrame.Angles(math.random(-3, 3), math.random(-4, 4), math.random(-5, 5))
- local C = Vector3.new(math.random(-5, 5) / 40, math.random(-5, 5) / 40, math.random(-5, 5) / 40)
- for i = 1, 20 do
- p.Mesh.Scale = p.Mesh.Scale - Vector3.new(1, 1, 1) / 30
- p.Transparency = i / 20
- p.CFrame = p.CFrame * R - Vector3.new(0, 0.029757575757576 * i, 0) + C
- fwait()
- end
- p:Remove()
- end
- ), pc)
- else
- do
- if rawframes > 20 and rawframes <= 26 then
- LerpWelds({Animations.ZZZZ.Animation(0)}, 1 - (rawframes - 20) * 0.02, Animations.ZZZZ.Animation(1))
- else
- if rawframes > 26 and rawframes <= 33 then
- LerpWelds({Animations.ZZZZ.Animation(1)}, (rawframes - 26) / 7.05 - 0.1, Animations.ZZZZ.Animation(2))
- else
- if rawframes > 40 then
- LerpWelds({Animations.ZZZZ.Animation(2)}, (rawframes - 40) / 9, Animations.Stand.Animation(0))
- end
- end
- end
- if rawframes == 30 then
- cpos = vPlayer.Character.Torso.Position + CPlane * 30
- coroutine.resume(coroutine.create(function(pos, dir)
- for i = 0, 2 do
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(pos - dir * (i * 10) - Vector3.new(0, 3, 0)) * CFrame.Angles(0, math.random(-10, 10), 0), "Really black", "SpecialMesh", Vector3.new(7, 1, 7))
- pc.Mesh.MeshType = "FileMesh"
- pc.Parent = workspace
- pc.Anchored = true
- pc.CanCollide = false
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- pc.Name = "Shockwave"
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 15 do
- p.Transparency = ii / 15
- p.CFrame = p.CFrame * CFrame.Angles(0, math.rad(15 + ii), 0) + Vector3.new(0, 0.35, 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(-0.4, 0.7, -0.4)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(pos - dir * (i * 8) + Vector3.new(0, 0, 0)) * CFrame.Angles(0, math.random(-10, 10), 0), "Black", "SpecialMesh", Vector3.new(1, 7, 1))
- pc.Mesh.MeshType = "FileMesh"
- pc.Anchored = true
- pc.CanCollide = false
- pc.Parent = workspace
- pc.Mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
- pc.Name = "Shockwave"
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- for ii = 1, 10 do
- p.Transparency = ii / 10
- p.CFrame = p.CFrame * CFrame.Angles(0, -math.rad(15 + ii), 0) - Vector3.new(0, 0.25, 0)
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1, -0.5, 1)
- fwait()
- end
- p:Remove()
- end
- ), pc)
- local p = Instance.new("Sound", pc)
- p.Volume = 1
- p.Pitch = 0.85
- p.SoundId = "http://www.roblox.com/asset/?id=233856106"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- for _,v in pairs(GetNubsInRadius(pc.CFrame.p + Vector3.new(0, 0, 0), 7.5)) do
- applyDamage(v, 3, -dir * (58.5 - i * 5), false, false, nil, 0.01, 1, "", 1.125, false, true)
- applyCameraShake(v, 70, 3)
- DidHit = true
- end
- fwait(0.215)
- end
- end
- ), cpos, CPlane)
- end
- if rawframes == 8 then
- local pz = NewPart(Vector3.new(1, 1, 1), CFrame.new(vPlayer.Character["Left Arm"].Position) + CPlane * 0.5, "Really black", "SpecialMesh", Vector3.new(2, 2, 0))
- pz.Anchored = true
- pz.CanCollide = false
- pz.Parent = workspace
- pz.Mesh.MeshType = "Sphere"
- game:GetService("Debris"):AddItem(pz, 5)
- local p = Instance.new("Sound", pz)
- p.Volume = 1
- p.Pitch = 0.65
- p.SoundId = "http://www.roblox.com/asset/?id=231917788"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- local p = Instance.new("Sound", pz)
- p.Volume = 1
- p.Pitch = 1
- p.SoundId = "http://www.roblox.com/asset/?id=233091183"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- local pc = NewPart(Vector3.new(1, 1, 1), vPlayer.Character["Left Arm"].CFrame * CFrame.new(0, -1.5, 0) * CFrame.Angles(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)), "Really black", "BlockMesh", Vector3.new(1.6, 1.6, 1.6))
- pc.CanCollide = false
- pc.Anchored = true
- pc.Parent = workspace
- game:GetService("Debris"):AddItem(pc, 5)
- coroutine.resume(coroutine.create(function(p)
- local R = CFrame.Angles(math.random(-3, 3), math.random(-4, 4), math.random(-5, 5))
- for i = 1, 15 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(2, 2, 2) / 15
- p.Transparency = i / 15
- p.CFrame = p.CFrame * R
- fwait()
- end
- p:Remove()
- end
- ), pc)
- coroutine.resume(coroutine.create(function(p, dir)
- for i = 1, 15 do
- fwait()
- p.CFrame = p.CFrame + dir * 1.5
- local pc = NewPart(Vector3.new(1, 1, 1), CFrame.new(p.Position) * CFrame.Angles(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)), "Really black", "BlockMesh", Vector3.new(1, 1, 1))
- pc.CanCollide = false
- pc.Anchored = true
- pc.Parent = workspace
- game:GetService("Debris"):AddItem(pc, 5)
- if i % 3 == 0 then
- for _,v in pairs(GetNubsInRadius(p.CFrame.p - CPlane * 2, 4.5)) do
- applyDamage(v, 2, dir * 52.5, false, false, nil, 0.01, 1, "231917784", 0.95, false, true)
- applyCameraShake(v, 50, 3)
- DidHit = true
- end
- end
- do
- do
- coroutine.resume(coroutine.create(function(p, c)
- for ii = 1, 8 do
- p.Mesh.Scale = p.Mesh.Scale * 1.1 + Vector3.new(c, c, c)
- p.Transparency = ii / 8
- fwait()
- end
- p:Remove()
- end
- ), pc, i / 20)
- -- DECOMPILER ERROR at PC107: LeaveBlock: unexpected jumping out DO_STMT
- end
- end
- end
- p:Remove()
- end
- ), pz, CPlane)
- local pz = NewPart(Vector3.new(2, 2, 1), CFrame.new(vPlayer.Character["Left Arm"].Position + CPlane * 1.5, vPlayer.Character["Left Arm"].Position + CPlane * 2), "Really black", "BlockMesh", Vector3.new(1.5, 1.5, 0))
- pz.Transparency = 1
- pz.Anchored = true
- pz.CanCollide = false
- pz.Parent = workspace
- pz.Name = "Rune"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=233069844"
- d1.Face = "Front"
- d1.Name = "d1"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=233069844"
- d1.Face = "Back"
- d1.Name = "d2"
- coroutine.resume(coroutine.create(function(p, dir)
- for i = 1, 28 do
- fwait()
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, math.rad(1 + i * 2))
- p.d1.Transparency = i / 28
- p.d2.Transparency = i / 28
- if i <= 14 then
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(i * 0.02, i * 0.02, 0)
- end
- end
- p:Remove()
- end
- ), pz, CPlane)
- game:GetService("Debris"):AddItem(pz, 6)
- end
- do
- if rawframes == 38 then
- CanInterrupt(true)
- setlastnormal("MMMM")
- end
- if rawframes == 48 then
- TrackFunction:disconnect()
- TrackFunction = nil
- DesiredWalkspeed = 18
- PlayerIsAttacking = false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes = rawframes + 1
- end
- end
- end
- end
- end
- )
- end
- InputNormals.MMMMM = function()
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- TrackFunction = nil
- end
- CanInterrupt(false)
- PlayerIsAttacking = true
- local rawframes = 0
- Tool.Status.AnimFrame.Value = 0
- local DidHit = false
- local CPlane = MousePlane()
- vPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(vPlayer.Character.HumanoidRootPart.Position, vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
- local lpos = vPlayer.Character.Weapon.Blade.CFrame
- local cpos = nil
- local cl = 0
- local clastframe = lastframe
- TrackFunction = FakeHeartbeat.Event:connect(function()
- if rawframes < 6 then
- CPlane = MousePlane()
- end
- BodyVel.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.cframe = CFrame.new(BodyGyro.Parent.Position, BodyGyro.Parent.Position + CPlane * 50)
- if rawframes == 0 then
- BodyGyro.Parent.CFrame = BodyGyro.cframe
- end
- if rawframes <= 5 then
- LerpWelds(clastframe, rawframes / 5, Animations.ZZZZZ.Animation(0))
- if rawframes == 3 then
- p = Instance.new("Sound", vPlayer.Character.Weapon.Blade)
- p.Volume = 1
- p.Pitch = 0.8
- p.SoundId = "http://www.roblox.com/asset/?id=234365549"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- end
- else
- if rawframes > 5 and rawframes <= 8 then
- LerpWelds({Animations.ZZZZZ.Animation(0)}, (rawframes - 5) / 4, Animations.ZZZZZ.Animation(1))
- else
- if rawframes > 8 and rawframes <= 11 then
- LerpWelds({Animations.ZZZZZ.Animation(1)}, (rawframes - 8) / 3, Animations.ZZZZZ.Animation(2))
- else
- if rawframes > 11 and rawframes <= 14 then
- LerpWelds({Animations.ZZZZZ.Animation(1)}, 1 + (rawframes - 11) * 0.03, Animations.ZZZZZ.Animation(2))
- else
- if rawframes > 14 and rawframes <= 19 then
- LerpWelds({Animations.ZZZZZ.Animation(1)}, 1.08 - (rawframes - 14) * 0.03, Animations.ZZZZZ.Animation(2))
- else
- if rawframes > 19 then
- LerpWelds({Animations.ZZZZZ.Animation(2)}, (rawframes - 19) / 8, Animations.Stand.Animation(0))
- end
- end
- end
- end
- end
- end
- if rawframes >= 1 and rawframes <= 5 then
- BodyVel.velocity = CPlane * (rawframes * 4 + 5)
- else
- BodyVel.velocity = BodyVel.velocity / 1.2
- end
- if rawframes >= 6 and rawframes <= 10 then
- for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon.Blade.Position - CPlane * 0.5 - Vector3.new(0, 0.5, 0), 3.3)) do
- applyDamage(v, 7, CPlane * 30, false, false, nil, 0.1, 1, "201858024", 0.85, true, true)
- applyCameraShake(v, 120, 5)
- DidHit = true
- end
- end
- do
- if rawframes == 11 then
- p = Instance.new("Sound", vPlayer.Character.Weapon.Blade)
- p.Volume = 1
- p.Pitch = 1.1
- p.SoundId = "http://www.roblox.com/asset/?id=191395766"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- local par, loc = workspace:FindPartOnRay(Ray.new(vPlayer.Character.Weapon.Blade.Position, Vector3.new(0, -3, 0)), vPlayer.Character)
- local pz = NewPart(Vector3.new(2, 2, 1), CFrame.new(loc) * CFrame.Angles(math.pi / 2, 0, 0), "Really black", "BlockMesh", Vector3.new(0.5, 0.5, 0))
- pz.Transparency = 1
- pz.Anchored = true
- pz.CanCollide = false
- pz.Parent = workspace
- pz.Name = "Rune"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=234376725"
- d1.Face = "Front"
- d1.Name = "d1"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=234376725"
- d1.Face = "Back"
- d1.Name = "d2"
- coroutine.resume(coroutine.create(function(p, dir)
- for i = 1, 5 do
- fwait()
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, math.rad(10 + i * 2))
- p.d1.Transparency = 0.5 + i / 10
- p.d2.Transparency = 0.5 + i / 10
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.5, 0.5, 0)
- end
- p:Remove()
- end
- ), pz, CPlane)
- game:GetService("Debris"):AddItem(pz, 6)
- end
- do
- if rawframes < 18 and rawframes % 2 == 0 then
- lpos = vPlayer.Character.Weapon.Blade.CFrame
- if cpos and cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p.magnitude > 0.1 then
- local h = vPlayer.Character.Weapon.Blade.Size.y / 2
- local a, b = Triangle(cpos * CFrame.new(0, h, 0).p, cpos * CFrame.new(0, -h, 0).p, lpos * CFrame.new(0, h, 0).p, BrickColor.new("Black"))
- if a then
- game:GetService("Debris"):AddItem(a, 5)
- end
- if b then
- game:GetService("Debris"):AddItem(b, 5)
- end
- local a, b = Triangle(lpos * CFrame.new(0, h, 0).p, lpos * CFrame.new(0, -h, 0).p, cpos * CFrame.new(0, -h, 0).p, BrickColor.new("Black"))
- if a then
- game:GetService("Debris"):AddItem(a, 5)
- end
- if b then
- game:GetService("Debris"):AddItem(b, 5)
- end
- cpos = lpos
- else
- do
- if not cpos then
- cpos = lpos
- end
- if rawframes == 17 then
- CanInterrupt(true)
- setlastnormal("MMMMM")
- end
- if rawframes == 26 then
- TrackFunction:disconnect()
- TrackFunction = nil
- DesiredWalkspeed = 18
- PlayerIsAttacking = false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes = rawframes + 1
- end
- end
- end
- end
- end
- end
- )
- end
- InputNormals.MMMMMM = function()
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- TrackFunction = nil
- end
- CanInterrupt(false)
- PlayerIsAttacking = true
- local rawframes = 0
- Tool.Status.AnimFrame.Value = 0
- local DidHit = false
- local CPlane = MousePlane()
- vPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(vPlayer.Character.HumanoidRootPart.Position, vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
- local cl = 0
- local clastframe = lastframe
- local lpos = vPlayer.Character.Weapon.Blade.CFrame
- local cpos = nil
- TrackFunction = FakeHeartbeat.Event:connect(function()
- if rawframes < 8 then
- CPlane = MousePlane()
- end
- BodyVel.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.cframe = CFrame.new(BodyGyro.Parent.Position, BodyGyro.Parent.Position + CPlane * 50)
- if rawframes == 0 then
- BodyGyro.Parent.CFrame = BodyGyro.cframe
- end
- if rawframes <= 5 then
- LerpWelds(clastframe, rawframes / 5, Animations.ZZZZZZ.Animation(0))
- if rawframes == 1 then
- p = Instance.new("Sound", vPlayer.Character.Torso)
- p.Volume = 1
- p.Pitch = 1
- p.SoundId = "http://www.roblox.com/asset/?id=233856140"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- end
- else
- if rawframes > 5 and rawframes <= 9 then
- LerpWelds(clastframe, 1 + (rawframes - 5) * 0.01, Animations.ZZZZZZ.Animation(0))
- else
- if rawframes > 9 and rawframes <= 13 then
- LerpWelds(clastframe, 1.03 - (rawframes - 9) * 0.01, Animations.ZZZZZZ.Animation(0))
- else
- if rawframes > 16 then
- LerpWelds({Animations.ZZZZZZ.Animation(0)}, (rawframes - 16) / 11, Animations.Stand.Animation(0))
- end
- end
- end
- end
- if rawframes >= 1 and rawframes <= 5 then
- BodyVel.velocity = CPlane * (rawframes * 6 + 10)
- else
- BodyVel.velocity = BodyVel.velocity / 1.2
- end
- if rawframes >= 4 and rawframes <= 7 and rawframes % 2 == 0 then
- for _,v in pairs(GetNubsInRadius(vPlayer.Character.Torso.Position + CPlane * 2.5, 3.6)) do
- applyDamage(R6_PC196, 7, CPlane * 45, false, false, nil, 0.33, 1, "153092238", 0.8, false, true)
- applyCameraShake(R6_PC196, 140, 5)
- DidHit = true
- end
- end
- do
- if rawframes == 12 then
- CanInterrupt(true)
- setlastnormal("MMMMMM")
- end
- if rawframes == 27 then
- TrackFunction:disconnect()
- TrackFunction = nil
- DesiredWalkspeed = 18
- PlayerIsAttacking = false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes = rawframes + 1
- end
- end
- )
- end
- InputNormals.MMMMMMM = function()
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- TrackFunction = nil
- end
- CanInterrupt(false)
- PlayerIsAttacking = true
- local rawframes = 0
- Tool.Status.AnimFrame.Value = 0
- local DidHit = false
- local CPlane = MousePlane()
- vPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(vPlayer.Character.HumanoidRootPart.Position, vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
- local lpos = vPlayer.Character.Weapon.Blade.CFrame
- local cpos = nil
- local cl = 0
- local clastframe = lastframe
- TrackFunction = FakeHeartbeat.Event:connect(function()
- if rawframes < 6 then
- CPlane = MousePlane()
- end
- BodyVel.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.Parent = vPlayer.Character.HumanoidRootPart
- BodyGyro.cframe = CFrame.new(BodyGyro.Parent.Position, BodyGyro.Parent.Position + CPlane * 50)
- if rawframes == 0 then
- BodyGyro.Parent.CFrame = BodyGyro.cframe
- end
- if rawframes <= 6 then
- LerpWelds(clastframe, rawframes / 6, Animations.ZZZZZZZ.Animation(0))
- if rawframes == 2 then
- p = Instance.new("Sound", vPlayer.Character.Weapon.Blade)
- p.Volume = 1
- p.Pitch = 0.9
- p.SoundId = "http://www.roblox.com/asset/?id=234365549"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- end
- else
- if rawframes > 6 and rawframes <= 10 then
- LerpWelds(clastframe, 0.98 + (rawframes - 6) * 0.005, Animations.ZZZZZZZ.Animation(0))
- if rawframes == 7 then
- p = Instance.new("Sound", vPlayer.Character.Weapon.Blade)
- p.Volume = 1
- p.Pitch = 1.5
- p.SoundId = "http://www.roblox.com/asset/?id=231917806"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p, 3)
- local par, loc = workspace:FindPartOnRay(Ray.new(vPlayer.Character.Weapon.Blade.Position, Vector3.new(0, -1, 0)), vPlayer.Character)
- local pz = NewPart(Vector3.new(2, 2, 1), CFrame.new(loc) * CFrame.Angles(math.pi / 2, 0, 0), "Really black", "BlockMesh", Vector3.new(2.5, 2.5, 0))
- pz.Transparency = 1
- pz.Anchored = true
- pz.CanCollide = false
- pz.Parent = workspace
- pz.Name = "Rune"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=234376725"
- d1.Face = "Front"
- d1.Name = "d1"
- local d1 = Instance.new("Decal", pz)
- d1.Texture = "http://www.roblox.com/asset/?id=234376725"
- d1.Face = "Back"
- d1.Name = "d2"
- coroutine.resume(coroutine.create(function(p, dir)
- for i = 1, 5 do
- fwait()
- p.CFrame = p.CFrame * CFrame.Angles(0, 0, math.rad(20 + i * 2))
- p.d1.Transparency = 0.5 + i / 10
- p.d2.Transparency = 0.5 + i / 10
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1.5, 1.5, 0)
- end
- p:Remove()
- end
- ), pz, CPlane)
- game:GetService("Debris"):AddItem(pz, 6)
- for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon.Blade.Position + CPlane * 1.5 + Vector3.new(0, 2, 0), 15)) do
- applyCameraShake(v, 50, 15)
- end
- applyCameraShake(vPlayer.Character, 100, 15)
- end
- else
- do
- if rawframes > 10 and rawframes <= 15 then
- LerpWelds(clastframe, 1.01 - (rawframes - 10) * 0.005, Animations.ZZZZZZZ.Animation(0))
- else
- if rawframes > 17 then
- LerpWelds({Animations.ZZZZZZZ.Animation(0)}, (rawframes - 17) / 10, Animations.Stand.Animation(0))
- end
- end
- if rawframes >= 3 and rawframes <= 5 then
- BodyVel.velocity = CPlane * (rawframes * 4 + 30)
- else
- BodyVel.velocity = BodyVel.velocity / 1.7
- end
- if rawframes >= 3 and rawframes <= 9 and rawframes % 2 == 0 then
- for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon.Blade.Position + CPlane * 1.5 + Vector3.new(0, 2, 0), 5)) do
- applyDamage(v, 12, CPlane * 115, false, false, nil, 1, 1, "201858024", 0.55, true, true)
- applyCameraShake(v, 250, 10)
- DidHit = true
- end
- end
- do
- if rawframes == 20 then
- CanInterrupt(true)
- setlastnormal("")
- end
- if rawframes <= 20 then
- lpos = vPlayer.Character.Weapon.Blade.CFrame
- if cpos and cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p.magnitude > 0.1 then
- local h = vPlayer.Character.Weapon.Blade.Size.y / 2
- local a, b = Triangle(cpos * CFrame.new(0, h, 0).p, cpos * CFrame.new(0, -h, 0).p, lpos * CFrame.new(0, h, 0).p, BrickColor.new("Black"))
- if a then
- game:GetService("Debris"):AddItem(a, 5)
- end
- if b then
- game:GetService("Debris"):AddItem(b, 5)
- end
- local a, b = Triangle(lpos * CFrame.new(0, h, 0).p, lpos * CFrame.new(0, -h, 0).p, cpos * CFrame.new(0, -h, 0).p, BrickColor.new("Black"))
- if a then
- game:GetService("Debris"):AddItem(a, 5)
- end
- if b then
- game:GetService("Debris"):AddItem(b, 5)
- end
- cpos = lpos
- else
- do
- if not cpos then
- cpos = lpos
- end
- if rawframes == 27 then
- TrackFunction:disconnect()
- TrackFunction = nil
- DesiredWalkspeed = 18
- PlayerIsAttacking = false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes = rawframes + 1
- end
- end
- end
- end
- end
- end
- end
- end
- )
- end
- GetNubs = function()
- scrubs = {}
- for _,v in pairs(game.Workspace:children()) do
- if v:FindFirstChild("Humanoid") ~= nil and v:FindFirstChild("Torso") ~= nil and v.Name ~= game.Players.LocalPlayer.Name then
- table.insert(scrubs, v)
- end
- end
- return scrubs
- end
- Nubs = {}
- GetNubsInRadius = function(pos, radius)
- radius = radius + radiushelp
- scrubs = Nubs
- filtered = {}
- for _,v in pairs(scrubs) do
- if v:FindFirstChild("Torso") ~= nil and v.Torso.Position - pos.magnitude <= radius then
- table.insert(filtered, v)
- end
- end
- return filtered
- end
- noy = function(pos)
- return Vector3.new(pos.x, 0, pos.z)
- end
- applyCameraShake = function(Noob, Intens, Time)
- Intens = Intens / 5.2
- if game.Players:GetPlayerFromCharacter(Noob) ~= nil then
- local ss = script.CamShake:clone()
- ss.Disabled = false
- ss.intensity.Value = Intens
- ss.times.Value = Time
- ss.Parent = Noob
- end
- end
- LastHitTime = time()
- LastDamage = 0
- ComboHits = 0
- asset = math.random(1, 100000000)
- applyDamage = function(Noob, Damage, KnockDir, Down, ForceDown, addFunc, DebounceTime, aYvel, hitsound, hitpitch, canburn, canproc)
- if KnockDir == nil then
- KnockDir = Vector3.new(0, 0, 0)
- end
- if Down == nil then
- Down = false
- end
- if addFunc == nil then
- addFunc = function()
- end
- end
- if aYvel == nil then
- aYvel = 0
- end
- if hitsound == nil then
- hitsound = ""
- end
- if hitpitch == nil then
- hitpitch = 1
- end
- local h = Noob:FindFirstChild("Humanoid")
- local t = Noob:FindFirstChild("HumanoidRootPart")
- if t == nil then
- t = Noob:FindFirstChild("Torso")
- end
- if h ~= nil and t ~= nil then
- if h:FindFirstChild("SADebounce" .. asset) == nil then
- local b = Instance.new("BoolValue", h)
- b.Name = "SADebounce" .. asset
- game:GetService("Debris"):AddItem(b, DebounceTime)
- else
- do
- print("NOE")
- do return end
- local s = Instance.new("Sound", t)
- s.Volume = 1
- s.Pitch = hitpitch
- s.SoundId = "http://www.roblox.com/asset/?id=" .. hitsound
- wait()
- s:Play()
- game:GetService("Debris"):AddItem(s, 2)
- do
- if hitsound == "201858024" then
- local s = Instance.new("Sound", t)
- s.Volume = 1
- s.Pitch = hitpitch
- s.SoundId = "http://www.roblox.com/asset/?id=" .. hitsound
- wait()
- s:Play()
- game:GetService("Debris"):AddItem(s, 2)
- end
- if addFunc ~= nil then
- addFunc(Noob)
- end
- coroutine.resume(coroutine.create(function(t, KnockDir, aYvel, KnockForce, aHitstop)
- if t:FindFirstChild("AIDS" .. asset) then
- t["AIDS" .. asset]:Remove()
- end
- v = Instance.new("BodyVelocity")
- v.Name = "AIDS" .. asset
- v.P = 36
- if KnockDir.magnitude > 0 then
- v.Parent = t
- end
- aYvel = 0
- if KnockDir.y > 1 then
- aYvel = 1.2
- end
- v.maxForce = Vector3.new(98000, aYvel * 98000, 98000)
- v.velocity = Vector3.new(KnockDir.x, KnockDir.y, KnockDir.z) * 1.1
- game:GetService("Debris"):AddItem(v, 0.25)
- end
- ), t, KnockDir, aYvel)
- if Down == true then
- g = Instance.new("BodyAngularVelocity")
- g.P = 200
- g.maxTorque = Vector3.new(80000, 80000, 80000)
- g.angularvelocity = (KnockDir / 1.5 + Vector3.new(math.random(-20, 20), math.random(-20, 20), math.random(-20, 20))) / 3
- g.Parent = t
- game:GetService("Debris"):AddItem(g, 0.5)
- do
- if game.Players:GetPlayerFromCharacter(t.Parent) then
- local s = script.ForceState:clone()
- s.Value.Value = "FallingDown"
- s.Parent = t.Parent
- end
- h:ChangeState(Enum.HumanoidStateType.FallingDown)
- if ForceDown == true then
- g:Remove()
- t.CFrame = t.CFrame * CFrame.fromEulerAnglesXYZ(math.pi / 2, 0, 0) + Vector3.new(0, 0.3, 0)
- g = Instance.new("BodyGyro")
- g.P = 400
- g.maxTorque = Vector3.new(80000, 80000, 80000)
- g.D = 20
- g.cframe = CFrame.new(vPlayer.Character.Torso.Position, vPlayer.Character.Torso.Position - Vector3.new(0, 50, 0))
- g.Parent = v.Parent
- game:GetService("Debris"):AddItem(g, 1)
- end
- local enemymana = 1
- if enemymana <= 0 and canproc == true then
- local s = Instance.new("Sound", t)
- s.Volume = 0.77
- s.Pitch = 0.5
- s.SoundId = "http://www.roblox.com/asset/?id=" .. "234365587"
- wait()
- s:Play()
- game:GetService("Debris"):AddItem(s, 2)
- local eff = NewPart(Vector3.new(1, 1, 1), CFrame.new(t.Position + Vector3.new(math.random(-15, 15) / 10, math.random(-15, 15) / 10, math.random(-15, 15) / 10)) * CFrame.Angles(math.random(-15, 15), math.random(-15, 15), math.random(-15, 15)), "Really black", "SpecialMesh", Vector3.new(1, 1, 1))
- eff.Parent = workspace
- eff.Mesh.MeshType = "Sphere"
- eff.Name = "BloodEffect"
- eff.Anchored = true
- eff.CanCollide = false
- game:GetService("Debris"):AddItem(eff, 5)
- coroutine.resume(coroutine.create(function(p, A, V, diff)
- for i = 1, 10 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.2, 0.2, 0.2)
- p.Transparency = 0.25 + i / 13.333333333333
- p.CFrame = t.CFrame * A + diff
- fwait()
- end
- p:Remove()
- end
- ), eff, CFrame.Angles(math.rad(math.random(-4, 4) * 4), math.rad(math.random(-4, 4) * 3), math.rad(math.random(-4, 4) * 2)), KnockDir / 30, t.Position - eff.Position)
- local pla = eff.Position
- local diff = pla - t.Position
- local eb = BillboardGui("http://www.roblox.com/asset/?id=235269395", pla, 0)
- eb.Parent = workspace
- eb.BillboardGui.ImageLabel.Rotation = math.random(-180, 180)
- eb.BillboardGui.Size = UDim2.new(2, 0, 2, 0)
- game:GetService("Debris"):AddItem(eb, 3)
- coroutine.resume(coroutine.create(function(p, par, diff)
- local r = math.random(-3, 3) * 9
- if r > -6 and r < 1 then
- r = -6
- else
- if r < 6 and r > -1 then
- r = 6
- end
- end
- for i = 1, 12 do
- p.BillboardGui.ImageLabel.ImageTransparency = i / 12
- p.BillboardGui.Size = UDim2.new(2 + i / 2, 0, 2 + i / 2, 0)
- p.BillboardGui.ImageLabel.Rotation = p.BillboardGui.ImageLabel.Rotation + r
- p.CFrame = par.CFrame + diff
- fwait()
- end
- p:Remove()
- end
- ), eb, t, diff)
- local pla = eff.Position
- coroutine.resume(coroutine.create(function(par, diff, h)
- for i = 1, 3 do
- fwait(0.15)
- h:TakeDamage(1)
- local eff = NewPart(Vector3.new(1, 1, 1), par.CFrame * CFrame.new(math.random(-15, 15) / 10, math.random(-20, 15) / 10, math.random(-5, 5) / 10) * CFrame.Angles(math.random(-15, 15), math.random(-15, 15), math.random(-15, 15)), "Really black", "SpecialMesh", Vector3.new(0.5, 0.5, 0.5))
- eff.Parent = workspace
- eff.Name = "BloodEffect"
- eff.Mesh.MeshType = "Sphere"
- eff.Anchored = true
- eff.CanCollide = false
- game:GetService("Debris"):AddItem(eff, 5)
- coroutine.resume(coroutine.create(function(p, A, V)
- local R = Vector3.new(math.random(-5, 5), math.random(7, 9), math.random(-5, 5)) / 50
- for i = 1, 6 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.75, 0.75, 0.75)
- p.Transparency = 0.25 + i / 8
- p.CFrame = p.CFrame * A
- fwait()
- end
- p:Remove()
- end
- ), eff, CFrame.Angles(math.rad(math.random(-4, 4) * 4), math.rad(math.random(-4, 4) * 3), math.rad(math.random(-4, 4) * 2)), KnockDir / 30)
- local eb = BillboardGui("http://www.roblox.com/asset/?id=233069772", eff.Position, 0)
- eb.Parent = workspace
- eb.BillboardGui.ImageLabel.Rotation = math.random(-180, 180)
- eb.BillboardGui.Size = UDim2.new(2, 0, 2, 0)
- game:GetService("Debris"):AddItem(eb, 3)
- coroutine.resume(coroutine.create(function(p)
- local r = math.random(-3, 3) * 9
- if r > -12 and r < 1 then
- r = -12
- else
- if r < 12 and r > -1 then
- r = 12
- end
- end
- for i = 1, 6 do
- p.BillboardGui.ImageLabel.ImageTransparency = 0.25 + i / 8
- p.BillboardGui.Size = UDim2.new(2 + i / 2, 0, 2 + i / 2, 0)
- p.BillboardGui.ImageLabel.Rotation = p.BillboardGui.ImageLabel.Rotation + r
- fwait()
- end
- p:Remove()
- end
- ), eb)
- end
- end
- ), t, t.Position - pla, h)
- else
- do
- if enemymana > 0 and canburn == true then
- local eff = NewPart(Vector3.new(1, 1, 1), CFrame.new(t.Position + Vector3.new(math.random(-15, 15) / 10, math.random(-15, 15) / 10, math.random(-15, 15) / 10)) * CFrame.Angles(math.random(-15, 15), math.random(-15, 15), math.random(-15, 15)), "Bright blue", "BlockMesh", Vector3.new(0.6, 0.6, 0.6))
- eff.Parent = workspace
- eff.Name = "BloodEffect"
- eff.Anchored = true
- eff.CanCollide = false
- game:GetService("Debris"):AddItem(eff, 5)
- coroutine.resume(coroutine.create(function(p, A, V, diff, par)
- for i = 1, 10 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.4, 0.4, 0.4)
- p.Transparency = 0.25 + i / 13.333333333333
- p.CFrame = par.CFrame * A + diff
- fwait()
- end
- p:Remove()
- end
- ), eff, CFrame.Angles(math.rad(math.random(-4, 4) * 4), math.rad(math.random(-4, 4) * 3), math.rad(math.random(-4, 4) * 2)), KnockDir / 30, eff.Position - t.Position, t)
- local pla = eff.Position
- local diff = pla - t.Position
- local eb = BillboardGui("http://www.roblox.com/asset/?id=235269378", pla, 0)
- eb.Parent = workspace
- eb.BillboardGui.ImageLabel.Rotation = math.random(-180, 180)
- eb.BillboardGui.Size = UDim2.new(2, 0, 2, 0)
- game:GetService("Debris"):AddItem(eb, 3)
- coroutine.resume(coroutine.create(function(p, par, diff)
- local r = math.random(-3, 3) * 9
- if r > -6 and r < 1 then
- r = -6
- else
- if r < 6 and r > -1 then
- r = 6
- end
- end
- for i = 1, 8 do
- p.BillboardGui.ImageLabel.ImageTransparency = i / 8
- p.BillboardGui.Size = UDim2.new(2 + i / 2, 0, 2 + i / 2, 0)
- p.BillboardGui.ImageLabel.Rotation = p.BillboardGui.ImageLabel.Rotation + r
- p.CFrame = par.CFrame + diff
- fwait()
- end
- p:Remove()
- end
- ), eb, t, diff)
- coroutine.resume(coroutine.create(function(par, diff, man, manaloss, scrub)
- print(manaloss + 1, " lost mana")
- for i = 1, manaloss + 1 do
- man = man - 1
- local eff = NewPart(Vector3.new(1, 1, 1), CFrame.new(par.Position + diff + Vector3.new(math.random(-5, 5) / 20, math.random(-5, 5) / 20, math.random(-5, 5) / 20)) * CFrame.Angles(math.random(-15, 15), math.random(-15, 15), math.random(-15, 15)), "Bright blue", "BlockMesh", Vector3.new(0.5, 0.5, 0.5))
- eff.Parent = workspace
- eff.Name = "BloodEffect"
- eff.Anchored = true
- eff.CanCollide = false
- game:GetService("Debris"):AddItem(eff, 5)
- coroutine.resume(coroutine.create(function(p, A, V)
- local R = Vector3.new(math.random(-5, 5), math.random(7, 9), math.random(-5, 5)) / 50
- for i = 1, 20 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.05, 0.05, 0.05)
- p.Transparency = 0.5 + i / 40
- p.CFrame = p.CFrame * A + R - Vector3.new(0, 0.03637037037037 * (i - 1), 0)
- fwait()
- end
- p:Remove()
- end
- ), eff, CFrame.Angles(math.rad(math.random(-4, 4) * 4), math.rad(math.random(-4, 4) * 3), math.rad(math.random(-4, 4) * 2)), KnockDir / 30)
- fwait(0.3)
- end
- end
- ), t, t.Position - pla, enemymana, math.ceil(Damage * 0.4), t.Parent)
- end
- do
- h:TakeDamage(Damage * 1)
- end
- end
- end
- end
- end
- end
- end
- end
- end
- end
- coroutine.resume(coroutine.create(function()
- while 1 do
- fwait()
- if Hitstop > 1 then
- vPlayer.Character.HumanoidRootPart.Anchored = true
- else
- vPlayer.Character.HumanoidRootPart.Anchored = false
- end
- if Comboing == true then
- if InfoGui == nil then
- InfoGui = script.InfoGui:clone()
- if vPlayer:FindFirstChild("PlayerGui") ~= nil then
- InfoGui.Parent = vPlayer.PlayerGui
- end
- Scrubs = 0
- for _,v in pairs(ComboNubs) do
- Scrubs = Scrubs + 1
- end
- if Scrubs == 0 then
- Scrubs = 1
- end
- InfoGui.Frame.HitsLabel.Text = ComboHits
- InfoGui.Frame.DamageLabel.Text = LastDamage
- InfoGui.Frame.EffectiveDamageLabel.Text = LastDamage / Scrubs
- else
- Scrubs = 0
- for _,v in pairs(ComboNubs) do
- Scrubs = Scrubs + 1
- end
- if Scrubs == 0 then
- Scrubs = 1
- end
- InfoGui.Frame.HitsLabel.Text = ComboHits
- InfoGui.Frame.DamageLabel.Text = math.floor(LastDamage)
- InfoGui.Frame.EffectiveDamageLabel.Text = math.floor(LastDamage / Scrubs)
- TimeDiff = LastHitTime - time()
- InfoGui.Frame.HitstunFrame.Fill.Size = UDim2.new(0, 40 * TimeDiff, 0, 10)
- InfoGui.Frame.HitstunFrame.Fill.Position = UDim2.new(0.5, -20 * TimeDiff, 0, 0)
- end
- else
- if InfoGui ~= nil then
- coroutine.resume(coroutine.create(function(g)
- for i = 1, 15 do
- g.Frame.Position = g.Frame.Position + UDim2.new(0, 10 + i, 0, 0)
- fwait(0.03)
- end
- g:Remove()
- end
- ), InfoGui)
- InfoGui = nil
- end
- end
- if LastHitTime > time() or Comboing == true then
- Scrubs = 0
- for _,v in pairs(ComboNubs) do
- Scrubs = Scrubs + 1
- end
- if Scrubs == 0 then
- Scrubs = 1
- end
- ComboNubs = {}
- LastDamage = LastDamage / Scrubs
- fwait(0.05)
- ComboHits = 0
- LastDamage = 0
- Comboing = false
- end
- end
- end
- ))
- addonHoldDown = function(Noob)
- local t = Noob:FindFirstChild("HumanoidRootPart")
- if t == nil then
- t = Noob:FindFirstChild("Torso")
- end
- add = Vector3.new(0, 0, 0)
- if t:FindFirstChild("AIDS") ~= nil then
- add = t.AIDS.velocity
- t.AIDS:Remove()
- end
- v = Instance.new("BodyPosition")
- v.P = 2000
- v.D = v.D / 2
- v.maxForce = Vector3.new(6000000000, 600000, 6000000000)
- v.position = t.Position - Vector3.new(0, 10, 0) + add
- v.Parent = t
- game:GetService("Debris"):AddItem(v, 1.2)
- Noob.Humanoid.PlatformStand = true
- coroutine.resume(coroutine.create(function(noob, t)
- fwait(0.5)
- while t:FindFirstChild("BodyPosition") ~= nil do
- fwait(0.01)
- end
- noob.PlatformStand = false
- end
- ), Noob.Humanoid, t)
- end
- addonCullMovers = function(Noob)
- local t = Noob:FindFirstChild("HumanoidRootPart")
- if t == nil then
- t = Noob:FindFirstChild("Torso")
- end
- for _,v in pairs(t:children()) do
- if v:IsA("BodyMover") then
- v:Remove()
- end
- end
- end
- LerpWelds = function(orig, alpha, RJ0, N0, RS0, LS0, RH0, LH0, GR0, RJ1, N1, RS1, LS1, RH1, LH1)
- local e = tick()
- RootJoint.C0 = clerp(orig[1], RJ0, alpha)
- Neck.C0 = clerp(orig[2], N0, alpha)
- RightShoulder.C0 = clerp(orig[3], RS0, alpha)
- LeftShoulder.C0 = clerp(orig[4], LS0, alpha)
- RightHip.C0 = clerp(orig[5], RH0, alpha)
- LeftHip.C0 = clerp(orig[6], LH0, alpha)
- Grip.C0 = clerp(orig[7], GR0, alpha)
- RootJoint.C1 = clerp(orig[8], RJ1, alpha)
- Neck.C1 = clerp(orig[9], N1, alpha)
- RightShoulder.C1 = clerp(orig[10], RS1, alpha)
- LeftShoulder.C1 = clerp(orig[11], LS1, alpha)
- RightHip.C1 = clerp(orig[12], RH1, alpha)
- LeftHip.C1 = clerp(orig[13], LH1, alpha)
- lastframe = {RootJoint.C0, Neck.C0, RightShoulder.C0, LeftShoulder.C0, RightHip.C0, LeftHip.C0, Grip.C0, RootJoint.C1, Neck.C1, RightShoulder.C1, LeftShoulder.C1, RightHip.C1, LeftHip.C1}
- return tick() - e
- end
- Instance.new("Motor6D")
- sRootJoint = Instance.new("Motor6D")
- sresetWelds = function()
- sRootJoint.C0 = RootJointC0
- sNeck.C0 = NeckC0
- sRightShoulder.C0 = RightShoulderC0
- sLeftShoulder.C0 = LeftShoulderC0
- sRightHip.C0 = RightHipC0
- sLeftHip.C0 = LeftHipC0
- sRootJoint.C1 = RootJointC1
- sNeck.C1 = NeckC1
- sRightShoulder.C1 = RightShoulderC1
- sLeftShoulder.C1 = LeftShoulderC1
- sRightHip.C1 = RightHipC1
- sLeftHip.C1 = LeftHipC1
- sGrip.C0 = GripC0
- end
- clerp = function(a, b, t)
- local qa = {QuaternionFromCFrame(a)}
- local qb = {QuaternionFromCFrame(b)}
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1 - t
- return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
- end
- QuaternionFromCFrame = function(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5 / s
- return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
- else
- do
- local i = 0
- if m00 < m11 then
- i = 1
- end
- if i == 0 and m00 or m11 < m22 then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00 - m11 - m22 + 1)
- local recip = 0.5 / s
- return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
- else
- do
- if i == 1 then
- local s = math.sqrt(m11 - m22 - m00 + 1)
- local recip = 0.5 / s
- return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
- else
- do
- if i == 2 then
- local s = math.sqrt(m22 - m00 - m11 + 1)
- local recip = 0.5 / s
- return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
- end
- end
- end
- end
- end
- end
- end
- end
- QuaternionToCFrame = function(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w * xs, w * ys, w * zs
- local xx = x * xs
- local xy = x * ys
- local xz = x * zs
- local yy = y * ys
- local yz = y * zs
- local zz = z * zs
- return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
- end
- QuaternionSlerp = function(a, b, t)
- local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
- local startInterp, finishInterp = nil, nil
- if cosTheta >= 0.0001 then
- if 1 - cosTheta > 0.0001 then
- local theta = math.acos(cosTheta)
- local invSinTheta = 1 / math.sin(theta)
- startInterp = math.sin((1 - t) * theta) * invSinTheta
- finishInterp = math.sin(t * theta) * invSinTheta
- else
- do
- startInterp = 1 - t
- finishInterp = t
- if 1 + cosTheta > 0.0001 then
- local theta = math.acos(-cosTheta)
- local invSinTheta = 1 / math.sin(theta)
- startInterp = math.sin((t - 1) * theta) * invSinTheta
- finishInterp = math.sin(t * theta) * invSinTheta
- else
- do
- startInterp = t - 1
- finishInterp = t
- return a[1] * (startInterp) + b[1] * finishInterp, a[2] * (startInterp) + b[2] * finishInterp, a[3] * (startInterp) + b[3] * finishInterp, a[4] * (startInterp) + b[4] * finishInterp
- end
- end
- end
- end
- end
- end
- PlayerKeys = {}
- CurrentAnimation = nil
- Hitstop = 0
- DesiredWalkspeed = 18
- CanInterrupt = function(t)
- Tool.Status.AnimCanBeInterrupted.Value = t
- end
- PlayerCanJump = function()
- if CurrentAnimation ~= nil then
- local doescancel = false
- for _,v in pairs(CurrentAnimation.Cancels) do
- if v == "Jump" or v == "Everything" then
- doescancel = true
- break
- end
- end
- do
- if Tool.Status.AnimCanBeInterrupted.Value == true then
- return doescancel
- else
- return false
- end
- end
- end
- end
- ComboNubs = {}
- GetNubs = function()
- scrubs = {}
- for _,v in pairs(game.Workspace:children()) do
- if v:FindFirstChild("Humanoid") ~= nil and v:FindFirstChild("Torso") ~= nil and v.Name ~= game.Players.LocalPlayer.Name then
- table.insert(scrubs, v)
- end
- end
- Nubs = scrubs
- end
- PlaySound = function(SName, Vol, Pitch, Par)
- if Par == nil then
- Par = script
- end
- local s = Instance.new("Sound")
- s.Volume = Vol
- s.Pitch = Pitch
- s.SoundId = "http://www.roblox.com/asset/?id=" .. SName
- s.Parent = Par
- wait()
- s:Play()
- game:GetService("Debris"):AddItem(s, 10)
- end
- Stand = function()
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- end
- if CurrentAnimation ~= Animations.Stand then
- RequestAnimationChange("Stand", 0)
- Tool.Status.AnimFrame.Value = 0
- end
- local el = 40
- local elv = 1
- local cel = 0
- local clastframe = lastframe
- TrackFunction = FakeHeartbeat.Event:connect(function(Step)
- if cel > 3 then
- LerpWelds({Animations.Stand.Animation(0)}, 1, Animations.Stand.Animation(0))
- else
- if cel <= 3 then
- LerpWelds(clastframe, cel / 3, Animations.Stand.Animation(0))
- end
- end
- cel = cel + 1
- end
- )
- end
- Walk = function()
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- end
- if CurrentAnimation ~= Animations.Walk then
- RequestAnimationChange("Walk", 0)
- Tool.Status.AnimFrame.Value = 0
- end
- local e = 0
- local clastframe = lastframe
- TrackFunction = FakeHeartbeat.Event:connect(function(Step)
- if e <= 5 then
- LerpWelds(clastframe, e / 5, Animations.Walk.Animation(0))
- else
- LerpWelds(clastframe, 1, Animations.Walk.Animation(0))
- end
- e = e + 1
- end
- )
- end
- DesiredWalkspeedLast = 18
- PlayerInAir = false
- lastplayervel = 0
- Jump = function()
- if Tool.Status.AnimCanBeInterrupted.Value == false then
- return
- end
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- end
- if CurrentAnimation ~= Animations.Jump then
- RequestAnimationChange("Jump", 0)
- Tool.Status.AnimFrame.Value = 0
- end
- Hitstop = 0
- local e = 0
- local clastframe = lastframe
- TrackFunction = FakeHeartbeat.Event:connect(function(Step)
- if e <= 3 then
- LerpWelds(clastframe, e / 3, Animations.Jump.Animation(0))
- else
- LerpWelds(clastframe, 1, Animations.Jump.Animation(0))
- end
- e = e + 1
- end
- )
- enddir = Vector3.new(0, 0, 0)
- lastplayervel = enddir
- v_h = vPlayer.Character.Torso:FindFirstChild("JUMP_PROP")
- if v_h == nil then
- v_h = Instance.new("BodyVelocity")
- v_h.P = 650
- v_h.maxForce = Vector3.new(0, 2800000, 0)
- v_h.velocity = Vector3.new(lastplayervel.x, 55, lastplayervel.z)
- v_h.Parent = vPlayer.Character.Torso
- v_h.Name = "JUMP_PROP"
- else
- v_h.P = 650
- v_h.maxForce = Vector3.new(0, 2800000, 0)
- v_h.velocity = Vector3.new(lastplayervel.x, 75, lastplayervel.z)
- end
- local cpos = vPlayer.Character.Torso.CFrame * CFrame.new(0, -1, 0)
- local par, loc = game.Workspace:FindPartOnRay(Ray.new(cpos.p, Vector3.new(0, -8, 0)), vPlayer.Character)
- timejump = time()
- bumped = false
- canland = false
- PlayerState = "Jumping"
- CanInterrupt(true)
- local ttimejump = time()
- local rr = TrackFunction
- DesiredMovespeed = 19
- while 1 do
- if v_h.Parent ~= nil and timejump == ttimejump then
- PlayerInAir = true
- if time() - timejump > 0.4 then
- canland = true
- end
- end
- if loc - cpos.p.magnitude >= 6 or canland ~= true then
- if rawequal(rr, TrackFunction) == false then
- break
- end
- do
- local ss = game:GetService("RunService").Heartbeat:wait()
- cpos = vPlayer.Character.Torso.CFrame * CFrame.new(0, 0.8, 0)
- par = game.Workspace:FindPartOnRay(Ray.new(cpos.p, Vector3.new(0, -15, 0)), vPlayer.Character)
- if vPlayer.Character.HumanoidRootPart.Anchored == false then
- v_h.velocity = v_h.velocity - Vector3.new(0, 186.2 * ss, 0)
- end
- -- DECOMPILER ERROR at PC239: LeaveBlock: unexpected jumping out IF_THEN_STMT
- -- DECOMPILER ERROR at PC239: LeaveBlock: unexpected jumping out IF_STMT
- end
- end
- end
- if timejump ~= ttimejump or rawequal(rr, TrackFunction) == false then
- return
- end
- PlayerState = "Standing"
- PlayerInAir = false
- DesiredMovespeed = 19
- vPlayer.Character.Humanoid.WalkSpeed = DesiredMovespeed
- v_h:Remove()
- CanInterrupt(true)
- PlayerIsAttacking = false
- Stand()
- end
- Jump_Cont = function()
- lastplayervel = vPlayer.Character.Torso.Velocity
- cpos = vPlayer.Character.Torso.CFrame * CFrame.new(0, 0.8, 0)
- par = game.Workspace:FindPartOnRay(Ray.new(cpos.p, Vector3.new(0, -15, 0)), vPlayer.Character)
- if loc - cpos.p.magnitude < 4 then
- PlayerState = "Standing"
- CanInterrupt(true)
- return Stand()
- end
- if TrackFunction ~= nil then
- TrackFunction:disconnect()
- TrackFunction = nil
- end
- if CurrentAnimation ~= Animations.Jump then
- RequestAnimationChange("Jump", 0)
- Tool.Status.AnimFrame.Value = 0
- CurrentAnimation = Animations.Jump
- end
- Hitstop = 0
- local e = 0
- local clastframe = lastframe
- TrackFunction = FakeHeartbeat.Event:connect(function(Step)
- if e <= 4 then
- LerpWelds(clastframe, e / 4, Animations.Jump.Animation(0))
- else
- LerpWelds(clastframe, 1, Animations.Jump.Animation(0))
- end
- e = e + 1
- end
- )
- timejump = time()
- bumped = false
- canland = false
- PlayerState = "Jumping"
- CanInterrupt(true)
- local ttimejump = time()
- local rr = TrackFunction
- v_h = vPlayer.Character.Torso:FindFirstChild("JUMP_PROP")
- if v_h == nil then
- v_h = Instance.new("BodyVelocity")
- v_h.P = 650
- v_h.maxForce = Vector3.new(0, 2800000, 0)
- v_h.velocity = Vector3.new(lastplayervel.x, lastplayervel.y, lastplayervel.z)
- v_h.Parent = vPlayer.Character.Torso
- v_h.Name = "JUMP_PROP"
- else
- v_h.P = 650
- v_h.maxForce = Vector3.new(0, 2800000, 0)
- v_h.velocity = Vector3.new(lastplayervel.x, lastplayervel.y, lastplayervel.z)
- end
- local cpos = vPlayer.Character.Torso.CFrame * CFrame.new(0, -1, 0)
- local par, loc = game.Workspace:FindPartOnRay(Ray.new(cpos.p, Vector3.new(0, -8, 0)), vPlayer.Character)
- timejump = time()
- bumped = false
- canland = false
- PlayerState = "Jumping"
- CanInterrupt(true)
- local ttimejump = time()
- local rr = TrackFunction
- DesiredMovespeed = 18
- while 1 do
- if v_h.Parent ~= nil and timejump == ttimejump then
- PlayerInAir = true
- if time() - timejump > 0.4 then
- canland = true
- end
- end
- if loc - cpos.p.magnitude >= 6 or canland ~= true then
- if rawequal(rr, TrackFunction) == false then
- break
- end
- do
- local ss = game:GetService("RunService").Heartbeat:wait()
- cpos = vPlayer.Character.Torso.CFrame * CFrame.new(0, 0.8, 0)
- par = game.Workspace:FindPartOnRay(Ray.new(cpos.p, Vector3.new(0, -15, 0)), vPlayer.Character)
- if vPlayer.Character.HumanoidRootPart.Anchored == false then
- v_h.velocity = v_h.velocity - Vector3.new(0, 186.2 * ss, 0)
- end
- -- DECOMPILER ERROR at PC296: LeaveBlock: unexpected jumping out IF_THEN_STMT
- -- DECOMPILER ERROR at PC296: LeaveBlock: unexpected jumping out IF_STMT
- end
- end
- end
- if timejump ~= ttimejump or rawequal(rr, TrackFunction) == false then
- return
- end
- PlayerState = "Standing"
- PlayerInAir = false
- DesiredMovespeed = 19
- vPlayer.Character.Humanoid.WalkSpeed = DesiredMovespeed
- v_h:Remove()
- CanInterrupt(true)
- DesiredMovespeed = 19
- PlayerIsAttacking = false
- CanDoubleJump = true
- TrackFunction:disconnect()
- TrackFunction = nil
- Walk()
- end
- Hitstop = 0
- RequestNewFrame = function(f)
- if CurrentAnimation == nil then
- return
- end
- if Hitstop ~= nil then
- if Hitstop > 0 then
- Hitstop = Hitstop - 1
- else
- CurrentAnimation.Animation(0)
- end
- end
- return f
- end
- RequestAnimationChange = function(n, f)
- _nanim = Animations[n]
- if CurrentAnimation ~= nil then
- local doescancel = false
- for _,v in pairs(CurrentAnimation.Cancels) do
- if v == _nanim.Reference or v == "Everything" then
- doescancel = true
- break
- end
- end
- do
- do
- if doescancel == true and Tool.Status.AnimCanBeInterrupted.Value == true then
- CurrentAnimation = _nanim
- return CurrentAnimation
- end
- CurrentAnimation = Animations[n]
- return false
- end
- end
- end
- end
- getWelds = function(c)
- local t = c.Torso
- local hrp = c.HumanoidRootPart.RootJoint
- RightShoulder = t:FindFirstChild("Right Shoulder")
- LeftShoulder = t:FindFirstChild("Left Shoulder")
- RightHip = t:FindFirstChild("Right Hip")
- LeftHip = t:FindFirstChild("Left Hip")
- RootJoint = hrp
- Neck = t:FindFirstChild("Neck")
- end
- resetWelds = function(ext, occ)
- local r = {RightShoulder, LeftShoulder, RightHip, LeftHip, RootJoint, Neck}
- for _,v in pairs(r) do
- for i = 1, #occ do
- if occ[i] == v then
- table.remove(r, _)
- end
- end
- end
- for _,v in pairs(r) do
- if v.Name == "Right Shoulder" then
- if ext == 1 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- else
- if ext == 2 then
- v.C0 = RightShoulderC0
- v.C1 = RightShoulderC1
- else
- if ext == 3 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- v.C0 = RightShoulderC0
- v.C1 = RightShoulderC1
- end
- end
- end
- else
- if v.Name == "Left Shoulder" then
- if ext == 1 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- else
- if ext == 2 then
- v.C0 = LeftShoulderC0
- v.C1 = LeftShoulderC1
- else
- if ext == 3 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- v.C0 = LeftShoulderC0
- v.C1 = LeftShoulderC1
- end
- end
- end
- else
- if v.Name == "Right Hip" then
- if ext == 1 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- else
- if ext == 2 then
- v.C0 = RightHipC0
- v.C1 = RightHipC1
- else
- if ext == 3 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- v.C0 = RightHipC0
- v.C1 = RightHipC1
- end
- end
- end
- else
- if v.Name == "Left Hip" then
- if ext == 1 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- else
- if ext == 2 then
- v.C0 = LeftHipC0
- v.C1 = LeftHipC1
- else
- if ext == 3 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- v.C0 = LeftHipC0
- v.C1 = LeftHipC1
- end
- end
- end
- else
- if v.Name == "Neck" then
- if ext == 1 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- else
- if ext == 2 then
- v.C0 = NeckC0
- v.C1 = NeckC1
- else
- if ext == 3 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- v.C0 = NeckC0
- v.C1 = NeckC1
- end
- end
- end
- else
- if v.Name == "RootJoint" then
- if ext == 1 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- else
- if ext == 2 then
- v.C0 = RootJointC0
- v.C1 = RootJointC1
- else
- if ext == 3 then
- v.DesiredAngle = 0
- v.CurrentAngle = 0
- v.C0 = RootJointC0
- v.C1 = RootJointC1
- end
- end
- end
- else
- end
- end
- end
- end
- end
- end
- if v.Name == "RightGrip" then
- if ext ~= 1 or ext == 2 then
- Grip.C0 = nGrip.C0
- Grip.C1 = nGrip.C1
- else
- if ext == 3 then
- Grip.C0 = nGrip.C0
- Grip.C1 = nGrip.C1
- end
- end
- end
- end
- end
- setMotorParameters = function(Motor, DesiredAngle, CurrentAngle, MaxVelocity, C0, C1)
- if C0 == nil then
- C0 = Motor.C0
- end
- if C1 == nil then
- C1 = Motor.C1
- end
- if DesiredAngle == nil then
- DesiredAngle = Motor.DesiredAngle
- end
- if CurrentAngle == nil then
- CurrentAngle = Motor.CurrentAngle
- end
- if MaxVelocity == nil then
- MaxVelocity = Motor.MaxVelocity
- end
- Motor.C0 = C0
- Motor.C1 = C1
- Motor.DesiredAngle = DesiredAngle
- Motor.CurrentAngle = CurrentAngle
- Motor.MaxVelocity = MaxVelocity
- end
- PlayerIsAttacking = false
- PlayerBeingAttacked = false
- PlayerState = "Standing"
- getCharacterState = function()
- if Tool.Status.AnimCanBeInterrupted.Value == false or PlayerIsAttacking == true then
- return
- end
- local CPlayer = game.Players.LocalPlayer.Character
- local moveVelocity = CPlayer.HumanoidRootPart.Velocity.magnitude
- if PlayerIsAttacking == false and PlayerState ~= "Jumping" then
- if moveVelocity >= 5 then
- PlayerState = "Moving"
- if (StickPos > 3 or CurrentCameraState == "3D") and MovementPreference == "Walk" and CurrentAnimation ~= Animations.Walk and Tool.Status.AnimCanBeInterrupted.Value == true and PlayerState ~= "Jumping" then
- Walk()
- end
- else
- PlayerState = "Standing"
- if (StickPos > 3 or CurrentCameraState == "3D") and CurrentAnimation ~= Animations.Stand and Tool.Status.AnimCanBeInterrupted.Value == true then
- DesiredWalkspeed = 18
- Stand()
- end
- end
- end
- end
- lastinput = time()
- MovementPreference = "Walk"
- playerDash = function()
- end
- NewInput = function(Key, atTick, Edge)
- local new = {Input = Key, Tick = atTick, Edge = Edge, Age = 0}
- table.insert(PlayerInputs, new)
- end
- FindInputStrings = function()
- local curtime = tick()
- local strunginputs = {}
- for _,v in pairs(PlayerInputs) do
- if curtime - v.Tick <= PlayerInputStringFrame then
- table.insert(strunginputs, v)
- end
- end
- table.sort(strunginputs, function(x, y)
- if x.Tick < y.Tick then
- return true
- end
- return false
- end
- )
- return strunginputs
- end
- MorphInputs = function(i)
- i = string.upper(i)
- if CurrentCameraState == "3D" then
- i = string.gsub(i, "A", "")
- i = string.gsub(i, "S", "<")
- i = string.gsub(i, "D", "")
- i = string.gsub(i, "W", ">")
- else
- if PlayerFacing == "Left" then
- i = string.gsub(i, "A", "<")
- i = string.gsub(i, "S", "v")
- i = string.gsub(i, "D", ">")
- i = string.gsub(i, "W", "^")
- else
- i = string.gsub(i, "A", ">")
- i = string.gsub(i, "S", "v")
- i = string.gsub(i, "D", "<")
- i = string.gsub(i, "W", "^")
- end
- end
- return i
- end
- CullPlayerInput = function()
- local toremove = {}
- for _,v in pairs(PlayerInputs) do
- v.Age = v.Age + 1
- if PlayerInputStringFrame + 0.05 < tick() - v.Tick or PlayerInputCullThreshold < _ then
- table.remove(PlayerInputs, _)
- end
- end
- table.sort(PlayerInputs, function(x, y)
- if x.Tick < y.Tick then
- return true
- end
- return false
- end
- )
- end
- IgnoreEdge = function(st)
- str = string.gsub(st, ".%-", "")
- str = string.gsub(str, "%+", "")
- return str
- end
- RequestNewAnimation = RequestAnimationChange
- LastDashInput = time()
- CheckDeb = true
- LastKeyCheck = ""
- LastCheckTime = time()
- lastnormal = ""
- CheckNormals = function()
- KeyCheck = ""
- if PlayerKeys.mouse ~= nil then
- KeyCheck = "M"
- else
- lastnormal = ""
- end
- local ee = ""
- if PlayerKeys.e ~= nil then
- ee = "E"
- end
- if PlayerKeys.z ~= nil then
- KeyCheck = "Z"
- end
- if PlayerKeys.x ~= nil then
- KeyCheck = "X"
- end
- if PlayerKeys.c ~= nil then
- KeyCheck = "C"
- end
- if PlayerKeys.v ~= nil then
- KeyCheck = "V"
- end
- KeyCheck = string.upper(KeyCheck)
- if InputNormals[ee .. lastnormal .. KeyCheck] ~= nil and CheckDeb == true and LastKeyCheck ~= KeyCheck and Tool.Status.AnimCanBeInterrupted.Value == true and PlayerState ~= "Jumping" then
- LastKeyCheck = KeyCheck
- LastCheckTime = time()
- Hitstop = 0
- print("JIMMIES RUSTLED")
- GetNubs()
- InputNormals[ee .. lastnormal .. KeyCheck]()
- end
- if time() - LastCheckTime > 0.23 then
- LastKeyCheck = ""
- end
- end
- timejump = time()
- DetectInput = function()
- local Scrub = FindInputStrings()
- DURRD = false
- if PlayerIsAttacking == false then
- BodyGyro:Remove()
- BodyVel:Remove()
- vPlayer.Character.Humanoid.WalkSpeed = DesiredWalkspeed
- else
- vPlayer.Character.Humanoid.WalkSpeed = 0
- end
- do
- if #Scrub > 0 then
- local input = ""
- for _,v in pairs(Scrub) do
- input = input .. v.Input .. v.Edge
- end
- input = string.upper(MorphInputs(input))
- edgelessinput = string.upper(IgnoreEdge(input))
- DURRD = false
- end
- if DURRD == false then
- CheckNormals()
- end
- end
- end
- rawKeyInput = function()
- end
- SetCombatKey = function(k)
- PlayerCombatKeys[k] = true
- coroutine.resume(coroutine.create(function(k)
- for i = 1, 1000 do
- fwait(0.01)
- if PlayerCombatKeys[k] == nil then
- break
- end
- end
- do
- PlayerCombatKeys[k] = nil
- end
- end
- ), k)
- end
- getCharacterState = function()
- if Tool.Status.AnimCanBeInterrupted.Value == false or PlayerIsAttacking == true then
- return
- end
- local CPlayer = game.Players.LocalPlayer.Character
- local moveVelocity = Vector3.new(0, 0, 0) - CPlayer.HumanoidRootPart.Velocity.magnitude
- if PlayerIsAttacking == false and PlayerState ~= "Jumping" then
- if moveVelocity >= 5 then
- PlayerState = "Moving"
- if MovementPreference == "Walk" and CurrentAnimation ~= Animations.Walk and Tool.Status.AnimCanBeInterrupted.Value == true and PlayerState ~= "Jumping" then
- Walk()
- end
- else
- PlayerState = "Standing"
- if PlayerIsAttacking == false and Tool.Status.AnimCanBeInterrupted.Value == true and CurrentAnimation ~= Animations.Stand and Tool.Status.AnimCanBeInterrupted.Value == true then
- DesiredWalkspeed = 18
- Stand()
- end
- end
- end
- end
- lastinput = time()
- MovementPreference = "Walk"
- controllerStore = {}
- LastHealth = 0
- Wep = nil
- onEquip = function(mouse)
- ypcall(function()
- game.Players.LocalPlayer.Backpack.Saz:Destroy()
- game.Players.LocalPlayer.Backpack["P:T"]:Destroy()
- end
- )
- if vPlayer.Character:FindFirstChild("Armor") == nil then
- ss = script.Armor:clone()
- ss.Parent = vPlayer.Character
- ss.Welds.Disabled = false
- ss.Cloak.CloakScript.Disabled = false
- end
- PlayerAnimationScript = vPlayer.Character:FindFirstChild("Animate")
- if PlayerAnimationScript ~= nil then
- PlayerAnimationScript.Disabled = true
- end
- getWelds(vPlayer.Character)
- resetWelds(3, {})
- Wep = script.Weapon:clone()
- Wep.Welds.Disabled = false
- Wep.Parent = vPlayer.Character
- Grip = Instance.new("Weld", Wep.Handle)
- Grip.Part0 = vPlayer.Character["Right Arm"]
- Grip.Part1 = Grip.Parent
- Grip.C0 = GripC0
- fwait(0.35)
- lastframe = {Animations.Stand.Animation(0)}
- Tool.Status.AnimFrame.Value = 0
- Stand()
- LastHealth = vPlayer.Character.Humanoid.Health
- chs = FakeHeartbeat.Event:connect(function()
- CullPlayerInput()
- rawKeyInput()
- end
- )
- chsCS = FakeHeartbeat.Event:connect(function()
- getCharacterState()
- DetectInput()
- end
- )
- chsj = vPlayer.Character.Humanoid.Changed:connect(function(v)
- vPlayer.Character.Humanoid.Jump = false
- end
- )
- mouse.Button1Down:connect(function()
- PlayerKeys.mouse = "8)"
- end
- )
- mouse.Button1Up:connect(function()
- PlayerKeys.mouse = nil
- end
- )
- mouse.KeyDown:connect(function(key)
- PlayerKeys[key] = true
- NewInput(key, tick(), "+")
- SetCombatKey(key)
- -- DECOMPILER ERROR at PC24: Unhandled construct in 'MakeBoolean' P1
- if key == " " and PlayerCanJump() == true and PlayerState == "Jumping" and CanDoubleJump then
- CanDoubleJump = false
- Jump()
- end
- Jump()
- end
- )
- mouse.KeyUp:connect(function(key)
- PlayerKeys[key] = nil
- end
- )
- end
- Down = nil
- onEquipLocal = function(mouse)
- end
- onPutaway = function()
- TrackFunction:disconnect()
- TrackFunction = nil
- chs:disconnect()
- chs = nil
- chsj:disconnect()
- chsj = nil
- chsCS:disconnect()
- chsCS = nil
- BodyVel.Parent = nil
- BodyGyro.Parent = nil
- Wep.Parent = nil
- Wep = nil
- if PlayerAnimationScript ~= nil then
- PlayerAnimationScript.Disabled = false
- end
- resetWelds(3, {})
- end
- Tool.Selected:connect(onEquip)
- Tool.Selected:connect(onEquipLocal)
- Tool.Deselected:connect(onPutaway)
- Animations = {}
- Animations.Stand = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, math.sin(time() * 2.2) / 40, 0.2) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(66))
- sRootJoint.C1 = sRootJoint.C1 * CFrame.fromEulerAnglesXYZ(math.sin(time() * 2.2) / 49 + math.rad(4), 0, 0)
- sNeck.C0 = sNeck.C0 * CFrame.new(0, 0, -0.02) * CFrame.fromEulerAnglesXYZ(math.rad(18) + math.sin(time() * 2.2) / 40, math.rad(-6) - math.sin(time() * 2.2) / 63, math.rad(-43))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(-0.15, 0, -0.02) * CFrame.fromEulerAnglesXYZ(math.rad(-5) - math.sin(time() * 2.2) / 47, -math.rad(18), -math.sin(time() * 2.2) / 47 - math.rad(4))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0.15, 0, -0.02) * CFrame.fromEulerAnglesXYZ(math.rad(-5), math.rad(18), math.sin(time() * 2.2) / 47 + math.rad(4))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0.1, -0.3, -0.1) * CFrame.fromEulerAnglesXYZ(math.sin(time() * 2.2) / 30 - math.rad(30), -math.rad(25) - math.sin(time() * 2.2) / 20, math.rad(-10))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.5, 0.1, 0.5) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0) + math.abs(math.sin(time() * 2.2) / 10), math.rad(0))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-40), math.rad(-110), math.rad(-10))
- sGrip.C0 = GripC0 * CFrame.new(0.15, 0, -0.05) * CFrame.fromEulerAnglesXYZ(-math.abs(math.sin(time() * 2.2) / 40) - math.rad(10), math.rad(10), math.rad(-20))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"Everything"}
- , Reference = "Stand"}
- Animations.Walk = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, math.abs(math.cos(time() * 9) * 0.08) - 0.4) * CFrame.fromEulerAnglesXYZ(math.rad(55) + math.cos(time() * 9) / 80, 0, -math.rad(math.cos(time() * 9)))
- sNeck.C0 = sNeck.C0 * CFrame.fromEulerAnglesXYZ(-math.rad(25), 0, 0)
- sRightHip.C0 = sRightHip.C0 * CFrame.fromEulerAnglesXYZ(0 - math.rad(2), math.cos(time() * 9) / 50, -math.cos(time() * 9) * 1.1 + math.rad(30))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.fromEulerAnglesXYZ(0 - math.rad(2), math.cos(time() * 9) / 50, -math.cos(time() * 9) * 1.1 - math.rad(30))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0.45, -0.3, -0.1) * CFrame.fromEulerAnglesXYZ(math.rad(0), -math.rad(80), math.rad(40) - math.cos(time() * 9) / 12)
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.fromEulerAnglesXYZ(math.rad(5), -math.rad(30), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, -0.4, 0) * CFrame.fromEulerAnglesXYZ(0 - math.rad(40), math.cos(time() * 9) / 10, math.cos(time() * 9) * 1.2 - math.rad(20))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = 0
- sGrip.C0 = GripC0 * CFrame.fromEulerAnglesXYZ(-math.rad(10), 0, 0)
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"Everything"}
- , Reference = "Walk"}
- Animations.Jump = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- local vely = vPlayer.Character.Torso.Velocity.y * 1.25
- if vely > 60 then
- vely = 60
- else
- if vely < -60 then
- vely = -60
- end
- end
- local velx = Vector3.new(vPlayer.Character.Torso.Velocity.x, 0, vPlayer.Character.Torso.Velocity.z).magnitude
- if velx > 10 then
- velx = 10
- end
- local vely2 = 1
- local vely3 = 0
- if vely < 0 then
- vely2 = 0
- vely3 = 1
- end
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.2) * CFrame.fromEulerAnglesXYZ(math.rad((15 + vely * vely3 / 1.1) * (velx / 10)), 0, math.rad((10 + vely * vely3 / 1.3) * (velx / 10)))
- sNeck.C0 = sNeck.C0 * CFrame.fromEulerAnglesXYZ(-math.rad(12 + vely / 2), -math.rad((4 + vely * vely3 / 2) * (velx / 20)), -math.rad((4 + vely * vely3 / 2) * (velx / 20)))
- sRightHip.C0 = sRightHip.C0 * CFrame.fromEulerAnglesXYZ(-math.rad(4 - vely * vely3 / 12) - math.rad(vely * vely3 / 12 * (velx / 10)), -math.rad(1 - vely * vely3 / 4) - math.rad(vely * vely3 / 10 * (velx / 10)), math.rad(-vely / 2.6 * vely2) - math.rad(8) + math.rad(vely * vely3 / 3 * (velx / 10)))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(vely * vely3 * 0.005 * (velx / 10), 0, 0) * CFrame.fromEulerAnglesXYZ(-math.rad(4 - vely * vely3 / 12) - math.rad(vely * vely3 / 10 * (velx / 10)), math.rad(1 - vely * vely3 / 4) + math.rad(vely * vely3 / 1.6 * (velx / 10)), math.rad(vely / 2.6 * vely2) + math.rad(12) + math.rad(vely * vely3 / 4.5 * (velx / 10)))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-10 + vely * vely3), -math.rad(vely * vely3 * 0.6), -math.rad(25) + math.rad(-vely * vely3))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, -vely * 0.0055 * vely3, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-10 + vely * vely3 / 1.9), 0, math.rad(15) - math.rad(-vely * vely3 * 2.55))
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"Everything"}
- , Reference = "Jump"}
- Animations.Z = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- resetWelds(3, {})
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(7.5), 0, math.rad(-45))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(19.8), math.rad(19.8), math.rad(40))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.Angles(-math.rad(31), 0, math.rad(-32))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.Angles(math.rad(-42), 0, math.rad(17))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(-0.36, 0.15, 0) * CFrame.Angles(math.rad(-22), math.rad(-40), math.rad(-11))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.5, 1, 0.5) * CFrame.Angles(math.rad(3), math.rad(46), math.rad(28))
- sGrip.C0 = GripC0 * CFrame.new(0.15, 0, -0.05) * CFrame.fromEulerAnglesXYZ(math.rad(40), math.rad(5), math.rad(-30))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"ZZ", "Stand", "SummonPuddle"}
- , Reference = "Z"}
- Animations.ZZ = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.04) * CFrame.Angles(math.rad(23), 0, math.rad(-18))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(2), math.rad(9), math.rad(15))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0.2, -0.4, 0.7) * CFrame.Angles(math.rad(0), math.rad(-70), math.rad(90))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.035, -0.18, -0.04) * CFrame.Angles(math.rad(-30), math.rad(25), math.rad(18))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.05, 0.375, 0) * CFrame.Angles(math.rad(-18), math.rad(-23), math.rad(12))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.78, 1, 0.5) * CFrame.Angles(math.rad(2), math.rad(34), math.rad(20))
- sGrip.C0 = GripC0 * CFrame.new(0.17, 0, -0.04) * CFrame.fromEulerAnglesXYZ(math.rad(8), math.rad(12), math.rad(-21))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[1] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.08) * CFrame.Angles(math.rad(40), 0, math.rad(5))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-4), math.rad(4), math.rad(0))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(1, -0.3, 0) * CFrame.Angles(math.rad(0), math.rad(-10), math.rad(110))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.08, -0.4, -0.08) * CFrame.Angles(math.rad(-38), math.rad(27), math.rad(15))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.5, 0.7, 0) * CFrame.Angles(math.rad(-17), math.rad(-12), math.rad(30))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.77, 0.35, 0.2) * CFrame.Angles(math.rad(0), math.rad(10), math.rad(7))
- sGrip.C0 = GripC0 * CFrame.new(0.19, 0, -0.02) * CFrame.fromEulerAnglesXYZ(math.rad(-30), math.rad(2), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[2] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.08) * CFrame.Angles(math.rad(47), 0, math.rad(16))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-8), math.rad(2), math.rad(-7))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(1.25, -0.35, -0.4) * CFrame.Angles(math.rad(0), math.rad(40), math.rad(90))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-100), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.09, -0.5, -0.09) * CFrame.Angles(math.rad(-47), math.rad(22), math.rad(11.5))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.65, 0.85, 0) * CFrame.Angles(math.rad(-16), math.rad(-7), math.rad(45))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.73, 0.15, 0.1) * CFrame.Angles(math.rad(0), math.rad(6.5), math.rad(2))
- sGrip.C0 = GripC0 * CFrame.new(0.19, 0, -0.01) * CFrame.fromEulerAnglesXYZ(math.rad(-45), math.rad(1), math.rad(15))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[3] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.1) * CFrame.Angles(math.rad(50), 0, math.rad(20))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(-10))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(1.2, -0.4, -0.8) * CFrame.Angles(math.rad(-30), math.rad(70), math.rad(90))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.1, -0.55, -0.1) * CFrame.Angles(math.rad(-50), math.rad(20), math.rad(10))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.8, 1, 0) * CFrame.Angles(math.rad(-15), math.rad(-5), math.rad(50))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.7, -0.1, 0) * CFrame.Angles(math.rad(0), math.rad(5), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0.2, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-50), math.rad(0), math.rad(20))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"ZZZ", "Stand", "SummonPuddle"}
- , Reference = "ZZ"}
- Animations.ZZZ = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.1) * CFrame.Angles(math.rad(40), 0, math.rad(25))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-15), math.rad(0), math.rad(-15))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(1.2, -0.6, -0.8) * CFrame.Angles(math.rad(-10), math.rad(60), math.rad(150))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.1, 0.5, -0.1) * CFrame.Angles(math.rad(50), math.rad(0), math.rad(-180))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.8, 0.9, 0) * CFrame.Angles(math.rad(-10), math.rad(-10), math.rad(32))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.7, -0.1, 0) * CFrame.Angles(math.rad(0), math.rad(5), math.rad(15))
- sGrip.C0 = GripC0 * CFrame.new(0.2, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(33), math.rad(0), math.rad(180))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[1] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.35) * CFrame.Angles(math.rad(50), 0, math.rad(-34))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-18), math.rad(-8), math.rad(15))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(-0.3, -0.4, 0.4) * CFrame.Angles(math.rad(-10), math.rad(-110), math.rad(90))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.25, -0.55, 0.4) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(-130))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.7, 0.1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.15, 0.9, 0) * CFrame.Angles(math.rad(-40), math.rad(0), math.rad(-40))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-40), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0.2, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(80), math.rad(0), math.rad(180))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"ZZZZ", "Stand", "SummonPuddle", "Extinction1"}
- , Reference = "ZZZ"}
- Animations.ZZZZ = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.2) * CFrame.Angles(math.rad(50), 0, math.rad(-14))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-18), math.rad(-8), math.rad(15))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(-0.3, -0.4, 0.4) * CFrame.Angles(math.rad(-10), math.rad(-60), math.rad(80))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.25, -0.55, 0.4) * CFrame.Angles(math.rad(0), math.rad(70), math.rad(-100))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.5, 0.5, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(20))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(20), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.15, 0.6, 0) * CFrame.Angles(math.rad(-15), math.rad(0), math.rad(-40))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-40), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0.2, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(40), math.rad(0), math.rad(180))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[2] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.15) * CFrame.Angles(math.rad(8), math.rad(-7), math.rad(-110))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(4), math.rad(10), math.rad(70))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-20), math.rad(-20), math.rad(-20))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(20), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-80), math.rad(-95))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(15), math.rad(15), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, -0.15, 0) * CFrame.Angles(math.rad(4), math.rad(-8), math.rad(4))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0, 0.2, 0) * CFrame.Angles(math.rad(-18), math.rad(8), math.rad(5))
- sGrip.C0 = GripC0 * CFrame.new(0.2, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(25), math.rad(0), math.rad(160))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[1] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.25) * CFrame.Angles(math.rad(8), math.rad(-7), math.rad(-64))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(4), math.rad(10), math.rad(60))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-10), math.rad(-15), math.rad(-5))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(20), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.55, 0, 0.3) * CFrame.Angles(math.rad(0), math.rad(60), math.rad(-95))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(15), math.rad(15), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, -0.1, 0) * CFrame.Angles(math.rad(-5), math.rad(-8), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-5), math.rad(0), math.rad(-5))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(-30), 0)
- sGrip.C0 = GripC0 * CFrame.new(0.2, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(35), math.rad(0), math.rad(160))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"ZZZZZ", "Stand", "SummonPuddle", "Extinction1"}
- , Reference = "ZZZZ"}
- Animations.ZZZZZ = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.3) * CFrame.Angles(math.rad(-18), math.rad(5), math.rad(-36))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(20), math.rad(4), math.rad(12))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(5), math.rad(-20), math.rad(167))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-30), math.rad(0), math.rad(-90))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(30), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, 0.02, 0) * CFrame.Angles(math.rad(-10), math.rad(-8), math.rad(-30))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0.2, -0.22, 0.05) * CFrame.Angles(math.rad(-6), math.rad(30), math.rad(24))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[1] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.2) * CFrame.Angles(math.rad(-26), math.rad(5), math.rad(-36))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(25), math.rad(4), math.rad(12))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(5), math.rad(-20), math.rad(197))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-30), math.rad(0), math.rad(-80))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(30), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, 0.07, 0) * CFrame.Angles(math.rad(-18), math.rad(-8), math.rad(-40))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0.2, -0.25, 0.05) * CFrame.Angles(math.rad(-6), math.rad(30), math.rad(34))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-20), math.rad(0), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[2] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.14) * CFrame.Angles(math.rad(21), 0, math.rad(23))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(10), math.rad(4), math.rad(-12))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0.5, 0, -0.2) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(119))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-50), math.rad(0), math.rad(40))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, -0.15, 0) * CFrame.Angles(math.rad(-10), math.rad(-8), math.rad(-30))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0, -0.1, 0) * CFrame.Angles(math.rad(-2), math.rad(16), math.rad(-10))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-20), math.rad(-8), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"ZZZZZZ", "Stand", "SummonPuddle", "Extinction1"}
- , Reference = "ZZZZZ"}
- Animations.ZZZZZZ = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, -0.2, 0.15) * CFrame.Angles(math.rad(-48), 0, math.rad(30))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(26), math.rad(6), math.rad(-20))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0.5, 0) * CFrame.Angles(math.rad(10), math.rad(-20), math.rad(174))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(30), math.rad(-50), math.rad(-66))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.27, 0.07, 0) * CFrame.Angles(math.rad(-20), math.rad(0), math.rad(41))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-6), math.rad(-20), math.rad(65))
- sGrip.C0 = GripC0 * CFrame.new(0, -0.1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-30), math.rad(-3), math.rad(180))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = 40
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"ZZZZZZZ", "Stand", "SummonPuddle", "Extinction1"}
- , Reference = "ZZZZZZ"}
- Animations.ZZZZZZZ = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.9) * CFrame.Angles(math.rad(50), math.rad(0), math.rad(0))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-20), math.rad(0), math.rad(10))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0.5, -0.25, -0.2) * CFrame.Angles(math.rad(-15), math.rad(15), math.rad(79))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-36), math.rad(0), math.rad(50))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.4, 1.475, -0.4) * CFrame.Angles(math.rad(-17), math.rad(17), math.rad(48))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(17), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-1, -0.35, 0.35) * CFrame.Angles(math.rad(20), math.rad(20), math.rad(40))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(32), math.rad(0), math.rad(180))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = 40
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"ZZZZZZZZ", "Stand", "SummonPuddle"}
- , Reference = "ZZZZZZZ"}
- Animations.ZZZZZZZ = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.9) * CFrame.Angles(math.rad(50), math.rad(0), math.rad(0))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-20), math.rad(0), math.rad(10))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0.5, -0.25, -0.2) * CFrame.Angles(math.rad(-15), math.rad(15), math.rad(79))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-36), math.rad(0), math.rad(50))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.4, 1.475, -0.4) * CFrame.Angles(math.rad(-17), math.rad(17), math.rad(48))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(17), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-1, -0.35, 0.35) * CFrame.Angles(math.rad(20), math.rad(20), math.rad(40))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(32), math.rad(0), math.rad(180))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = 40
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"Stand", "Z", "SummonPuddle"}
- , Reference = "ZZZZZZZ"}
- Animations.SummonPuddle = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0.5, 0.2) * CFrame.Angles(math.rad(8), math.rad(-5), math.rad(-120))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-8), math.rad(0), math.rad(70))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-20), math.rad(-20), math.rad(-10))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-60), math.rad(-125))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(15), math.rad(15), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, -0.17, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(-10))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(10), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0.25, 0.2, -0.3) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-105), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0.2, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(25), math.rad(0), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[1] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.1) * CFrame.Angles(math.rad(28), math.rad(0), math.rad(40))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-25))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-40), math.rad(-30), math.rad(10))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.3, 0, 0.3) * CFrame.Angles(math.rad(0), math.rad(60), math.rad(-105))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(15), math.rad(15), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.3, 0.35, 0) * CFrame.Angles(math.rad(-20), math.rad(0), math.rad(20))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(30), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.6, -0.2, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(15), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0.2, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(10), math.rad(0), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"Stand", "EZ", "EX", "EC", "EV", "EB", "PuddleTrigger"}
- , Reference = "SummonPuddle"}
- Animations.PuddleTrigger = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.2) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(31))
- sRootJoint.C1 = sRootJoint.C1 * CFrame.fromEulerAnglesXYZ(math.rad(2), 0, math.rad(-10))
- sNeck.C0 = sNeck.C0 * CFrame.new(0, 0, -0.02) * CFrame.fromEulerAnglesXYZ(math.rad(18), math.rad(-6), math.rad(-43))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0.1, -0.3, -0.1) * CFrame.fromEulerAnglesXYZ(-math.rad(18), -math.rad(20), math.rad(-20))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0.15, 0.2, 0.05) * CFrame.fromEulerAnglesXYZ(math.rad(10), 0, math.rad(-170))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(-20), math.rad(-5))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, 0, -0.1) * CFrame.fromEulerAnglesXYZ(math.rad(-7), -math.rad(18), math.rad(-1))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(-18), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0.15, 0, -0.02) * CFrame.fromEulerAnglesXYZ(math.rad(-7), math.rad(18), math.rad(1))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(10), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0.15, 0, -0.05) * CFrame.fromEulerAnglesXYZ(-math.rad(20), math.rad(10), math.rad(-10))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -5
- end
- keyframe[1] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.2) * CFrame.fromEulerAnglesXYZ(0, 0, math.rad(31))
- sRootJoint.C1 = sRootJoint.C1 * CFrame.fromEulerAnglesXYZ(math.rad(2), 0, math.rad(-10))
- sNeck.C0 = sNeck.C0 * CFrame.new(0, 0, -0.02) * CFrame.fromEulerAnglesXYZ(math.rad(19), math.rad(-8), math.rad(-40))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0.1, -0.3, -0.1) * CFrame.fromEulerAnglesXYZ(-math.rad(18), -math.rad(20), math.rad(-18))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.1, 0.55, 0) * CFrame.fromEulerAnglesXYZ(math.rad(46), 0, math.rad(-180))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(20), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, 0, -0.1) * CFrame.fromEulerAnglesXYZ(math.rad(-7), -math.rad(18), math.rad(-1))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(-19), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0.15, 0, -0.02) * CFrame.fromEulerAnglesXYZ(math.rad(-7), math.rad(18), math.rad(1))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(11), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0.15, 0, -0.05) * CFrame.fromEulerAnglesXYZ(-math.rad(20), math.rad(10), math.rad(-10))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -5
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"Stand"}
- , Reference = "PuddleTrigger"}
- Animations.Extinction1 = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.45) * CFrame.Angles(math.rad(34), math.rad(0), math.rad(-55))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(2), math.rad(9), math.rad(15))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, -0.6, 0.4) * CFrame.Angles(math.rad(0), math.rad(-105), math.rad(65))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-78), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.035, -0.18, -0.04) * CFrame.Angles(math.rad(-38), math.rad(25), math.rad(-48))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(0))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-5), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.1, 1, -0.2) * CFrame.Angles(math.rad(-30), math.rad(0), math.rad(-40))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-10), math.rad(-70), math.rad(-30))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[1] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.2) * CFrame.Angles(math.rad(25), math.rad(0), math.rad(25))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(7), math.rad(9), math.rad(-15))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0.8, -0.6, -0.4) * CFrame.Angles(math.rad(0), math.rad(40), math.rad(100))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.035, -0.18, -0.04) * CFrame.Angles(math.rad(-58), math.rad(25), math.rad(-48))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-25))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(10), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.66, 0.55, -0.3) * CFrame.Angles(math.rad(0), math.rad(-10), math.rad(-20))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(20), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-50), math.rad(0), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[2] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 1.2, -0.2) * CFrame.Angles(math.rad(-57), math.rad(0), math.rad(-150))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(10), math.rad(2), math.rad(-10))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(-0.4, 0.6, 0.3) * CFrame.Angles(math.rad(0), math.rad(-130), math.rad(80))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(140), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.5, -0.4, 0.2) * CFrame.Angles(math.rad(0), math.rad(-35), math.rad(-100))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.3, 1, -0.1) * CFrame.Angles(math.rad(-33), math.rad(0), math.rad(40))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(25), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.3, -0.3, -0.3) * CFrame.Angles(math.rad(26), math.rad(0), math.rad(-10))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-40), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-50), math.rad(0), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"Stand"}
- , Reference = "Extinction1"}
- Animations.Extinction2 = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.89) * CFrame.fromEulerAnglesXYZ(math.rad(-52), math.rad(-26), -math.rad(180))
- sNeck.C0 = sNeck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-31), math.rad(0), math.rad(0))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(-math.rad(21), -math.rad(0), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.55, -0.53, 0.3) * CFrame.fromEulerAnglesXYZ(math.rad(-21), -math.rad(-8), math.rad(-60))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), -math.rad(-91), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.4, 1.15, 0.1) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(45))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-13), math.rad(21), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-1.1, 0.4, 0.3) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(35))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(6), math.rad(-17), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = 0
- end
- keyframe[1] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(38), math.rad(0), math.rad(-150))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(8), math.rad(2), math.rad(70))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(-0.4, -0.6, 0.3) * CFrame.Angles(math.rad(0), math.rad(-100), math.rad(80))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.5, -0.4, 0.2) * CFrame.Angles(math.rad(0), math.rad(-35), math.rad(-100))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.2, 0.7, -0.1) * CFrame.Angles(math.rad(-5), math.rad(0), math.rad(10))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(20), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.2, 0.3, 0) * CFrame.Angles(math.rad(-5), math.rad(0), math.rad(30))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-30), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-20), math.rad(0), math.rad(10))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[2] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-20), math.rad(15), math.rad(-20))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(40), math.rad(0), math.rad(0))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(-0.25, -0.2, -0.1) * CFrame.Angles(math.rad(0), math.rad(30), math.rad(-60))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.2, -0.4, 0.5) * CFrame.Angles(math.rad(-24), math.rad(-13), math.rad(-30))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.4, 0.4, -0.1) * CFrame.Angles(math.rad(5), math.rad(0), math.rad(30))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(20), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.2, 0.3, 0) * CFrame.Angles(math.rad(-35), math.rad(0), math.rad(15))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-20), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-20), math.rad(0), math.rad(10))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[3] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-140), math.rad(20), math.rad(140))
- sRootJoint.C1 = sRootJoint.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(40), math.rad(0), math.rad(0))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(-0.25, -0.2, -0.1) * CFrame.Angles(math.rad(20), math.rad(30), math.rad(140))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.2, -0.4, 0.5) * CFrame.Angles(math.rad(-55), math.rad(13), math.rad(-50))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-45), math.rad(0), math.rad(-60))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-65), math.rad(0), math.rad(45))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-20), math.rad(0), math.rad(10))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[4] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0.4, 0) * CFrame.Angles(math.rad(30), math.rad(-22), math.rad(-90))
- sRootJoint.C1 = sRootJoint.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(8), math.rad(0), math.rad(0))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(10), math.rad(0), math.rad(60))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(-0.25, -0.2, -0.1) * CFrame.Angles(math.rad(40), math.rad(-30), math.rad(180))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.2, -0.4, 0.5) * CFrame.Angles(math.rad(-95), math.rad(-8), math.rad(0))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-25), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(15))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-10), math.rad(0), math.rad(20))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[5] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-50), math.rad(170), math.rad(90))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(15), math.rad(-65), math.rad(80))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(-0.25, -0.2, -0.1) * CFrame.Angles(math.rad(-40), math.rad(-30), math.rad(-40))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.2, 0.8, 0.35) * CFrame.Angles(math.rad(-175), math.rad(0), math.rad(0))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-6), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(25), math.rad(0), math.rad(-15))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-35), math.rad(0), math.rad(15))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(30), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-10), math.rad(0), math.rad(20))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[6] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(10), math.rad(180), math.rad(0))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(35), math.rad(0), math.rad(0))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-60), math.rad(-3), math.rad(-30))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, 0.3, 0) * CFrame.Angles(math.rad(-40), math.rad(0), math.rad(-170))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-6), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-15))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.2, 0, 0) * CFrame.Angles(math.rad(-5), math.rad(0), math.rad(15))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(30), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[7] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(0))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(35), math.rad(0), math.rad(0))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-60), math.rad(-3), math.rad(-30))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, 0.3, 0) * CFrame.Angles(math.rad(-40), math.rad(0), math.rad(-170))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-6), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-15))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.2, 0, 0) * CFrame.Angles(math.rad(-5), math.rad(0), math.rad(15))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(30), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[8] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.89) * CFrame.fromEulerAnglesXYZ(math.rad(52), math.rad(26), -math.rad(0))
- sNeck.C0 = sNeck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-31), math.rad(0), math.rad(0))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(-math.rad(21), -math.rad(0), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.55, -0.53, 0.3) * CFrame.fromEulerAnglesXYZ(math.rad(-21), -math.rad(-8), math.rad(-60))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), -math.rad(-91), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.4, 1.15, 0.1) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(45))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-13), math.rad(21), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-1.1, 0.4, 0.3) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(35))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(6), math.rad(-17), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = 0
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"ZZZ", "Stand"}
- , Reference = "Extinction2"}
- Animations.ShatterCannon = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.1) * CFrame.Angles(math.rad(50), 0, math.rad(20))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(-10))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(1.2, -0.4, -0.8) * CFrame.Angles(math.rad(-30), math.rad(70), math.rad(90))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.1, -0.55, -0.1) * CFrame.Angles(math.rad(-50), math.rad(20), math.rad(10))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.8, 1, 0) * CFrame.Angles(math.rad(-15), math.rad(-5), math.rad(50))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.7, -0.1, 0) * CFrame.Angles(math.rad(0), math.rad(5), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0.2, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(180))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[1] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.2) * CFrame.Angles(math.rad(-19), math.rad(0), math.rad(-95))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(2), math.rad(15), math.rad(90))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(-0.3, -0.4, 0.4) * CFrame.Angles(math.rad(-10), math.rad(-46), math.rad(85))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.1, -0.7, 0.4) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(-70))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(80), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.5, 0.75, 0) * CFrame.Angles(math.rad(-28), math.rad(0), math.rad(-3))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0, -0.1, 0) * CFrame.Angles(math.rad(-20), math.rad(0), math.rad(3))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(20), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-43), math.rad(0), math.rad(180))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[2] = function()
- resetWelds(3, {})
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, -0.2) * CFrame.Angles(math.rad(48), math.rad(16), math.rad(30))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-10), math.rad(7), math.rad(-10))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(1.15, 0.2, 0.3) * CFrame.Angles(math.rad(-5), math.rad(-50), math.rad(125))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(10), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0.2, -0.5, 0) * CFrame.Angles(math.rad(-40), math.rad(20), math.rad(40))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.3, -0.1, 0.05) * CFrame.Angles(math.rad(0), math.rad(-23), math.rad(-10))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(-0.6, 0.45, -0.3) * CFrame.Angles(math.rad(-2), math.rad(-20), math.rad(-45))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(-90), math.rad(90))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"Stand"}
- , Reference = "ShatterCannon"}
- Animations.Bladewave = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.15) * CFrame.Angles(math.rad(18), math.rad(-3), math.rad(120))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(4), math.rad(10), math.rad(110))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-40), math.rad(20), math.rad(-20))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(20), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-80), math.rad(-95))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(15), math.rad(15), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, 0.25, 0) * CFrame.Angles(math.rad(-22), math.rad(8), math.rad(-9))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0, -0.3, 0) * CFrame.Angles(math.rad(20), math.rad(-8), math.rad(21))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-20), math.rad(0), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = 0
- end
- keyframe[1] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.05) * CFrame.Angles(math.rad(12), math.rad(4), math.rad(-94))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(18), math.rad(8), math.rad(35))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(-0.3, -0.4, 0.4) * CFrame.Angles(math.rad(-10), math.rad(-60), math.rad(90))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.25, -0.2, 0.4) * CFrame.Angles(math.rad(-90), math.rad(0), math.rad(0))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, -0.1, 0) * CFrame.Angles(math.rad(4), math.rad(0), math.rad(-8))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0, 0.05, 0) * CFrame.Angles(math.rad(-8), math.rad(0), math.rad(-4))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = 30
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"Stand"}
- , Reference = "Bladewave"}
- Animations.BlackSpace = {Animation = function(fr)
- local keyframe = {}
- sresetWelds()
- keyframe[0] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0, 0.05) * CFrame.Angles(math.rad(20), 0, math.rad(80))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(-15), math.rad(0), math.rad(-45))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(1.2, -0.7, -0.8) * CFrame.Angles(math.rad(0), math.rad(90), math.rad(85))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.1, 0.5, -0.1) * CFrame.Angles(math.rad(0), math.rad(-45), math.rad(-95))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0, 0.4, 0) * CFrame.Angles(math.rad(-20), math.rad(0), math.rad(0))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(45), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0, -0.15, 0) * CFrame.Angles(math.rad(-10), math.rad(5), math.rad(15))
- sGrip.C0 = GripC0 * CFrame.new(0.2, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(33), math.rad(0), math.rad(180))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[1] = function()
- sRootJoint.C0 = sRootJoint.C0 * CFrame.new(0, 0.5, 0.05) * CFrame.Angles(math.rad(-24), 0, math.rad(-60))
- sNeck.C0 = sNeck.C0 * CFrame.Angles(math.rad(15), math.rad(0), math.rad(45))
- sRightShoulder.C0 = sRightShoulder.C0 * CFrame.new(0.8, -0.7, -0.1) * CFrame.Angles(math.rad(0), math.rad(72), math.rad(72))
- sRightShoulder.C1 = sRightShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-88), math.rad(0))
- sLeftShoulder.C0 = sLeftShoulder.C0 * CFrame.new(-0.45, -0.7, 0.2) * CFrame.Angles(math.rad(0), math.rad(60), math.rad(-63))
- sLeftShoulder.C1 = sLeftShoulder.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(40), math.rad(0))
- sRightHip.C0 = sRightHip.C0 * CFrame.new(0.2, 0.2, -0.3) * CFrame.Angles(math.rad(-20), math.rad(0), math.rad(-8))
- sRightHip.C1 = sRightHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-40), math.rad(0))
- sLeftHip.C0 = sLeftHip.C0 * CFrame.new(0.1, -0.2, -0.2) * CFrame.Angles(math.rad(-5), math.rad(0), math.rad(20))
- sLeftHip.C1 = sLeftHip.C1 * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
- sGrip.C0 = GripC0 * CFrame.new(0.2, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(33), math.rad(0), math.rad(180))
- game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value = -2
- end
- keyframe[fr]()
- return sRootJoint.C0, sNeck.C0, sRightShoulder.C0, sLeftShoulder.C0, sRightHip.C0, sLeftHip.C0, sGrip.C0, sRootJoint.C1, sNeck.C1, sRightShoulder.C1, sLeftShoulder.C1, sRightHip.C1, sLeftHip.C1
- end
- ,
- Cancels = {"Stand"}
- , Reference = "BlackSpace"}
- print("SA Engine v4b1 loaded")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement