Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --Dio Burando
  2. FakeHeartbeat=Instance.new('BindableEvent',script)
  3. FakeHeartbeat.Name='Heartbeat'
  4.  
  5. script:WaitForChild'Heartbeat'
  6.  
  7. frame=1/30
  8. tf=0
  9. lastframea=tick()
  10. script.Heartbeat:Fire()
  11.  
  12. game:service'RunService'.Heartbeat:connect(function(s,p)
  13. tf = tf + s
  14. if tf >= frame then
  15. for i=1, math.floor(tf/frame) do
  16. script.Heartbeat:Fire()
  17. end
  18. lastframea=tick()
  19. tf = tf - frame * math.floor(tf/frame)
  20. end
  21. end)
  22. wait()
  23. Tool=script.Parent
  24. JogarMaxm=game.Players.LocalPlayer
  25. repeat wait() until .Character; = JogarMaxm
  26. repeat wait() until #script:children() >= 4 and script:FindFirstChild("Armor") ~= nil
  27.  
  28.  
  29. RightShoulder=nil
  30. LeftShoulder=nil
  31. RightHip=nil
  32. LeftHip=nil
  33. Neck=nil
  34. RootJoint=nil
  35.  
  36. RightShoulderC0=CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  37. RightShoulderC1=CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  38. LeftShoulderC0=CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  39. LeftShoulderC1=CFrame.new(0.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  40. RightHipC0=CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  41. RightHipC1=CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  42. LeftHipC0=CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  43. LeftHipC1=CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  44. NeckC0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  45. NeckC1=CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  46. RootJointC0=CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  47. RootJointC1=CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  48.  
  49. Grip=nil
  50. GripC0=CFrame.new(0,-.7,0)*CFrame.fromEulerAnglesXYZ(-math.pi/2,0,math.pi)
  51.  
  52. TrackFunction=nil
  53. PlayerAnimationScript=nil
  54. equipdebounce=true
  55.  
  56. PlayerCanJump = true
  57.  
  58. StickDir=5
  59. StickPos=5
  60. PlayerCombatKeys={}
  61.  
  62. radiushelp = .2
  63.  
  64. InfoGui=nil
  65.  
  66. SoundTable={["Airdash"] = "153092348",
  67. ["BarrierHit"] = "153092205",
  68. ["Grapple"] = "153092304",
  69. ["Hit_Damage_Heavycut"] = "153092274",
  70. ["Hit_Damage_Heavydelaysmack"] = "153092217",
  71. ["Hit_Damage_Heavysmack"] = "153092227",
  72. ["Hit_Damage_Lightcut"] = "153092285",
  73. ["Hit_Damage_Lightsmack"] = "153092249",
  74. ["Hit_Damage_Mediumcut"] = "153092292",
  75. ["Hit_Damage_Medsmack"] = "153092238",
  76. ["Hit_Damage_Medsmack_Alt"] = "153092213",
  77. ["Hit_Damage_Tinycut"] = "153092296",
  78. ["Overdrive_Begin"] = "153092315",
  79. ["Overdrive_End"] = "153092334",
  80. ["none"]="",
  81. }
  82.  
  83. BodyVel=Instance.new("BodyVelocity")
  84. BodyVel.Name="HumanoidMover"
  85. BodyVel.P=400
  86. BodyVel.maxForce=Vector3.new(220000,0,220000)
  87. BodyVel.Parent=nil
  88.  
  89. BodyGyro=Instance.new("BodyGyro")
  90. BodyGyro.P=13000
  91. BodyGyro.maxTorque=Vector3.new(185000,185000,185000)
  92. BodyGyro.D=1000
  93.  
  94. CanAttack=true
  95.  
  96. PlayerInputs={}
  97. PlayerInputCullThreshold=30
  98. PlayerInputAgeCullFactor=30
  99. PlayerInputStringFrame=.7
  100.  
  101. CurrentCameraState="3D"
  102. CanChangeCameraState=false
  103. CameraResetTime=180
  104. PlayerFacing="Right"
  105. DesiredPlayerFacing="Right"
  106. CameraPlane=CFrame.new(0,0,0)
  107. CameraOutDir=Vector3.new(0,0,0)
  108. FirstTick=false
  109.  
  110. DesiredWalkspeed=16
  111.  
  112.  
  113. --
  114. Cooldowns={
  115. ["E"]=0,
  116. ["Z"]=0,
  117. ["X"]=0,
  118. ["C"]=0,
  119. ["V"]=45,
  120. ["EZ"]=0,
  121. ["EX"]=0,
  122. ["EC"]=0,
  123. ["EV"]=45,
  124. }
  125.  
  126. --
  127. Trap = nil
  128. TrapType = ""
  129. TrapMovespeed = 16 * 1.25 / 30
  130. --
  131.  
  132.  
  133.  
  134. TwoDInputs={}
  135.  
  136. fwait=function(num) --RS hooked thread yielding
  137. if num == 0 or num == nil then
  138. FakeHeartbeat.Event:wait(0)
  139. else
  140. for i = 0, num do
  141. FakeHeartbeat.Event:wait(0)
  142. end
  143. end
  144. end
  145.  
  146. setlastnormal=function(key)
  147. lastnormal=key
  148. coroutine.resume(coroutine.create(function(k,kt)
  149. while k == lastnormal do
  150. if kt + 1.2 < tick() then
  151. break
  152. end
  153. fwait()
  154. end
  155. lastnormal=""
  156. ----print("Done")
  157. end),lastnormal,tick())
  158. end
  159.  
  160. BillboardGui=function(image,position,size) --returns a basic billboard gui object for further manipulation
  161. local billpar = Instance.new("Part")
  162. billpar.Transparency=1
  163. billpar.formFactor="Custom"
  164. billpar.Size=Vector3.new(1,1,1)
  165. billpar.Anchored=true
  166. billpar.CanCollide=false
  167. billpar.CFrame = CFrame.new(position)
  168. billpar.Name="BillboardGuiPart"
  169. local bill = Instance.new("BillboardGui",billpar)
  170. bill.Adornee=billpar
  171. bill.Size=UDim2.new(1,0,1,0)
  172. bill.SizeOffset=Vector2.new(size,size)
  173. local d = Instance.new("ImageLabel",bill)
  174. d.BackgroundTransparency=1
  175. d.Size=UDim2.new(1,0,1,0)
  176. d.Image=image
  177. return billpar
  178. end
  179. NewPart=function(size,cframe,color,meshtype,meshscale) --returns a basic part for further manipulation
  180. local par = Instance.new("Part")
  181. par.formFactor="Custom"
  182. par.TopSurface=0
  183. par.BottomSurface=0
  184. par.Size=size
  185. par.CFrame=cframe
  186. par.BrickColor=BrickColor.new(color)
  187. if meshtype then
  188. local m = Instance.new(meshtype,par)
  189. m.Scale=meshscale
  190. end
  191. return par
  192. end
  193. CFrameFromTopBack=function(at, top, back)
  194. --Credit to basic mathematics
  195. local right = top:Cross(back)
  196. return CFrame.new(at.x, at.y, at.z,
  197. right.x, top.x, back.x,
  198. right.y, top.y, back.y,
  199. right.z, top.z, back.z)
  200. end
  201.  
  202. Triangle=function(a, b, c, col)
  203. --Credit to Fenrier
  204. local edg1 = (c-a):Dot((b-a).unit)
  205. local edg2 = (a-b):Dot((c-b).unit)
  206. local edg3 = (b-c):Dot((a-c).unit)
  207. if edg1 <= (b-a).magnitude and edg1 >= 0 then
  208. a, b, c = a, b, c
  209. elseif edg2 <= (c-b).magnitude and edg2 >= 0 then
  210. a, b, c = b, c, a
  211. elseif edg3 <= (a-c).magnitude and edg3 >= 0 then
  212. a, b, c = c, a, b
  213. else
  214. assert(false, "unreachable")
  215. end
  216.  
  217. local len1 = (c-a):Dot((b-a).unit)
  218. local len2 = (b-a).magnitude - len1
  219. local width = (a + (b-a).unit*len1 - c).magnitude
  220. local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit)
  221.  
  222. local list = {}
  223.  
  224. if len1 > 0.01 then
  225. local w1 = Instance.new('WedgePart', vPlayer.Character.Weapon)
  226. game:GetService("Debris"):AddItem(w1,5)
  227. coroutine.resume(coroutine.create(function(p)
  228. for i=1, 7 do
  229. p.Transparency=.5 + i/14
  230. fwait()
  231. end
  232. p:Remove()
  233. end),w1)
  234. w1.FormFactor = "Custom"
  235. w1.BrickColor = col
  236. w1.Material = "SmoothPlastic"
  237. w1.CanCollide = false
  238. local sz = Vector3.new(0.2, width, len1)
  239. w1.Size = sz
  240. local sp = Instance.new("SpecialMesh",w1)
  241. sp.MeshType = "Wedge"
  242. sp.Scale = Vector3.new(0,1,1) * sz/w1.Size
  243. w1:BreakJoints()
  244. w1.Anchored = true
  245. w1.Transparency = 0
  246. w1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2)
  247. end
  248.  
  249. if len2 > 0.01 then
  250. local w2 = Instance.new('WedgePart', vPlayer.Character.Weapon)
  251. game:GetService("Debris"):AddItem(w2,5)
  252. coroutine.resume(coroutine.create(function(p)
  253. for i=1, 7 do
  254. p.Transparency=.5 + i/14
  255. fwait()
  256. end
  257. p:Remove()
  258. end),w2)
  259. w2.Material = "SmoothPlastic"
  260. w2.FormFactor = "Custom"
  261. w2.BrickColor = col
  262. w2.Material = "SmoothPlastic"
  263. w2.CanCollide = false
  264. local sz = Vector3.new(0.2, width, len2)
  265. w2.Size = sz
  266. local sp = Instance.new("SpecialMesh",w2)
  267. sp.MeshType = "Wedge"
  268. sp.Scale = Vector3.new(0,1,1) * sz/w2.Size
  269. w2:BreakJoints()
  270. w2.Anchored = true
  271. w2.Transparency = 0
  272. w2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2)
  273. end
  274. return unpack(list)
  275. end
  276.  
  277. CameraPlane = function()
  278. local buttspoop = (workspace.CurrentCamera.CoordinateFrame.p - (workspace.CurrentCamera.CoordinateFrame*CFrame.new(0,0,5)).p).unit
  279. return Vector3.new(buttspoop.x,0,buttspoop.z).unit
  280. end
  281. MousePlane = function()
  282. local mouse = game.Players.LocalPlayer:GetMouse()
  283. local buttspoop = (game.Players.LocalPlayer.Character.HumanoidRootPart.Position - mouse.Hit.p).unit
  284. return -Vector3.new(buttspoop.x,0,buttspoop.z).unit
  285. end
  286. CanStun = true --blorb
  287. InputNormals={}
  288.  
  289. --Normal Specials
  290. GetIgnoreList=function()
  291. --nevermind
  292. local lel={}
  293. local filter={}
  294. lol=function(p)
  295. for _,v in pairs(p) do
  296. if v:IsA("BasePart") or v.className==("UnionOperation") then
  297. table.insert(lel,v)
  298. if #v:children()>0 then
  299. lol(v:children())
  300. end
  301. end
  302. end
  303. end
  304. lol(workspace:children())
  305. for _,v in pairs(lel) do
  306. 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
  307. table.insert(filter,v)
  308. end
  309. end
  310. lel=nil
  311. return filter
  312. end
  313. VProj = function(size,position,direction,speed,ignl) -- :/
  314. speed = speed * .7
  315. local direction = direction + Vector3.new(math.random(-3,3),math.random(-3,3)+.1,math.random(-3,3)).unit * .16 --add some flava
  316. position = position + direction*1.1
  317. 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")
  318. pc.Parent=workspace
  319. pc.Anchored=true
  320. pc.CanCollide=false
  321. pc.Transparency=1
  322. pc.Name="Blast"
  323. game:GetService("Debris"):AddItem(pc,10)
  324. print(#ignl)
  325. for i=1, 20 do
  326. if size < 1.1 then
  327. if i==3 then
  328.  
  329. 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))
  330. plc.Mesh.MeshType="FileMesh"
  331. plc.Anchored=true
  332. plc.CanCollide=false
  333. plc.Parent=workspace
  334. plc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  335. plc.Name="Shockwave"
  336. game:GetService("Debris"):AddItem(plc,5)
  337.  
  338. coroutine.resume(coroutine.create(function(p,s)
  339. for ii=1, 8 do
  340. p.Transparency=ii/8
  341. p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(30 + ii),0)
  342. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.5,-.1,.5) + Vector3.new(.5,0,.5) * s
  343. fwait()
  344. end
  345. p:Remove()
  346. end),plc,size)
  347.  
  348. end
  349. else
  350. if i%2 == 0 then
  351. 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))
  352. plc.Mesh.MeshType="FileMesh"
  353. plc.Anchored=true
  354. plc.CanCollide=false
  355. plc.Parent=workspace
  356. plc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  357. plc.Name="Shockwave"
  358. game:GetService("Debris"):AddItem(plc,5)
  359.  
  360. coroutine.resume(coroutine.create(function(p,s)
  361. for ii=1, 8 do
  362. p.Transparency=ii/8
  363. p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(30 + ii),0)
  364. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.5,-.1,.5) + Vector3.new(.5,0,.5) * s
  365. fwait()
  366. end
  367. p:Remove()
  368. end),plc,size)
  369. end
  370. end
  371.  
  372. 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)
  373. eff.Parent=vPlayer.Character.Weapon
  374. eff.Name="Trail"
  375. eff.Anchored=true
  376. eff.CanCollide=false
  377. game:GetService("Debris"):AddItem(eff,5)
  378. coroutine.resume(coroutine.create(function(p,A)
  379. local R = Vector3.new(math.random(-5,5),math.random(7,9),math.random(-5,5)) / 50
  380. for ii=1, 5 do
  381. p.Mesh.Scale = p.Mesh.Scale / 1.2
  382. p.Transparency=ii/5
  383. p.CFrame = p.CFrame * A
  384. fwait()
  385. end
  386. p:Remove()
  387. 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)))
  388.  
  389. fwait(.05)
  390. local par,loc=workspace:FindPartOnRayWithIgnoreList(Ray.new(pc.Position,direction*(speed)),ignl)
  391. if par then
  392. local v = par -- :|
  393. if v.Parent.className=="Tool" or (v.CanCollide==false and v.Parent:FindFirstChild("Humanoid")==false) or v.Parent.className=="Hat" then
  394. print("8)")
  395. pc.CFrame = pc.CFrame-- + Vector3.new(math.random(-1,1),math.random(-1,1)-.2,math.random(-1,1))
  396. else
  397. print(par)
  398. if (loc - pc.CFrame.p).magnitude < 25 then --I shouldn't have to do this, but raycast insists on being wierd.
  399. pc.CFrame = CFrame.new(loc)
  400. else
  401. print("!",loc)
  402. end
  403. print(loc,"|",pc.CFrame.p)
  404. ccpos = loc
  405. break
  406. end
  407. else
  408. pc.CFrame = pc.CFrame + direction*(speed)
  409. end
  410.  
  411. 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)
  412. eff.Parent=vPlayer.Character.Weapon
  413. eff.Name="Trail"
  414. eff.Anchored=true
  415. eff.CanCollide=false
  416. game:GetService("Debris"):AddItem(eff,5)
  417. coroutine.resume(coroutine.create(function(p,A)
  418. local R = Vector3.new(math.random(-5,5),math.random(7,9),math.random(-5,5)) / 50
  419. for ii=1, 5 do
  420. p.Mesh.Scale = p.Mesh.Scale / 1.2
  421. p.Transparency=ii/5
  422. p.CFrame = p.CFrame * A
  423. fwait()
  424. end
  425. p:Remove()
  426. 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)))
  427. fwait(.03)
  428.  
  429. end
  430. print(pc.CFrame.p,'()')
  431. --if par == nil then print("(") end
  432. 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))
  433. eff.Parent=workspace
  434. eff.Name="Trail"
  435. eff.Anchored=true
  436. eff.CanCollide=false
  437. game:GetService("Debris"):AddItem(eff,5)
  438. coroutine.resume(coroutine.create(function(p,A,s)
  439. local R = Vector3.new(math.random(-5,5),math.random(7,9),math.random(-5,5)) / 50
  440. for i=1, 8 do
  441. p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1.5,1.5,1.5) + Vector3.new(.1,.1,.1)*s
  442. p.Transparency=.5 + i/8
  443. p.CFrame = p.CFrame * A
  444. fwait()
  445. end
  446. p:Remove()
  447. 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)
  448.  
  449. if size > 1.1 then
  450. 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))
  451. eff.Parent=workspace
  452. eff.Name="Trail"
  453. eff.Anchored=true
  454. eff.CanCollide=false
  455. game:GetService("Debris"):AddItem(eff,5)
  456.  
  457.  
  458.  
  459. coroutine.resume(coroutine.create(function(p,A,s)
  460. local R = Vector3.new(math.random(-5,5),math.random(7,9),math.random(-5,5)) / 50
  461. for i=1, 18 do
  462. p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1.5,1.5,1.5) + Vector3.new(.1,.1,.1)*s
  463. p.Transparency=.5 + i/36
  464. p.CFrame = p.CFrame * A
  465. fwait()
  466. end
  467. p:Remove()
  468. 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)
  469.  
  470. local p=Instance.new("Sound",eff)
  471. p.Volume=1
  472. p.Pitch=1.07
  473. p.SoundId="http://www.roblox.com/asset/?id=231917744"
  474. wait()
  475. p:Play()
  476. game:GetService("Debris"):AddItem(p,3)
  477. else
  478. local p=Instance.new("Sound",eff)
  479. p.Volume=1
  480. p.Pitch=1
  481. p.SoundId="http://www.roblox.com/asset/?id=231917845"
  482. wait()
  483. p:Play()
  484. game:GetService("Debris"):AddItem(p,3)
  485. end
  486.  
  487. 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))
  488. plc.Mesh.MeshType="FileMesh"
  489. plc.Anchored=true
  490. plc.CanCollide=false
  491. plc.Parent=workspace
  492. plc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  493. plc.Name="Shockwave"
  494. game:GetService("Debris"):AddItem(plc,5)
  495.  
  496. coroutine.resume(coroutine.create(function(p,s)
  497. for ii=1, 10 do
  498. p.Transparency=ii/10
  499. p.CFrame = p.CFrame * CFrame.Angles(0,-math.rad(15 + ii),0) - Vector3.new(0,.25,0)
  500. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1,-.5,1) + Vector3.new(.3,0,.3) * s
  501. fwait()
  502. end
  503. p:Remove()
  504. end),plc,size)
  505.  
  506. 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))
  507. plc.Mesh.MeshType="FileMesh"
  508. plc.Anchored=true
  509. plc.CanCollide=false
  510. plc.Parent=workspace
  511. plc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  512. plc.Name="Shockwave"
  513. game:GetService("Debris"):AddItem(plc,5)
  514.  
  515. coroutine.resume(coroutine.create(function(p,s)
  516. for ii=1, 10 do
  517. p.Transparency=ii/10
  518. p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(10 + ii),0) - Vector3.new(0,.125,0)
  519. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(2,-.25,2) + Vector3.new(.5,0,.5) * s
  520. fwait()
  521. end
  522. p:Remove()
  523. end),plc,size)
  524.  
  525. for _,v in pairs(GetNubsInRadius(pc.CFrame.p + Vector3.new(0,1,0),15+size^2)) do
  526. --print("DAMN SON",time())
  527. if size < 1.1 then
  528. applyDamage(v,7,Vector3.new(),false,false,nil,.01,1,"",.95,false,true)
  529. else
  530. applyDamage(v,12,Vector3.new(0,55,0),true,false,nil,.1,1,"",.95,false,true)
  531. end
  532. applyCameraShake(v,250,6)
  533. end
  534. for _,v in pairs(game.Players:children()) do
  535. if v.Character then
  536. if v.Character:FindFirstChild("Torso") then
  537. if (v.Character.Torso.Position-pc.CFrame.p).magnitude <= 40 then
  538. applyCameraShake(v.Character,55 - (v.Character.Torso.Position-pc.CFrame.p).magnitude,8)
  539. end
  540. end
  541. end
  542. end
  543.  
  544. local par,loc = workspace:FindPartOnRay(Ray.new(pc.Position + Vector3.new(0,1,0),Vector3.new(0,-3,0)),vPlayer.Character)
  545. 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))
  546. pz.Transparency=1
  547. pz.Anchored=true
  548. pz.CanCollide=false
  549. pz.Parent=workspace
  550. pz.Name="Rune"
  551. local d1 = Instance.new("Decal",pz)
  552. d1.Texture="http://www.roblox.com/asset/?id=234376725"
  553. d1.Face="Front"
  554. d1.Name="d1"
  555. local d1 = Instance.new("Decal",pz)
  556. d1.Texture="http://www.roblox.com/asset/?id=234376725"
  557. d1.Face="Back"
  558. d1.Name="d2"
  559.  
  560. coroutine.resume(coroutine.create(function(p,dir)
  561. for i=1, 5 do
  562. p.CFrame = p.CFrame * CFrame.Angles(0,0,math.rad(10 + i*2))
  563. p.d1.Transparency=.9+i/50
  564. p.d2.Transparency=.9+i/50
  565. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(2,2,0)
  566. fwait()
  567. end
  568. p:Remove()
  569. end),pz)
  570.  
  571. game:GetService("Debris"):AddItem(pz,6)
  572.  
  573. pc:Remove()
  574. end
  575.  
  576. InputNormals["C"]=function() --Eliminator
  577.  
  578. if TrackFunction~=nil then
  579. TrackFunction:disconnect()
  580. TrackFunction=nil
  581. end
  582.  
  583. CanInterrupt(false)
  584. PlayerIsAttacking=true
  585.  
  586. local rawframes=0
  587. Tool.Status.AnimFrame.Value=0
  588.  
  589. local DidHit=false
  590.  
  591. ccctime = tick()
  592.  
  593. local CPlane=MousePlane()
  594. vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  595. BodyGyro.cframe = CFrame.new(vPlayer.Character.HumanoidRootPart.CFrame.p,vPlayer.Character.HumanoidRootPart.CFrame.p + CPlane * 50)
  596. local cl = 0
  597. local clastframe = lastframe
  598. local cframes = 0
  599. BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  600. BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  601.  
  602. p=Instance.new("Sound",vPlayer.Character.Torso)
  603. p.Volume=1
  604. p.Pitch=1
  605. p.SoundId="http://www.roblox.com/asset/?id=235097614"
  606. wait()
  607. p:Play()
  608. game:GetService("Debris"):AddItem(p,3)
  609.  
  610. TrackFunction=FakeHeartbeat.Event:connect(function()
  611. if rawframes < 7 then
  612. CPlane = MousePlane()
  613. BodyGyro.cframe=clerp(BodyGyro.cframe,CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50),1)
  614.  
  615.  
  616. else
  617. CPlane = vPlayer.Character.HumanoidRootPart.CFrame.lookVector
  618. end
  619. if rawframes < 47 then
  620. if (rawframes+1)%6 == 0 then
  621. 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))
  622. pc.Mesh.MeshType="FileMesh"
  623. pc.Anchored=true
  624. pc.CanCollide=false
  625. pc.Parent=workspace
  626. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  627. pc.Name="Shockwave"
  628. game:GetService("Debris"):AddItem(pc,5)
  629.  
  630. coroutine.resume(coroutine.create(function(p)
  631. for ii=1, 10 do
  632. p.Transparency=ii/10
  633. p.CFrame = p.CFrame * CFrame.Angles(0,-math.rad(15 + ii),0) - Vector3.new(0,.25,0)
  634. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1,-.5,1)
  635. fwait()
  636. end
  637. p:Remove()
  638. end),pc)
  639.  
  640. 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))
  641. pc.Mesh.MeshType="FileMesh"
  642. pc.Anchored=true
  643. pc.CanCollide=false
  644. pc.Parent=workspace
  645. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  646. pc.Name="Shockwave"
  647. game:GetService("Debris"):AddItem(pc,5)
  648.  
  649. coroutine.resume(coroutine.create(function(p)
  650. for ii=1, 10 do
  651. p.Transparency=ii/10
  652. p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(10 + ii),0) - Vector3.new(0,0,0)
  653. p.Mesh.Scale=p.Mesh.Scale - Vector3.new(.5,0,.5)
  654. fwait()
  655. end
  656. p:Remove()
  657. end),pc)
  658. end
  659. end
  660. if rawframes <= 7 then
  661. cl = cl + (rawframes-0) * .036
  662. LerpWelds(clastframe,cl,Animations["ShatterCannon"]["Animation"](0))
  663. print(cl)
  664. if rawframes == 2 then
  665. p=Instance.new("Sound",vPlayer.Character.Torso)
  666. p.Volume=.33
  667. p.Pitch=.8
  668. p.SoundId="http://www.roblox.com/asset/?id=231917794"
  669. wait()
  670. p:Play()
  671. game:GetService("Debris"):AddItem(p,3)
  672. end
  673. elseif rawframes > 7 and rawframes <= 29 then
  674.  
  675. if rawframes == 7 + 1 then
  676.  
  677.  
  678.  
  679. 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))
  680. pz.Transparency=1
  681. pz.Anchored=true
  682. pz.CanCollide=false
  683. pz.Parent=workspace
  684. pz.Name="Rune"
  685. local d1 = Instance.new("Decal",pz)
  686. d1.Texture="http://www.roblox.com/asset/?id=233522684"
  687. d1.Face="Front"
  688. d1.Name="d1"
  689. d1.Transparency=1
  690. local d1 = Instance.new("Decal",pz)
  691. d1.Texture="http://www.roblox.com/asset/?id=233522684"
  692. d1.Face="Back"
  693. d1.Name="d2"
  694. d1.Transparency=1
  695.  
  696. coroutine.resume(coroutine.create(function(p,dir)
  697. for i=1, 28 do
  698. fwait()
  699. p.CFrame = p.CFrame * CFrame.Angles(0,0,math.rad(2))
  700. if i <= 10 then
  701. p["d1"].Transparency = 1-i/12
  702. p["d2"].Transparency = 1-i/12
  703. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.3,.3,0)
  704. end
  705. end
  706. for i=1, 8 do
  707. fwait()
  708. p.CFrame = p.CFrame * CFrame.Angles(0,0,math.rad(2))
  709. end
  710. for i=1, 8 do
  711. fwait()
  712. p.CFrame = p.CFrame * CFrame.Angles(0,0,math.rad(2 + i))
  713. p["d1"].Transparency = i/8
  714. p["d2"].Transparency = i/8
  715. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.1 + i*.1,.1 + i*.1,0)
  716. end
  717. p:Remove()
  718. end),pz,CPlane)
  719.  
  720.  
  721.  
  722. cl = 0
  723. end
  724. if rawframes == 12 then
  725. 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))
  726. pz.Transparency=1
  727. pz.Anchored=true
  728. pz.CanCollide=false
  729. pz.Parent=workspace
  730. pz.Name="Rune"
  731. local d1 = Instance.new("Decal",pz)
  732. d1.Texture="http://www.roblox.com/asset/?id=233083678"
  733. d1.Face="Front"
  734. d1.Name="d1"
  735. d1.Transparency=1
  736. local d1 = Instance.new("Decal",pz)
  737. d1.Texture="http://www.roblox.com/asset/?id=233083678"
  738. d1.Face="Back"
  739. d1.Name="d2"
  740. d1.Transparency=1
  741.  
  742. coroutine.resume(coroutine.create(function(p,dir)
  743. for i=1, 28 do
  744. fwait()
  745. p.CFrame = p.CFrame * CFrame.Angles(0,0,-math.rad(3))
  746. if i <= 10 then
  747. p["d1"].Transparency = 1-i/12
  748. p["d2"].Transparency = 1-i/12
  749. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.15,.15,0)
  750.  
  751. end
  752. end
  753. for i=1, 3 do
  754. fwait()
  755. p.CFrame = p.CFrame * CFrame.Angles(0,0,-math.rad(3))
  756. end
  757. for i=1, 8 do
  758. fwait()
  759. p.CFrame = p.CFrame * CFrame.Angles(0,0,-math.rad(3 - i))
  760. p["d1"].Transparency = i/8
  761. p["d2"].Transparency = i/8
  762. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.1 + i*.1,.1 + i*.1,0)
  763. end
  764. p:Remove()
  765. end),pz,CPlane)
  766.  
  767. game:GetService("Debris"):AddItem(pz,6)
  768. end
  769. cframes = rawframes - 7
  770. cl = cl+cframes * .004
  771. LerpWelds({Animations["ShatterCannon"]["Animation"](0)},cl,Animations["ShatterCannon"]["Animation"](1))
  772. Grip.C0 = Grip.C0 * CFrame.fromEulerAnglesXYZ(0,0,-math.rad(710/27*cframes))
  773. elseif rawframes > 29 and rawframes <= 34 then
  774. cframes = rawframes - 29
  775. LerpWelds({Animations["ShatterCannon"]["Animation"](0)},1 + (cl-1) * (cframes / 6),Animations["ShatterCannon"]["Animation"](1))
  776. print(1 + (cl-1) * (cframes / 6),"|")
  777. Grip.C0 = Grip.C0 * CFrame.fromEulerAnglesXYZ(0,0,-math.rad(710/27*(cframes + 22)))
  778. print(720/27*(cframes + 26))
  779.  
  780. elseif rawframes > 43 and rawframes <= 46 then
  781. if rawframes == 43 + 1 then
  782. cl = 0
  783. local par,loc = workspace:FindPartOnRay(Ray.new(vPlayer.Character.Torso.Position,Vector3.new(0,-3,0)),vPlayer.Character)
  784. 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))
  785. pz.Transparency=1
  786. pz.Anchored=true
  787. pz.CanCollide=false
  788. pz.Parent=workspace
  789. pz.Name="Rune"
  790. local d1 = Instance.new("Decal",pz)
  791. d1.Texture="http://www.roblox.com/asset/?id=234376725"
  792. d1.Face="Front"
  793. d1.Name="d1"
  794. local d1 = Instance.new("Decal",pz)
  795. d1.Texture="http://www.roblox.com/asset/?id=234376725"
  796. d1.Face="Back"
  797. d1.Name="d2"
  798.  
  799. coroutine.resume(coroutine.create(function(p,dir)
  800. for i=1, 5 do
  801. p.CFrame = p.CFrame * CFrame.Angles(0,0,math.rad(10 + i*2))
  802. p.d1.Transparency=.9+i/50
  803. p.d2.Transparency=.9+i/50
  804. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(2,2,0)
  805. fwait()
  806. end
  807. p:Remove()
  808. end),pz,CPlane)
  809.  
  810. game:GetService("Debris"):AddItem(pz,6)
  811.  
  812.  
  813. p=Instance.new("Sound",vPlayer.Character.Torso)
  814. p.Volume=1
  815. p.Pitch=.7
  816. p.SoundId="http://www.roblox.com/asset/?id=231917856"
  817. wait()
  818. p:Play()
  819. game:GetService("Debris"):AddItem(p,3)
  820.  
  821. 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))
  822. pc.Mesh.MeshType="FileMesh"
  823. pc.Anchored=true
  824. pc.CanCollide=false
  825. pc.Parent=workspace
  826. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  827. pc.Name="Shockwave"
  828. pc.Transparency=.5
  829. game:GetService("Debris"):AddItem(pc,5)
  830.  
  831. coroutine.resume(coroutine.create(function(p)
  832. for ii=1, 15 do
  833. p.Transparency=ii/15
  834. p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(5 + ii),0) - Vector3.new(0,.25,0)
  835. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1.3,-.33,1.3)
  836. fwait()
  837. end
  838. p:Remove()
  839. end),pc)
  840.  
  841. 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))
  842. pc.Mesh.MeshType="FileMesh"
  843. pc.Parent=workspace
  844. pc.Anchored=true
  845. pc.CanCollide=false
  846. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  847. pc.Name="Shockwave"
  848. pc.Transparency=.5
  849. game:GetService("Debris"):AddItem(pc,5)
  850.  
  851. coroutine.resume(coroutine.create(function(p)
  852. for ii=1, 9 do
  853. p.Transparency=.5 + ii/18
  854. p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(3 + ii),0) * CFrame.new(0,.5,0)
  855. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(4/4,-.3,4/4)
  856. fwait()
  857. end
  858. p:Remove()
  859. end),pc)
  860.  
  861. 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))
  862. pc.Mesh.MeshType="FileMesh"
  863. pc.Parent=workspace
  864. pc.Anchored=true
  865. pc.CanCollide=false
  866. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  867. pc.Name="Shockwave"
  868. pc.Transparency=.5
  869. game:GetService("Debris"):AddItem(pc,5)
  870.  
  871. coroutine.resume(coroutine.create(function(p)
  872. for ii=1, 9 do
  873. p.Transparency=.5 + ii/18
  874. p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(3 + ii),0) * CFrame.new(0,.5,0)
  875. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(4/4,-.2,4/4)
  876. fwait()
  877. end
  878. p:Remove()
  879. end),pc)
  880.  
  881. 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))
  882. pc.Mesh.MeshType="FileMesh"
  883. pc.Parent=workspace
  884. pc.Anchored=true
  885. pc.CanCollide=false
  886. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  887. pc.Name="Shockwave"
  888. pc.Transparency=.5
  889. game:GetService("Debris"):AddItem(pc,5)
  890.  
  891. coroutine.resume(coroutine.create(function(p)
  892. for ii=1, 9 do
  893. p.Transparency=.5 + ii/18
  894. p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(3 + ii),0) * CFrame.new(0,.5,0)
  895. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(2/4,-.1,2/4)
  896. fwait()
  897. end
  898. p:Remove()
  899. end),pc)
  900.  
  901.  
  902. 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))
  903. pc.Mesh.MeshType="Sphere"
  904. pc.Parent=workspace
  905. pc.Anchored=true
  906. pc.CanCollide=false
  907. pc.Transparency=.5
  908. game:GetService("Debris"):AddItem(pc,5)
  909.  
  910. coroutine.resume(coroutine.create(function(p)
  911. for ii=1, 10 do
  912. p.Transparency=ii/10
  913. p.CFrame = p.CFrame * CFrame.Angles(0,0,0) * CFrame.new(0,0,(ii*.45 + .5)/1.5)
  914. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(-2.5/10,-2.5/10,ii*.9 + .4)
  915. fwait()
  916. end
  917. p:Remove()
  918. end),pc)
  919.  
  920. 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))
  921. pc.Mesh.MeshType="Sphere"
  922. pc.Parent=workspace
  923. pc.Anchored=true
  924. pc.CanCollide=false
  925. pc.Transparency=.5
  926. game:GetService("Debris"):AddItem(pc,5)
  927.  
  928. coroutine.resume(coroutine.create(function(p)
  929. for ii=1, 10 do
  930. p.Transparency=ii/10
  931. p.CFrame = p.CFrame * CFrame.Angles(0,0,0) * CFrame.new(0,0,(ii*.75 + .5)/1.5)
  932. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(-2/10,-2/10,ii*.9 + .85)
  933. fwait()
  934. end
  935. p:Remove()
  936. end),pc)
  937.  
  938. 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))
  939. pc.Mesh.MeshType="Sphere"
  940. pc.Parent=workspace
  941. pc.Anchored=true
  942. pc.CanCollide=false
  943. pc.Transparency=.5
  944. game:GetService("Debris"):AddItem(pc,5)
  945.  
  946. coroutine.resume(coroutine.create(function(p)
  947. for ii=1, 10 do
  948. p.Transparency=ii/10
  949. p.CFrame = p.CFrame * CFrame.Angles(0,0,0) * CFrame.new(0,0,(ii*.5 + .5)/1.5)
  950. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(-4/10,-4/10,ii*.9 + .85)
  951. fwait()
  952. end
  953. p:Remove()
  954. end),pc)
  955.  
  956. 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))
  957. pc.Mesh.MeshType="Sphere"
  958. pc.Parent=workspace
  959. pc.Anchored=true
  960. pc.CanCollide=false
  961. pc.Transparency=.5
  962. game:GetService("Debris"):AddItem(pc,5)
  963.  
  964. coroutine.resume(coroutine.create(function(p)
  965. for ii=1, 12 do
  966. p.Transparency=ii/12
  967. p.CFrame = p.CFrame * CFrame.Angles(0,0,0) * CFrame.new(0,0,(ii*.5 + .5)/1.5)
  968. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(-5/12,-5/12,ii*.9 + .85)
  969. fwait()
  970. end
  971. p:Remove()
  972. end),pc)
  973.  
  974. for _,v in pairs(GetNubsInRadius(vPlayer.Character.HumanoidRootPart.Position + Vector3.new(0,1,0),25)) do
  975. applyCameraShake(v,360,4)
  976. end
  977. applyCameraShake(vPlayer.Character,360,4)
  978.  
  979. end
  980. cframes = rawframes - 43
  981. cl = cframes*.33
  982. LerpWelds({Animations["ShatterCannon"]["Animation"](1)},cl,Animations["ShatterCannon"]["Animation"](2))
  983. print(cl,"D")
  984. elseif rawframes >= 60 then
  985. LerpWelds({Animations["ShatterCannon"]["Animation"](2)},(rawframes-60)/10,Animations["Stand"]["Animation"](0))
  986. end
  987. if rawframes > 46 and rawframes <= 53 then
  988. BodyVel.velocity = CPlane * 50
  989. for _,v in pairs(GetNubsInRadius(vPlayer.Character.HumanoidRootPart.Position + CPlane * ((rawframes-45)*3.3),7)) do
  990.  
  991. applyCameraShake(v,500,18)
  992. DidHit=true
  993. if v.Humanoid:FindFirstChild("SADebounce"..asset) == nil then
  994. for sus = 1, 3 do
  995. 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))
  996. pc.Mesh.MeshType="FileMesh"
  997. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=3270017"
  998. pc.Parent=workspace
  999. pc.Anchored=true
  1000. pc.CanCollide=false
  1001. pc.Transparency=.5
  1002. game:GetService("Debris"):AddItem(pc,5)
  1003.  
  1004. coroutine.resume(coroutine.create(function(p)
  1005. for ii=1, 18 do
  1006. p.Transparency=ii/18
  1007. p.CFrame = p.CFrame * CFrame.Angles(0,0,0) * CFrame.new(0,0,0)
  1008. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1.6 - ii*.07,1.6-ii*.07,0)
  1009. fwait()
  1010. end
  1011. p:Remove()
  1012. end),pc)
  1013. end
  1014. end
  1015. applyDamage(v,40,CPlane*80 + Vector3.new(0,20,0),true,false,nil,1,1,"231917970",.82,true,true)
  1016. end
  1017.  
  1018. else
  1019. BodyVel.velocity = BodyVel.velocity/1.3
  1020. end
  1021. if rawframes == 70 then
  1022. TrackFunction:disconnect()
  1023. TrackFunction=nil
  1024. DesiredWalkspeed=18
  1025. PlayerIsAttacking=false
  1026. CanInterrupt(true)
  1027. setlastnormal("")
  1028. Stand()
  1029. end
  1030. rawframes=rawframes+1
  1031. end)
  1032. end
  1033.  
  1034. InputNormals["X"]=function() --Blackstar
  1035.  
  1036. if TrackFunction~=nil then
  1037. TrackFunction:disconnect()
  1038. TrackFunction=nil
  1039. end
  1040.  
  1041. CanInterrupt(false)
  1042. PlayerIsAttacking=true
  1043.  
  1044. local rawframes=0
  1045. Tool.Status.AnimFrame.Value=0
  1046.  
  1047. local DidHit=false
  1048.  
  1049. ccctime = tick()
  1050.  
  1051. local CPlane=MousePlane()
  1052. vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  1053.  
  1054. local cl = 0
  1055. local clastframe = lastframe
  1056. local cproj = nil
  1057. local cprojtab = {}
  1058. local cpm = Instance.new("Model")
  1059. game:GetService("Debris"):AddItem(cpm,10)
  1060. cpm.Name="BSHolder"
  1061. TrackFunction=FakeHeartbeat.Event:connect(function()
  1062. if rawframes < 4 then
  1063. CPlane = MousePlane()
  1064. end
  1065. BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  1066. BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  1067. BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  1068. if rawframes==0 then
  1069. BodyGyro.Parent.CFrame=BodyGyro.cframe
  1070. end
  1071. if rawframes < 25 then
  1072. 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))
  1073. pc.CanCollide=false
  1074. pc.Anchored=true
  1075. pc.Parent=workspace
  1076. game:GetService("Debris"):AddItem(pc,5)
  1077. coroutine.resume(coroutine.create(function(p)
  1078. local R = CFrame.Angles(math.random(-3,3),math.random(-4,4),math.random(-5,5))
  1079. local C = Vector3.new(math.random(-5,5)/40,math.random(-5,5)/40,math.random(-5,5)/40)
  1080. for i=1, 20 do
  1081. p.Mesh.Scale = p.Mesh.Scale - Vector3.new(1,1,1)/30
  1082. p.Transparency = .5 + i/40
  1083. p.CFrame = p.CFrame * R - Vector3.new(0,9.82/30/11*i,0) + C
  1084. fwait()
  1085. end
  1086. p:Remove()
  1087. end),pc)
  1088. end
  1089. if rawframes <= 5 then
  1090. LerpWelds(clastframe,rawframes/5,Animations["BlackSpace"]["Animation"](0))
  1091. if rawframes == 1 then
  1092. p=Instance.new("Sound",vPlayer.Character.Torso)
  1093. p.Volume=.85
  1094. p.Pitch=.9
  1095. p.SoundId="http://www.roblox.com/asset/?id=233091161"
  1096. wait()
  1097. p:Play()
  1098. game:GetService("Debris"):AddItem(p,3)
  1099.  
  1100. end
  1101.  
  1102. elseif rawframes > 5 and rawframes <= 8 then
  1103. LerpWelds(clastframe,1 + (rawframes - 6)*.02,Animations["BlackSpace"]["Animation"](0))
  1104. if rawframes == 6 then
  1105. 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))
  1106. pz.Transparency=1
  1107. pz.Anchored=true
  1108. pz.CanCollide=false
  1109. pz.Parent=workspace
  1110. pz.Name="Rune"
  1111. local d1 = Instance.new("Decal",pz)
  1112. d1.Texture="http://www.roblox.com/asset/?id=233069802"
  1113. d1.Face="Front"
  1114. d1.Name="d1"
  1115. local d1 = Instance.new("Decal",pz)
  1116. d1.Texture="http://www.roblox.com/asset/?id=233069802"
  1117. d1.Face="Back"
  1118. d1.Name="d2"
  1119.  
  1120. coroutine.resume(coroutine.create(function(p,dir)
  1121. for i=1, 28 do
  1122. fwait()
  1123. p.CFrame = p.CFrame * CFrame.Angles(0,0,math.rad(28 - i))
  1124. if i <= 7 then
  1125. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(i*.12,i*.12,0)
  1126. end
  1127. if i > 20 then
  1128. p.d1.Transparency=(i-20)/8
  1129. p.d2.Transparency=(i-20)/8
  1130. p.CFrame = p.CFrame * CFrame.Angles(0,0,math.rad((i-20)*5))
  1131. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.1,.1,0)
  1132. end
  1133. end
  1134. p:Remove()
  1135. end),pz,CPlane)
  1136.  
  1137. game:GetService("Debris"):AddItem(pz,6)
  1138. elseif rawframes == 8 then
  1139. 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))
  1140. pz.Transparency=1
  1141. pz.Anchored=true
  1142. pz.CanCollide=false
  1143. pz.Parent=workspace
  1144. pz.Name="Rune"
  1145. local d1 = Instance.new("Decal",pz)
  1146. d1.Texture="http://www.roblox.com/asset/?id=233069844"
  1147. d1.Face="Front"
  1148. d1.Name="d1"
  1149. local d1 = Instance.new("Decal",pz)
  1150. d1.Texture="http://www.roblox.com/asset/?id=233069844"
  1151. d1.Face="Back"
  1152. d1.Name="d2"
  1153.  
  1154. coroutine.resume(coroutine.create(function(p,dir)
  1155. for i=1, 28 do
  1156. fwait()
  1157. p.CFrame = p.CFrame * CFrame.Angles(0,0,-math.rad(28 - i))
  1158. if i <= 7 then
  1159. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(i*.048,i*.048,0)
  1160. end
  1161. if i > 20 then
  1162. p.d1.Transparency=(i-20)/8
  1163. p.d2.Transparency=(i-20)/8
  1164. p.CFrame = p.CFrame * CFrame.Angles(0,0,-math.rad((i-20)*5))
  1165. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.1,.1,0)
  1166. end
  1167. end
  1168. p:Remove()
  1169. end),pz,CPlane)
  1170.  
  1171. game:GetService("Debris"):AddItem(pz,6)
  1172. end
  1173. elseif rawframes > 8 and rawframes <= 12 then
  1174. LerpWelds(clastframe,1.04 - (rawframes - 8)*.02,Animations["BlackSpace"]["Animation"](0))
  1175.  
  1176. elseif rawframes > 12 and rawframes <= 17 then
  1177. cl = cl + (rawframes-12)*.066
  1178. if rawframes == 15 then
  1179. p=Instance.new("Sound",vPlayer.Character.Torso)
  1180. p.Volume=.4
  1181. p.Pitch=.7
  1182. p.SoundId="http://www.roblox.com/asset/?id=233856140"
  1183. wait()
  1184. p:Play()
  1185. game:GetService("Debris"):AddItem(p,3)
  1186. end
  1187. LerpWelds({Animations["BlackSpace"]["Animation"](0)},cl,Animations["BlackSpace"]["Animation"](1))
  1188. print(cl)
  1189. elseif rawframes > 17 and rawframes <= 20 then
  1190.  
  1191. LerpWelds({Animations["BlackSpace"]["Animation"](0)},1 + (rawframes - 17)*.02,Animations["BlackSpace"]["Animation"](1))
  1192. elseif rawframes > 20 and rawframes <= 23 then
  1193.  
  1194. LerpWelds({Animations["BlackSpace"]["Animation"](0)},1.04 - (rawframes - 20)*.02,Animations["BlackSpace"]["Animation"](1))
  1195. elseif rawframes > 25 and rawframes <= 34 then
  1196. LerpWelds({Animations["BlackSpace"]["Animation"](1)},(rawframes-25)/9,Animations["Stand"]["Animation"](0))
  1197. end
  1198. if rawframes == 17 then
  1199.  
  1200.  
  1201.  
  1202. local eb = BillboardGui("http://www.roblox.com/asset/?id=234376736",(vPlayer.Character["HumanoidRootPart"].CFrame*CFrame.new(0,.4,-6)).p,0)
  1203. eb.Parent=workspace
  1204. eb.BillboardGui.ImageLabel.Rotation=math.random(-180,180)
  1205. eb.BillboardGui.Size=UDim2.new(8,0,8,0)
  1206. eb.BillboardGui.ImageLabel.ImageTransparency=.5
  1207. game:GetService("Debris"):AddItem(eb,3)
  1208.  
  1209. p=Instance.new("Sound",eb)
  1210. p.Volume=1
  1211. p.Pitch=1
  1212. p.SoundId="http://www.roblox.com/asset/?id=231917975"
  1213. wait()
  1214. p:Play()
  1215. game:GetService("Debris"):AddItem(p,3)
  1216. coroutine.resume(coroutine.create(function(p,cdir)
  1217.  
  1218. for i=1, 50 do
  1219. p.CFrame = p.CFrame + cdir*.2
  1220. if i >= 45 then
  1221. p.BillboardGui.ImageLabel.ImageTransparency=p.BillboardGui.ImageLabel.ImageTransparency+.1
  1222. end
  1223. p.BillboardGui.ImageLabel.Rotation = p.BillboardGui.ImageLabel.Rotation - (i + 5)
  1224. if i % 8 == 0 and i <= 40 then
  1225.  
  1226. 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))
  1227. pc.Mesh.MeshType="FileMesh"
  1228. pc.Anchored=true
  1229. pc.CanCollide=false
  1230. pc.Parent=workspace
  1231. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  1232. pc.Name="Shockwave"
  1233. game:GetService("Debris"):AddItem(pc,5)
  1234.  
  1235. coroutine.resume(coroutine.create(function(p)
  1236. for ii=1, 20 do
  1237. p.Transparency=.75 + ii/80
  1238. p.CFrame = p.CFrame * CFrame.Angles(0,-math.rad(3 + ii),0) - Vector3.new(0,.05,0)
  1239. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.4,-.1,.4)
  1240. fwait()
  1241. end
  1242. p:Remove()
  1243. end),pc)
  1244.  
  1245. if i < 40 then
  1246.  
  1247. 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))
  1248. pc.Mesh.MeshType="FileMesh"
  1249. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=3270017"
  1250. pc.Parent=workspace
  1251. pc.Anchored=true
  1252. pc.CanCollide=false
  1253. pc.Transparency=.5
  1254. game:GetService("Debris"):AddItem(pc,5)
  1255.  
  1256. coroutine.resume(coroutine.create(function(p,cdir)
  1257. for ii=1, 12 do
  1258. p.Transparency=ii/12
  1259. p.CFrame = p.CFrame * CFrame.Angles(0,0,0) * CFrame.new(0,0,0) + cdir*.15
  1260. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1.4,1.4,0)
  1261. fwait()
  1262. end
  1263. p:Remove()
  1264. end),pc,cdir)
  1265. end
  1266. end
  1267. if i % 5 == 0 and i <= 50 then
  1268.  
  1269. 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))
  1270. pc.Mesh.MeshType="FileMesh"
  1271. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=3270017"
  1272. pc.Parent=workspace
  1273. pc.Anchored=true
  1274. pc.CanCollide=false
  1275. pc.Transparency=.5
  1276. game:GetService("Debris"):AddItem(pc,5)
  1277.  
  1278. coroutine.resume(coroutine.create(function(p,cdir)
  1279. for ii=1, 12 do
  1280. p.Transparency=ii/12
  1281. p.CFrame = p.CFrame * CFrame.Angles(0,0,0) * CFrame.new(0,0,0) + cdir*.15
  1282. p.Mesh.Scale=p.Mesh.Scale - Vector3.new(.7,.7,0)
  1283. fwait()
  1284. end
  1285. p:Remove()
  1286. end),pc,cdir)
  1287.  
  1288.  
  1289. for _,v in pairs(GetNubsInRadius(p.Position,28)) do
  1290. local sitoop = (p.Position - v.Torso.Position)*8
  1291. if (p.Position - v.Torso.Position).magnitude <= 8 then
  1292. applyDamage(v,1,Vector3.new(),false,false,nil,.01,1,"233856106",math.random(190,210)/100,false,false)
  1293.  
  1294. local pz = Instance.new("BodyPosition",v.Torso)
  1295. pz.P=3500
  1296. pz.D=1500
  1297. pz.maxForce=Vector3.new(180000,180000,180000)
  1298. pz.position=p.Position + cdir*4
  1299. game:GetService("Debris"):AddItem(pz,.1)
  1300.  
  1301. 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))
  1302. cpro.Anchored = true
  1303. cpro.CanCollide = false
  1304. cpro.Reflectance = .1
  1305. cpro.Parent=workspace
  1306. cpro.Transparency = .5
  1307. game:GetService("Debris"):AddItem(cpro,10)
  1308. coroutine.resume(coroutine.create(function(p,cdir,R)
  1309. for ii=1, 10 do
  1310. p.Mesh.Scale = p.Mesh.Scale + Vector3.new(.5,.5,.5)
  1311. p.Transparency = .5 + ii/20
  1312. p.CFrame = p.CFrame * R
  1313. fwait()
  1314. end
  1315. end),cpro,cdir,CFrame.Angles(math.random(-30,30)/100,math.random(-30,30)/100,math.random(-30,30)/100))
  1316.  
  1317. else
  1318. --applyDamage(v,0,Vector3.new(sitoop.x,0,sitoop.z) / 6.25,false,false,nil,.01,1,"",0,false,false)
  1319. end
  1320. applyCameraShake(v,50,5)
  1321.  
  1322. 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))
  1323. cpro.Anchored = true
  1324. cpro.Mesh.MeshType="Sphere"
  1325. cpro.CanCollide = false
  1326. cpro.Reflectance = .1
  1327. cpro.Parent=workspace
  1328. cpro.Transparency = .5
  1329. game:GetService("Debris"):AddItem(cpro,10)
  1330. coroutine.resume(coroutine.create(function(p,cdir)
  1331. for ii=1, 7 do
  1332. p.Mesh.Scale = p.Mesh.Scale + Vector3.new(.5,.5,.5)
  1333. p.Transparency = .5 + ii/14
  1334. p.CFrame = p.CFrame + cdir*.15
  1335. fwait()
  1336. end
  1337. end),cpro,cdir)
  1338.  
  1339. end
  1340.  
  1341. local cpro = NewPart(Vector3.new(1,1,1),p.CFrame,"Really black","SpecialMesh",Vector3.new(6,6,6))
  1342. cpro.Anchored = true
  1343. cpro.Mesh.MeshType="Sphere"
  1344. cpro.CanCollide = false
  1345. cpro.Reflectance = .1
  1346. cpro.Parent=workspace
  1347. cpro.Transparency = .5
  1348. game:GetService("Debris"):AddItem(cpro,10)
  1349. coroutine.resume(coroutine.create(function(p,cdir)
  1350. for ii=1, 10 do
  1351. p.Mesh.Scale = p.Mesh.Scale + Vector3.new(.75,.75,.75)
  1352. p.Transparency = .5 + ii/20
  1353. p.CFrame = p.CFrame + cdir*.15
  1354. fwait()
  1355. end
  1356. end),cpro,cdir)
  1357.  
  1358. local cpro = NewPart(Vector3.new(1,1,1),p.CFrame,"Really black","SpecialMesh",Vector3.new(12,12,12))
  1359. cpro.Anchored = true
  1360. cpro.Mesh.MeshType="Sphere"
  1361. cpro.CanCollide = false
  1362. cpro.Reflectance = .1
  1363. cpro.Parent=workspace
  1364. cpro.Transparency = .5
  1365. game:GetService("Debris"):AddItem(cpro,10)
  1366. coroutine.resume(coroutine.create(function(p,cdir)
  1367. for ii=1, 10 do
  1368. p.Mesh.Scale = p.Mesh.Scale - Vector3.new(.95,.95,.95)
  1369. p.Transparency = .5 + ii/20
  1370. p.CFrame = p.CFrame + cdir*.15
  1371. fwait()
  1372. end
  1373. end),cpro,cdir)
  1374.  
  1375. local cpro = NewPart(Vector3.new(1,1,1),p.CFrame,"Really black","SpecialMesh",Vector3.new(17,17,17))
  1376. cpro.Anchored = true
  1377. cpro.Mesh.MeshType="Sphere"
  1378. cpro.CanCollide = false
  1379. cpro.Reflectance = .1
  1380. cpro.Parent=workspace
  1381. cpro.Transparency = .5
  1382. game:GetService("Debris"):AddItem(cpro,10)
  1383. coroutine.resume(coroutine.create(function(p,cdir)
  1384. for ii=1, 15 do
  1385. p.Mesh.Scale = p.Mesh.Scale - Vector3.new(1.2,1.2,1.2)
  1386. p.Transparency = .75 + ii/60
  1387. p.CFrame = p.CFrame + cdir*.15
  1388. fwait()
  1389. end
  1390. end),cpro,cdir)
  1391.  
  1392. end
  1393.  
  1394. fwait()
  1395. end
  1396. p:Remove()
  1397. end),eb,CPlane)
  1398.  
  1399. end
  1400. BodyVel.velocity=BodyVel.velocity/1.1
  1401. if rawframes == 34 then
  1402. TrackFunction:disconnect()
  1403. TrackFunction=nil
  1404. DesiredWalkspeed=18
  1405. PlayerIsAttacking=false
  1406. CanInterrupt(true)
  1407. setlastnormal("")
  1408. Stand()
  1409. end
  1410. rawframes=rawframes+1
  1411. end)
  1412. end
  1413. --//Normal Specials
  1414.  
  1415. --Basic Combo / Normals
  1416. InputNormals["M"]=function()
  1417.  
  1418. if TrackFunction~=nil then
  1419. TrackFunction:disconnect()
  1420. TrackFunction=nil
  1421. end
  1422.  
  1423. CanInterrupt(false)
  1424. PlayerIsAttacking=true
  1425.  
  1426. local rawframes=0
  1427. Tool.Status.AnimFrame.Value=0
  1428.  
  1429. local DidHit=false
  1430.  
  1431. ccctime = tick()
  1432.  
  1433. local CPlane=MousePlane()
  1434. vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  1435.  
  1436. local cl = 0
  1437. local clastframe = lastframe
  1438. TrackFunction=FakeHeartbeat.Event:connect(function()
  1439. if rawframes < 4 then
  1440. CPlane = MousePlane()
  1441. end
  1442. BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  1443. BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  1444. BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  1445. if rawframes==0 then
  1446. BodyGyro.Parent.CFrame=BodyGyro.cframe
  1447. end
  1448. if rawframes <= 5 then
  1449. LerpWelds(clastframe,rawframes/5,Animations["Z"]["Animation"](0))
  1450. if rawframes == 1 then
  1451. p=Instance.new("Sound",vPlayer.Character.Torso)
  1452. p.Volume=1
  1453. p.Pitch=.8
  1454. p.SoundId="http://www.roblox.com/asset/?id=233856140"
  1455. wait()
  1456. p:Play()
  1457. game:GetService("Debris"):AddItem(p,3)
  1458.  
  1459. end
  1460. elseif rawframes > 5 and rawframes <= 9 then
  1461. LerpWelds(clastframe,1 + (rawframes - 6)*.02,Animations["Z"]["Animation"](0))
  1462. elseif rawframes > 9 and rawframes <= 13 then
  1463. LerpWelds(clastframe,1.06 - (rawframes - 10)*.02,Animations["Z"]["Animation"](0))
  1464. elseif rawframes > 13 then
  1465. ----print((rawframes-22)/7)
  1466. LerpWelds({Animations["Z"]["Animation"](0)},(rawframes-13)/7,Animations["Stand"]["Animation"](0))
  1467. end
  1468. if rawframes >= 1 and rawframes <= 5 then
  1469. BodyVel.velocity=CPlane*(rawframes*4 + 5)
  1470. else
  1471. BodyVel.velocity=BodyVel.velocity/1.2
  1472. end
  1473. if rawframes >= 2 and rawframes <= 6 and rawframes%2==0 then
  1474. for _,v in pairs(GetNubsInRadius(vPlayer.Character.Torso.Position + CPlane * 2.5,3.6)) do
  1475. applyDamage(v,8,CPlane*30,false,false,nil,.2,1,"153092238",1,false,true)
  1476. applyCameraShake(v,70,5)
  1477. DidHit=true
  1478. end
  1479. end
  1480. if rawframes==7 then
  1481. setlastnormal("M")
  1482. CanInterrupt(true)
  1483.  
  1484. ----print("JORJ")
  1485. end
  1486. if rawframes == 20 then
  1487. TrackFunction:disconnect()
  1488. TrackFunction=nil
  1489. DesiredWalkspeed=18
  1490. PlayerIsAttacking=false
  1491. CanInterrupt(true)
  1492. setlastnormal("")
  1493. Stand()
  1494. end
  1495. rawframes=rawframes+1
  1496. end)
  1497. end
  1498.  
  1499. InputNormals["MM"]=function()
  1500.  
  1501. if TrackFunction~=nil then
  1502. TrackFunction:disconnect()
  1503. TrackFunction=nil
  1504. end
  1505.  
  1506. CanInterrupt(false)
  1507. PlayerIsAttacking=true
  1508.  
  1509. local rawframes=0
  1510. Tool.Status.AnimFrame.Value=0
  1511.  
  1512. local DidHit=false
  1513.  
  1514. local CPlane=MousePlane()
  1515. vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  1516.  
  1517. local lpos=vPlayer.Character.Weapon.Blade.CFrame
  1518. local cpos=nil
  1519.  
  1520. local cl = 0
  1521. local clastframe = lastframe
  1522. TrackFunction=FakeHeartbeat.Event:connect(function()
  1523. if rawframes < 6 then
  1524. CPlane = MousePlane()
  1525. end
  1526. BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  1527. BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  1528. BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  1529. if rawframes==0 then
  1530. BodyGyro.Parent.CFrame=BodyGyro.cframe
  1531. end
  1532. if rawframes <= 4 then
  1533. LerpWelds(clastframe,rawframes/4,Animations["ZZ"]["Animation"](0))
  1534. if rawframes == 1 then
  1535. p=Instance.new("Sound",vPlayer.Character.Weapon.Blade)
  1536. p.Volume=1
  1537. p.Pitch=.6
  1538. p.SoundId="http://www.roblox.com/asset/?id=234365549"
  1539. wait()
  1540. p:Play()
  1541. game:GetService("Debris"):AddItem(p,3)
  1542. end
  1543. elseif rawframes > 4 and rawframes <= 6 then
  1544. LerpWelds({Animations["ZZ"]["Animation"](0)},(rawframes-4)/2,Animations["ZZ"]["Animation"](1))
  1545. elseif rawframes > 6 and rawframes <= 8 then
  1546. LerpWelds({Animations["ZZ"]["Animation"](1)},(rawframes-6)/2,Animations["ZZ"]["Animation"](2))
  1547. elseif rawframes > 8 and rawframes <= 11 then
  1548. LerpWelds({Animations["ZZ"]["Animation"](1)},1 + (rawframes - 8)*.03,Animations["ZZ"]["Animation"](2))
  1549. elseif rawframes > 11 and rawframes <= 15 then
  1550. LerpWelds({Animations["ZZ"]["Animation"](1)},1.08 - (rawframes-11) * .03,Animations["ZZ"]["Animation"](2))
  1551. elseif rawframes > 15 then
  1552. LerpWelds({Animations["ZZ"]["Animation"](2)},(rawframes-15)/6,Animations["Stand"]["Animation"](0))
  1553. end
  1554. if rawframes >= 3 and rawframes <= 5 then
  1555. BodyVel.velocity=CPlane*(rawframes*4 + 15)
  1556. else
  1557. BodyVel.velocity=BodyVel.velocity/1.5
  1558. end
  1559. if rawframes >= 4 and rawframes <= 10 and rawframes%2==0 then
  1560. for _,v in pairs(GetNubsInRadius(vPlayer.Character.HumanoidRootPart.Position + CPlane * 2,4)) do
  1561. applyDamage(v,9,CPlane*40,false,false,nil,.4,1,"201858024",.6,true,true)
  1562. applyCameraShake(v,90,5)
  1563. DidHit=true
  1564. end
  1565. end
  1566. if rawframes < 19 then
  1567. if rawframes%2 == 0 then
  1568. --print("borb")
  1569. lpos=vPlayer.Character.Weapon.Blade.CFrame
  1570. if cpos and (cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p).magnitude > .1 then
  1571. --print('bub')
  1572. local h = vPlayer.Character.Weapon.Blade.Size.y / 2
  1573. 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"))
  1574. if a then game:GetService("Debris"):AddItem(a,5) end
  1575. if b then game:GetService("Debris"):AddItem(b,5) end
  1576. 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"))
  1577. if a then game:GetService("Debris"):AddItem(a,5) end
  1578. if b then game:GetService("Debris"):AddItem(b,5) end
  1579. cpos = lpos
  1580. elseif not cpos then
  1581. cpos = lpos
  1582. end
  1583. end
  1584. end
  1585. if rawframes==10 then
  1586. CanInterrupt(true)
  1587. setlastnormal("MM")
  1588. ----print("JORJ")
  1589. end
  1590. if rawframes == 21 then
  1591. TrackFunction:disconnect()
  1592. TrackFunction=nil
  1593. DesiredWalkspeed=18
  1594. PlayerIsAttacking=false
  1595. CanInterrupt(true)
  1596. setlastnormal("")
  1597. Stand()
  1598. end
  1599. rawframes=rawframes+1
  1600. end)
  1601. end
  1602. InputNormals["MMM"]=function()
  1603.  
  1604. if TrackFunction~=nil then
  1605. TrackFunction:disconnect()
  1606. TrackFunction=nil
  1607. end
  1608.  
  1609. CanInterrupt(false)
  1610. PlayerIsAttacking=true
  1611.  
  1612. local rawframes=0
  1613. Tool.Status.AnimFrame.Value=0
  1614.  
  1615. local DidHit=false
  1616.  
  1617. local CPlane=MousePlane()
  1618. vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  1619.  
  1620. local cl = 0
  1621. local clastframe = lastframe
  1622.  
  1623. local lpos=vPlayer.Character.Weapon.Blade.CFrame
  1624. local cpos=nil
  1625.  
  1626. TrackFunction=FakeHeartbeat.Event:connect(function()
  1627. if rawframes < 8 then
  1628. CPlane = MousePlane()
  1629. end
  1630. BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  1631. BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  1632. BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  1633. if rawframes==0 then
  1634. BodyGyro.Parent.CFrame=BodyGyro.cframe
  1635. end
  1636. if rawframes <= 8 then
  1637. LerpWelds(clastframe,rawframes/8,Animations["ZZZ"]["Animation"](0))
  1638. elseif rawframes > 8 and rawframes <= 15 then
  1639. cl = cl + (rawframes - 8) * .036
  1640. LerpWelds({Animations["ZZZ"]["Animation"](0)},cl,Animations["ZZZ"]["Animation"](1))
  1641. if rawframes == 9 then
  1642. p=Instance.new("Sound",vPlayer.Character.Weapon.Blade)
  1643. p.Volume=1
  1644. p.Pitch=.85
  1645. p.SoundId="http://www.roblox.com/asset/?id=234365573"
  1646. wait()
  1647. p:Play()
  1648. game:GetService("Debris"):AddItem(p,3)
  1649. end
  1650. elseif rawframes > 15 and rawframes <= 21 then
  1651. LerpWelds({Animations["ZZZ"]["Animation"](0)},1 + (rawframes - 15) * .01,Animations["ZZZ"]["Animation"](1))
  1652. --print(1 + (rawframes - 15) * .01)
  1653. elseif rawframes > 21 and rawframes <= 25 then
  1654. LerpWelds({Animations["ZZZ"]["Animation"](0)},1.1 - (rawframes-21)*.04,Animations["ZZZ"]["Animation"](1))
  1655. elseif rawframes > 25 then
  1656. LerpWelds({Animations["ZZZ"]["Animation"](1)},(rawframes-25)/6,Animations["Stand"]["Animation"](0))
  1657. end
  1658. if rawframes >= 7 and rawframes <= 8 then
  1659. BodyVel.velocity=CPlane*(rawframes*5 + 26)
  1660. else
  1661. BodyVel.velocity=BodyVel.velocity/1.7
  1662. end
  1663. if rawframes >= 8 and rawframes <= 14 and rawframes%2==0 then
  1664. for _,v in pairs(GetNubsInRadius(vPlayer.Character.HumanoidRootPart.Position + CPlane * 2,4)) do
  1665. applyDamage(v,9,CPlane*50,false,false,nil,.6,1,"201858024",.5,true,true)
  1666. applyCameraShake(v,90,5)
  1667. DidHit=true
  1668. end
  1669. end
  1670. if rawframes < 18 then
  1671. if rawframes%2 == 0 then
  1672. --print("borb")
  1673. lpos=vPlayer.Character.Weapon.Blade.CFrame
  1674. if cpos and (cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p).magnitude > .1 then
  1675. --print('bub')
  1676. local h = vPlayer.Character.Weapon.Blade.Size.y / 2
  1677. 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"))
  1678. if a then game:GetService("Debris"):AddItem(a,5) end
  1679. if b then game:GetService("Debris"):AddItem(b,5) end
  1680. 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"))
  1681. if a then game:GetService("Debris"):AddItem(a,5) end
  1682. if b then game:GetService("Debris"):AddItem(b,5) end
  1683. cpos = lpos
  1684. elseif not cpos then
  1685. cpos = lpos
  1686. end
  1687. end
  1688. end
  1689. if rawframes==16 then
  1690. CanInterrupt(true)
  1691. setlastnormal("MMM")
  1692. ----print("JORJ")
  1693. end
  1694. if rawframes == 31 then
  1695. TrackFunction:disconnect()
  1696. TrackFunction=nil
  1697. DesiredWalkspeed=18
  1698. PlayerIsAttacking=false
  1699. CanInterrupt(true)
  1700. setlastnormal("")
  1701. Stand()
  1702. end
  1703. rawframes=rawframes+1
  1704. end)
  1705. end
  1706.  
  1707. InputNormals["MMMM"]=function()
  1708.  
  1709. if TrackFunction~=nil then
  1710. TrackFunction:disconnect()
  1711. TrackFunction=nil
  1712. end
  1713.  
  1714. CanInterrupt(false)
  1715. PlayerIsAttacking=true
  1716.  
  1717. local rawframes=0
  1718. Tool.Status.AnimFrame.Value=0
  1719.  
  1720. local DidHit=false
  1721.  
  1722. local CPlane=MousePlane()
  1723. vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  1724.  
  1725. local cl = 0
  1726. local clastframe = lastframe
  1727. TrackFunction=FakeHeartbeat.Event:connect(function()
  1728. if rawframes < 9 then
  1729. CPlane=MousePlane()
  1730. end
  1731.  
  1732. BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  1733. BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  1734. BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  1735. if rawframes==0 then
  1736. BodyGyro.Parent.CFrame=BodyGyro.cframe
  1737. end
  1738. BodyVel.velocity=BodyVel.velocity/1.25
  1739. if rawframes <= 5 then
  1740. LerpWelds(clastframe,rawframes/5,Animations["ZZZZ"]["Animation"](0))
  1741. elseif rawframes > 5 and rawframes <= 10 then
  1742. LerpWelds({Animations["ZZZZ"]["Animation"](0)},(rawframes-5)/5,Animations["ZZZZ"]["Animation"](1))
  1743. if rawframes == 6 then
  1744. p=Instance.new("Sound",vPlayer.Character.Torso)
  1745. p.Volume=.25
  1746. p.Pitch=.9
  1747. p.SoundId="http://www.roblox.com/asset/?id=233856140"
  1748. wait()
  1749. p:Play()
  1750. game:GetService("Debris"):AddItem(p,3)
  1751. end
  1752.  
  1753. 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))
  1754. pc.CanCollide=false
  1755. pc.Anchored=true
  1756. pc.Parent=workspace
  1757. game:GetService("Debris"):AddItem(pc,5)
  1758. coroutine.resume(coroutine.create(function(p)
  1759. local R = CFrame.Angles(math.random(-3,3),math.random(-4,4),math.random(-5,5))
  1760. local C = Vector3.new(math.random(-5,5)/40,math.random(-5,5)/40,math.random(-5,5)/40)
  1761. for i=1, 20 do
  1762. p.Mesh.Scale = p.Mesh.Scale - Vector3.new(1,1,1)/30
  1763. p.Transparency = i/20
  1764. p.CFrame = p.CFrame * R - Vector3.new(0,9.82/30/11*i,0) + C
  1765. fwait()
  1766. end
  1767. p:Remove()
  1768. end),pc)
  1769. elseif rawframes > 20 and rawframes <= 26 then
  1770. LerpWelds({Animations["ZZZZ"]["Animation"](0)},1-(rawframes-20)*.02,Animations["ZZZZ"]["Animation"](1))
  1771. elseif rawframes > 26 and rawframes <= 33 then
  1772. LerpWelds({Animations["ZZZZ"]["Animation"](1)},(rawframes-26)/7.05-.10,Animations["ZZZZ"]["Animation"](2))
  1773. elseif rawframes > 40 then
  1774. LerpWelds({Animations["ZZZZ"]["Animation"](2)},(rawframes-40)/9,Animations["Stand"]["Animation"](0))
  1775. end
  1776. if rawframes == 30 then
  1777.  
  1778. cpos = vPlayer.Character.Torso.Position + CPlane * 30
  1779. coroutine.resume(coroutine.create(function(pos,dir)
  1780. for i=0, 2 do
  1781. 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))
  1782. pc.Mesh.MeshType="FileMesh"
  1783. pc.Parent=workspace
  1784. pc.Anchored=true
  1785. pc.CanCollide=false
  1786. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  1787. pc.Name="Shockwave"
  1788. game:GetService("Debris"):AddItem(pc,5)
  1789.  
  1790. coroutine.resume(coroutine.create(function(p)
  1791. for ii=1, 15 do
  1792. p.Transparency=ii/15
  1793. p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(15 + ii),0) + Vector3.new(0,.35,0)
  1794. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(-6/15,.7,-6/15)
  1795. fwait()
  1796. end
  1797. p:Remove()
  1798. end),pc)
  1799.  
  1800. 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))
  1801. pc.Mesh.MeshType="FileMesh"
  1802. pc.Anchored=true
  1803. pc.CanCollide=false
  1804. pc.Parent=workspace
  1805. pc.Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  1806. pc.Name="Shockwave"
  1807. game:GetService("Debris"):AddItem(pc,5)
  1808.  
  1809. coroutine.resume(coroutine.create(function(p)
  1810. for ii=1, 10 do
  1811. p.Transparency=ii/10
  1812. p.CFrame = p.CFrame * CFrame.Angles(0,-math.rad(15 + ii),0) - Vector3.new(0,.25,0)
  1813. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1,-.5,1)
  1814. fwait()
  1815. end
  1816. p:Remove()
  1817. end),pc)
  1818.  
  1819. local p=Instance.new("Sound",pc)
  1820. p.Volume=1
  1821. p.Pitch=.85
  1822. p.SoundId="http://www.roblox.com/asset/?id=233856106"
  1823. wait()
  1824. p:Play()
  1825. game:GetService("Debris"):AddItem(p,3)
  1826.  
  1827. for _,v in pairs(GetNubsInRadius(pc.CFrame.p + Vector3.new(0,0,0),7.5)) do
  1828. --print("DAMN SON",time())
  1829. applyDamage(v,3,-dir*(58.5 - i*5),false,false,nil,.01,1,"",1.125,false,true)
  1830. applyCameraShake(v,70,3)
  1831. DidHit=true
  1832. end
  1833.  
  1834. fwait(.215)
  1835. end
  1836. end),cpos,CPlane)
  1837.  
  1838. end
  1839. if rawframes == 8 then
  1840.  
  1841. 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))
  1842. pz.Anchored=true
  1843. pz.CanCollide=false
  1844. pz.Parent=workspace
  1845. pz.Mesh.MeshType="Sphere"
  1846. game:GetService("Debris"):AddItem(pz,5)
  1847.  
  1848. local p=Instance.new("Sound",pz)
  1849. p.Volume=1
  1850. p.Pitch=.65
  1851. p.SoundId="http://www.roblox.com/asset/?id=231917788"
  1852. wait()
  1853. p:Play()
  1854. game:GetService("Debris"):AddItem(p,3)
  1855. local p=Instance.new("Sound",pz)
  1856. p.Volume=1
  1857. p.Pitch=1
  1858. p.SoundId="http://www.roblox.com/asset/?id=233091183"
  1859. wait()
  1860. p:Play()
  1861. game:GetService("Debris"):AddItem(p,3)
  1862.  
  1863. 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))
  1864. pc.CanCollide=false
  1865. pc.Anchored=true
  1866. pc.Parent=workspace
  1867. game:GetService("Debris"):AddItem(pc,5)
  1868. coroutine.resume(coroutine.create(function(p)
  1869. local R = CFrame.Angles(math.random(-3,3),math.random(-4,4),math.random(-5,5))
  1870. for i=1, 15 do
  1871. p.Mesh.Scale = p.Mesh.Scale + Vector3.new(2,2,2)/15
  1872. p.Transparency = i/15
  1873. p.CFrame = p.CFrame * R
  1874. fwait()
  1875. end
  1876. p:Remove()
  1877. end),pc)
  1878.  
  1879. coroutine.resume(coroutine.create(function(p,dir)
  1880. for i=1, 15 do
  1881. fwait()
  1882. p.CFrame = p.CFrame + dir * 1.5
  1883.  
  1884. 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))
  1885. pc.CanCollide=false
  1886. pc.Anchored=true
  1887. pc.Parent=workspace
  1888. game:GetService("Debris"):AddItem(pc,5)
  1889.  
  1890. if i%3 == 0 then
  1891. for _,v in pairs(GetNubsInRadius(p.CFrame.p - CPlane*2,4.5)) do
  1892. --print("DAMN SON",time())
  1893. applyDamage(v,2,dir*52.5,false,false,nil,.01,1,"231917784",.95,false,true)
  1894. applyCameraShake(v,50,3)
  1895. DidHit=true
  1896. end
  1897. end
  1898.  
  1899. coroutine.resume(coroutine.create(function(p,c)
  1900. for ii=1, 8 do
  1901. p.Mesh.Scale = p.Mesh.Scale * 1.1 + Vector3.new(c,c,c)
  1902. p.Transparency=ii/8
  1903. fwait()
  1904. end
  1905. p:Remove()
  1906. end),pc,i/20)
  1907. end
  1908. p:Remove()
  1909. end),pz,CPlane)
  1910.  
  1911. 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))
  1912. pz.Transparency=1
  1913. pz.Anchored=true
  1914. pz.CanCollide=false
  1915. pz.Parent=workspace
  1916. pz.Name="Rune"
  1917. local d1 = Instance.new("Decal",pz)
  1918. d1.Texture="http://www.roblox.com/asset/?id=233069844"
  1919. d1.Face="Front"
  1920. d1.Name="d1"
  1921. local d1 = Instance.new("Decal",pz)
  1922. d1.Texture="http://www.roblox.com/asset/?id=233069844"
  1923. d1.Face="Back"
  1924. d1.Name="d2"
  1925.  
  1926. coroutine.resume(coroutine.create(function(p,dir)
  1927. for i=1, 28 do
  1928. fwait()
  1929. p.CFrame = p.CFrame * CFrame.Angles(0,0,math.rad(1 + i*2))
  1930. p.d1.Transparency=i/28
  1931. p.d2.Transparency=i/28
  1932. if i <= 14 then
  1933. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(i*.02,i*.02,0)
  1934. end
  1935. end
  1936. p:Remove()
  1937. end),pz,CPlane)
  1938.  
  1939. game:GetService("Debris"):AddItem(pz,6)
  1940.  
  1941. end
  1942. if rawframes==38 then
  1943. CanInterrupt(true)
  1944. setlastnormal("MMMM")
  1945. ----print("JORJ")
  1946. end
  1947. if rawframes == 48 then
  1948. TrackFunction:disconnect()
  1949. TrackFunction=nil
  1950. DesiredWalkspeed=18
  1951. PlayerIsAttacking=false
  1952. CanInterrupt(true)
  1953. setlastnormal("")
  1954. Stand()
  1955. end
  1956. rawframes=rawframes+1
  1957. end)
  1958. end
  1959.  
  1960. InputNormals["MMMMM"]=function()
  1961.  
  1962. if TrackFunction~=nil then
  1963. TrackFunction:disconnect()
  1964. TrackFunction=nil
  1965. end
  1966.  
  1967. CanInterrupt(false)
  1968. PlayerIsAttacking=true
  1969.  
  1970. local rawframes=0
  1971. Tool.Status.AnimFrame.Value=0
  1972.  
  1973. local DidHit=false
  1974.  
  1975. local CPlane=MousePlane()
  1976. vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  1977.  
  1978. local lpos=vPlayer.Character.Weapon.Blade.CFrame
  1979. local cpos=nil
  1980.  
  1981. local cl = 0
  1982. local clastframe = lastframe
  1983. TrackFunction=FakeHeartbeat.Event:connect(function()
  1984. if rawframes < 6 then
  1985. CPlane = MousePlane()
  1986. end
  1987. BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  1988. BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  1989. BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  1990. if rawframes==0 then
  1991. BodyGyro.Parent.CFrame=BodyGyro.cframe
  1992. end
  1993. if rawframes <= 5 then
  1994. LerpWelds(clastframe,rawframes/5,Animations["ZZZZZ"]["Animation"](0))
  1995. if rawframes == 3 then
  1996. p=Instance.new("Sound",vPlayer.Character.Weapon.Blade)
  1997. p.Volume=1
  1998. p.Pitch=.8
  1999. p.SoundId="http://www.roblox.com/asset/?id=234365549"
  2000. wait()
  2001. p:Play()
  2002. game:GetService("Debris"):AddItem(p,3)
  2003. end
  2004. elseif rawframes > 5 and rawframes <= 8 then
  2005. LerpWelds({Animations["ZZZZZ"]["Animation"](0)},(rawframes-5)/4,Animations["ZZZZZ"]["Animation"](1))
  2006. elseif rawframes > 8 and rawframes <= 11 then
  2007. LerpWelds({Animations["ZZZZZ"]["Animation"](1)},(rawframes-8)/3,Animations["ZZZZZ"]["Animation"](2))
  2008. elseif rawframes > 11 and rawframes <= 14 then
  2009. LerpWelds({Animations["ZZZZZ"]["Animation"](1)},1 + (rawframes - 11)*.03,Animations["ZZZZZ"]["Animation"](2))
  2010. elseif rawframes > 14 and rawframes <= 19 then
  2011. LerpWelds({Animations["ZZZZZ"]["Animation"](1)},1.08 - (rawframes-14) * .03,Animations["ZZZZZ"]["Animation"](2))
  2012. elseif rawframes > 19 then
  2013. LerpWelds({Animations["ZZZZZ"]["Animation"](2)},(rawframes-19)/8,Animations["Stand"]["Animation"](0))
  2014. end
  2015. if rawframes >= 1 and rawframes <= 5 then
  2016. BodyVel.velocity=CPlane*(rawframes*4 + 5)
  2017. else
  2018. BodyVel.velocity=BodyVel.velocity/1.2
  2019. end
  2020. if rawframes >= 6 and rawframes <= 10 then
  2021. for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon.Blade.Position - CPlane * .5 - Vector3.new(0,.5,0),3.3)) do
  2022. applyDamage(v,7,CPlane*30,false,false,nil,.1,1,"201858024",.85,true,true)
  2023. applyCameraShake(v,120,5)
  2024. DidHit=true
  2025. end
  2026. end
  2027. if rawframes == 11 then
  2028. p=Instance.new("Sound",vPlayer.Character.Weapon.Blade)
  2029. p.Volume=1
  2030. p.Pitch=1.1
  2031. p.SoundId="http://www.roblox.com/asset/?id=191395766"
  2032. wait()
  2033. p:Play()
  2034. game:GetService("Debris"):AddItem(p,3)
  2035.  
  2036. local par,loc = workspace:FindPartOnRay(Ray.new(vPlayer.Character.Weapon.Blade.Position,Vector3.new(0,-3,0)),vPlayer.Character)
  2037. 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))
  2038. pz.Transparency=1
  2039. pz.Anchored=true
  2040. pz.CanCollide=false
  2041. pz.Parent=workspace
  2042. pz.Name="Rune"
  2043. local d1 = Instance.new("Decal",pz)
  2044. d1.Texture="http://www.roblox.com/asset/?id=234376725"
  2045. d1.Face="Front"
  2046. d1.Name="d1"
  2047. local d1 = Instance.new("Decal",pz)
  2048. d1.Texture="http://www.roblox.com/asset/?id=234376725"
  2049. d1.Face="Back"
  2050. d1.Name="d2"
  2051.  
  2052. coroutine.resume(coroutine.create(function(p,dir)
  2053. for i=1, 5 do
  2054. fwait()
  2055. p.CFrame = p.CFrame * CFrame.Angles(0,0,math.rad(10 + i*2))
  2056. p.d1.Transparency=.5+i/10
  2057. p.d2.Transparency=.5+i/10
  2058. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(.5,.5,0)
  2059. end
  2060. p:Remove()
  2061. end),pz,CPlane)
  2062.  
  2063. game:GetService("Debris"):AddItem(pz,6)
  2064.  
  2065. end
  2066. if rawframes < 18 then
  2067. if rawframes%2 == 0 then
  2068. --print("borb")
  2069. lpos=vPlayer.Character.Weapon.Blade.CFrame
  2070. if cpos and (cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p).magnitude > .1 then
  2071. --print('bub')
  2072. local h = vPlayer.Character.Weapon.Blade.Size.y / 2
  2073. 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"))
  2074. if a then game:GetService("Debris"):AddItem(a,5) end
  2075. if b then game:GetService("Debris"):AddItem(b,5) end
  2076. 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"))
  2077. if a then game:GetService("Debris"):AddItem(a,5) end
  2078. if b then game:GetService("Debris"):AddItem(b,5) end
  2079. cpos = lpos
  2080. elseif not cpos then
  2081. cpos = lpos
  2082. end
  2083. end
  2084. end
  2085. if rawframes==17 then
  2086. CanInterrupt(true)
  2087. setlastnormal("MMMMM")
  2088. ----print("JORJ")
  2089. end
  2090. if rawframes == 26 then
  2091. TrackFunction:disconnect()
  2092. TrackFunction=nil
  2093. DesiredWalkspeed=18
  2094. PlayerIsAttacking=false
  2095. CanInterrupt(true)
  2096. setlastnormal("")
  2097. Stand()
  2098. end
  2099. rawframes=rawframes+1
  2100. end)
  2101. end
  2102.  
  2103. InputNormals["MMMMMM"]=function()
  2104.  
  2105. if TrackFunction~=nil then
  2106. TrackFunction:disconnect()
  2107. TrackFunction=nil
  2108. end
  2109.  
  2110. CanInterrupt(false)
  2111. PlayerIsAttacking=true
  2112.  
  2113. local rawframes=0
  2114. Tool.Status.AnimFrame.Value=0
  2115.  
  2116. local DidHit=false
  2117.  
  2118. local CPlane=MousePlane()
  2119. vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  2120.  
  2121. local cl = 0
  2122. local clastframe = lastframe
  2123.  
  2124. local lpos=vPlayer.Character.Weapon.Blade.CFrame
  2125. local cpos=nil
  2126.  
  2127. TrackFunction=FakeHeartbeat.Event:connect(function()
  2128. if rawframes < 8 then
  2129. CPlane = MousePlane()
  2130. end
  2131. BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  2132. BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  2133. BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  2134. if rawframes==0 then
  2135. BodyGyro.Parent.CFrame=BodyGyro.cframe
  2136. end
  2137. if rawframes <= 5 then
  2138. LerpWelds(clastframe,rawframes/5,Animations["ZZZZZZ"]["Animation"](0))
  2139. if rawframes == 1 then
  2140. p=Instance.new("Sound",vPlayer.Character.Torso)
  2141. p.Volume=1
  2142. p.Pitch=1
  2143. p.SoundId="http://www.roblox.com/asset/?id=233856140"
  2144. wait()
  2145. p:Play()
  2146. game:GetService("Debris"):AddItem(p,3)
  2147. end
  2148. elseif rawframes > 5 and rawframes <= 9 then
  2149. LerpWelds(clastframe,1 + (rawframes - 5)*.01,Animations["ZZZZZZ"]["Animation"](0))
  2150. elseif rawframes > 9 and rawframes <= 13 then
  2151. LerpWelds(clastframe,1.03 - (rawframes - 9)*.01,Animations["ZZZZZZ"]["Animation"](0))
  2152. elseif rawframes > 16 then
  2153. ----print((rawframes-22)/7)
  2154. LerpWelds({Animations["ZZZZZZ"]["Animation"](0)},(rawframes-16)/11,Animations["Stand"]["Animation"](0))
  2155. end
  2156. if rawframes >= 1 and rawframes <= 5 then
  2157. BodyVel.velocity=CPlane*(rawframes*6 + 10)
  2158. else
  2159. BodyVel.velocity=BodyVel.velocity/1.2
  2160. end
  2161. if rawframes >= 4 and rawframes <= 7 and rawframes%2==0 then
  2162. for _,v in pairs(GetNubsInRadius(vPlayer.Character.Torso.Position + CPlane * 2.5,3.6)) do
  2163. applyDamage(v,7,CPlane*45,false,false,nil,.33,1,"153092238",.8,false,true)
  2164. applyCameraShake(v,140,5)
  2165. DidHit=true
  2166. end
  2167. end
  2168. if rawframes==12 then
  2169. CanInterrupt(true)
  2170. setlastnormal("MMMMMM")
  2171. ----print("JORJ")
  2172. end
  2173. if rawframes == 27 then
  2174. TrackFunction:disconnect()
  2175. TrackFunction=nil
  2176. DesiredWalkspeed=18
  2177. PlayerIsAttacking=false
  2178. CanInterrupt(true)
  2179. setlastnormal("")
  2180. Stand()
  2181. end
  2182. rawframes=rawframes+1
  2183. end)
  2184. end
  2185.  
  2186. InputNormals["MMMMMMM"]=function()
  2187.  
  2188. if TrackFunction~=nil then
  2189. TrackFunction:disconnect()
  2190. TrackFunction=nil
  2191. end
  2192.  
  2193. CanInterrupt(false)
  2194. PlayerIsAttacking=true
  2195.  
  2196. local rawframes=0
  2197. Tool.Status.AnimFrame.Value=0
  2198.  
  2199. local DidHit=false
  2200.  
  2201. local CPlane=MousePlane()
  2202. vPlayer.Character.HumanoidRootPart.CFrame=CFrame.new(vPlayer.Character.HumanoidRootPart.Position,vPlayer.Character.HumanoidRootPart.Position + CPlane * 50)
  2203.  
  2204. local lpos=vPlayer.Character.Weapon.Blade.CFrame
  2205. local cpos=nil
  2206.  
  2207. local cl = 0
  2208. local clastframe = lastframe
  2209. TrackFunction=FakeHeartbeat.Event:connect(function()
  2210. if rawframes < 6 then
  2211. CPlane = MousePlane()
  2212. end
  2213. BodyVel.Parent=vPlayer.Character.HumanoidRootPart
  2214. BodyGyro.Parent=vPlayer.Character.HumanoidRootPart
  2215. BodyGyro.cframe=CFrame.new(BodyGyro.Parent.Position,BodyGyro.Parent.Position + CPlane * 50)
  2216. if rawframes==0 then
  2217. BodyGyro.Parent.CFrame=BodyGyro.cframe
  2218. end
  2219. if rawframes <= 6 then
  2220. LerpWelds(clastframe,rawframes/6,Animations["ZZZZZZZ"]["Animation"](0))
  2221. if rawframes == 2 then
  2222. p=Instance.new("Sound",vPlayer.Character.Weapon.Blade)
  2223. p.Volume=1
  2224. p.Pitch=.9
  2225. p.SoundId="http://www.roblox.com/asset/?id=234365549"
  2226. wait()
  2227. p:Play()
  2228. game:GetService("Debris"):AddItem(p,3)
  2229. end
  2230. elseif rawframes > 6 and rawframes <= 10 then
  2231. LerpWelds(clastframe,.98 + (rawframes - 6)*.005,Animations["ZZZZZZZ"]["Animation"](0))
  2232. if rawframes == 7 then
  2233. p=Instance.new("Sound",vPlayer.Character.Weapon.Blade)
  2234. p.Volume=1
  2235. p.Pitch=1.5
  2236. p.SoundId="http://www.roblox.com/asset/?id=231917806"
  2237. wait()
  2238. p:Play()
  2239. game:GetService("Debris"):AddItem(p,3)
  2240.  
  2241. local par,loc = workspace:FindPartOnRay(Ray.new(vPlayer.Character.Weapon.Blade.Position,Vector3.new(0,-1,0)),vPlayer.Character)
  2242. 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))
  2243. pz.Transparency=1
  2244. pz.Anchored=true
  2245. pz.CanCollide=false
  2246. pz.Parent=workspace
  2247. pz.Name="Rune"
  2248. local d1 = Instance.new("Decal",pz)
  2249. d1.Texture="http://www.roblox.com/asset/?id=234376725"
  2250. d1.Face="Front"
  2251. d1.Name="d1"
  2252. local d1 = Instance.new("Decal",pz)
  2253. d1.Texture="http://www.roblox.com/asset/?id=234376725"
  2254. d1.Face="Back"
  2255. d1.Name="d2"
  2256.  
  2257. coroutine.resume(coroutine.create(function(p,dir)
  2258. for i=1, 5 do
  2259. fwait()
  2260. p.CFrame = p.CFrame * CFrame.Angles(0,0,math.rad(20 + i*2))
  2261. p.d1.Transparency=.5+i/10
  2262. p.d2.Transparency=.5+i/10
  2263. p.Mesh.Scale=p.Mesh.Scale + Vector3.new(1.5,1.5,0)
  2264. end
  2265. p:Remove()
  2266. end),pz,CPlane)
  2267.  
  2268. game:GetService("Debris"):AddItem(pz,6)
  2269.  
  2270. for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon.Blade.Position + CPlane * 1.5 + Vector3.new(0,2,0),15)) do
  2271. applyCameraShake(v,50,15)
  2272. end
  2273. applyCameraShake(vPlayer.Character,100,15)
  2274. end
  2275. elseif rawframes > 10 and rawframes <= 15 then
  2276. LerpWelds(clastframe,1.01 - (rawframes - 10)*.005,Animations["ZZZZZZZ"]["Animation"](0))
  2277. elseif rawframes > 17 then
  2278. ----print((rawframes-22)/7)
  2279. LerpWelds({Animations["ZZZZZZZ"]["Animation"](0)},(rawframes-17)/10,Animations["Stand"]["Animation"](0))
  2280. end
  2281. if rawframes >= 3 and rawframes <= 5 then
  2282. BodyVel.velocity=CPlane*(rawframes*4 + 30)
  2283. else
  2284. BodyVel.velocity=BodyVel.velocity/1.7
  2285. end
  2286. if rawframes >= 3 and rawframes <= 9 and rawframes%2==0 then
  2287. for _,v in pairs(GetNubsInRadius(vPlayer.Character.Weapon.Blade.Position + CPlane * 1.5 + Vector3.new(0,2,0),5)) do
  2288. applyDamage(v,12,CPlane*115,false,false,nil,1,1,"201858024",.55,true,true)
  2289. applyCameraShake(v,250,10)
  2290. DidHit=true
  2291. end
  2292. end
  2293. if rawframes==20 then
  2294. CanInterrupt(true)
  2295. setlastnormal("")
  2296. ----print("JORJ")
  2297. --print(tick() - ccctime)
  2298. end
  2299. if rawframes <= 20 then
  2300. lpos=vPlayer.Character.Weapon.Blade.CFrame
  2301. if cpos and (cpos.p - vPlayer.Character.Weapon.Blade.CFrame.p).magnitude > .1 then
  2302. --print('bub')
  2303. local h = vPlayer.Character.Weapon.Blade.Size.y / 2
  2304. 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"))
  2305. if a then game:GetService("Debris"):AddItem(a,5) end
  2306. if b then game:GetService("Debris"):AddItem(b,5) end
  2307. 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"))
  2308. if a then game:GetService("Debris"):AddItem(a,5) end
  2309. if b then game:GetService("Debris"):AddItem(b,5) end
  2310. cpos = lpos
  2311. elseif not cpos then
  2312. cpos = lpos
  2313. end
  2314. end
  2315. if rawframes == 27 then
  2316. TrackFunction:disconnect()
  2317. TrackFunction=nil
  2318. DesiredWalkspeed=18
  2319. PlayerIsAttacking=false
  2320. CanInterrupt(true)
  2321. setlastnormal("")
  2322. Stand()
  2323. end
  2324. rawframes=rawframes+1
  2325. end)
  2326. end
  2327.  
  2328. GetNubs=function()
  2329. scrubs={}
  2330. for _,v in pairs(game.Workspace:children()) do
  2331. if v:FindFirstChild("Humanoid")~=nil and v:FindFirstChild("Torso")~=nil and v.Name~=game.Players.LocalPlayer.Name then
  2332. table.insert(scrubs,v)
  2333. end
  2334. end
  2335. return scrubs
  2336. end
  2337. Nubs={}
  2338.  
  2339.  
  2340. GetNubsInRadius=function(pos,radius)
  2341. radius=radius+radiushelp
  2342. scrubs=Nubs
  2343. filtered={}
  2344.  
  2345. --[[local vpar = Instance.new("Part",workspace)
  2346. vpar.Transparency=.5
  2347. vpar.CanCollide=false
  2348. vpar.Anchored=true
  2349. vpar.formFactor="Symmetric"
  2350. vpar.Size=Vector3.new(1,1,1)
  2351. vpar.TopSurface = 0 vpar.BottomSurface = 0
  2352. vpar.CFrame = CFrame.new(pos)
  2353. vpar.BrickColor=BrickColor:Red()
  2354. local m = Instance.new("SpecialMesh",vpar)
  2355. m.MeshType="Sphere"
  2356. m.Scale=Vector3.new(radius,radius,radius)
  2357. game:GetService("Debris"):AddItem(vpar,3)]]
  2358.  
  2359.  
  2360. for _,v in pairs(scrubs) do
  2361. if v:FindFirstChild("Torso")~=nil then
  2362. if (v.Torso.Position-pos).magnitude<=radius then
  2363. table.insert(filtered,v)
  2364. end
  2365. end
  2366. end
  2367. return filtered
  2368. end
  2369.  
  2370. noy=function(pos)
  2371. return Vector3.new(pos.x,0,pos.z)
  2372. end
  2373.  
  2374. applyCameraShake=function(Noob,Intens,Time)
  2375. Intens = Intens / 5.2
  2376. if game.Players:GetPlayerFromCharacter(Noob)~=nil then
  2377. local ss=script.CamShake:clone()
  2378. ss.Disabled=false
  2379. ss.intensity.Value=Intens
  2380. ss.times.Value=Time
  2381. ss.Parent=Noob
  2382.  
  2383. end
  2384. end
  2385.  
  2386. LastHitTime=time()
  2387. LastDamage=0
  2388. ComboHits=0
  2389. asset = math.random(1,10^8)
  2390. ----print("asset roll: "..asset)
  2391. applyDamage=function(Noob,Damage,KnockDir,Down,ForceDown,addFunc,DebounceTime,aYvel,hitsound,hitpitch,canburn,canproc)
  2392. if KnockDir==nil then
  2393. KnockDir=Vector3.new(0,0,0)
  2394. end
  2395. if Down==nil then
  2396. Down=false
  2397. end
  2398. if addFunc==nil then
  2399. addFunc=function() end
  2400. end
  2401. if aYvel==nil then
  2402. aYvel=0
  2403. end
  2404. if hitsound == nil then hitsound = "" end
  2405. if hitpitch == nil then hitpitch = 1 end
  2406. local h=Noob:FindFirstChild("Humanoid")
  2407. local t=Noob:FindFirstChild("HumanoidRootPart")
  2408. if t==nil then
  2409. t=Noob:FindFirstChild("Torso")
  2410. end
  2411. if h~=nil and t~=nil then
  2412. if h:FindFirstChild("SADebounce"..asset) == nil then
  2413.  
  2414. local b = Instance.new("BoolValue",h)
  2415. b.Name="SADebounce"..asset
  2416. game:GetService("Debris"):AddItem(b,DebounceTime)
  2417. else
  2418. print("NOE")
  2419. return
  2420. end
  2421. local s = Instance.new("Sound",t)
  2422. s.Volume=1
  2423. s.Pitch=hitpitch
  2424. s.SoundId="http://www.roblox.com/asset/?id="..hitsound
  2425. wait()
  2426. s:Play()
  2427. game:GetService("Debris"):AddItem(s,2)
  2428. if hitsound == "201858024" then
  2429. local s = Instance.new("Sound",t)
  2430. s.Volume=1
  2431. s.Pitch=hitpitch
  2432. s.SoundId="http://www.roblox.com/asset/?id="..hitsound
  2433. wait()
  2434. s:Play()
  2435. game:GetService("Debris"):AddItem(s,2)
  2436. end
  2437. if addFunc~=nil then
  2438. addFunc(Noob)
  2439. end
  2440. coroutine.resume(coroutine.create(function(t,KnockDir,aYvel,KnockForce,aHitstop)
  2441. if t:FindFirstChild("AIDS"..asset) then t["AIDS"..asset]:Remove() end
  2442. v=Instance.new("BodyVelocity")
  2443. v.Name="AIDS"..asset
  2444. v.P=36
  2445. if KnockDir.magnitude > 0 then
  2446. v.Parent=t
  2447. end
  2448. aYvel = 0
  2449. if KnockDir.y > 1 then
  2450. aYvel=1.2
  2451. end
  2452. v.maxForce=Vector3.new(98000,aYvel*98000,98000)
  2453. v.velocity=Vector3.new(KnockDir.x,KnockDir.y,KnockDir.z)*1.1
  2454. game:GetService("Debris"):AddItem(v,.25)
  2455. end),t,KnockDir,aYvel)
  2456. if Down==true then
  2457. g=Instance.new("BodyAngularVelocity")
  2458. g.P=200
  2459. g.maxTorque=Vector3.new(80000,80000,80000)
  2460. g.angularvelocity=(KnockDir / 1.5 + Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)))/3
  2461. g.Parent=t
  2462. game:GetService("Debris"):AddItem(g,.5)
  2463. ----print(g.Parent)
  2464. if game.Players:GetPlayerFromCharacter(t.Parent) then
  2465. local s = script.ForceState:clone() s.Value.Value="FallingDown" s.Parent=t.Parent
  2466. end
  2467. h:ChangeState(Enum.HumanoidStateType["FallingDown"])
  2468. if ForceDown==true then
  2469. g:Remove()
  2470. t.CFrame=t.CFrame*CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)+Vector3.new(0,.3,0)
  2471. g=Instance.new("BodyGyro")
  2472. g.P=400
  2473. g.maxTorque=Vector3.new(80000,80000,80000)
  2474. g.D=20
  2475. g.cframe=CFrame.new(vPlayer.Character.Torso.Position,vPlayer.Character.Torso.Position-Vector3.new(0,50,0))
  2476. g.Parent=v.Parent
  2477. game:GetService("Debris"):AddItem(g,1)
  2478. end
  2479. end
  2480.  
  2481. local enemymana = 1
  2482.  
  2483. if enemymana<=0 and canproc == true then
  2484. local s = Instance.new("Sound",t)
  2485. s.Volume=.77
  2486. s.Pitch=.5
  2487. s.SoundId="http://www.roblox.com/asset/?id=".."234365587"
  2488. wait()
  2489. s:Play()
  2490. game:GetService("Debris"):AddItem(s,2)
  2491. 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))
  2492. eff.Parent=workspace
  2493. eff.Mesh.MeshType="Sphere"
  2494. eff.Name="BloodEffect"
  2495. eff.Anchored=true
  2496. eff.CanCollide=false
  2497. game:GetService("Debris"):AddItem(eff,5)
  2498. coroutine.resume(coroutine.create(function(p,A,V,diff)
  2499. for i=1, 10 do
  2500. p.Mesh.Scale = p.Mesh.Scale + Vector3.new(.2,.2,.2)
  2501. p.Transparency=.25 + i/(10/(3/4))
  2502. p.CFrame = t.CFrame * A + diff
  2503. fwait()
  2504. end
  2505. p:Remove()
  2506. 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))
  2507.  
  2508. local pla = eff.Position
  2509. local diff = (pla - t.Position)
  2510. local eb = BillboardGui("http://www.roblox.com/asset/?id=235269395",pla,0)
  2511. eb.Parent=workspace
  2512. eb.BillboardGui.ImageLabel.Rotation=math.random(-180,180)
  2513. eb.BillboardGui.Size=UDim2.new(2,0,2,0)
  2514. game:GetService("Debris"):AddItem(eb,3)
  2515. coroutine.resume(coroutine.create(function(p,par,diff)
  2516. local r = math.random(-3,3)*9
  2517. if r > -6 and r < 1 then
  2518. r = -6
  2519. elseif r < 6 and r > -1 then
  2520. r = 6
  2521. end
  2522. for i=1, 12 do
  2523. p.BillboardGui.ImageLabel.ImageTransparency=i/12
  2524. p.BillboardGui.Size=UDim2.new(2 + i/2,0,2 + i/2,0)
  2525. p.BillboardGui.ImageLabel.Rotation = p.BillboardGui.ImageLabel.Rotation + r
  2526. p.CFrame = par.CFrame + diff
  2527. fwait()
  2528. end
  2529. p:Remove()
  2530. end),eb,t,diff)
  2531.  
  2532. local pla = eff.Position
  2533. coroutine.resume(coroutine.create(function(par,diff,h)
  2534. for i=1, 3 do
  2535. fwait(.15)
  2536. h:TakeDamage(1) --Ignores defense/anything else pleoz
  2537. 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))
  2538. eff.Parent=workspace
  2539. eff.Name="BloodEffect"
  2540. eff.Mesh.MeshType="Sphere"
  2541. eff.Anchored=true
  2542. eff.CanCollide=false
  2543. game:GetService("Debris"):AddItem(eff,5)
  2544. coroutine.resume(coroutine.create(function(p,A,V)
  2545. local R = Vector3.new(math.random(-5,5),math.random(7,9),math.random(-5,5)) / 50
  2546. for i=1, 6 do
  2547. p.Mesh.Scale = p.Mesh.Scale + Vector3.new(.75,.75,.75)
  2548. p.Transparency=.25 + i/(6/(3/4))
  2549. p.CFrame = p.CFrame * A
  2550. fwait()
  2551. end
  2552. p:Remove()
  2553. 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)
  2554. local eb = BillboardGui("http://www.roblox.com/asset/?id=233069772",eff.Position,0)
  2555. eb.Parent=workspace
  2556. eb.BillboardGui.ImageLabel.Rotation=math.random(-180,180)
  2557. eb.BillboardGui.Size=UDim2.new(2,0,2,0)
  2558. game:GetService("Debris"):AddItem(eb,3)
  2559. coroutine.resume(coroutine.create(function(p)
  2560. local r = math.random(-3,3)*9
  2561. if r > -12 and r < 1 then
  2562. r = -12
  2563. elseif r < 12 and r > -1 then
  2564. r = 12
  2565. end
  2566. for i=1, 6 do
  2567. p.BillboardGui.ImageLabel.ImageTransparency=.25 + i/(6/(3/4))
  2568. p.BillboardGui.Size=UDim2.new(2 + i/2,0,2 + i/2,0)
  2569. p.BillboardGui.ImageLabel.Rotation = p.BillboardGui.ImageLabel.Rotation + r
  2570. fwait()
  2571. end
  2572. p:Remove()
  2573. end),eb)
  2574. end
  2575. end),t,(t.Position-pla),h)
  2576. elseif enemymana>0 and canburn == true then
  2577. 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))
  2578. eff.Parent=workspace
  2579. eff.Name="BloodEffect"
  2580. eff.Anchored=true
  2581. eff.CanCollide=false
  2582. game:GetService("Debris"):AddItem(eff,5)
  2583. coroutine.resume(coroutine.create(function(p,A,V,diff,par)
  2584. for i=1, 10 do
  2585. p.Mesh.Scale = p.Mesh.Scale + Vector3.new(.4,.4,.4)
  2586. p.Transparency=.25 + i/(10/(3/4))
  2587. p.CFrame = par.CFrame * A + diff
  2588. fwait()
  2589. end
  2590. p:Remove()
  2591. 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)
  2592. local pla = eff.Position
  2593. local diff = (pla - t.Position)
  2594. local eb = BillboardGui("http://www.roblox.com/asset/?id=235269378",pla,0)
  2595. eb.Parent=workspace
  2596. eb.BillboardGui.ImageLabel.Rotation=math.random(-180,180)
  2597. eb.BillboardGui.Size=UDim2.new(2,0,2,0)
  2598. game:GetService("Debris"):AddItem(eb,3)
  2599. coroutine.resume(coroutine.create(function(p,par,diff)
  2600. local r = math.random(-3,3)*9
  2601. if r > -6 and r < 1 then
  2602. r = -6
  2603. elseif r < 6 and r > -1 then
  2604. r = 6
  2605. end
  2606. for i=1, 8 do
  2607. p.BillboardGui.ImageLabel.ImageTransparency=i/8
  2608. p.BillboardGui.Size=UDim2.new(2 + i/2,0,2 + i/2,0)
  2609. p.BillboardGui.ImageLabel.Rotation = p.BillboardGui.ImageLabel.Rotation + r
  2610. p.CFrame = par.CFrame + diff
  2611. fwait()
  2612. end
  2613. p:Remove()
  2614. end),eb,t,diff)
  2615.  
  2616. coroutine.resume(coroutine.create(function(par,diff,man,manaloss,scrub)
  2617. print(manaloss+1," lost mana")
  2618. for i=1, manaloss+1 do
  2619. man = man - 1
  2620. --scrub.Value.Value = scrub.Value.Value-1
  2621. 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))
  2622. eff.Parent=workspace
  2623. eff.Name="BloodEffect"
  2624. eff.Anchored=true
  2625. eff.CanCollide=false
  2626. game:GetService("Debris"):AddItem(eff,5)
  2627. coroutine.resume(coroutine.create(function(p,A,V)
  2628. local R = Vector3.new(math.random(-5,5),math.random(7,9),math.random(-5,5)) / 50
  2629. for i=1, 20 do
  2630. p.Mesh.Scale = p.Mesh.Scale + Vector3.new(.05,.05,.05)
  2631. p.Transparency=.5 + i/40
  2632. p.CFrame = p.CFrame * A + R - Vector3.new(0,9.82/30/9*(i-1),0)
  2633. fwait()
  2634. end
  2635. p:Remove()
  2636. 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)
  2637. fwait(.3)
  2638. end
  2639. end),t,(t.Position-pla),enemymana,math.ceil(Damage*.4),t.Parent)
  2640. end
  2641. h:TakeDamage(Damage*1)
  2642. end
  2643. end
  2644.  
  2645. coroutine.resume(coroutine.create(function()
  2646. while true do
  2647. fwait()
  2648. if Hitstop>1 then
  2649. vPlayer.Character.HumanoidRootPart.Anchored=true
  2650. else
  2651. vPlayer.Character.HumanoidRootPart.Anchored=false
  2652. end
  2653. if Comboing==true then
  2654. if InfoGui==nil then
  2655.  
  2656. InfoGui=script.InfoGui:clone()
  2657. if vPlayer:FindFirstChild("PlayerGui")~=nil then
  2658. InfoGui.Parent=vPlayer.PlayerGui
  2659. end
  2660.  
  2661. Scrubs=0
  2662. for _,v in pairs(ComboNubs) do
  2663. Scrubs=Scrubs+1
  2664. end
  2665. if Scrubs==0 then Scrubs=1 end
  2666.  
  2667. InfoGui.Frame.HitsLabel.Text=ComboHits
  2668. InfoGui.Frame.DamageLabel.Text=LastDamage
  2669. InfoGui.Frame.EffectiveDamageLabel.Text=LastDamage / Scrubs
  2670.  
  2671. else
  2672.  
  2673. Scrubs=0
  2674. for _,v in pairs(ComboNubs) do
  2675. Scrubs=Scrubs+1
  2676. end
  2677. if Scrubs==0 then Scrubs=1 end
  2678.  
  2679. InfoGui.Frame.HitsLabel.Text=ComboHits
  2680. InfoGui.Frame.DamageLabel.Text=math.floor(LastDamage)
  2681. InfoGui.Frame.EffectiveDamageLabel.Text=math.floor(LastDamage / Scrubs)
  2682. TimeDiff = LastHitTime - time()
  2683.  
  2684. InfoGui.Frame.HitstunFrame.Fill.Size=UDim2.new(0,40 * TimeDiff,0,10)
  2685. InfoGui.Frame.HitstunFrame.Fill.Position=UDim2.new(.5,-20 * TimeDiff,0,0)
  2686.  
  2687. end
  2688. else
  2689. if InfoGui~=nil then
  2690. coroutine.resume(coroutine.create(function(g)
  2691. for i=1, 15 do
  2692. g.Frame.Position=g.Frame.Position+UDim2.new(0,10 + i,0,0)
  2693. fwait(.03)
  2694. end
  2695. g:Remove()
  2696. end),InfoGui)
  2697. InfoGui=nil
  2698. end
  2699. end
  2700. if LastHitTime<=time() and Comboing==true then
  2701. Scrubs=0
  2702. for _,v in pairs(ComboNubs) do
  2703. Scrubs=Scrubs+1
  2704. end
  2705. if Scrubs==0 then Scrubs=1 end
  2706. ComboNubs={}
  2707. LastDamage=LastDamage/Scrubs
  2708. ----print("Combo Ended: "..LastDamage.." effective damage.")
  2709. fwait(.05)
  2710. ComboHits=0
  2711. LastDamage=0
  2712. Comboing=false
  2713. end
  2714. end
  2715. end))
  2716.  
  2717. addonHoldDown=function(Noob)
  2718. local t=Noob:FindFirstChild("HumanoidRootPart")
  2719. if t==nil then
  2720. t=Noob:FindFirstChild("Torso")
  2721. end
  2722. add=Vector3.new(0,0,0)
  2723. if t:FindFirstChild("AIDS")~=nil then
  2724. add=t.AIDS.velocity
  2725. t.AIDS:Remove()
  2726. ----print(":)")
  2727. end
  2728. v=Instance.new("BodyPosition")
  2729. v.P=2000
  2730. v.D=v.D/2
  2731. v.maxForce=Vector3.new(6000000000,600000,6000000000)
  2732. v.position=t.Position-Vector3.new(0,10,0)+add
  2733. v.Parent=t
  2734. game:GetService("Debris"):AddItem(v,1.2)
  2735. Noob.Humanoid.PlatformStand=true
  2736. coroutine.resume(coroutine.create(function(noob,t)
  2737. fwait(.5)
  2738. while t:FindFirstChild("BodyPosition")~=nil do
  2739. fwait(.01)
  2740. end
  2741. noob.PlatformStand=false
  2742. end),Noob.Humanoid,t)
  2743. end
  2744.  
  2745. addonCullMovers=function(Noob)
  2746. local t=Noob:FindFirstChild("HumanoidRootPart")
  2747. if t==nil then
  2748. t=Noob:FindFirstChild("Torso")
  2749. end
  2750. for _,v in pairs(t:children()) do
  2751. if v:IsA("BodyMover") then
  2752. v:Remove()
  2753. end
  2754. end
  2755. end
  2756.  
  2757. LerpWelds=function(orig,alpha,RJ0,N0,RS0,LS0,RH0,LH0,GR0,RJ1,N1,RS1,LS1,RH1,LH1)
  2758. local e = tick()
  2759. RootJoint.C0 = clerp(orig[1],RJ0,alpha)
  2760. Neck.C0 = clerp(orig[2],N0,alpha)
  2761. RightShoulder.C0 = clerp(orig[3],RS0,alpha)
  2762. LeftShoulder.C0 = clerp(orig[4],LS0,alpha)
  2763. RightHip.C0 = clerp(orig[5],RH0,alpha)
  2764. LeftHip.C0 = clerp(orig[6],LH0,alpha)
  2765. Grip.C0 = clerp(orig[7],GR0,alpha)
  2766.  
  2767. RootJoint.C1 = clerp(orig[8],RJ1,alpha)
  2768. Neck.C1 = clerp(orig[9],N1,alpha)
  2769. RightShoulder.C1 = clerp(orig[10],RS1,alpha)
  2770. LeftShoulder.C1 = clerp(orig[11],LS1,alpha)
  2771. RightHip.C1 = clerp(orig[12],RH1,alpha)
  2772. LeftHip.C1 = clerp(orig[13],LH1,alpha)
  2773.  
  2774. 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}
  2775. return (tick() - e)
  2776. end
  2777.  
  2778. 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")
  2779. sresetWelds=function()
  2780. sRootJoint.C0=RootJointC0
  2781. sNeck.C0=NeckC0
  2782. sRightShoulder.C0=RightShoulderC0
  2783. sLeftShoulder.C0=LeftShoulderC0
  2784. sRightHip.C0=RightHipC0
  2785. sLeftHip.C0=LeftHipC0
  2786. sRootJoint.C1=RootJointC1
  2787. sNeck.C1=NeckC1
  2788. sRightShoulder.C1=RightShoulderC1
  2789. sLeftShoulder.C1=LeftShoulderC1
  2790. sRightHip.C1=RightHipC1
  2791. sLeftHip.C1=LeftHipC1
  2792. sGrip.C0=GripC0
  2793. end
  2794.  
  2795. --//XLegoX's spherical linear interpolation
  2796.  
  2797. function clerp(a,b,t)
  2798. local qa = {QuaternionFromCFrame(a)}
  2799. local qb = {QuaternionFromCFrame(b)}
  2800. local ax, ay, az = a.x, a.y, a.z
  2801. local bx, by, bz = b.x, b.y, b.z
  2802. local _t = 1-t
  2803. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  2804. end
  2805.  
  2806. function QuaternionFromCFrame(cf)
  2807. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  2808. local trace = m00 + m11 + m22
  2809. if trace > 0 then
  2810. local s = math.sqrt(1 + trace)
  2811. local recip = 0.5/s
  2812. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  2813. else
  2814. local i = 0
  2815. if m11 > m00 then
  2816. i = 1
  2817. end
  2818. if m22 > (i == 0 and m00 or m11) then
  2819. i = 2
  2820. end
  2821. if i == 0 then
  2822. local s = math.sqrt(m00-m11-m22+1)
  2823. local recip = 0.5/s
  2824. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  2825. elseif i == 1 then
  2826. local s = math.sqrt(m11-m22-m00+1)
  2827. local recip = 0.5/s
  2828. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  2829. elseif i == 2 then
  2830. local s = math.sqrt(m22-m00-m11+1)
  2831. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  2832. end
  2833. end
  2834. end
  2835.  
  2836. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  2837. local xs, ys, zs = x + x, y + y, z + z
  2838. local wx, wy, wz = w*xs, w*ys, w*zs
  2839. local xx = x*xs
  2840. local xy = x*ys
  2841. local xz = x*zs
  2842. local yy = y*ys
  2843. local yz = y*zs
  2844. local zz = z*zs
  2845. 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))
  2846. end
  2847.  
  2848. function QuaternionSlerp(a, b, t)
  2849. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  2850. local startInterp, finishInterp;
  2851. if cosTheta >= 0.0001 then
  2852. if (1 - cosTheta) > 0.0001 then
  2853. local theta = math.acos(cosTheta)
  2854. local invSinTheta = 1/math.sin(theta)
  2855. startInterp = math.sin((1-t)*theta)*invSinTheta
  2856. finishInterp = math.sin(t*theta)*invSinTheta
  2857. else
  2858. startInterp = 1-t
  2859. finishInterp = t
  2860. end
  2861. else
  2862. if (1+cosTheta) > 0.0001 then
  2863. local theta = math.acos(-cosTheta)
  2864. local invSinTheta = 1/math.sin(theta)
  2865. startInterp = math.sin((t-1)*theta)*invSinTheta
  2866. finishInterp = math.sin(t*theta)*invSinTheta
  2867. else
  2868. startInterp = t-1
  2869. finishInterp = t
  2870. end
  2871. end
  2872. 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
  2873. end
  2874.  
  2875. PlayerKeys={}
  2876.  
  2877. -----
  2878.  
  2879. -----
  2880.  
  2881. CurrentAnimation=nil
  2882. Hitstop=0
  2883.  
  2884. DesiredWalkspeed=18
  2885.  
  2886. -----
  2887. -----
  2888. -----
  2889. -----
  2890.  
  2891. CanInterrupt=function(t)
  2892. Tool.Status.AnimCanBeInterrupted.Value=t
  2893. end
  2894.  
  2895. PlayerCanJump=function()
  2896. if CurrentAnimation~=nil then
  2897. local doescancel=false
  2898. for _,v in pairs(CurrentAnimation["Cancels"]) do
  2899. if v=="Jump" or v=="Everything" then
  2900. doescancel=true
  2901. break
  2902. end
  2903. end
  2904. if Tool.Status.AnimCanBeInterrupted.Value==true then
  2905. return doescancel
  2906. else
  2907. return false
  2908. end
  2909. end
  2910. end
  2911.  
  2912.  
  2913.  
  2914.  
  2915. -----------
  2916. -----------
  2917.  
  2918. --[[Section 3: ATTACKING]]
  2919.  
  2920. ComboNubs={}
  2921. GetNubs=function()
  2922. scrubs={}
  2923. for _,v in pairs(game.Workspace:children()) do
  2924. if v:FindFirstChild("Humanoid")~=nil and v:FindFirstChild("Torso")~=nil and v.Name~=game.Players.LocalPlayer.Name then
  2925. table.insert(scrubs,v)
  2926. end
  2927. end
  2928. Nubs=scrubs
  2929. end
  2930.  
  2931. PlaySound=function(SName,Vol,Pitch,Par)
  2932. if Par==nil then Par=script end
  2933. local s=Instance.new("Sound")
  2934. s.Volume=Vol
  2935. s.Pitch=Pitch
  2936. s.SoundId="http://www.roblox.com/asset/?id="..SName
  2937. s.Parent=Par
  2938. wait()
  2939. s:Play()
  2940. game:GetService("Debris"):AddItem(s,10)
  2941. end
  2942.  
  2943. -----------
  2944. -----------
  2945.  
  2946.  
  2947. -----
  2948.  
  2949.  
  2950. -------
  2951. -------
  2952.  
  2953. --[[Section 4: HARD ANIMSET FUNCTIONS]]
  2954.  
  2955. Stand=function()
  2956. if TrackFunction~=nil then
  2957. TrackFunction:disconnect()
  2958. end
  2959. if CurrentAnimation~=Animations["Stand"] then
  2960. RequestAnimationChange("Stand",0)
  2961. Tool.Status.AnimFrame.Value=0
  2962. end
  2963. local el = 40
  2964. local elv = 1
  2965. local cel = 0
  2966. local clastframe = lastframe
  2967. TrackFunction=FakeHeartbeat.Event:connect(function(Step)
  2968. if cel > 3 then
  2969. LerpWelds({Animations["Stand"]["Animation"](0)},1,Animations["Stand"]["Animation"](0))
  2970. elseif cel <= 3 then
  2971. LerpWelds(clastframe,cel/3,Animations["Stand"]["Animation"](0))
  2972. end
  2973. cel = cel + 1
  2974. end)
  2975. end
  2976.  
  2977. Walk=function()
  2978. if TrackFunction~=nil then
  2979. TrackFunction:disconnect()
  2980. end
  2981. if CurrentAnimation~=Animations["Walk"] then
  2982. RequestAnimationChange("Walk",0)
  2983. Tool.Status.AnimFrame.Value=0
  2984. end
  2985. local e = 0
  2986. local clastframe = lastframe
  2987. TrackFunction=FakeHeartbeat.Event:connect(function(Step)
  2988. if e <= 5 then
  2989. LerpWelds(clastframe,e/5,Animations["Walk"]["Animation"](0))
  2990. else
  2991. LerpWelds(clastframe,1,Animations["Walk"]["Animation"](0))
  2992. end
  2993. e = e+1
  2994. end)
  2995. end
  2996.  
  2997. DesiredWalkspeedLast=18
  2998. PlayerInAir=false
  2999. lastplayervel=0
  3000.  
  3001. Jump=function()
  3002. if Tool.Status.AnimCanBeInterrupted.Value==false then return end
  3003. if TrackFunction~=nil then
  3004. TrackFunction:disconnect()
  3005. end
  3006.  
  3007. if CurrentAnimation~=Animations["Jump"] then
  3008. RequestAnimationChange("Jump",0)
  3009. Tool.Status.AnimFrame.Value=0
  3010. ------print("Jumping!")
  3011. end
  3012. Hitstop=0
  3013. local e = 0
  3014. local clastframe = lastframe
  3015. TrackFunction=FakeHeartbeat.Event:connect(function(Step)
  3016. if e <= 3 then
  3017. LerpWelds(clastframe,e/3,Animations["Jump"]["Animation"](0))
  3018. else
  3019. LerpWelds(clastframe,1,Animations["Jump"]["Animation"](0))
  3020. end
  3021. e = e+1
  3022. end)
  3023. enddir=Vector3.new(0,0,0)
  3024.  
  3025. lastplayervel=enddir
  3026.  
  3027. v_h=vPlayer.Character.Torso:FindFirstChild("JUMP_PROP")
  3028. if v_h==nil then
  3029. v_h=Instance.new("BodyVelocity")
  3030. v_h.P=650
  3031. v_h.maxForce=Vector3.new(0,2800000,0)
  3032. v_h.velocity=Vector3.new(lastplayervel.x,55,lastplayervel.z)
  3033. v_h.Parent=vPlayer.Character.Torso
  3034. v_h.Name="JUMP_PROP"
  3035. else
  3036. v_h.P=650
  3037. v_h.maxForce=Vector3.new(0,2800000,0)
  3038. v_h.velocity=Vector3.new(lastplayervel.x,75,lastplayervel.z)
  3039. end
  3040.  
  3041.  
  3042. local cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,-1,0)
  3043. local par,loc=game.Workspace:FindPartOnRay(Ray.new(cpos.p,Vector3.new(0,-8,0)),vPlayer.Character)
  3044.  
  3045. timejump=time()
  3046. bumped=false
  3047. canland=false
  3048. PlayerState="Jumping"
  3049. CanInterrupt(true)
  3050. local ttimejump=time()
  3051. local rr = TrackFunction
  3052. DesiredMovespeed=19
  3053. while v_h.Parent~=nil and timejump==ttimejump do
  3054. PlayerInAir=true
  3055. if time()-timejump>.4 then
  3056. canland=true
  3057. end
  3058. if (loc-cpos.p).magnitude<6 and canland==true or rawequal(rr,TrackFunction) == false then
  3059. break
  3060. end
  3061. local ss = game:GetService("RunService").Heartbeat:wait()
  3062. cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,.8,0)
  3063. par,loc=game.Workspace:FindPartOnRay(Ray.new(cpos.p,Vector3.new(0,-15,0)),vPlayer.Character)
  3064. if vPlayer.Character.HumanoidRootPart.Anchored==false then
  3065. v_h.velocity=v_h.velocity-Vector3.new(0,186.2*ss,0)
  3066. end
  3067. end
  3068. if timejump~=ttimejump or rawequal(rr,TrackFunction) == false then
  3069. return
  3070. end
  3071.  
  3072. PlayerState="Standing"
  3073. PlayerInAir=false
  3074.  
  3075. DesiredMovespeed=19
  3076. vPlayer.Character.Humanoid.WalkSpeed=DesiredMovespeed
  3077. v_h:Remove()
  3078. CanInterrupt(true)
  3079. PlayerIsAttacking=false
  3080. Stand()
  3081. end
  3082. Jump_Cont=function()
  3083. lastplayervel = vPlayer.Character.Torso.Velocity
  3084. cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,.8,0)
  3085. par,loc=game.Workspace:FindPartOnRay(Ray.new(cpos.p,Vector3.new(0,-15,0)),vPlayer.Character)
  3086. if (loc-cpos.p).magnitude<4 then
  3087. PlayerState="Standing"
  3088. CanInterrupt(true)
  3089. return Stand()
  3090. end
  3091. if TrackFunction~=nil then
  3092. TrackFunction:disconnect()
  3093. TrackFunction=nil
  3094. end
  3095.  
  3096. if CurrentAnimation~=Animations["Jump"] then
  3097. RequestAnimationChange("Jump",0)
  3098. Tool.Status.AnimFrame.Value=0
  3099. CurrentAnimation = Animations["Jump"]
  3100. ------print("Jumping!")
  3101. end
  3102. Hitstop=0
  3103. local e = 0
  3104. local clastframe = lastframe
  3105. TrackFunction=FakeHeartbeat.Event:connect(function(Step)
  3106. if e <= 4 then
  3107. LerpWelds(clastframe,e/4,Animations["Jump"]["Animation"](0))
  3108. else
  3109. LerpWelds(clastframe,1,Animations["Jump"]["Animation"](0))
  3110. end
  3111. e = e+1
  3112. end)
  3113. timejump=time()
  3114. bumped=false
  3115. canland=false
  3116. PlayerState="Jumping"
  3117. CanInterrupt(true)
  3118. local ttimejump=time()
  3119. local rr = TrackFunction
  3120.  
  3121. v_h=vPlayer.Character.Torso:FindFirstChild("JUMP_PROP")
  3122. if v_h==nil then
  3123. v_h=Instance.new("BodyVelocity")
  3124. v_h.P=650
  3125. v_h.maxForce=Vector3.new(0,2800000,0)
  3126. v_h.velocity=Vector3.new(lastplayervel.x,lastplayervel.y,lastplayervel.z)
  3127. v_h.Parent=vPlayer.Character.Torso
  3128. v_h.Name="JUMP_PROP"
  3129. else
  3130. v_h.P=650
  3131. v_h.maxForce=Vector3.new(0,2800000,0)
  3132. v_h.velocity=Vector3.new(lastplayervel.x,lastplayervel.y,lastplayervel.z)
  3133. end
  3134.  
  3135. local cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,-1,0)
  3136. local par,loc=game.Workspace:FindPartOnRay(Ray.new(cpos.p,Vector3.new(0,-8,0)),vPlayer.Character)
  3137.  
  3138. timejump=time()
  3139. bumped=false
  3140. canland=false
  3141. PlayerState="Jumping"
  3142. CanInterrupt(true)
  3143. local ttimejump=time()
  3144. local rr = TrackFunction
  3145. DesiredMovespeed = 18
  3146. while v_h.Parent~=nil and timejump==ttimejump do
  3147. PlayerInAir=true
  3148. if time()-timejump>.4 then
  3149. canland=true
  3150. end
  3151. if (loc-cpos.p).magnitude<6 and canland==true or rawequal(rr,TrackFunction) == false then
  3152. break
  3153. end
  3154. local ss = game:GetService("RunService").Heartbeat:wait()
  3155. cpos=vPlayer.Character.Torso.CFrame*CFrame.new(0,.8,0)
  3156. par,loc=game.Workspace:FindPartOnRay(Ray.new(cpos.p,Vector3.new(0,-15,0)),vPlayer.Character)
  3157. if vPlayer.Character.HumanoidRootPart.Anchored==false then
  3158. v_h.velocity=v_h.velocity-Vector3.new(0,186.2*ss,0)
  3159. end
  3160. end
  3161.  
  3162. if timejump~=ttimejump or rawequal(rr,TrackFunction) == false then
  3163. return
  3164. end
  3165.  
  3166. PlayerState="Standing"
  3167. PlayerInAir=false
  3168.  
  3169. DesiredMovespeed=19
  3170. vPlayer.Character.Humanoid.WalkSpeed=DesiredMovespeed
  3171. v_h:Remove()
  3172. CanInterrupt(true)
  3173. DesiredMovespeed=19
  3174. PlayerIsAttacking=false
  3175. CanDoubleJump=true
  3176. TrackFunction:disconnect()
  3177. TrackFunction = nil
  3178. Walk()
  3179. end
  3180.  
  3181.  
  3182. -------
  3183. -------
  3184.  
  3185. -------------------------------
  3186. --------------------------------
  3187. ---------CORE FUNCTIONS----------
  3188. --------------------------------
  3189. -------------------------------
  3190. Hitstop=0
  3191. RequestNewFrame=function(f)
  3192. if CurrentAnimation==nil then return end
  3193. if Hitstop~=nil then
  3194. if Hitstop>0 then
  3195. Hitstop=Hitstop-1
  3196. else
  3197. CurrentAnimation["Animation"](0)
  3198. ------print(f)
  3199. end
  3200. end
  3201. return f
  3202. end
  3203. RequestAnimationChange=function(n,f)
  3204. _nanim=Animations[n]
  3205. if CurrentAnimation~=nil then
  3206. local doescancel=false
  3207. for _,v in pairs(CurrentAnimation["Cancels"]) do
  3208. if v==_nanim["Reference"] or v=="Everything" then
  3209. doescancel=true
  3210. break
  3211. end
  3212. end
  3213. if doescancel==true and Tool.Status.AnimCanBeInterrupted.Value==true then
  3214. CurrentAnimation=_nanim
  3215.  
  3216. return CurrentAnimation
  3217. else
  3218.  
  3219. end
  3220. else
  3221. CurrentAnimation=Animations[n] --:/
  3222. end
  3223. return false
  3224. end
  3225.  
  3226. getWelds=function(c) --designate weld variables
  3227. local t=c.Torso
  3228. local hrp=c.HumanoidRootPart.RootJoint
  3229. RightShoulder=t:FindFirstChild("Right Shoulder")
  3230. LeftShoulder=t:FindFirstChild("Left Shoulder")
  3231. RightHip=t:FindFirstChild("Right Hip")
  3232. LeftHip=t:FindFirstChild("Left Hip")
  3233. RootJoint=hrp
  3234. Neck=t:FindFirstChild("Neck")
  3235. end
  3236. resetWelds=function(ext,occ) --extent 1-3; occlusion
  3237. --1 == reset desiredangle/currentangle
  3238. --2 == reset C0/C1
  3239. --3 == reset both des/cur/c0/c1
  3240. local r={RightShoulder,LeftShoulder,RightHip,LeftHip,RootJoint,Neck}
  3241. for _,v in pairs(r) do
  3242. for i=1, #occ do
  3243. if occ[i]==v then
  3244. table.remove(r,_)
  3245. end
  3246. end
  3247. end
  3248. for _,v in pairs(r) do
  3249. if v.Name=="Right Shoulder" then
  3250. if ext==1 then
  3251. v.DesiredAngle=0
  3252. v.CurrentAngle=0
  3253. elseif ext==2 then
  3254. v.C0=RightShoulderC0
  3255. v.C1=RightShoulderC1
  3256. elseif ext==3 then
  3257. v.DesiredAngle=0
  3258. v.CurrentAngle=0
  3259. v.C0=RightShoulderC0
  3260. v.C1=RightShoulderC1
  3261. end
  3262. elseif v.Name=="Left Shoulder" then
  3263. if ext==1 then
  3264. v.DesiredAngle=0
  3265. v.CurrentAngle=0
  3266. elseif ext==2 then
  3267. v.C0=LeftShoulderC0
  3268. v.C1=LeftShoulderC1
  3269. elseif ext==3 then
  3270. v.DesiredAngle=0
  3271. v.CurrentAngle=0
  3272. v.C0=LeftShoulderC0
  3273. v.C1=LeftShoulderC1
  3274. end
  3275. elseif v.Name=="Right Hip" then
  3276. if ext==1 then
  3277. v.DesiredAngle=0
  3278. v.CurrentAngle=0
  3279. elseif ext==2 then
  3280. v.C0=RightHipC0
  3281. v.C1=RightHipC1
  3282. elseif ext==3 then
  3283. v.DesiredAngle=0
  3284. v.CurrentAngle=0
  3285. v.C0=RightHipC0
  3286. v.C1=RightHipC1
  3287. end
  3288. elseif v.Name=="Left Hip" then
  3289. if ext==1 then
  3290. v.DesiredAngle=0
  3291. v.CurrentAngle=0
  3292. elseif ext==2 then
  3293. v.C0=LeftHipC0
  3294. v.C1=LeftHipC1
  3295. elseif ext==3 then
  3296. v.DesiredAngle=0
  3297. v.CurrentAngle=0
  3298. v.C0=LeftHipC0
  3299. v.C1=LeftHipC1
  3300. end
  3301. elseif v.Name=="Neck" then
  3302. if ext==1 then
  3303. v.DesiredAngle=0
  3304. v.CurrentAngle=0
  3305. elseif ext==2 then
  3306. v.C0=NeckC0
  3307. v.C1=NeckC1
  3308. elseif ext==3 then
  3309. v.DesiredAngle=0
  3310. v.CurrentAngle=0
  3311. v.C0=NeckC0
  3312. v.C1=NeckC1
  3313. end
  3314. elseif v.Name=="RootJoint" then
  3315. if ext==1 then
  3316. v.DesiredAngle=0
  3317. v.CurrentAngle=0
  3318. elseif ext==2 then
  3319. v.C0=RootJointC0
  3320. v.C1=RootJointC1
  3321. elseif ext==3 then
  3322. v.DesiredAngle=0
  3323. v.CurrentAngle=0
  3324. v.C0=RootJointC0
  3325. v.C1=RootJointC1
  3326. end
  3327. elseif v.Name=="RightGrip" then
  3328. if ext==1 then
  3329. elseif ext==2 then
  3330. Grip.C0=nGrip.C0
  3331. Grip.C1=nGrip.C1
  3332. elseif ext==3 then
  3333. Grip.C0=nGrip.C0
  3334. Grip.C1=nGrip.C1
  3335. end
  3336. end
  3337. end
  3338. end
  3339.  
  3340. setMotorParameters=function(Motor,DesiredAngle,CurrentAngle,MaxVelocity,C0,C1)
  3341. if C0==nil then C0=Motor.C0 end
  3342. if C1==nil then C1=Motor.C1 end
  3343. if DesiredAngle==nil then DesiredAngle=Motor.DesiredAngle end
  3344. if CurrentAngle==nil then CurrentAngle=Motor.CurrentAngle end
  3345. if MaxVelocity==nil then MaxVelocity=Motor.MaxVelocity end
  3346. Motor.C0=C0
  3347. Motor.C1=C1
  3348. Motor.DesiredAngle=DesiredAngle
  3349. Motor.CurrentAngle=CurrentAngle
  3350. Motor.MaxVelocity=MaxVelocity
  3351. end
  3352.  
  3353. PlayerIsAttacking=false
  3354. PlayerBeingAttacked=false
  3355. PlayerState="Standing"
  3356.  
  3357. getCharacterState=function()
  3358. if Tool.Status.AnimCanBeInterrupted.Value==false or PlayerIsAttacking==true then return end
  3359. local CPlayer=game.Players.LocalPlayer.Character
  3360. local moveVelocity=CPlayer.HumanoidRootPart.Velocity.magnitude
  3361. if PlayerIsAttacking==false and PlayerState~="Jumping" then
  3362. if moveVelocity >= 5 then
  3363. PlayerState="Moving"
  3364. if StickPos>3 or CurrentCameraState=="3D" then
  3365. if MovementPreference=="Walk" then
  3366. if CurrentAnimation~=Animations["Walk"] and Tool.Status.AnimCanBeInterrupted.Value==true and PlayerState~="Jumping" then
  3367. Walk()
  3368. end
  3369. end
  3370. end
  3371. else
  3372. PlayerState="Standing"
  3373. ----print("SS")
  3374. if StickPos>3 or CurrentCameraState=="3D" then
  3375. if CurrentAnimation~=Animations["Stand"] and Tool.Status.AnimCanBeInterrupted.Value==true then
  3376. DesiredWalkspeed=18
  3377. Stand()
  3378. end
  3379. end
  3380. end
  3381. end
  3382. end
  3383. lastinput=time()
  3384. MovementPreference="Walk"
  3385.  
  3386. playerDash=function()
  3387. end
  3388.  
  3389. ----
  3390.  
  3391. NewInput=function(Key,atTick,Edge)
  3392. local new={["Input"]=Key,["Tick"]=atTick,["Edge"]=Edge,["Age"]=0}
  3393. table.insert(PlayerInputs,new)
  3394. end
  3395.  
  3396. FindInputStrings=function()
  3397.  
  3398. local curtime=tick()
  3399. local strunginputs={}
  3400. for _,v in pairs(PlayerInputs) do
  3401. if curtime - v["Tick"] <= PlayerInputStringFrame then
  3402. table.insert(strunginputs,v)
  3403. end
  3404. end
  3405. table.sort(strunginputs,(function(x,y) if x["Tick"]<y["Tick"] then return true end return false end))
  3406.  
  3407. return strunginputs
  3408. end
  3409.  
  3410. MorphInputs=function(i)
  3411.  
  3412. i=string.upper(i)
  3413.  
  3414. if CurrentCameraState=="3D" then
  3415. i=string.gsub(i,"A","")
  3416. i=string.gsub(i,"S","<")
  3417. i=string.gsub(i,"D","")
  3418. i=string.gsub(i,"W",">")
  3419. else
  3420. if PlayerFacing=="Left" then
  3421. i=string.gsub(i,"A","<")
  3422. i=string.gsub(i,"S","v")
  3423. i=string.gsub(i,"D",">")
  3424. i=string.gsub(i,"W","^")
  3425. else
  3426. i=string.gsub(i,"A",">")
  3427. i=string.gsub(i,"S","v")
  3428. i=string.gsub(i,"D","<")
  3429. i=string.gsub(i,"W","^")
  3430. end
  3431. end
  3432.  
  3433. return i
  3434.  
  3435. end
  3436.  
  3437. CullPlayerInput=function()
  3438. local toremove={}
  3439. for _,v in pairs(PlayerInputs) do
  3440. v["Age"]=v["Age"]+1
  3441. if tick() - v["Tick"] > (PlayerInputStringFrame+.05) or _>PlayerInputCullThreshold then
  3442. table.remove(PlayerInputs,_)
  3443. end
  3444. end
  3445. table.sort(PlayerInputs,(function(x,y) if x["Tick"]<y["Tick"] then return true end return false end))
  3446. end
  3447.  
  3448. IgnoreEdge=function(st)
  3449. str=string.gsub(st,".%-","")
  3450. str=string.gsub(str,"%+","")
  3451. return str
  3452. end
  3453. RequestNewAnimation=RequestAnimationChange
  3454. LastDashInput=time()
  3455.  
  3456. CheckDeb=true
  3457. LastKeyCheck=""
  3458. LastCheckTime=time()
  3459. lastnormal=""
  3460. CheckNormals=function()
  3461. KeyCheck=""
  3462. if PlayerKeys["mouse"]~=nil then
  3463. KeyCheck="M"
  3464. else
  3465. lastnormal=""
  3466. end
  3467. local ee = ""
  3468. if PlayerKeys["e"] ~= nil then
  3469. ee = "E"
  3470. end
  3471. if PlayerKeys["z"] ~= nil then
  3472. KeyCheck = "Z"
  3473. end
  3474. if PlayerKeys["x"] ~= nil then
  3475. KeyCheck = "X"
  3476. end
  3477. if PlayerKeys["c"] ~= nil then
  3478. KeyCheck = "C"
  3479. end
  3480. if PlayerKeys["v"] ~= nil then
  3481. KeyCheck = "V"
  3482. end
  3483.  
  3484.  
  3485.  
  3486.  
  3487. KeyCheck = string.upper(KeyCheck)
  3488. if InputNormals[ee..lastnormal..KeyCheck]~=nil and CheckDeb==true and LastKeyCheck~=KeyCheck and Tool.Status.AnimCanBeInterrupted.Value==true and PlayerState~="Jumping" then
  3489. LastKeyCheck=KeyCheck
  3490. LastCheckTime=time()
  3491. Hitstop=0
  3492. print("JIMMIES RUSTLED")
  3493. ----print(j..lastnormal..KeyCheck)
  3494. GetNubs()
  3495. InputNormals[ee..lastnormal..KeyCheck]()
  3496. end
  3497. if time()-LastCheckTime > .23 then
  3498. LastKeyCheck=""
  3499. end
  3500. end
  3501. timejump=time()
  3502. DetectInput=function()
  3503. local Scrub=FindInputStrings()
  3504. DURRD=false
  3505. if PlayerIsAttacking==false then
  3506. BodyGyro:Remove()
  3507. BodyVel:Remove()
  3508. vPlayer.Character.Humanoid.WalkSpeed=DesiredWalkspeed
  3509. else
  3510. vPlayer.Character.Humanoid.WalkSpeed=0
  3511. end
  3512. if #Scrub>0 then
  3513. local input=""
  3514. for _,v in pairs(Scrub) do
  3515. input=input..v["Input"]..v["Edge"]
  3516. end
  3517. input=string.upper(MorphInputs(input))
  3518. edgelessinput=string.upper(IgnoreEdge(input))
  3519. DURRD=false
  3520.  
  3521. --[[for _,v in pairs(InputNormals) do
  3522. for __,vv in pairs(v["Inputs"]) do
  3523. print(vv.Name)
  3524. if edgelessinput==vv and Tool.Status.AnimCanBeInterrupted.Value==true then
  3525.  
  3526. DURRD=true
  3527. DesiredMovespeed=0
  3528. v()
  3529. elseif IgnoreEdge(input,true)==vv and Tool.Status.AnimCanBeInterrupted.Value==true then
  3530. DURRD=true
  3531. DesiredMovespeed=0
  3532. v()
  3533. end
  3534. end
  3535. end]]
  3536.  
  3537. end
  3538. if DURRD==false then
  3539. CheckNormals()
  3540. end
  3541. end
  3542.  
  3543. rawKeyInput=function()
  3544. end
  3545.  
  3546. SetCombatKey=function(k)
  3547. PlayerCombatKeys[k]=true
  3548. coroutine.resume(coroutine.create(function(k)
  3549. for i=1, 1000 do
  3550. fwait(.01)
  3551. if PlayerCombatKeys[k]==nil then
  3552. break
  3553. end
  3554. end
  3555. PlayerCombatKeys[k]=nil
  3556. end),k)
  3557. end
  3558.  
  3559. getCharacterState=function()
  3560. if Tool.Status.AnimCanBeInterrupted.Value==false or PlayerIsAttacking==true then return end
  3561. local CPlayer=game.Players.LocalPlayer.Character
  3562. local moveVelocity=(Vector3.new(0,0,0) - CPlayer.HumanoidRootPart.Velocity).magnitude
  3563. if PlayerIsAttacking==false and PlayerState~="Jumping" then
  3564. if moveVelocity >= 5 then
  3565. PlayerState="Moving"
  3566. if MovementPreference=="Walk" then
  3567. if CurrentAnimation~=Animations["Walk"] and Tool.Status.AnimCanBeInterrupted.Value==true and PlayerState~="Jumping" then
  3568. Walk()
  3569. end
  3570. end
  3571. else
  3572. PlayerState="Standing"
  3573. if PlayerIsAttacking==false and Tool.Status.AnimCanBeInterrupted.Value==true then
  3574. if CurrentAnimation~=Animations["Stand"] and Tool.Status.AnimCanBeInterrupted.Value==true then
  3575. DesiredWalkspeed=18
  3576. Stand()
  3577. end
  3578. end
  3579. end
  3580. end
  3581. end
  3582. lastinput=time()
  3583. MovementPreference="Walk"
  3584.  
  3585. controllerStore={}
  3586. LastHealth=0
  3587. Wep=nil
  3588. onEquip=function(mouse)
  3589. ypcall(function()
  3590. game.Players.LocalPlayer.Backpack.Saz:Destroy()
  3591. game.Players.LocalPlayer.Backpack['P:T']:Destroy()
  3592. end)
  3593. if vPlayer.Character:FindFirstChild("Armor")==nil then
  3594. ss=script.Armor:clone()
  3595. ss.Parent=vPlayer.Character
  3596. ss.Welds.Disabled=false
  3597. ss.Cloak.CloakScript.Disabled=false
  3598. end
  3599. PlayerAnimationScript=vPlayer.Character:FindFirstChild("Animate")
  3600. if PlayerAnimationScript~=nil then
  3601. PlayerAnimationScript.Disabled=true
  3602. end
  3603.  
  3604. getWelds(vPlayer.Character)
  3605. resetWelds(3,{})
  3606.  
  3607. Wep=script.Weapon:clone()
  3608. Wep.Welds.Disabled=false
  3609. Wep.Parent=vPlayer.Character
  3610. Grip=Instance.new("Weld",Wep.Handle)
  3611. Grip.Part0=vPlayer.Character["Right Arm"]
  3612. Grip.Part1=Grip.Parent
  3613. Grip.C0=GripC0
  3614.  
  3615. fwait(.35)
  3616.  
  3617. lastframe = {Animations["Stand"]["Animation"](0)}
  3618.  
  3619. Tool.Status.AnimFrame.Value=0
  3620. Stand()
  3621.  
  3622. LastHealth=vPlayer.Character.Humanoid.Health
  3623. chs=FakeHeartbeat.Event:connect(function()
  3624. CullPlayerInput()
  3625. rawKeyInput()
  3626. end)
  3627. chsCS=FakeHeartbeat.Event:connect(function()
  3628. getCharacterState()
  3629. DetectInput()
  3630. end)
  3631. chsj=vPlayer.Character.Humanoid.Changed:connect(function(v)
  3632. vPlayer.Character.Humanoid.Jump=false
  3633. end)
  3634. mouse.Button1Down:connect(function() PlayerKeys["mouse"] = "8)" end)
  3635. mouse.Button1Up:connect(function() PlayerKeys["mouse"] = nil end)
  3636. mouse.KeyDown:connect(function(key)
  3637. PlayerKeys[key]=true
  3638. NewInput(key,tick(),"+")
  3639. SetCombatKey(key)
  3640. if key == " " and PlayerCanJump()==true then
  3641. if PlayerState == "Jumping" then
  3642. if CanDoubleJump then
  3643. CanDoubleJump=false
  3644. Jump()
  3645. end
  3646. else
  3647. Jump()
  3648. end
  3649. end
  3650. end)
  3651. mouse.KeyUp:connect(function(key) PlayerKeys[key] = nil end)
  3652. end
  3653. Down=nil
  3654. onEquipLocal=function(mouse)
  3655.  
  3656. end
  3657. onPutaway=function()
  3658. TrackFunction:disconnect()
  3659. TrackFunction=nil
  3660. chs:disconnect()
  3661. chs=nil
  3662. chsj:disconnect()
  3663. chsj=nil
  3664. chsCS:disconnect()
  3665. chsCS=nil
  3666. BodyVel.Parent=nil BodyGyro.Parent=nil
  3667. Wep.Parent=nil
  3668. Wep=nil
  3669. if PlayerAnimationScript~=nil then
  3670. PlayerAnimationScript.Disabled=false
  3671. end
  3672. resetWelds(3,{})
  3673. end
  3674. Tool.Selected:connect(onEquip) Tool.Selected:connect(onEquipLocal)
  3675. Tool.Deselected:connect(onPutaway)
  3676.  
  3677. Animations={}
  3678. Animations["Stand"]={["Animation"]=function(fr)
  3679. local keyframe={}
  3680. sresetWelds()
  3681. keyframe[0]=function()
  3682. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,math.sin(time()*2.2)/40,.2)*CFrame.fromEulerAnglesXYZ(0,0,math.rad(66))
  3683. sRootJoint.C1=sRootJoint.C1*CFrame.fromEulerAnglesXYZ(math.sin(time()*2.2)/49 + math.rad(4),0,0)
  3684. 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))
  3685. 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))
  3686. 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))
  3687. 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))
  3688. 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))
  3689.  
  3690. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-40),math.rad(-110),math.rad(-10))
  3691.  
  3692. 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))
  3693.  
  3694. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3695. end
  3696. keyframe[fr]()
  3697. 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
  3698. end,["Cancels"]={"Everything"},["Reference"]="Stand"}
  3699.  
  3700. Animations["Walk"]={["Animation"]=function(fr)
  3701. local keyframe={}
  3702. sresetWelds()
  3703. keyframe[0]=function()
  3704.  
  3705. 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)))
  3706. sNeck.C0=sNeck.C0*CFrame.fromEulerAnglesXYZ(-math.rad(25),0,0)
  3707. sRightHip.C0=sRightHip.C0*CFrame.fromEulerAnglesXYZ(0 - math.rad(2),math.cos(time()*9)/50,-math.cos(time()*9)*1.1 + math.rad(30))
  3708. sLeftHip.C0=sLeftHip.C0*CFrame.fromEulerAnglesXYZ(0 - math.rad(2),math.cos(time()*9)/50,-math.cos(time()*9)*1.1 - math.rad(30))
  3709. 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)
  3710. sRightShoulder.C1=sRightShoulder.C1*CFrame.fromEulerAnglesXYZ(math.rad(5),-math.rad(30),math.rad(0))
  3711. 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))
  3712.  
  3713. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-0
  3714. sGrip.C0=GripC0 * CFrame.fromEulerAnglesXYZ(-math.rad(10),0,0)
  3715. end
  3716. keyframe[fr]()
  3717. 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
  3718. end,["Cancels"]={"Everything"},["Reference"]="Walk"}
  3719.  
  3720. Animations["Jump"]={["Animation"]=function(fr)
  3721. local keyframe={}
  3722. sresetWelds()
  3723. keyframe[0]=function()
  3724. local vely=vPlayer.Character.Torso.Velocity.y*1.25
  3725. if vely>60 then
  3726. vely=60
  3727. elseif vely<-60 then
  3728. vely=-60
  3729. end
  3730. local velx=Vector3.new(vPlayer.Character.Torso.Velocity.x,0,vPlayer.Character.Torso.Velocity.z).magnitude
  3731. if velx>10 then
  3732. velx=10
  3733. end
  3734. local vely2=1
  3735. local vely3=0
  3736. if vely<0 then
  3737. vely2=0
  3738. vely3=1
  3739. end
  3740. 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)))
  3741. 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)))
  3742.  
  3743. 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)))
  3744. 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)))
  3745.  
  3746. sRightShoulder.C0=sRightShoulder.C0*CFrame.fromEulerAnglesXYZ(math.rad(-10 + vely*vely3),-math.rad(vely*vely3*.6),-math.rad(25)+math.rad(-vely*vely3))
  3747. 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))
  3748. end
  3749. keyframe[fr]()
  3750. 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
  3751. end,["Cancels"]={"Everything"},["Reference"]="Jump"}
  3752.  
  3753. Animations["Z"]={["Animation"]=function(fr)
  3754. local keyframe={}
  3755. sresetWelds()
  3756. keyframe[0]=function()
  3757. resetWelds(3,{})
  3758. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(7.5),0,math.rad(-45))
  3759. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(19.8),math.rad(19.8),math.rad(40))
  3760.  
  3761. sRightShoulder.C0=sRightShoulder.C0*CFrame.Angles(-math.rad(31),0,math.rad(-32))
  3762. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.Angles(math.rad(-42),0,math.rad(17))
  3763.  
  3764. sRightHip.C0=sRightHip.C0*CFrame.new(-.36,.15,0)*CFrame.Angles(math.rad(-22),math.rad(-40),math.rad(-11))
  3765. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.5,1,.5)*CFrame.Angles(math.rad(3),math.rad(46),math.rad(28))
  3766.  
  3767. sGrip.C0=GripC0*CFrame.new(.15,0,-.05)*CFrame.fromEulerAnglesXYZ(math.rad(40),math.rad(5),math.rad(-30))
  3768.  
  3769. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3770. end
  3771. keyframe[fr]()
  3772. 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
  3773. end,["Cancels"]={"ZZ","Stand","SummonPuddle"},["Reference"]="Z"}
  3774. Animations["ZZ"]={["Animation"]=function(fr)
  3775. local keyframe={}
  3776. sresetWelds()
  3777. keyframe[0]=function()
  3778. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,0.04)*CFrame.Angles(math.rad(23),0,math.rad(-18))
  3779. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(2),math.rad(9),math.rad(15))
  3780.  
  3781. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(.2,-.4,.7)*CFrame.Angles(math.rad(0),math.rad(-70),math.rad(90))
  3782. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  3783. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.035,-.18,-.04)*CFrame.Angles(math.rad(-30),math.rad(25),math.rad(18))
  3784.  
  3785. sRightHip.C0=sRightHip.C0*CFrame.new(.05,.375,0)*CFrame.Angles(math.rad(-18),math.rad(-23),math.rad(12))
  3786. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.78,1,.5)*CFrame.Angles(math.rad(2),math.rad(34),math.rad(20))
  3787.  
  3788. sGrip.C0=GripC0*CFrame.new(.17,0,-.04)*CFrame.fromEulerAnglesXYZ(math.rad(8),math.rad(12),math.rad(-21))
  3789. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3790. end
  3791. keyframe[1]=function()
  3792. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,0.08)*CFrame.Angles(math.rad(40),0,math.rad(5))
  3793. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-4),math.rad(4),math.rad(0))
  3794.  
  3795. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(1,-.3,0)*CFrame.Angles(math.rad(0),math.rad(-10),math.rad(110))
  3796. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  3797. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.08,-.4,-.08)*CFrame.Angles(math.rad(-38),math.rad(27),math.rad(15))
  3798.  
  3799. sRightHip.C0=sRightHip.C0*CFrame.new(.5,.7,0)*CFrame.Angles(math.rad(-17),math.rad(-12),math.rad(30))
  3800. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.77,.35,.2)*CFrame.Angles(math.rad(0),math.rad(10),math.rad(7))
  3801.  
  3802. sGrip.C0=GripC0*CFrame.new(.19,0,-.02)*CFrame.fromEulerAnglesXYZ(math.rad(-30),math.rad(2),math.rad(0))
  3803. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3804. end
  3805. keyframe[2]=function()
  3806. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.08)*CFrame.Angles(math.rad(47),0,math.rad(16))
  3807. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-8),math.rad(2),math.rad(-7))
  3808.  
  3809. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(1.25,-.35,-.4)*CFrame.Angles(math.rad(0),math.rad(40),math.rad(90))
  3810. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-100),math.rad(0))
  3811. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.09,-.5,-.09)*CFrame.Angles(math.rad(-47),math.rad(22),math.rad(11.5))
  3812.  
  3813. sRightHip.C0=sRightHip.C0*CFrame.new(.65,.85,0)*CFrame.Angles(math.rad(-16),math.rad(-7),math.rad(45))
  3814. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.73,.15,.1)*CFrame.Angles(math.rad(0),math.rad(6.5),math.rad(2))
  3815.  
  3816. sGrip.C0=GripC0*CFrame.new(.19,0,-.01)*CFrame.fromEulerAnglesXYZ(math.rad(-45),math.rad(1),math.rad(15))
  3817. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3818. end
  3819. keyframe[3]=function()
  3820. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.1)*CFrame.Angles(math.rad(50),0,math.rad(20))
  3821. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(-10))
  3822.  
  3823. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(1.2,-.4,-.8)*CFrame.Angles(math.rad(-30),math.rad(70),math.rad(90))
  3824. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  3825. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.1,-.55,-.1)*CFrame.Angles(math.rad(-50),math.rad(20),math.rad(10))
  3826. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  3827.  
  3828. sRightHip.C0=sRightHip.C0*CFrame.new(.8,1,0)*CFrame.Angles(math.rad(-15),math.rad(-5),math.rad(50))
  3829. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.7,-.1,0)*CFrame.Angles(math.rad(0),math.rad(5),math.rad(0))
  3830.  
  3831. sGrip.C0=GripC0*CFrame.new(.2,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-50),math.rad(0),math.rad(20))
  3832. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3833. end
  3834. keyframe[fr]()
  3835. 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
  3836. end,["Cancels"]={"ZZZ","Stand","SummonPuddle"},["Reference"]="ZZ"}
  3837. Animations["ZZZ"]={["Animation"]=function(fr)
  3838. local keyframe={}
  3839. sresetWelds()
  3840. keyframe[0]=function()
  3841. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.1)*CFrame.Angles(math.rad(40),0,math.rad(25))
  3842. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(-15))
  3843.  
  3844. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(1.2,-.6,-.8)*CFrame.Angles(math.rad(-10),math.rad(60),math.rad(150))
  3845. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  3846. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.1,.5,-.1)*CFrame.Angles(math.rad(50),math.rad(0),math.rad(-180))
  3847. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  3848.  
  3849. sRightHip.C0=sRightHip.C0*CFrame.new(.8,.9,0)*CFrame.Angles(math.rad(-10),math.rad(-10),math.rad(32))
  3850. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.7,-.1,0)*CFrame.Angles(math.rad(0),math.rad(5),math.rad(15))
  3851.  
  3852. sGrip.C0=GripC0*CFrame.new(.2,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(33),math.rad(0),math.rad(180))
  3853. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3854. end
  3855. keyframe[1]=function()
  3856. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.35)*CFrame.Angles(math.rad(50),0,math.rad(-34))
  3857. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-18),math.rad(-8),math.rad(15))
  3858.  
  3859. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.4,.4)*CFrame.Angles(math.rad(-10),math.rad(-110),math.rad(90))
  3860. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  3861. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.25,-.55,.4)*CFrame.Angles(math.rad(0),math.rad(-20),math.rad(-130))
  3862. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  3863.  
  3864. sRightHip.C0=sRightHip.C0*CFrame.new(.7,.1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(10))
  3865. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-20),math.rad(0))
  3866. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.15,.9,0)*CFrame.Angles(math.rad(-40),math.rad(0),math.rad(-40))
  3867. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-40),math.rad(0))
  3868.  
  3869. sGrip.C0=GripC0*CFrame.new(.2,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(80),math.rad(0),math.rad(180))
  3870. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3871. end
  3872. keyframe[fr]()
  3873. 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
  3874. end,["Cancels"]={"ZZZZ","Stand","SummonPuddle","Extinction1"},["Reference"]="ZZZ"}
  3875.  
  3876. Animations["ZZZZ"]={["Animation"]=function(fr)
  3877. local keyframe={}
  3878. sresetWelds()
  3879. keyframe[0]=function()
  3880. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.2)*CFrame.Angles(math.rad(50),0,math.rad(-14))
  3881. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-18),math.rad(-8),math.rad(15))
  3882.  
  3883. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.4,.4)*CFrame.Angles(math.rad(-10),math.rad(-60),math.rad(80))
  3884. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  3885. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.25,-.55,.4)*CFrame.Angles(math.rad(0),math.rad(70),math.rad(-100))
  3886. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  3887.  
  3888. sRightHip.C0=sRightHip.C0*CFrame.new(.5,.5,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(20))
  3889. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(20),math.rad(0))
  3890. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.15,.6,0)*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(-40))
  3891. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-40),math.rad(0))
  3892.  
  3893. sGrip.C0=GripC0*CFrame.new(.2,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(40),math.rad(0),math.rad(180))
  3894. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3895. end
  3896. keyframe[2]=function()
  3897. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,.15)*CFrame.Angles(math.rad(8),math.rad(-7),math.rad(-110))
  3898. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(4),math.rad(10),math.rad(70))
  3899.  
  3900. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-20),math.rad(-20),math.rad(-20))
  3901. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(20),math.rad(0))
  3902. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-80),math.rad(-95))
  3903. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(15),math.rad(15),math.rad(0))
  3904.  
  3905. sRightHip.C0=sRightHip.C0*CFrame.new(0,-.15,0)*CFrame.Angles(math.rad(4),math.rad(-8),math.rad(4))
  3906. sLeftHip.C0=sLeftHip.C0*CFrame.new(0,.2,0)*CFrame.Angles(math.rad(-18),math.rad(8),math.rad(5))
  3907.  
  3908. sGrip.C0=GripC0*CFrame.new(.2,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(25),math.rad(0),math.rad(160))
  3909. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3910. end
  3911. keyframe[1]=function()
  3912. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,.25)*CFrame.Angles(math.rad(8),math.rad(-7),math.rad(-64))
  3913. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(4),math.rad(10),math.rad(60))
  3914.  
  3915. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-10),math.rad(-15),math.rad(-5))
  3916. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(20),math.rad(0))
  3917. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.55,0,.3)*CFrame.Angles(math.rad(0),math.rad(60),math.rad(-95))
  3918. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(15),math.rad(15),math.rad(0))
  3919.  
  3920. sRightHip.C0=sRightHip.C0*CFrame.new(0,-.1,0)*CFrame.Angles(math.rad(-5),math.rad(-8),math.rad(0))
  3921. sLeftHip.C0=sLeftHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(-5))
  3922. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(0,math.rad(-30),0)
  3923.  
  3924. sGrip.C0=GripC0*CFrame.new(.2,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(35),math.rad(0),math.rad(160))
  3925. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3926. end
  3927. keyframe[fr]()
  3928. 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
  3929. end,["Cancels"]={"ZZZZZ","Stand","SummonPuddle","Extinction1"},["Reference"]="ZZZZ"}
  3930. Animations["ZZZZZ"]={["Animation"]=function(fr)
  3931. local keyframe={}
  3932. sresetWelds()
  3933. keyframe[0]=function()
  3934. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,.3)*CFrame.Angles(math.rad(-18),math.rad(5),math.rad(-36))
  3935. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(20),math.rad(4),math.rad(12))
  3936.  
  3937. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(5),math.rad(-20),math.rad(167))
  3938.  
  3939. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-30),math.rad(0),math.rad(-90))
  3940. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(30),math.rad(0))
  3941.  
  3942. sRightHip.C0=sRightHip.C0*CFrame.new(0,.02,0)*CFrame.Angles(math.rad(-10),math.rad(-8),math.rad(-30))
  3943. sLeftHip.C0=sLeftHip.C0*CFrame.new(.2,-.22,.05)*CFrame.Angles(math.rad(-6),math.rad(30),math.rad(24))
  3944.  
  3945. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(0))
  3946. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3947. end
  3948. keyframe[1]=function()
  3949. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,.2)*CFrame.Angles(math.rad(-26),math.rad(5),math.rad(-36))
  3950. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(25),math.rad(4),math.rad(12))
  3951.  
  3952. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(5),math.rad(-20),math.rad(197))
  3953.  
  3954. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-30),math.rad(0),math.rad(-80))
  3955. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(30),math.rad(0))
  3956.  
  3957. sRightHip.C0=sRightHip.C0*CFrame.new(0,.07,0)*CFrame.Angles(math.rad(-18),math.rad(-8),math.rad(-40))
  3958. sLeftHip.C0=sLeftHip.C0*CFrame.new(.2,-.25,.05)*CFrame.Angles(math.rad(-6),math.rad(30),math.rad(34))
  3959.  
  3960. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-20),math.rad(0),math.rad(0))
  3961. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3962. end
  3963. keyframe[2]=function()
  3964. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,.14)*CFrame.Angles(math.rad(21),0,math.rad(23))
  3965. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(10),math.rad(4),math.rad(-12))
  3966.  
  3967. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(.5,0,-.2)*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(119))
  3968. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-50),math.rad(0),math.rad(40))
  3969.  
  3970. sRightHip.C0=sRightHip.C0*CFrame.new(0,-.15,0)*CFrame.Angles(math.rad(-10),math.rad(-8),math.rad(-30))
  3971. sLeftHip.C0=sLeftHip.C0*CFrame.new(0,-.1,0)*CFrame.Angles(math.rad(-2),math.rad(16),math.rad(-10))
  3972.  
  3973. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-20),math.rad(-8),math.rad(0))
  3974. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  3975. end
  3976. keyframe[fr]()
  3977. 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
  3978. end,["Cancels"]={"ZZZZZZ","Stand","SummonPuddle","Extinction1"},["Reference"]="ZZZZZ"}
  3979. Animations["ZZZZZZ"]={["Animation"]=function(fr)
  3980. local keyframe={}
  3981. sresetWelds()
  3982.  
  3983. keyframe[0]=function()
  3984. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,-.2,.15)*CFrame.Angles(math.rad(-48),0,math.rad(30))
  3985. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(26),math.rad(6),math.rad(-20))
  3986.  
  3987. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,.5,0)*CFrame.Angles(math.rad(10),math.rad(-20),math.rad(174))
  3988. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(30),math.rad(-50),math.rad(-66))
  3989.  
  3990. sRightHip.C0=sRightHip.C0*CFrame.new(.27,.07,0)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(41))
  3991. sLeftHip.C0=sLeftHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-6),math.rad(-20),math.rad(65))
  3992.  
  3993. sGrip.C0=GripC0*CFrame.new(0,-.1,0)*CFrame.fromEulerAnglesXYZ(math.rad(-30),math.rad(-3),math.rad(180))
  3994. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=40
  3995. end
  3996.  
  3997. keyframe[fr]()
  3998. 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
  3999. end,["Cancels"]={"ZZZZZZZ","Stand","SummonPuddle","Extinction1"},["Reference"]="ZZZZZZ"}
  4000.  
  4001. Animations["ZZZZZZZ"]={["Animation"]=function(fr)
  4002. local keyframe={}
  4003. sresetWelds()
  4004. keyframe[0]=function()
  4005. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.9)*CFrame.Angles(math.rad(50),math.rad(0),math.rad(0))
  4006. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(10))
  4007.  
  4008. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(.5,-.25,-.2)*CFrame.Angles(math.rad(-15),math.rad(15),math.rad(79))
  4009. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-36),math.rad(0),math.rad(50))
  4010.  
  4011. sRightHip.C0=sRightHip.C0*CFrame.new(.4,1.475,-.4)*CFrame.Angles(math.rad(-17),math.rad(17),math.rad(48))
  4012. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(17),math.rad(0))
  4013. sLeftHip.C0=sLeftHip.C0*CFrame.new(-1,-.35,.35)*CFrame.Angles(math.rad(20),math.rad(20),math.rad(40))
  4014.  
  4015. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(32),math.rad(0),math.rad(180))
  4016. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=40
  4017. end
  4018. keyframe[fr]()
  4019. 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
  4020. end,["Cancels"]={"ZZZZZZZZ","Stand","SummonPuddle"},["Reference"]="ZZZZZZZ"}
  4021.  
  4022. Animations["ZZZZZZZ"]={["Animation"]=function(fr)
  4023. local keyframe={}
  4024. sresetWelds()
  4025. keyframe[0]=function()
  4026. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.9)*CFrame.Angles(math.rad(50),math.rad(0),math.rad(0))
  4027. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(10))
  4028.  
  4029. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(.5,-.25,-.2)*CFrame.Angles(math.rad(-15),math.rad(15),math.rad(79))
  4030. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-36),math.rad(0),math.rad(50))
  4031.  
  4032. sRightHip.C0=sRightHip.C0*CFrame.new(.4,1.475,-.4)*CFrame.Angles(math.rad(-17),math.rad(17),math.rad(48))
  4033. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(17),math.rad(0))
  4034. sLeftHip.C0=sLeftHip.C0*CFrame.new(-1,-.35,.35)*CFrame.Angles(math.rad(20),math.rad(20),math.rad(40))
  4035.  
  4036. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(32),math.rad(0),math.rad(180))
  4037. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=40
  4038. end
  4039. keyframe[fr]()
  4040. 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
  4041. end,["Cancels"]={"Stand","Z","SummonPuddle"},["Reference"]="ZZZZZZZ"}
  4042.  
  4043. Animations["SummonPuddle"]={["Animation"]=function(fr)
  4044. local keyframe={}
  4045. sresetWelds()
  4046. keyframe[0]=function()
  4047. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,.5,.2)*CFrame.Angles(math.rad(8),math.rad(-5),math.rad(-120))
  4048. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-8),math.rad(0),math.rad(70))
  4049.  
  4050. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-20),math.rad(-20),math.rad(-10))
  4051. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-20),math.rad(0))
  4052. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-60),math.rad(-125))
  4053. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(15),math.rad(15),math.rad(0))
  4054.  
  4055. sRightHip.C0=sRightHip.C0*CFrame.new(0,-.17,0)*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(-10))
  4056. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(10),math.rad(0))
  4057. sLeftHip.C0=sLeftHip.C0*CFrame.new(.25,.2,-.3)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(10))
  4058. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-105),math.rad(0))
  4059.  
  4060. sGrip.C0=GripC0*CFrame.new(.2,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(25),math.rad(0),math.rad(0))
  4061. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4062. end
  4063. keyframe[1]=function()
  4064. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,.1)*CFrame.Angles(math.rad(28),math.rad(0),math.rad(40))
  4065. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-25))
  4066.  
  4067. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-40),math.rad(-30),math.rad(10))
  4068. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-20),math.rad(0))
  4069. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.3,0,.3)*CFrame.Angles(math.rad(0),math.rad(60),math.rad(-105))
  4070. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(15),math.rad(15),math.rad(0))
  4071.  
  4072. sRightHip.C0=sRightHip.C0*CFrame.new(.3,.35,0)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(20))
  4073. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(30),math.rad(0))
  4074. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.6,-.2,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(10))
  4075. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(15),math.rad(0))
  4076.  
  4077. sGrip.C0=GripC0*CFrame.new(.2,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(10),math.rad(0),math.rad(0))
  4078. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4079. end
  4080. keyframe[fr]()
  4081. 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
  4082. end,["Cancels"]={"Stand","EZ","EX","EC","EV","EB","PuddleTrigger"},["Reference"]="SummonPuddle"}
  4083.  
  4084. Animations["PuddleTrigger"]={["Animation"]=function(fr)
  4085. local keyframe={}
  4086. sresetWelds()
  4087. keyframe[0]=function()
  4088. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,.2)*CFrame.fromEulerAnglesXYZ(0,0,math.rad(31))
  4089. sRootJoint.C1=sRootJoint.C1*CFrame.fromEulerAnglesXYZ(math.rad(2),0,math.rad(-10))
  4090. sNeck.C0=sNeck.C0*CFrame.new(0,0,-.02)*CFrame.fromEulerAnglesXYZ(math.rad(18),math.rad(-6),math.rad(-43))
  4091.  
  4092. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(.1,-.3,-.1)*CFrame.fromEulerAnglesXYZ(-math.rad(18),-math.rad(20),math.rad(-20))
  4093. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(.15,.2,.05)*CFrame.fromEulerAnglesXYZ(math.rad(10),0,math.rad(-170))
  4094. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(-20),math.rad(-5))
  4095.  
  4096. sRightHip.C0=sRightHip.C0*CFrame.new(0,0,-.1)*CFrame.fromEulerAnglesXYZ(math.rad(-7),-math.rad(18),math.rad(-1))
  4097. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(-18),math.rad(0))
  4098. sLeftHip.C0=sLeftHip.C0*CFrame.new(.15,0,-.02)*CFrame.fromEulerAnglesXYZ(math.rad(-7),math.rad(18),math.rad(1))
  4099. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(10),math.rad(0))
  4100.  
  4101. sGrip.C0=GripC0*CFrame.new(.15,0,-.05)*CFrame.fromEulerAnglesXYZ(-math.rad(20),math.rad(10),math.rad(-10))
  4102.  
  4103. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-5
  4104. end
  4105. keyframe[1]=function()
  4106. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,.2)*CFrame.fromEulerAnglesXYZ(0,0,math.rad(31))
  4107. sRootJoint.C1=sRootJoint.C1*CFrame.fromEulerAnglesXYZ(math.rad(2),0,math.rad(-10))
  4108. sNeck.C0=sNeck.C0*CFrame.new(0,0,-.02)*CFrame.fromEulerAnglesXYZ(math.rad(19),math.rad(-8),math.rad(-40))
  4109.  
  4110. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(.1,-.3,-.1)*CFrame.fromEulerAnglesXYZ(-math.rad(18),-math.rad(20),math.rad(-18))
  4111. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.1,.55,0)*CFrame.fromEulerAnglesXYZ(math.rad(46),0,math.rad(-180))
  4112. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(20),math.rad(0))
  4113.  
  4114. sRightHip.C0=sRightHip.C0*CFrame.new(0,0,-.1)*CFrame.fromEulerAnglesXYZ(math.rad(-7),-math.rad(18),math.rad(-1))
  4115. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(-19),math.rad(0))
  4116. sLeftHip.C0=sLeftHip.C0*CFrame.new(.15,0,-.02)*CFrame.fromEulerAnglesXYZ(math.rad(-7),math.rad(18),math.rad(1))
  4117. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(11),math.rad(0))
  4118.  
  4119. sGrip.C0=GripC0*CFrame.new(.15,0,-.05)*CFrame.fromEulerAnglesXYZ(-math.rad(20),math.rad(10),math.rad(-10))
  4120.  
  4121. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-5
  4122. end
  4123. keyframe[fr]()
  4124. 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
  4125. end,["Cancels"]={"Stand"},["Reference"]="PuddleTrigger"}
  4126.  
  4127. Animations["Extinction1"]={["Animation"]=function(fr)
  4128. local keyframe={}
  4129. sresetWelds()
  4130. keyframe[0]=function()
  4131. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(34),math.rad(0),math.rad(-55))
  4132. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(2),math.rad(9),math.rad(15))
  4133.  
  4134. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,-.6,.4)*CFrame.Angles(math.rad(0),math.rad(-105),math.rad(65))
  4135. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-78),math.rad(0))
  4136. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.035,-.18,-.04)*CFrame.Angles(math.rad(-38),math.rad(25),math.rad(-48))
  4137. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-20),math.rad(0))
  4138.  
  4139. sRightHip.C0=sRightHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(0))
  4140. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-5),math.rad(0))
  4141. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.1,1,-.2)*CFrame.Angles(math.rad(-30),math.rad(0),math.rad(-40))
  4142. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-10),math.rad(-70),math.rad(-30))
  4143.  
  4144. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(0))
  4145. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4146. end
  4147. keyframe[1]=function()
  4148. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.2)*CFrame.Angles(math.rad(25),math.rad(0),math.rad(25))
  4149. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(7),math.rad(9),math.rad(-15))
  4150.  
  4151. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(.8,-.6,-.4)*CFrame.Angles(math.rad(0),math.rad(40),math.rad(100))
  4152. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  4153. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.035,-.18,-.04)*CFrame.Angles(math.rad(-58),math.rad(25),math.rad(-48))
  4154. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-20),math.rad(0))
  4155.  
  4156. sRightHip.C0=sRightHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-25))
  4157. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(10),math.rad(0))
  4158. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.66,.55,-.3)*CFrame.Angles(math.rad(0),math.rad(-10),math.rad(-20))
  4159. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(20),math.rad(0))
  4160.  
  4161. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-50),math.rad(0),math.rad(0))
  4162. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4163. end
  4164. keyframe[2]=function()
  4165. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,1.2,-.2)*CFrame.Angles(math.rad(-57),math.rad(0),math.rad(-150))
  4166. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(10),math.rad(2),math.rad(-10))
  4167.  
  4168. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.4,.6,.3)*CFrame.Angles(math.rad(0),math.rad(-130),math.rad(80))
  4169. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(140),math.rad(0))
  4170. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.5,-.4,.2)*CFrame.Angles(math.rad(0),math.rad(-35),math.rad(-100))
  4171. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  4172.  
  4173. sRightHip.C0=sRightHip.C0*CFrame.new(.3,1,-.1)*CFrame.Angles(math.rad(-33),math.rad(0),math.rad(40))
  4174. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(25),math.rad(0))
  4175. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.3,-.3,-.3)*CFrame.Angles(math.rad(26),math.rad(0),math.rad(-10))
  4176. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-40),math.rad(0))
  4177.  
  4178. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-50),math.rad(0),math.rad(0))
  4179. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4180. end
  4181. keyframe[fr]()
  4182. 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
  4183. end,["Cancels"]={"Stand"},["Reference"]="Extinction1"}
  4184. Animations["Extinction2"]={["Animation"]=function(fr)
  4185. local keyframe={}
  4186. sresetWelds()
  4187.  
  4188. keyframe[0]=function()
  4189. sRootJoint.C0=sRootJoint.C0 * CFrame.new(0,0,-.89) * CFrame.fromEulerAnglesXYZ(math.rad(-52),math.rad(-26),-math.rad(180))
  4190. sNeck.C0=sNeck.C0*CFrame.fromEulerAnglesXYZ(math.rad(-31),math.rad(0),math.rad(0))
  4191.  
  4192. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(-math.rad(21),-math.rad(0),math.rad(0))
  4193. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.55,-.53,.3)*CFrame.fromEulerAnglesXYZ(math.rad(-21),-math.rad(-8),math.rad(-60))
  4194. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),-math.rad(-91),math.rad(0))
  4195.  
  4196. sRightHip.C0=sRightHip.C0*CFrame.new(.4,1.15,.1)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(45))
  4197. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-13),math.rad(21),math.rad(0))
  4198. sLeftHip.C0=sLeftHip.C0*CFrame.new(-1.1,.4,.3)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(35))
  4199. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(6),math.rad(-17),math.rad(0))
  4200.  
  4201. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=0
  4202. end
  4203.  
  4204. keyframe[1]=function()
  4205. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(38),math.rad(0),math.rad(-150))
  4206. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(8),math.rad(2),math.rad(70))
  4207.  
  4208. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.4,-.6,.3)*CFrame.Angles(math.rad(0),math.rad(-100),math.rad(80))
  4209. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  4210. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.5,-.4,.2)*CFrame.Angles(math.rad(0),math.rad(-35),math.rad(-100))
  4211. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  4212.  
  4213. sRightHip.C0=sRightHip.C0*CFrame.new(.2,.7,-.1)*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(10))
  4214. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(20),math.rad(0))
  4215. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.2,.3,0)*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(30))
  4216. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-30),math.rad(0))
  4217.  
  4218. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-20),math.rad(0),math.rad(10))
  4219. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4220. end
  4221.  
  4222. keyframe[2]=function()
  4223. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-20),math.rad(15),math.rad(-20))
  4224. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(40),math.rad(0),math.rad(0))
  4225.  
  4226. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.25,-.2,-.1)*CFrame.Angles(math.rad(0),math.rad(30),math.rad(-60))
  4227. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4228. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.2,-.4,.5)*CFrame.Angles(math.rad(-24),math.rad(-13),math.rad(-30))
  4229. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  4230.  
  4231. sRightHip.C0=sRightHip.C0*CFrame.new(.4,.4,-.1)*CFrame.Angles(math.rad(5),math.rad(0),math.rad(30))
  4232. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(20),math.rad(0))
  4233. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.2,.3,0)*CFrame.Angles(math.rad(-35),math.rad(0),math.rad(15))
  4234. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-20),math.rad(0))
  4235.  
  4236. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-20),math.rad(0),math.rad(10))
  4237. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4238. end
  4239.  
  4240. keyframe[3]=function()
  4241. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-140),math.rad(20),math.rad(140))
  4242. sRootJoint.C1=sRootJoint.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4243. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(40),math.rad(0),math.rad(0))
  4244.  
  4245. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.25,-.2,-.1)*CFrame.Angles(math.rad(20),math.rad(30),math.rad(140))
  4246. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4247. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.2,-.4,.5)*CFrame.Angles(math.rad(-55),math.rad(13),math.rad(-50))
  4248. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(0))
  4249.  
  4250. sRightHip.C0=sRightHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-45),math.rad(0),math.rad(-60))
  4251. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4252. sLeftHip.C0=sLeftHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-65),math.rad(0),math.rad(45))
  4253. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4254.  
  4255. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-20),math.rad(0),math.rad(10))
  4256. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4257. end
  4258.  
  4259. keyframe[4]=function()
  4260. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,.4,0)*CFrame.Angles(math.rad(30),math.rad(-22),math.rad(-90))
  4261. sRootJoint.C1=sRootJoint.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(8),math.rad(0),math.rad(0))
  4262. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(10),math.rad(0),math.rad(60))
  4263.  
  4264. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.25,-.2,-.1)*CFrame.Angles(math.rad(40),math.rad(-30),math.rad(180))
  4265. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4266. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.2,-.4,.5)*CFrame.Angles(math.rad(-95),math.rad(-8),math.rad(0))
  4267. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-25),math.rad(0))
  4268.  
  4269. sRightHip.C0=sRightHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-25),math.rad(0),math.rad(0))
  4270. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4271. sLeftHip.C0=sLeftHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(10),math.rad(0),math.rad(15))
  4272. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4273.  
  4274. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-10),math.rad(0),math.rad(20))
  4275. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4276. end
  4277.  
  4278. keyframe[5]=function()
  4279. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-50),math.rad(170),math.rad(90))
  4280. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(15),math.rad(-65),math.rad(80))
  4281.  
  4282. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.25,-.2,-.1)*CFrame.Angles(math.rad(-40),math.rad(-30),math.rad(-40))
  4283. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4284. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.2,.8,.35)*CFrame.Angles(math.rad(-175),math.rad(0),math.rad(0))
  4285. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-6),math.rad(0))
  4286.  
  4287. sRightHip.C0=sRightHip.C0*CFrame.new(1,.5,0)*CFrame.Angles(math.rad(25),math.rad(0),math.rad(-15))
  4288. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4289. sLeftHip.C0=sLeftHip.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-35),math.rad(0),math.rad(15))
  4290. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(30),math.rad(0))
  4291.  
  4292. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-10),math.rad(0),math.rad(20))
  4293. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4294. end
  4295.  
  4296. keyframe[6]=function()
  4297. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(10),math.rad(180),math.rad(0))
  4298. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(35),math.rad(0),math.rad(0))
  4299.  
  4300. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-60),math.rad(-3),math.rad(-30))
  4301. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4302. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,.3,0)*CFrame.Angles(math.rad(-40),math.rad(0),math.rad(-170))
  4303. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-6),math.rad(0))
  4304.  
  4305. sRightHip.C0=sRightHip.C0*CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15))
  4306. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4307. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.2,0,0)*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(15))
  4308. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(30),math.rad(0))
  4309.  
  4310. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(0))
  4311. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4312. end
  4313.  
  4314. keyframe[7]=function()
  4315. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(10),math.rad(0),math.rad(0))
  4316. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(35),math.rad(0),math.rad(0))
  4317.  
  4318. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-60),math.rad(-3),math.rad(-30))
  4319. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4320. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,.3,0)*CFrame.Angles(math.rad(-40),math.rad(0),math.rad(-170))
  4321. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-6),math.rad(0))
  4322.  
  4323. sRightHip.C0=sRightHip.C0*CFrame.new(1,.5,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15))
  4324. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4325. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.2,0,0)*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(15))
  4326. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(30),math.rad(0))
  4327.  
  4328. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(0))
  4329. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4330. end
  4331.  
  4332. keyframe[8]=function()
  4333. sRootJoint.C0=sRootJoint.C0 * CFrame.new(0,0,-.89) * CFrame.fromEulerAnglesXYZ(math.rad(52),math.rad(26),-math.rad(0))
  4334. sNeck.C0=sNeck.C0*CFrame.fromEulerAnglesXYZ(math.rad(-31),math.rad(0),math.rad(0))
  4335.  
  4336. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(-math.rad(21),-math.rad(0),math.rad(0))
  4337. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.55,-.53,.3)*CFrame.fromEulerAnglesXYZ(math.rad(-21),-math.rad(-8),math.rad(-60))
  4338. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),-math.rad(-91),math.rad(0))
  4339.  
  4340. sRightHip.C0=sRightHip.C0*CFrame.new(.4,1.15,.1)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(45))
  4341. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-13),math.rad(21),math.rad(0))
  4342. sLeftHip.C0=sLeftHip.C0*CFrame.new(-1.1,.4,.3)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(35))
  4343. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(6),math.rad(-17),math.rad(0))
  4344.  
  4345. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=0
  4346. end
  4347.  
  4348. keyframe[fr]()
  4349. 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
  4350. end,["Cancels"]={"ZZZ","Stand"},["Reference"]="Extinction2"}
  4351.  
  4352. Animations["ShatterCannon"]={["Animation"]=function(fr)
  4353. local keyframe={}
  4354. sresetWelds()
  4355. keyframe[0]=function()
  4356. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.1)*CFrame.Angles(math.rad(50),0,math.rad(20))
  4357. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-10),math.rad(0),math.rad(-10))
  4358.  
  4359. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(1.2,-.4,-.8)*CFrame.Angles(math.rad(-30),math.rad(70),math.rad(90))
  4360. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  4361. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.1,-.55,-.1)*CFrame.Angles(math.rad(-50),math.rad(20),math.rad(10))
  4362. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4363.  
  4364. sRightHip.C0=sRightHip.C0*CFrame.new(.8,1,0)*CFrame.Angles(math.rad(-15),math.rad(-5),math.rad(50))
  4365. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.7,-.1,0)*CFrame.Angles(math.rad(0),math.rad(5),math.rad(0))
  4366.  
  4367. sGrip.C0=GripC0*CFrame.new(.2,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(180))
  4368. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4369. end
  4370. keyframe[1]=function()
  4371. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.2)*CFrame.Angles(math.rad(-19),math.rad(0),math.rad(-95))
  4372. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(2),math.rad(15),math.rad(90))
  4373.  
  4374. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.4,.4)*CFrame.Angles(math.rad(-10),math.rad(-46),math.rad(85))
  4375. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  4376. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.1,-.7,.4)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(-70))
  4377. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(80),math.rad(0))
  4378.  
  4379. sRightHip.C0=sRightHip.C0*CFrame.new(.5,.75,0)*CFrame.Angles(math.rad(-28),math.rad(0),math.rad(-3))
  4380. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4381. sLeftHip.C0=sLeftHip.C0*CFrame.new(0,-.1,0)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(3))
  4382. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(20),math.rad(0))
  4383.  
  4384. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-43),math.rad(0),math.rad(180))
  4385. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4386. end
  4387. keyframe[2]=function()
  4388. resetWelds(3,{})
  4389. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,-.2)*CFrame.Angles(math.rad(48),math.rad(16),math.rad(30))
  4390. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-10),math.rad(7),math.rad(-10))
  4391.  
  4392. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(1.15,.2,.3)*CFrame.Angles(math.rad(-5),math.rad(-50),math.rad(125))
  4393. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(10),math.rad(-90),math.rad(0))
  4394. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(.2,-.5,0)*CFrame.Angles(math.rad(-40),math.rad(20),math.rad(40))
  4395.  
  4396. sRightHip.C0=sRightHip.C0*CFrame.new(.3,-.1,.05)*CFrame.Angles(math.rad(0),math.rad(-23),math.rad(-10))
  4397. sLeftHip.C0=sLeftHip.C0*CFrame.new(-.6,.45,-.3)*CFrame.Angles(math.rad(-2),math.rad(-20),math.rad(-45))
  4398.  
  4399. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(-90),math.rad(90))
  4400. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4401. end
  4402. keyframe[fr]()
  4403. 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
  4404. end,["Cancels"]={"Stand"},["Reference"]="ShatterCannon"}
  4405.  
  4406. Animations["Bladewave"]={["Animation"]=function(fr)
  4407. local keyframe={}
  4408. sresetWelds()
  4409. keyframe[0]=function()
  4410. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,.15)*CFrame.Angles(math.rad(18),math.rad(-3),math.rad(120))
  4411. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(4),math.rad(10),math.rad(110))
  4412.  
  4413. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-40),math.rad(20),math.rad(-20))
  4414. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(20),math.rad(0))
  4415. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-80),math.rad(-95))
  4416. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(15),math.rad(15),math.rad(0))
  4417.  
  4418. sRightHip.C0=sRightHip.C0*CFrame.new(0,.25,0)*CFrame.Angles(math.rad(-22),math.rad(8),math.rad(-9))
  4419. sLeftHip.C0=sLeftHip.C0*CFrame.new(0,-.3,0)*CFrame.Angles(math.rad(20),math.rad(-8),math.rad(21))
  4420.  
  4421. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(-20),math.rad(0),math.rad(0))
  4422. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=0
  4423. end
  4424.  
  4425. keyframe[1]=function()
  4426. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,.05)*CFrame.Angles(math.rad(12),math.rad(4),math.rad(-94))
  4427. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(18),math.rad(8),math.rad(35))
  4428.  
  4429. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(-.3,-.4,.4)*CFrame.Angles(math.rad(-10),math.rad(-60),math.rad(90))
  4430. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  4431. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.25,-.2,.4)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(0))
  4432. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4433.  
  4434. sRightHip.C0=sRightHip.C0*CFrame.new(0,-.1,0)*CFrame.Angles(math.rad(4),math.rad(0),math.rad(-8))
  4435. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4436. sLeftHip.C0=sLeftHip.C0*CFrame.new(0,.05,0)*CFrame.Angles(math.rad(-8),math.rad(0),math.rad(-4))
  4437. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4438.  
  4439. sGrip.C0=GripC0*CFrame.new(0,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(0))
  4440. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=30
  4441. end
  4442.  
  4443.  
  4444. keyframe[fr]()
  4445. 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
  4446. end,["Cancels"]={"Stand"},["Reference"]="Bladewave"}
  4447.  
  4448. Animations["BlackSpace"]={["Animation"]=function(fr)
  4449. local keyframe={}
  4450. sresetWelds()
  4451. keyframe[0]=function()
  4452. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0,.05)*CFrame.Angles(math.rad(20),0,math.rad(80))
  4453. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(-15),math.rad(0),math.rad(-45))
  4454.  
  4455. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(1.2,-.7,-.8)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(85))
  4456. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0))
  4457. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.1,.5,-.1)*CFrame.Angles(math.rad(0),math.rad(-45),math.rad(-95))
  4458. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4459.  
  4460. sRightHip.C0=sRightHip.C0*CFrame.new(0,.4,0)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(0))
  4461. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(45),math.rad(0))
  4462.  
  4463. sLeftHip.C0=sLeftHip.C0*CFrame.new(0,-.15,0)*CFrame.Angles(math.rad(-10),math.rad(5),math.rad(15))
  4464.  
  4465. sGrip.C0=GripC0*CFrame.new(.2,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(33),math.rad(0),math.rad(180))
  4466. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4467. end
  4468. keyframe[1]=function()
  4469. sRootJoint.C0=sRootJoint.C0*CFrame.new(0,0.5,.05)*CFrame.Angles(math.rad(-24),0,math.rad(-60))
  4470. sNeck.C0=sNeck.C0*CFrame.Angles(math.rad(15),math.rad(0),math.rad(45))
  4471.  
  4472. sRightShoulder.C0=sRightShoulder.C0*CFrame.new(.8,-.7,-.1)*CFrame.Angles(math.rad(0),math.rad(72),math.rad(72))
  4473. sRightShoulder.C1=sRightShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-88),math.rad(0))
  4474. sLeftShoulder.C0=sLeftShoulder.C0*CFrame.new(-.45,-.7,.2)*CFrame.Angles(math.rad(0),math.rad(60),math.rad(-63))
  4475. sLeftShoulder.C1=sLeftShoulder.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(40),math.rad(0))
  4476.  
  4477. sRightHip.C0=sRightHip.C0*CFrame.new(.2,.2,-.3)*CFrame.Angles(math.rad(-20),math.rad(0),math.rad(-8))
  4478. sRightHip.C1=sRightHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(-40),math.rad(0))
  4479.  
  4480. sLeftHip.C0=sLeftHip.C0*CFrame.new(.1,-.2,-.2)*CFrame.Angles(math.rad(-5),math.rad(0),math.rad(20))
  4481. sLeftHip.C1=sLeftHip.C1*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  4482.  
  4483. sGrip.C0=GripC0*CFrame.new(.2,0,0)*CFrame.fromEulerAnglesXYZ(math.rad(33),math.rad(0),math.rad(180))
  4484. game.Players.LocalPlayer.Character.Armor.Cloak.CloakScript.Hard.Value=-2
  4485. end
  4486. keyframe[fr]()
  4487. 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
  4488. end,["Cancels"]={"Stand"},["Reference"]="BlackSpace"}
  4489.  
  4490. --boop
  4491.  
  4492. print("ayyo wuts boppin")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement