Advertisement
lolz3456

Untitled

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