Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Dio Burando
- FakeHeartbeat=Instance.new('BindableEvent',script)
- FakeHeartbeat.Name='Heartbeat'
- script:WaitForChild'Heartbeat'
- frame=1/30
- tf=0
- lastframea=tick()
- script.Heartbeat:Fire()
- game:service'RunService'.Heartbeat:connect(function(s,p)
- tf = tf + s
- if tf >= frame 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
- JogarMaxm=game.Players.LocalPlayer
- repeat wait() until .Character; = JogarMaxm
- repeat wait() until #script:children() >= 4 and 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,-.7,0)*CFrame.fromEulerAnglesXYZ(-math.pi/2,0,math.pi)
- TrackFunction=nil
- PlayerAnimationScript=nil
- equipdebounce=true
- PlayerCanJump = true
- StickDir=5
- StickPos=5
- PlayerCombatKeys={}
- radiushelp = .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=.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 = 16 * 1.25 / 30
- --
- TwoDInputs={}
- fwait=function(num) --RS hooked thread yielding
- 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=""
- ----print("Done")
- end),lastnormal,tick())
- end
- BillboardGui=function(image,position,size) --returns a basic billboard gui object for further manipulation
- 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) --returns a basic part for further manipulation
- 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)
- if meshtype then
- local m = Instance.new(meshtype,par)
- m.Scale=meshscale
- end
- return par
- end
- CFrameFromTopBack=function(at, top, back)
- --Credit to basic mathematics
- 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)
- --Credit to Fenrier
- 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, b, c = a, b, c
- elseif edg2 <= (c-b).magnitude and edg2 >= 0 then
- a, b, c = b, c, a
- elseif edg3 <= (a-c).magnitude and edg3 >= 0 then
- a, b, c = c, a, b
- else
- assert(false, "unreachable")
- 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=.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
- 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=.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
- return unpack(list)
- 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 --blorb
- InputNormals={}
- --Normal Specials
- GetIgnoreList=function()
- --nevermind
- 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 * .7
- local direction = direction + Vector3.new(math.random(-3,3),math.random(-3,3)+.1,math.random(-3,3)).unit * .16 --add some flava
- position = position + direction*1.1
- local pc = NewPart(Vector3.new(.1,.1,.1),CFrame.new(position + Vector3.new(math.random(-3,3),math.random(-3,3),math.random(-3,3)).unit * .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
- if size < 1.1 then
- if 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(.5,-.1,.5) + Vector3.new(.5,0,.5) * s
- fwait()
- end
- p:Remove()
- end),plc,size)
- end
- else
- 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(.5,-.1,.5) + Vector3.new(.5,0,.5) * s
- fwait()
- end
- p:Remove()
- end),plc,size)
- end
- end
- local eff = NewPart(Vector3.new(.1,.1,.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*.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(.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-- + Vector3.new(math.random(-1,1),math.random(-1,1)-.2,math.random(-1,1))
- else
- print(par)
- if (loc - pc.CFrame.p).magnitude < 25 then --I shouldn't have to do this, but raycast insists on being wierd.
- pc.CFrame = CFrame.new(loc)
- else
- print("!",loc)
- end
- print(loc,"|",pc.CFrame.p)
- ccpos = loc
- break
- end
- else
- pc.CFrame = pc.CFrame + direction*(speed)
- end
- local eff = NewPart(Vector3.new(.1,.1,.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(.03)
- end
- print(pc.CFrame.p,'()')
- --if par == nil then print("(") end
- 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(.1,.1,.1)*s
- p.Transparency=.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(.1,.1,.1)*s
- p.Transparency=.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
- 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)
- end
- 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,.25,0)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1,-.5,1) + Vector3.new(.3,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,.125,0)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(2,-.25,2) + Vector3.new(.5,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
- --print("DAMN SON",time())
- if size < 1.1 then
- applyDamage(v,7,Vector3.new(),false,false,nil,.01,1,"",.95,false,true)
- else
- applyDamage(v,12,Vector3.new(0,55,0),true,false,nil,.1,1,"",.95,false,true)
- end
- applyCameraShake(v,250,6)
- end
- for _,v in pairs(game.Players:children()) do
- if v.Character then
- if v.Character:FindFirstChild("Torso") then
- if (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
- 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=.9+i/50
- p.d2.Transparency=.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
- InputNormals["C"]=function() --Eliminator
- 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 then
- if (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,.25,0)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1,-.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(.5,0,.5)
- fwait()
- end
- p:Remove()
- end),pc)
- end
- end
- if rawframes <= 7 then
- cl = cl + (rawframes-0) * .036
- LerpWelds(clastframe,cl,Animations["ShatterCannon"]["Animation"](0))
- print(cl)
- if rawframes == 2 then
- p=Instance.new("Sound",vPlayer.Character.Torso)
- p.Volume=.33
- p.Pitch=.8
- p.SoundId="http://www.roblox.com/asset/?id=231917794"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p,3)
- end
- elseif rawframes > 7 and rawframes <= 29 then
- if rawframes == 7 + 1 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(.3,.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(.1 + i*.1,.1 + i*.1,0)
- end
- p:Remove()
- end),pz,CPlane)
- cl = 0
- end
- 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(.15,.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(.1 + i*.1,.1 + i*.1,0)
- end
- p:Remove()
- end),pz,CPlane)
- game:GetService("Debris"):AddItem(pz,6)
- end
- cframes = rawframes - 7
- cl = cl+cframes * .004
- LerpWelds({Animations["ShatterCannon"]["Animation"](0)},cl,Animations["ShatterCannon"]["Animation"](1))
- Grip.C0 = Grip.C0 * CFrame.fromEulerAnglesXYZ(0,0,-math.rad(710/27*cframes))
- elseif 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(710/27*(cframes + 22)))
- print(720/27*(cframes + 26))
- elseif rawframes > 43 and rawframes <= 46 then
- if rawframes == 43 + 1 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=.9+i/50
- p.d2.Transparency=.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=.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=.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,.25,0)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1.3,-.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=.5
- game:GetService("Debris"):AddItem(pc,5)
- coroutine.resume(coroutine.create(function(p)
- for ii=1, 9 do
- p.Transparency=.5 + ii/18
- p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(3 + ii),0) * CFrame.new(0,.5,0)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(4/4,-.3,4/4)
- 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=.5
- game:GetService("Debris"):AddItem(pc,5)
- coroutine.resume(coroutine.create(function(p)
- for ii=1, 9 do
- p.Transparency=.5 + ii/18
- p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(3 + ii),0) * CFrame.new(0,.5,0)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(4/4,-.2,4/4)
- 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=.5
- game:GetService("Debris"):AddItem(pc,5)
- coroutine.resume(coroutine.create(function(p)
- for ii=1, 9 do
- p.Transparency=.5 + ii/18
- p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(3 + ii),0) * CFrame.new(0,.5,0)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(2/4,-.1,2/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),"Black","SpecialMesh",Vector3.new(2.5,2.5,2))
- pc.Mesh.MeshType="Sphere"
- pc.Parent=workspace
- pc.Anchored=true
- pc.CanCollide=false
- pc.Transparency=.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*.45 + .5)/1.5)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(-2.5/10,-2.5/10,ii*.9 + .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=.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*.75 + .5)/1.5)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(-2/10,-2/10,ii*.9 + .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=.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*.5 + .5)/1.5)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(-4/10,-4/10,ii*.9 + .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=.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*.5 + .5)/1.5)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(-5/12,-5/12,ii*.9 + .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
- cframes = rawframes - 43
- cl = cframes*.33
- LerpWelds({Animations["ShatterCannon"]["Animation"](1)},cl,Animations["ShatterCannon"]["Animation"](2))
- print(cl,"D")
- elseif 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=.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*.07,1.6-ii*.07,0)
- fwait()
- end
- p:Remove()
- end),pc)
- end
- end
- applyDamage(v,40,CPlane*80 + Vector3.new(0,20,0),true,false,nil,1,1,"231917970",.82,true,true)
- 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
- InputNormals["X"]=function() --Blackstar
- 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
- 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 = .5 + i/40
- p.CFrame = p.CFrame * R - Vector3.new(0,9.82/30/11*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=.85
- p.Pitch=.9
- p.SoundId="http://www.roblox.com/asset/?id=233091161"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p,3)
- end
- elseif rawframes > 5 and rawframes <= 8 then
- LerpWelds(clastframe,1 + (rawframes - 6)*.02,Animations["BlackSpace"]["Animation"](0))
- if rawframes == 6 then
- local pz = NewPart(Vector3.new(2,2,1),(vPlayer.Character["HumanoidRootPart"].CFrame*CFrame.new(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*.12,i*.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(.1,.1,0)
- end
- end
- p:Remove()
- end),pz,CPlane)
- game:GetService("Debris"):AddItem(pz,6)
- elseif rawframes == 8 then
- local pz = NewPart(Vector3.new(2,2,1),(vPlayer.Character["HumanoidRootPart"].CFrame*CFrame.new(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*.048,i*.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(.1,.1,0)
- end
- end
- p:Remove()
- end),pz,CPlane)
- game:GetService("Debris"):AddItem(pz,6)
- end
- elseif rawframes > 8 and rawframes <= 12 then
- LerpWelds(clastframe,1.04 - (rawframes - 8)*.02,Animations["BlackSpace"]["Animation"](0))
- elseif rawframes > 12 and rawframes <= 17 then
- cl = cl + (rawframes-12)*.066
- if rawframes == 15 then
- p=Instance.new("Sound",vPlayer.Character.Torso)
- p.Volume=.4
- p.Pitch=.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)
- elseif rawframes > 17 and rawframes <= 20 then
- LerpWelds({Animations["BlackSpace"]["Animation"](0)},1 + (rawframes - 17)*.02,Animations["BlackSpace"]["Animation"](1))
- elseif rawframes > 20 and rawframes <= 23 then
- LerpWelds({Animations["BlackSpace"]["Animation"](0)},1.04 - (rawframes - 20)*.02,Animations["BlackSpace"]["Animation"](1))
- elseif rawframes > 25 and rawframes <= 34 then
- LerpWelds({Animations["BlackSpace"]["Animation"](1)},(rawframes-25)/9,Animations["Stand"]["Animation"](0))
- end
- if rawframes == 17 then
- local eb = BillboardGui("http://www.roblox.com/asset/?id=234376736",(vPlayer.Character["HumanoidRootPart"].CFrame*CFrame.new(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=.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*.2
- if i >= 45 then
- p.BillboardGui.ImageLabel.ImageTransparency=p.BillboardGui.ImageLabel.ImageTransparency+.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=.75 + ii/80
- p.CFrame = p.CFrame * CFrame.Angles(0,-math.rad(3 + ii),0) - Vector3.new(0,.05,0)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.4,-.1,.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=.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*.15
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1.4,1.4,0)
- fwait()
- end
- p:Remove()
- end),pc,cdir)
- end
- end
- 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=.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*.15
- p.Mesh.Scale=p.Mesh.Scale - Vector3.new(.7,.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,.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,.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 = .1
- cpro.Parent=workspace
- cpro.Transparency = .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(.5,.5,.5)
- p.Transparency = .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))
- else
- --applyDamage(v,0,Vector3.new(sitoop.x,0,sitoop.z) / 6.25,false,false,nil,.01,1,"",0,false,false)
- end
- applyCameraShake(v,50,5)
- 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 = .1
- cpro.Parent=workspace
- cpro.Transparency = .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(.5,.5,.5)
- p.Transparency = .5 + ii/14
- p.CFrame = p.CFrame + cdir*.15
- fwait()
- end
- end),cpro,cdir)
- 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 = .1
- cpro.Parent=workspace
- cpro.Transparency = .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(.75,.75,.75)
- p.Transparency = .5 + ii/20
- p.CFrame = p.CFrame + cdir*.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 = .1
- cpro.Parent=workspace
- cpro.Transparency = .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(.95,.95,.95)
- p.Transparency = .5 + ii/20
- p.CFrame = p.CFrame + cdir*.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 = .1
- cpro.Parent=workspace
- cpro.Transparency = .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 = .75 + ii/60
- p.CFrame = p.CFrame + cdir*.15
- fwait()
- end
- end),cpro,cdir)
- end
- fwait()
- 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
- --//Normal Specials
- --Basic Combo / Normals
- 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=.8
- p.SoundId="http://www.roblox.com/asset/?id=233856140"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p,3)
- end
- elseif rawframes > 5 and rawframes <= 9 then
- LerpWelds(clastframe,1 + (rawframes - 6)*.02,Animations["Z"]["Animation"](0))
- elseif rawframes > 9 and rawframes <= 13 then
- LerpWelds(clastframe,1.06 - (rawframes - 10)*.02,Animations["Z"]["Animation"](0))
- elseif rawframes > 13 then
- ----print((rawframes-22)/7)
- LerpWelds({Animations["Z"]["Animation"](0)},(rawframes-13)/7,Animations["Stand"]["Animation"](0))
- 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(v,8,CPlane*30,false,false,nil,.2,1,"153092238",1,false,true)
- applyCameraShake(v,70,5)
- DidHit=true
- end
- end
- if rawframes==7 then
- setlastnormal("M")
- CanInterrupt(true)
- ----print("JORJ")
- end
- if rawframes == 20 then
- TrackFunction:disconnect()
- TrackFunction=nil
- DesiredWalkspeed=18
- PlayerIsAttacking=false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes=rawframes+1
- 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=.6
- p.SoundId="http://www.roblox.com/asset/?id=234365549"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p,3)
- end
- elseif rawframes > 4 and rawframes <= 6 then
- LerpWelds({Animations["ZZ"]["Animation"](0)},(rawframes-4)/2,Animations["ZZ"]["Animation"](1))
- elseif rawframes > 6 and rawframes <= 8 then
- LerpWelds({Animations["ZZ"]["Animation"](1)},(rawframes-6)/2,Animations["ZZ"]["Animation"](2))
- elseif rawframes > 8 and rawframes <= 11 then
- LerpWelds({Animations["ZZ"]["Animation"](1)},1 + (rawframes - 8)*.03,Animations["ZZ"]["Animation"](2))
- elseif rawframes > 11 and rawframes <= 15 then
- LerpWelds({Animations["ZZ"]["Animation"](1)},1.08 - (rawframes-11) * .03,Animations["ZZ"]["Animation"](2))
- elseif rawframes > 15 then
- LerpWelds({Animations["ZZ"]["Animation"](2)},(rawframes-15)/6,Animations["Stand"]["Animation"](0))
- 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(v,9,CPlane*40,false,false,nil,.4,1,"201858024",.6,true,true)
- applyCameraShake(v,90,5)
- DidHit=true
- end
- end
- if rawframes < 19 then
- if rawframes%2 == 0 then
- --print("borb")
- lpos=vPlayer.Character.Weapon.Blade.CFrame
- if cpos and (cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p).magnitude > .1 then
- --print('bub')
- 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
- elseif not cpos then
- cpos = lpos
- end
- end
- end
- if rawframes==10 then
- CanInterrupt(true)
- setlastnormal("MM")
- ----print("JORJ")
- end
- if rawframes == 21 then
- TrackFunction:disconnect()
- TrackFunction=nil
- DesiredWalkspeed=18
- PlayerIsAttacking=false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes=rawframes+1
- 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))
- elseif rawframes > 8 and rawframes <= 15 then
- cl = cl + (rawframes - 8) * .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=.85
- p.SoundId="http://www.roblox.com/asset/?id=234365573"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p,3)
- end
- elseif rawframes > 15 and rawframes <= 21 then
- LerpWelds({Animations["ZZZ"]["Animation"](0)},1 + (rawframes - 15) * .01,Animations["ZZZ"]["Animation"](1))
- --print(1 + (rawframes - 15) * .01)
- elseif rawframes > 21 and rawframes <= 25 then
- LerpWelds({Animations["ZZZ"]["Animation"](0)},1.1 - (rawframes-21)*.04,Animations["ZZZ"]["Animation"](1))
- elseif rawframes > 25 then
- LerpWelds({Animations["ZZZ"]["Animation"](1)},(rawframes-25)/6,Animations["Stand"]["Animation"](0))
- 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(v,9,CPlane*50,false,false,nil,.6,1,"201858024",.5,true,true)
- applyCameraShake(v,90,5)
- DidHit=true
- end
- end
- if rawframes < 18 then
- if rawframes%2 == 0 then
- --print("borb")
- lpos=vPlayer.Character.Weapon.Blade.CFrame
- if cpos and (cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p).magnitude > .1 then
- --print('bub')
- 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
- elseif not cpos then
- cpos = lpos
- end
- end
- end
- if rawframes==16 then
- CanInterrupt(true)
- setlastnormal("MMM")
- ----print("JORJ")
- end
- if rawframes == 31 then
- TrackFunction:disconnect()
- TrackFunction=nil
- DesiredWalkspeed=18
- PlayerIsAttacking=false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes=rawframes+1
- 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))
- elseif 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=.25
- p.Pitch=.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,9.82/30/11*i,0) + C
- fwait()
- end
- p:Remove()
- end),pc)
- elseif rawframes > 20 and rawframes <= 26 then
- LerpWelds({Animations["ZZZZ"]["Animation"](0)},1-(rawframes-20)*.02,Animations["ZZZZ"]["Animation"](1))
- elseif rawframes > 26 and rawframes <= 33 then
- LerpWelds({Animations["ZZZZ"]["Animation"](1)},(rawframes-26)/7.05-.10,Animations["ZZZZ"]["Animation"](2))
- elseif rawframes > 40 then
- LerpWelds({Animations["ZZZZ"]["Animation"](2)},(rawframes-40)/9,Animations["Stand"]["Animation"](0))
- 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,.35,0)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(-6/15,.7,-6/15)
- 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,.25,0)
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1,-.5,1)
- fwait()
- end
- p:Remove()
- end),pc)
- local p=Instance.new("Sound",pc)
- p.Volume=1
- p.Pitch=.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
- --print("DAMN SON",time())
- applyDamage(v,3,-dir*(58.5 - i*5),false,false,nil,.01,1,"",1.125,false,true)
- applyCameraShake(v,70,3)
- DidHit=true
- end
- fwait(.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 * .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=.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
- --print("DAMN SON",time())
- applyDamage(v,2,dir*52.5,false,false,nil,.01,1,"231917784",.95,false,true)
- applyCameraShake(v,50,3)
- DidHit=true
- end
- end
- 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)
- 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*.02,i*.02,0)
- end
- end
- p:Remove()
- end),pz,CPlane)
- game:GetService("Debris"):AddItem(pz,6)
- end
- if rawframes==38 then
- CanInterrupt(true)
- setlastnormal("MMMM")
- ----print("JORJ")
- end
- if rawframes == 48 then
- TrackFunction:disconnect()
- TrackFunction=nil
- DesiredWalkspeed=18
- PlayerIsAttacking=false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes=rawframes+1
- 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=.8
- p.SoundId="http://www.roblox.com/asset/?id=234365549"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p,3)
- end
- elseif rawframes > 5 and rawframes <= 8 then
- LerpWelds({Animations["ZZZZZ"]["Animation"](0)},(rawframes-5)/4,Animations["ZZZZZ"]["Animation"](1))
- elseif rawframes > 8 and rawframes <= 11 then
- LerpWelds({Animations["ZZZZZ"]["Animation"](1)},(rawframes-8)/3,Animations["ZZZZZ"]["Animation"](2))
- elseif rawframes > 11 and rawframes <= 14 then
- LerpWelds({Animations["ZZZZZ"]["Animation"](1)},1 + (rawframes - 11)*.03,Animations["ZZZZZ"]["Animation"](2))
- elseif rawframes > 14 and rawframes <= 19 then
- LerpWelds({Animations["ZZZZZ"]["Animation"](1)},1.08 - (rawframes-14) * .03,Animations["ZZZZZ"]["Animation"](2))
- elseif rawframes > 19 then
- LerpWelds({Animations["ZZZZZ"]["Animation"](2)},(rawframes-19)/8,Animations["Stand"]["Animation"](0))
- 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 * .5 - Vector3.new(0,.5,0),3.3)) do
- applyDamage(v,7,CPlane*30,false,false,nil,.1,1,"201858024",.85,true,true)
- applyCameraShake(v,120,5)
- DidHit=true
- end
- end
- 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(.5,.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=.5+i/10
- p.d2.Transparency=.5+i/10
- p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.5,.5,0)
- end
- p:Remove()
- end),pz,CPlane)
- game:GetService("Debris"):AddItem(pz,6)
- end
- if rawframes < 18 then
- if rawframes%2 == 0 then
- --print("borb")
- lpos=vPlayer.Character.Weapon.Blade.CFrame
- if cpos and (cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p).magnitude > .1 then
- --print('bub')
- 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
- elseif not cpos then
- cpos = lpos
- end
- end
- end
- if rawframes==17 then
- CanInterrupt(true)
- setlastnormal("MMMMM")
- ----print("JORJ")
- end
- if rawframes == 26 then
- TrackFunction:disconnect()
- TrackFunction=nil
- DesiredWalkspeed=18
- PlayerIsAttacking=false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes=rawframes+1
- 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
- elseif rawframes > 5 and rawframes <= 9 then
- LerpWelds(clastframe,1 + (rawframes - 5)*.01,Animations["ZZZZZZ"]["Animation"](0))
- elseif rawframes > 9 and rawframes <= 13 then
- LerpWelds(clastframe,1.03 - (rawframes - 9)*.01,Animations["ZZZZZZ"]["Animation"](0))
- elseif rawframes > 16 then
- ----print((rawframes-22)/7)
- LerpWelds({Animations["ZZZZZZ"]["Animation"](0)},(rawframes-16)/11,Animations["Stand"]["Animation"](0))
- 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(v,7,CPlane*45,false,false,nil,.33,1,"153092238",.8,false,true)
- applyCameraShake(v,140,5)
- DidHit=true
- end
- end
- if rawframes==12 then
- CanInterrupt(true)
- setlastnormal("MMMMMM")
- ----print("JORJ")
- end
- if rawframes == 27 then
- TrackFunction:disconnect()
- TrackFunction=nil
- DesiredWalkspeed=18
- PlayerIsAttacking=false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes=rawframes+1
- 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=.9
- p.SoundId="http://www.roblox.com/asset/?id=234365549"
- wait()
- p:Play()
- game:GetService("Debris"):AddItem(p,3)
- end
- elseif rawframes > 6 and rawframes <= 10 then
- LerpWelds(clastframe,.98 + (rawframes - 6)*.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=.5+i/10
- p.d2.Transparency=.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
- elseif rawframes > 10 and rawframes <= 15 then
- LerpWelds(clastframe,1.01 - (rawframes - 10)*.005,Animations["ZZZZZZZ"]["Animation"](0))
- elseif rawframes > 17 then
- ----print((rawframes-22)/7)
- LerpWelds({Animations["ZZZZZZZ"]["Animation"](0)},(rawframes-17)/10,Animations["Stand"]["Animation"](0))
- 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",.55,true,true)
- applyCameraShake(v,250,10)
- DidHit=true
- end
- end
- if rawframes==20 then
- CanInterrupt(true)
- setlastnormal("")
- ----print("JORJ")
- --print(tick() - ccctime)
- end
- if rawframes <= 20 then
- lpos=vPlayer.Character.Weapon.Blade.CFrame
- if cpos and (cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p).magnitude > .1 then
- --print('bub')
- 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
- elseif not cpos then
- cpos = lpos
- end
- end
- if rawframes == 27 then
- TrackFunction:disconnect()
- TrackFunction=nil
- DesiredWalkspeed=18
- PlayerIsAttacking=false
- CanInterrupt(true)
- setlastnormal("")
- Stand()
- end
- rawframes=rawframes+1
- 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={}
- --[[local vpar = Instance.new("Part",workspace)
- vpar.Transparency=.5
- vpar.CanCollide=false
- vpar.Anchored=true
- vpar.formFactor="Symmetric"
- vpar.Size=Vector3.new(1,1,1)
- vpar.TopSurface = 0 vpar.BottomSurface = 0
- vpar.CFrame = CFrame.new(pos)
- vpar.BrickColor=BrickColor:Red()
- local m = Instance.new("SpecialMesh",vpar)
- m.MeshType="Sphere"
- m.Scale=Vector3.new(radius,radius,radius)
- game:GetService("Debris"):AddItem(vpar,3)]]
- for _,v in pairs(scrubs) do
- if v:FindFirstChild("Torso")~=nil then
- if (v.Torso.Position-pos).magnitude<=radius then
- table.insert(filtered,v)
- end
- 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,10^8)
- ----print("asset roll: "..asset)
- 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
- print("NOE")
- 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)
- 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,.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,.5)
- ----print(g.Parent)
- 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,.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
- end
- local enemymana = 1
- if enemymana<=0 and canproc == true then
- local s = Instance.new("Sound",t)
- s.Volume=.77
- s.Pitch=.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(.2,.2,.2)
- p.Transparency=.25 + i/(10/(3/4))
- 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
- elseif r < 6 and r > -1 then
- r = 6
- 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(.15)
- h:TakeDamage(1) --Ignores defense/anything else pleoz
- 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(.5,.5,.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(.75,.75,.75)
- p.Transparency=.25 + i/(6/(3/4))
- 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
- elseif r < 12 and r > -1 then
- r = 12
- end
- for i=1, 6 do
- p.BillboardGui.ImageLabel.ImageTransparency=.25 + i/(6/(3/4))
- 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)
- elseif 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(.6,.6,.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(.4,.4,.4)
- p.Transparency=.25 + i/(10/(3/4))
- 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
- elseif r < 6 and r > -1 then
- r = 6
- 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
- --scrub.Value.Value = scrub.Value.Value-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(.5,.5,.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(.05,.05,.05)
- p.Transparency=.5 + i/40
- p.CFrame = p.CFrame * A + R - Vector3.new(0,9.82/30/9*(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(.3)
- end
- end),t,(t.Position-pla),enemymana,math.ceil(Damage*.4),t.Parent)
- end
- h:TakeDamage(Damage*1)
- end
- end
- coroutine.resume(coroutine.create(function()
- while true 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(.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(.03)
- end
- g:Remove()
- end),InfoGui)
- InfoGui=nil
- end
- end
- if LastHitTime<=time() and 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
- ----print("Combo Ended: "..LastDamage.." effective damage.")
- fwait(.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()
- ----print(":)")
- 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(.5)
- while t:FindFirstChild("BodyPosition")~=nil do
- fwait(.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
- sRootJoint,sNeck,sRightShoulder,sLeftShoulder,sRightHip,sLeftHip,sGrip = Instance.new("Motor6D"),Instance.new("Motor6D"),Instance.new("Motor6D"),Instance.new("Motor6D"),Instance.new("Motor6D"),Instance.new("Motor6D"),Instance.new("Motor6D"),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
- --//XLegoX's spherical linear interpolation
- function clerp(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
- function QuaternionFromCFrame(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
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) 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
- elseif 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
- elseif 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
- function QuaternionToCFrame(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
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
- local startInterp, finishInterp;
- 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
- startInterp = 1-t
- finishInterp = t
- end
- else
- 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
- startInterp = t-1
- finishInterp = t
- end
- end
- 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
- 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
- if Tool.Status.AnimCanBeInterrupted.Value==true then
- return doescancel
- else
- return false
- end
- end
- end
- -----------
- -----------
- --[[Section 3: ATTACKING]]
- 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
- -----------
- -----------
- -----
- -------
- -------
- --[[Section 4: HARD ANIMSET FUNCTIONS]]
- 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))
- elseif cel <= 3 then
- LerpWelds(clastframe,cel/3,Animations["Stand"]["Animation"](0))
- 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
- ------print("Jumping!")
- 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 v_h.Parent~=nil and timejump==ttimejump do
- PlayerInAir=true
- if time()-timejump>.4 then
- canland=true
- end
- if (loc-cpos.p).magnitude<6 and canland==true or rawequal(rr,TrackFunction) == false then
- break
- end
- local ss = game:GetService("RunService").Heartbeat:wait()
- cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,.8,0)
- par,loc=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
- 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,.8,0)
- par,loc=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"]
- ------print("Jumping!")
- 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 v_h.Parent~=nil and timejump==ttimejump do
- PlayerInAir=true
- if time()-timejump>.4 then
- canland=true
- end
- if (loc-cpos.p).magnitude<6 and canland==true or rawequal(rr,TrackFunction) == false then
- break
- end
- local ss = game:GetService("RunService").Heartbeat:wait()
- cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,.8,0)
- par,loc=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
- 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
- -------
- -------
- -------------------------------
- --------------------------------
- ---------CORE FUNCTIONS----------
- --------------------------------
- -------------------------------
- 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)
- ------print(f)
- 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
- if doescancel==true and Tool.Status.AnimCanBeInterrupted.Value==true then
- CurrentAnimation=_nanim
- return CurrentAnimation
- else
- end
- else
- CurrentAnimation=Animations[n] --:/
- end
- return false
- end
- getWelds=function(c) --designate weld variables
- 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) --extent 1-3; occlusion
- --1 == reset desiredangle/currentangle
- --2 == reset C0/C1
- --3 == reset both des/cur/c0/c1
- 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
- elseif ext==2 then
- v.C0=RightShoulderC0
- v.C1=RightShoulderC1
- elseif ext==3 then
- v.DesiredAngle=0
- v.CurrentAngle=0
- v.C0=RightShoulderC0
- v.C1=RightShoulderC1
- end
- elseif v.Name=="Left Shoulder" then
- if ext==1 then
- v.DesiredAngle=0
- v.CurrentAngle=0
- elseif ext==2 then
- v.C0=LeftShoulderC0
- v.C1=LeftShoulderC1
- elseif ext==3 then
- v.DesiredAngle=0
- v.CurrentAngle=0
- v.C0=LeftShoulderC0
- v.C1=LeftShoulderC1
- end
- elseif v.Name=="Right Hip" then
- if ext==1 then
- v.DesiredAngle=0
- v.CurrentAngle=0
- elseif ext==2 then
- v.C0=RightHipC0
- v.C1=RightHipC1
- elseif ext==3 then
- v.DesiredAngle=0
- v.CurrentAngle=0
- v.C0=RightHipC0
- v.C1=RightHipC1
- end
- elseif v.Name=="Left Hip" then
- if ext==1 then
- v.DesiredAngle=0
- v.CurrentAngle=0
- elseif ext==2 then
- v.C0=LeftHipC0
- v.C1=LeftHipC1
- elseif ext==3 then
- v.DesiredAngle=0
- v.CurrentAngle=0
- v.C0=LeftHipC0
- v.C1=LeftHipC1
- end
- elseif v.Name=="Neck" then
- if ext==1 then
- v.DesiredAngle=0
- v.CurrentAngle=0
- elseif ext==2 then
- v.C0=NeckC0
- v.C1=NeckC1
- elseif ext==3 then
- v.DesiredAngle=0
- v.CurrentAngle=0
- v.C0=NeckC0
- v.C1=NeckC1
- end
- elseif v.Name=="RootJoint" then
- if ext==1 then
- v.DesiredAngle=0
- v.CurrentAngle=0
- elseif ext==2 then
- v.C0=RootJointC0
- v.C1=RootJointC1
- elseif ext==3 then
- v.DesiredAngle=0
- v.CurrentAngle=0
- v.C0=RootJointC0
- v.C1=RootJointC1
- end
- elseif v.Name=="RightGrip" then
- if ext==1 then
- elseif ext==2 then
- Grip.C0=nGrip.C0
- Grip.C1=nGrip.C1
- elseif ext==3 then
- Grip.C0=nGrip.C0
- Grip.C1=nGrip.C1
- 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" then
- if MovementPreference=="Walk" then
- if CurrentAnimation~=Animations["Walk"] and Tool.Status.AnimCanBeInterrupted.Value==true and PlayerState~="Jumping" then
- Walk()
- end
- end
- end
- else
- PlayerState="Standing"
- ----print("SS")
- if StickPos>3 or CurrentCameraState=="3D" then
- if CurrentAnimation~=Animations["Stand"] and Tool.Status.AnimCanBeInterrupted.Value==true then
- DesiredWalkspeed=18
- Stand()
- end
- 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 tick() - v["Tick"] > (PlayerInputStringFrame+.05) 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")
- ----print(j..lastnormal..KeyCheck)
- GetNubs()
- InputNormals[ee..lastnormal..KeyCheck]()
- end
- if time()-LastCheckTime > .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
- 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
- --[[for _,v in pairs(InputNormals) do
- for __,vv in pairs(v["Inputs"]) do
- print(vv.Name)
- if edgelessinput==vv and Tool.Status.AnimCanBeInterrupted.Value==true then
- DURRD=true
- DesiredMovespeed=0
- v()
- elseif IgnoreEdge(input,true)==vv and Tool.Status.AnimCanBeInterrupted.Value==true then
- DURRD=true
- DesiredMovespeed=0
- v()
- end
- end
- end]]
- end
- if DURRD==false then
- CheckNormals()
- end
- end
- rawKeyInput=function()
- end
- SetCombatKey=function(k)
- PlayerCombatKeys[k]=true
- coroutine.resume(coroutine.create(function(k)
- for i=1, 1000 do
- fwait(.01)
- if PlayerCombatKeys[k]==nil then
- break
- end
- end
- PlayerCombatKeys[k]=nil
- 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" then
- if CurrentAnimation~=Animations["Walk"] and Tool.Status.AnimCanBeInterrupted.Value==true and PlayerState~="Jumping" then
- Walk()
- end
- end
- else
- PlayerState="Standing"
- if PlayerIsAttacking==false and Tool.Status.AnimCanBeInterrupted.Value==true then
- if CurrentAnimation~=Animations["Stand"] and Tool.Status.AnimCanBeInterrupted.Value==true then
- DesiredWalkspeed=18
- Stand()
- end
- 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(.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)
- if key == " " and PlayerCanJump()==true then
- if PlayerState == "Jumping" then
- if CanDoubleJump then
- CanDoubleJump=false
- Jump()
- end
- else
- Jump()
- end
- end
- 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,.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,-.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(-.15,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(.15,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(.1,-.3,-.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(-.5,.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(.15,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)*.08) - .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(.45,-.3,-.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,-.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
- elseif vely<-60 then
- vely=-60
- 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,.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*.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*.6),-math.rad(25)+math.rad(-vely*vely3))
- sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,-vely * .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(-.36,.15,0)*CFrame.Angles(math.rad(-22),math.rad(-40),math.rad(-11))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(-.5,1,.5)*CFrame.Angles(math.rad(3),math.rad(46),math.rad(28))
- sGrip.C0=GripC0*CFrame.new(.15,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(.2,-.4,.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(-.035,-.18,-.04)*CFrame.Angles(math.rad(-30),math.rad(25),math.rad(18))
- sRightHip.C0=sRightHip.C0*CFrame.new(.05,.375,0)*CFrame.Angles(math.rad(-18),math.rad(-23),math.rad(12))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(-.78,1,.5)*CFrame.Angles(math.rad(2),math.rad(34),math.rad(20))
- sGrip.C0=GripC0*CFrame.new(.17,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,-.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(-.08,-.4,-.08)*CFrame.Angles(math.rad(-38),math.rad(27),math.rad(15))
- sRightHip.C0=sRightHip.C0*CFrame.new(.5,.7,0)*CFrame.Angles(math.rad(-17),math.rad(-12),math.rad(30))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(-.77,.35,.2)*CFrame.Angles(math.rad(0),math.rad(10),math.rad(7))
- sGrip.C0=GripC0*CFrame.new(.19,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,-.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,-.35,-.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(-.09,-.5,-.09)*CFrame.Angles(math.rad(-47),math.rad(22),math.rad(11.5))
- sRightHip.C0=sRightHip.C0*CFrame.new(.65,.85,0)*CFrame.Angles(math.rad(-16),math.rad(-7),math.rad(45))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(-.73,.15,.1)*CFrame.Angles(math.rad(0),math.rad(6.5),math.rad(2))
- sGrip.C0=GripC0*CFrame.new(.19,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,-.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,-.4,-.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(-.1,-.55,-.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(.8,1,0)*CFrame.Angles(math.rad(-15),math.rad(-5),math.rad(50))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(-.7,-.1,0)*CFrame.Angles(math.rad(0),math.rad(5),math.rad(0))
- sGrip.C0=GripC0*CFrame.new(.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,-.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,-.6,-.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(-.1,.5,-.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(.8,.9,0)*CFrame.Angles(math.rad(-10),math.rad(-10),math.rad(32))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(-.7,-.1,0)*CFrame.Angles(math.rad(0),math.rad(5),math.rad(15))
- sGrip.C0=GripC0*CFrame.new(.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,-.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(-.3,-.4,.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(-.25,-.55,.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(.7,.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(-.15,.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(.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,-.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(-.3,-.4,.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(-.25,-.55,.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(.5,.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(-.15,.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(.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,.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,-.15,0)*CFrame.Angles(math.rad(4),math.rad(-8),math.rad(4))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(0,.2,0)*CFrame.Angles(math.rad(-18),math.rad(8),math.rad(5))
- sGrip.C0=GripC0*CFrame.new(.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,.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(-.55,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,-.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(.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,.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,.02,0)*CFrame.Angles(math.rad(-10),math.rad(-8),math.rad(-30))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(.2,-.22,.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,.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,.07,0)*CFrame.Angles(math.rad(-18),math.rad(-8),math.rad(-40))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(.2,-.25,.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,.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(.5,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,-.15,0)*CFrame.Angles(math.rad(-10),math.rad(-8),math.rad(-30))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(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,-.2,.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,.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(.27,.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,-.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,-.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(.5,-.25,-.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(.4,1.475,-.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,-.35,.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,-.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(.5,-.25,-.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(.4,1.475,-.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,-.35,.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,.5,.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,-.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(.25,.2,-.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(.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,.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(-.3,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(.3,.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(-.6,-.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(.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,.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,-.02)*CFrame.fromEulerAnglesXYZ(math.rad(18),math.rad(-6),math.rad(-43))
- sRightShoulder.C0=sRightShoulder.C0*CFrame.new(.1,-.3,-.1)*CFrame.fromEulerAnglesXYZ(-math.rad(18),-math.rad(20),math.rad(-20))
- sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(.15,.2,.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,-.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(.15,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(.15,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,.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,-.02)*CFrame.fromEulerAnglesXYZ(math.rad(19),math.rad(-8),math.rad(-40))
- sRightShoulder.C0=sRightShoulder.C0*CFrame.new(.1,-.3,-.1)*CFrame.fromEulerAnglesXYZ(-math.rad(18),-math.rad(20),math.rad(-18))
- sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.1,.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,-.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(.15,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(.15,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,-.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,-.6,.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(-.035,-.18,-.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(-.1,1,-.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,-.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(.8,-.6,-.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(-.035,-.18,-.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(-.66,.55,-.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,-.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(-.4,.6,.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(-.5,-.4,.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(.3,1,-.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(-.3,-.3,-.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,-.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(-.55,-.53,.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(.4,1.15,.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,.4,.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(-.4,-.6,.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(-.5,-.4,.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(.2,.7,-.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(-.2,.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(-.25,-.2,-.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(-.2,-.4,.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(.4,.4,-.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(-.2,.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(-.25,-.2,-.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(-.2,-.4,.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,.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(-.25,-.2,-.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(-.2,-.4,.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(-.25,-.2,-.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(-.2,.8,.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,.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,.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,.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(-.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,.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,.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(-.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,-.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(-.55,-.53,.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(.4,1.15,.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,.4,.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,-.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,-.4,-.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(-.1,-.55,-.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(.8,1,0)*CFrame.Angles(math.rad(-15),math.rad(-5),math.rad(50))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(-.7,-.1,0)*CFrame.Angles(math.rad(0),math.rad(5),math.rad(0))
- sGrip.C0=GripC0*CFrame.new(.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,-.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(-.3,-.4,.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(-.1,-.7,.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(.5,.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,-.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,-.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,.2,.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(.2,-.5,0)*CFrame.Angles(math.rad(-40),math.rad(20),math.rad(40))
- sRightHip.C0=sRightHip.C0*CFrame.new(.3,-.1,.05)*CFrame.Angles(math.rad(0),math.rad(-23),math.rad(-10))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(-.6,.45,-.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,.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,.25,0)*CFrame.Angles(math.rad(-22),math.rad(8),math.rad(-9))
- sLeftHip.C0=sLeftHip.C0*CFrame.new(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,.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(-.3,-.4,.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(-.25,-.2,.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,-.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,.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,.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,-.7,-.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(-.1,.5,-.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,.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,-.15,0)*CFrame.Angles(math.rad(-10),math.rad(5),math.rad(15))
- sGrip.C0=GripC0*CFrame.new(.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,.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(.8,-.7,-.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(-.45,-.7,.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(.2,.2,-.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(.1,-.2,-.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(.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"}
- --boop
- print("ayyo wuts boppin")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement