Advertisement
Freightus2

Zythian Leak Void Script Builder

May 6th, 2019
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 68.64 KB | None | 0 0
  1. We did it, 200 looks in under 10 minutes!
  2. I didn't think it was this easy on pastebin, but I'm glad you enjoy what I post!
  3. Here, I hope you enjoy the Zythian script!
  4. repeat wait() until script:WaitForChild'Owner'.Value
  5. local Player = script:WaitForChild'Owner'.Value
  6. script.Owner:destroy()
  7. local FakeMouse = script.FakeMouse:Clone();
  8. FakeMouse.Parent = Player.Character;
  9. script.FakeMouse:Destroy()
  10. do
  11. local GUID = {}
  12. do
  13. GUID.IDs = {};
  14. function GUID:new(len)
  15. local id;
  16. if(not len)then
  17. id = (tostring(function() end))
  18. id = id:gsub("function: ","")
  19. else
  20. local function genID(len)
  21. local newID = ""
  22. for i = 1,len do
  23. newID = newID..string.char(math.random(48,90))
  24. end
  25. return newID
  26. end
  27. repeat id = genID(len) until not GUID.IDs[id]
  28. local oid = id;
  29. id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end}
  30. GUID.IDs[oid]=true;
  31. end
  32. return id
  33. end
  34. end
  35.  
  36. local AHB = Instance.new("BindableEvent")
  37.  
  38. local FPS = 30
  39.  
  40. local TimeFrame = 0
  41.  
  42. local LastFrame = tick()
  43. local Frame = 1/FPS
  44.  
  45. game:service'RunService'.Heartbeat:connect(function(s,p)
  46. TimeFrame = TimeFrame + s
  47. if(TimeFrame >= Frame)then
  48. for i = 1,math.floor(TimeFrame/Frame) do
  49. AHB:Fire()
  50. end
  51. LastFrame=tick()
  52. TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame)
  53. end
  54. end)
  55.  
  56.  
  57. function swait(dur)
  58. if(dur == 0 or typeof(dur) ~= 'number')then
  59. AHB.Event:wait()
  60. else
  61. for i = 1, dur*FPS do
  62. AHB.Event:wait()
  63. end
  64. end
  65. end
  66.  
  67. local oPlayer = Player
  68. local Player = oPlayer
  69.  
  70. local loudnesses={}
  71. script.Parent = Player.Character
  72. local CoAS = {Actions={}}
  73. local Event = Instance.new("RemoteEvent")
  74. Event.Name = "UserInputEvent"
  75. Event.Parent = Player.Character
  76. local Func = Instance.new("RemoteFunction")
  77. Func.Name = "GetClientProperty"
  78. Func.Parent = Player.Character
  79. local fakeEvent = function()
  80. local t = {_fakeEvent=true,Waited={},Connected={}}
  81. t.Connect = function(self,f)
  82. local ft={}
  83. ft={Disconnected=false;disconnect=function(s) if(self.Function==ft)then self.Function=nil end s.Disconnected=true end}
  84. ft.Disconnect=ft.disconnect
  85.  
  86. ft.Func=function(...)
  87. for id,_ in next, t.Waited do
  88. t.Waited[id] = true
  89. end
  90. return f(...)
  91. end;
  92.  
  93. table.insert(self.Connected,ft)
  94. return ft;
  95. end
  96. t.connect = t.Connect
  97. t.Wait = function()
  98. local guid = GUID:new(25)
  99. local waitingId = guid:Get()
  100. t.Waited[waitingId]=false
  101. repeat swait() until t.Waited[waitingId]==true
  102. t.Waited[waitingId]=nil;
  103. guid:Trash()
  104. end
  105. t.wait = t.Wait
  106. return t
  107. end
  108. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  109. local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  110. local Run = {RenderStepped=fakeEvent()}
  111.  
  112. function CoAS:BindAction(name,fun,touch,...)
  113. CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
  114. end
  115. function CoAS:UnbindAction(name)
  116. CoAS.Actions[name] = nil
  117. end
  118. local function te(self,ev,...)
  119. local t = self[ev]
  120. if t and t._fakeEvent and t.Connected then
  121. for i,v in next, t.Connected do
  122. if(v.Func and not v.Disconnected)then
  123. v.Func(...)
  124. else
  125. t.Connected[i]=nil
  126. end
  127. end
  128. end
  129. end
  130. m.TrigEvent = te
  131. UsIS.TrigEvent = te
  132. Run.TrigEvent = te
  133. Event.OnServerEvent:Connect(function(plr,io)
  134. if plr~=Player then return end
  135. --[[table.foreach(io,print)
  136. print'---']]
  137. if io.Mouse then
  138. m.Target = io.Target
  139. m.Hit = io.Hit
  140. elseif io.KeyEvent then
  141. m:TrigEvent('Key'..io.KeyEvent,io.Key)
  142. elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
  143. if io.UserInputState == Enum.UserInputState.Begin then
  144. m:TrigEvent("Button1Down")
  145. else
  146. m:TrigEvent("Button1Up")
  147. end
  148. end
  149. if(not io.KeyEvent and not io.Mouse)then
  150.  
  151. for n,t in pairs(CoAS.Actions) do
  152. for _,k in pairs(t.Keys) do
  153. if k==io.KeyCode then
  154. t.Function(t.Name,io.UserInputState,io)
  155. end
  156. end
  157. end
  158. if io.UserInputState == Enum.UserInputState.Begin then
  159. UsIS:TrigEvent("InputBegan",io,false)
  160. else
  161. UsIS:TrigEvent("InputEnded",io,false)
  162. end
  163. end
  164. end)
  165.  
  166. Func.OnServerInvoke = function(plr,inst,play)
  167. if plr~=Player then return end
  168. if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
  169. loudnesses[inst]=play
  170. end
  171. end
  172.  
  173. function GetClientProperty(inst,prop)
  174. if(prop == 'PlaybackLoudness' and loudnesses[inst])then
  175. return loudnesses[inst]
  176. elseif(prop == 'PlaybackLoudness')then
  177. return Func:InvokeClient(Player,'RegSound',inst)
  178. end
  179. return Func:InvokeClient(Player,inst,prop)
  180. end
  181. local oldGame = game;
  182. function GetFakePlayer()
  183. local oldPlayer = Player;
  184. local fakePlayer = newproxy(true)
  185. getmetatable(fakePlayer).__index = function(s,i)
  186. if(i == 'GetMouse')then
  187. return function() return m; end
  188. end
  189. return Player[i]
  190. end
  191. getmetatable(fakePlayer).__newindex = function(s,i,v)
  192. Player[i]=v
  193. end
  194. getmetatable(fakePlayer).__call=function(self,...)
  195. if(self == fakePlayer)then self = Player end
  196. local wh = {...}
  197. local name = table.remove(wh,1)
  198. for i,v in next, wh do
  199. wh[i]=v
  200. end
  201. if(name == 'GetMouse')then
  202. return m;
  203. end
  204. return self(name,unpack(wh))
  205. end
  206. getmetatable(fakePlayer).__namecall=function(self,...)
  207. if(self == fakePlayer)then self = Player end
  208. local tuple={...}
  209. local name = table.remove(tuple,#tuple)
  210.  
  211. if(name == 'GetMouse')then
  212. return m;
  213. else
  214. return self[name](self,unpack(tuple))
  215. end
  216. end
  217.  
  218. return fakePlayer
  219. end
  220. local oll = LoadLibrary;
  221. function LoadLibrary(libtard)
  222. local libtarddestroyed=oll(libtard)
  223. if(libtard=='RbxUtility')then
  224. local library={Create=function(obj)
  225. local inst = Instance.new(obj)
  226. return function(props)
  227. for prop,valu in next, props do
  228. inst[prop]=valu
  229. end
  230. return inst
  231. end
  232. end}
  233. setmetatable(library,{__index=libtarddestroyed,__newindex=function(s,i,v) libtarddestroyed[i]=v end})
  234.  
  235. return library
  236. else
  237. return libtarddestroyed
  238. end
  239. end
  240. fakePlayer = GetFakePlayer()
  241. local function GetService(s,i)
  242. local service = s:GetService(i)
  243. if(i == 'Players')then
  244. local oldService = service;
  245. local fakeService = newproxy(true)
  246. getmetatable(fakeService).__index = function(s,i)
  247. if(s == fakeService)then s=oldService end
  248. if(i == 'LocalPlayer' or i == 'localPlayer')then
  249. return fakePlayer
  250. elseif(i == 'oPlayer')then
  251. return oPlayer
  252. else
  253. return s[i]
  254. end
  255. end
  256. getmetatable(fakeService).__newindex = function(s,i,v)
  257. if(s == fakeService)then s=oldService end
  258. s[i]=v
  259. end
  260. getmetatable(fakeService).__call=function(self,...)
  261. if(self == fakeService)then self = oldService end
  262. local wh = {...}
  263. local name = table.remove(wh,1)
  264. for i,v in next, wh do
  265. wh[i]=v
  266. end
  267. return self(name,unpack(wh))
  268. end
  269. getmetatable(fakeService).__namecall=function(self,...)
  270. if(self == fakeService)then self = oldService end
  271. local tuple={...}
  272. local name = table.remove(tuple,#tuple)
  273.  
  274. return self[name](self,unpack(tuple))
  275. end
  276. getmetatable(fakeService).__metatable = 'gay'
  277. return fakeService
  278. elseif(i == 'RunService')then
  279. local oldService = service;
  280. local fakeService = newproxy(true)
  281. getmetatable(fakeService).__index = function(s,i)
  282. if(s == fakeService)then s=oldService end
  283. return Run[i] or s[i]
  284. end
  285. getmetatable(fakeService).__newindex = function(s,i,v)
  286. if(s == fakeService)then s=oldService end
  287. s[i]=v
  288. end
  289. getmetatable(fakeService).__call=function(self,...)
  290. if(self == fakeService)then self = oldService end
  291. local wh = {...}
  292. local name = table.remove(wh,1)
  293. for i,v in next, wh do
  294. wh[i]=v
  295. end
  296. return self(name,unpack(wh))
  297. end
  298. getmetatable(fakeService).__namecall=function(self,...)
  299. if(self == fakeService)then self = oldService end
  300. local tuple={...}
  301. local name = table.remove(tuple,#tuple)
  302.  
  303. return self[name](self,unpack(tuple))
  304. end
  305. getmetatable(fakeService).__metatable = 'gay'
  306. return fakeService
  307. elseif(i == 'UserInputService')then
  308. return UsIS
  309. elseif(i == 'ContextActionService')then
  310. return CoAS;
  311. else
  312. return service
  313. end
  314. end
  315.  
  316. local new = Instance.new;
  317. Instance = {}
  318. Instance.new = function(inst,obje)
  319. local lp = GetService(oldGame,'Players').localPlayer
  320. local instance = new(inst)
  321. if(inst=='ObjectValue')then
  322. local fake = newproxy(true)
  323. getmetatable(fake).__index=function(self,index)
  324. if(self==fake)then self=instance end
  325. return self[index]
  326. end
  327. getmetatable(fake).__newindex=function(self,index,value)
  328. if(self==fake)then self=instance end
  329. if(index=='Value' and typeof(value)~='Instance' and value==fakePlayer)then
  330. self[index]=oPlayer
  331. else
  332. self[index]=value
  333. end
  334. end
  335. getmetatable(fake).__call=function(self,...)
  336. if(self == fake)then self = instance end
  337. local wh = {...}
  338. local name = table.remove(wh,1)
  339. for i,v in next, wh do
  340. if(v == fake)then v = instance end
  341. wh[i]=v
  342. end
  343. return self(name,unpack(wh))
  344. end
  345. getmetatable(fake). __namecall=function(self,...)
  346. if(self == fake)then self = instance end
  347. local tuple={...}
  348. local name = table.remove(tuple,#tuple)
  349. return self[name](self,unpack(tuple))
  350. end
  351. return fake
  352. else
  353. instance.Parent = obje
  354. return instance;
  355. end
  356.  
  357. end
  358. local serviceFunctions={
  359. service=true,
  360. GetService=true,
  361. }
  362. local fakeGame = newproxy(true)
  363. getmetatable(fakeGame).__index = function(s,i)
  364. if(s == fakeGame)then s=oldGame end
  365. local serv = GetService(oldGame,i)
  366. if serviceFunctions[i] then
  367. return GetService
  368. elseif(serv)then
  369. return serv
  370. else
  371. return s[i]
  372. end
  373. end
  374. getmetatable(fakeGame).__newindex = function(s,i,v)
  375. if(s == fakeGame)then s=oldGame end
  376. s[i]=v
  377. end
  378. getmetatable(fakeGame).__call=function(self,...)
  379. if(self == fakeGame)then self = oldGame end
  380. local wh = {...}
  381. local name = table.remove(wh,1)
  382. for i,v in next, wh do
  383. if(v == fakeGame)then v = oldGame end
  384. wh[i]=v
  385. end
  386. if serviceFunctions[name] then
  387. return GetService(self,unpack(wh))
  388. else
  389. return self(name,unpack(wh))
  390. end
  391. end
  392. getmetatable(fakeGame). __namecall=function(self,...)
  393. if(self == fakeGame)then self = oldGame end
  394. local tuple={...}
  395. local name = table.remove(tuple,#tuple)
  396.  
  397. local funcToCall=self[name]
  398.  
  399. if serviceFunctions[name] then
  400. return GetService(self,unpack(tuple))
  401. else
  402. return self[name](self,unpack(tuple))
  403. end
  404. end
  405. getmetatable(fakeGame).__metatable = 'gay'
  406.  
  407. coroutine.wrap(function()
  408. while true do
  409. Run:TrigEvent('RenderStepped')
  410. swait()
  411. end
  412. end)()
  413. game=fakeGame
  414. UserInputService,ContextActionService = UsIS,CoAS
  415. end
  416. --//====================================================\\--
  417. --|| CREATED BY SHACKLUSTER
  418. --\\====================================================//--
  419.  
  420. wait(0.2)
  421.  
  422. Player = game:GetService("Players").LocalPlayer
  423. PlayerGui = Player.PlayerGui
  424. Cam = workspace.CurrentCamera
  425. Backpack = Player.Backpack
  426. Character = Player.Character
  427. Humanoid = Character.Humanoid
  428. Mouse = Player:GetMouse()
  429. RootPart = Character["HumanoidRootPart"]
  430. Torso = Character["Torso"]
  431. Head = Character["Head"]
  432. RightArm = Character["Right Arm"]
  433. LeftArm = Character["Left Arm"]
  434. RightLeg = Character["Right Leg"]
  435. LeftLeg = Character["Left Leg"]
  436. RootJoint = RootPart["RootJoint"]
  437. Neck = Torso["Neck"]
  438. RightShoulder = Torso["Right Shoulder"]
  439. LeftShoulder = Torso["Left Shoulder"]
  440. RightHip = Torso["Right Hip"]
  441. LeftHip = Torso["Left Hip"]
  442. local sick = Instance.new("Sound",Character)
  443.  
  444. IT = Instance.new
  445. CF = CFrame.new
  446. VT = Vector3.new
  447. RAD = math.rad
  448. C3 = Color3.new
  449. UD2 = UDim2.new
  450. BRICKC = BrickColor.new
  451. ANGLES = CFrame.Angles
  452. EULER = CFrame.fromEulerAnglesXYZ
  453. COS = math.cos
  454. ACOS = math.acos
  455. SIN = math.sin
  456. ASIN = math.asin
  457. ABS = math.abs
  458. MRANDOM = math.random
  459. FLOOR = math.floor
  460.  
  461. --//=================================\\
  462. --|| USEFUL VALUES
  463. --\\=================================//
  464.  
  465. Animation_Speed = 3
  466. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  467. local Speed = 35
  468. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  469. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  470. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  471. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  472. local DAMAGEMULTIPLIER = 1
  473. local ANIM = "Idle"
  474. local ATTACK = false
  475. local EQUIPPED = false
  476. local HOLD = false
  477. local COMBO = 1
  478. local Rooted = false
  479. local SINE = 0
  480. local KEYHOLD = false
  481. local CHANGE = 2 / Animation_Speed
  482. local WALKINGANIM = false
  483. local VALUE1 = false
  484. local VALUE2 = false
  485. local ROBLOXIDLEANIMATION = IT("Animation")
  486. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  487. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  488. --ROBLOXIDLEANIMATION.Parent = Humanoid
  489. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  490. WEAPONGUI.Name = "Weapon GUI"
  491. local Effects = IT("Folder", Character)
  492. Effects.Name = "Effects"
  493. local ANIMATOR = Humanoid.Animator
  494. local ANIMATE = Character.Animate
  495. local UNANCHOR = true
  496. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  497.  
  498. --//=================================\\
  499. --\\=================================//
  500.  
  501.  
  502. --//=================================\\
  503. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  504. --\\=================================//
  505.  
  506. ArtificialHB = Instance.new("BindableEvent", script)
  507. ArtificialHB.Name = "ArtificialHB"
  508.  
  509. script:WaitForChild("ArtificialHB")
  510.  
  511. frame = Frame_Speed
  512. tf = 0
  513. allowframeloss = false
  514. tossremainder = false
  515. lastframe = tick()
  516. script.ArtificialHB:Fire()
  517.  
  518. game:GetService("RunService").Heartbeat:connect(function(s, p)
  519. tf = tf + s
  520. if tf >= frame then
  521. if allowframeloss then
  522. script.ArtificialHB:Fire()
  523. lastframe = tick()
  524. else
  525. for i = 1, math.floor(tf / frame) do
  526. script.ArtificialHB:Fire()
  527. end
  528. lastframe = tick()
  529. end
  530. if tossremainder then
  531. tf = 0
  532. else
  533. tf = tf - frame * math.floor(tf / frame)
  534. end
  535. end
  536. end)
  537.  
  538. --//=================================\\
  539. --\\=================================//
  540.  
  541. --//=================================\\
  542. --|| SOME FUNCTIONS
  543. --\\=================================//
  544.  
  545. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  546. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  547. end
  548.  
  549. function PositiveAngle(NUMBER)
  550. if NUMBER >= 0 then
  551. NUMBER = 0
  552. end
  553. return NUMBER
  554. end
  555.  
  556. function NegativeAngle(NUMBER)
  557. if NUMBER <= 0 then
  558. NUMBER = 0
  559. end
  560. return NUMBER
  561. end
  562.  
  563. function Swait(NUMBER)
  564. if NUMBER == 0 or NUMBER == nil then
  565. ArtificialHB.Event:wait()
  566. else
  567. for i = 1, NUMBER do
  568. ArtificialHB.Event:wait()
  569. end
  570. end
  571. end
  572.  
  573. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  574. local NEWMESH = IT(MESH)
  575. if MESH == "SpecialMesh" then
  576. NEWMESH.MeshType = MESHTYPE
  577. if MESHID ~= "nil" and MESHID ~= "" then
  578. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  579. end
  580. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  581. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  582. end
  583. end
  584. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  585. NEWMESH.Scale = SCALE
  586. NEWMESH.Parent = PARENT
  587. return NEWMESH
  588. end
  589.  
  590. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  591. local NEWPART = IT("Part")
  592. NEWPART.formFactor = FORMFACTOR
  593. NEWPART.Reflectance = REFLECTANCE
  594. NEWPART.Transparency = TRANSPARENCY
  595. NEWPART.CanCollide = false
  596. NEWPART.Locked = true
  597. NEWPART.Anchored = true
  598. if ANCHOR == false then
  599. NEWPART.Anchored = false
  600. end
  601. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  602. NEWPART.Name = NAME
  603. NEWPART.Size = SIZE
  604. NEWPART.Position = Torso.Position
  605. NEWPART.Material = MATERIAL
  606. NEWPART:BreakJoints()
  607. NEWPART.Parent = PARENT
  608. return NEWPART
  609. end
  610.  
  611. local function weldBetween(a, b)
  612. local weldd = Instance.new("ManualWeld")
  613. weldd.Part0 = a
  614. weldd.Part1 = b
  615. weldd.C0 = CFrame.new()
  616. weldd.C1 = b.CFrame:inverse() * a.CFrame
  617. weldd.Parent = a
  618. return weldd
  619. end
  620.  
  621.  
  622. function QuaternionFromCFrame(cf)
  623. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  624. local trace = m00 + m11 + m22
  625. if trace > 0 then
  626. local s = math.sqrt(1 + trace)
  627. local recip = 0.5 / s
  628. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  629. else
  630. local i = 0
  631. if m11 > m00 then
  632. i = 1
  633. end
  634. if m22 > (i == 0 and m00 or m11) then
  635. i = 2
  636. end
  637. if i == 0 then
  638. local s = math.sqrt(m00 - m11 - m22 + 1)
  639. local recip = 0.5 / s
  640. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  641. elseif i == 1 then
  642. local s = math.sqrt(m11 - m22 - m00 + 1)
  643. local recip = 0.5 / s
  644. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  645. elseif i == 2 then
  646. local s = math.sqrt(m22 - m00 - m11 + 1)
  647. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  648. end
  649. end
  650. end
  651.  
  652. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  653. local xs, ys, zs = x + x, y + y, z + z
  654. local wx, wy, wz = w * xs, w * ys, w * zs
  655. local xx = x * xs
  656. local xy = x * ys
  657. local xz = x * zs
  658. local yy = y * ys
  659. local yz = y * zs
  660. local zz = z * zs
  661. 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))
  662. end
  663.  
  664. function QuaternionSlerp(a, b, t)
  665. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  666. local startInterp, finishInterp;
  667. if cosTheta >= 0.0001 then
  668. if (1 - cosTheta) > 0.0001 then
  669. local theta = ACOS(cosTheta)
  670. local invSinTheta = 1 / SIN(theta)
  671. startInterp = SIN((1 - t) * theta) * invSinTheta
  672. finishInterp = SIN(t * theta) * invSinTheta
  673. else
  674. startInterp = 1 - t
  675. finishInterp = t
  676. end
  677. else
  678. if (1 + cosTheta) > 0.0001 then
  679. local theta = ACOS(-cosTheta)
  680. local invSinTheta = 1 / SIN(theta)
  681. startInterp = SIN((t - 1) * theta) * invSinTheta
  682. finishInterp = SIN(t * theta) * invSinTheta
  683. else
  684. startInterp = t - 1
  685. finishInterp = t
  686. end
  687. end
  688. 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
  689. end
  690.  
  691. function Clerp(a, b, t)
  692. local qa = {QuaternionFromCFrame(a)}
  693. local qb = {QuaternionFromCFrame(b)}
  694. local ax, ay, az = a.x, a.y, a.z
  695. local bx, by, bz = b.x, b.y, b.z
  696. local _t = 1 - t
  697. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  698. end
  699.  
  700. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  701. local frame = IT("Frame")
  702. frame.BackgroundTransparency = TRANSPARENCY
  703. frame.BorderSizePixel = BORDERSIZEPIXEL
  704. frame.Position = POSITION
  705. frame.Size = SIZE
  706. frame.BackgroundColor3 = COLOR
  707. frame.BorderColor3 = BORDERCOLOR
  708. frame.Name = NAME
  709. frame.Parent = PARENT
  710. return frame
  711. end
  712.  
  713. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  714. local label = IT("TextLabel")
  715. label.BackgroundTransparency = 1
  716. label.Size = UD2(1, 0, 1, 0)
  717. label.Position = UD2(0, 0, 0, 0)
  718. label.TextColor3 = TEXTCOLOR
  719. label.TextStrokeTransparency = STROKETRANSPARENCY
  720. label.TextTransparency = TRANSPARENCY
  721. label.FontSize = TEXTFONTSIZE
  722. label.Font = TEXTFONT
  723. label.BorderSizePixel = BORDERSIZEPIXEL
  724. label.TextScaled = false
  725. label.Text = TEXT
  726. label.Name = NAME
  727. label.Parent = PARENT
  728. return label
  729. end
  730.  
  731. function NoOutlines(PART)
  732. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  733. end
  734.  
  735. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  736. local NEWWELD = IT(TYPE)
  737. NEWWELD.Part0 = PART0
  738. NEWWELD.Part1 = PART1
  739. NEWWELD.C0 = C0
  740. NEWWELD.C1 = C1
  741. NEWWELD.Parent = PARENT
  742. return NEWWELD
  743. end
  744.  
  745. local S = IT("Sound")
  746. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  747. local NEWSOUND = nil
  748. coroutine.resume(coroutine.create(function()
  749. NEWSOUND = S:Clone()
  750. NEWSOUND.Parent = PARENT
  751. NEWSOUND.Volume = VOLUME
  752. NEWSOUND.Pitch = PITCH
  753. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  754. NEWSOUND:play()
  755. if DOESLOOP == true then
  756. NEWSOUND.Looped = true
  757. else
  758. repeat wait(1) until NEWSOUND.Playing == false
  759. NEWSOUND:remove()
  760. end
  761. end))
  762. return NEWSOUND
  763. end
  764.  
  765. function CFrameFromTopBack(at, top, back)
  766. local right = top:Cross(back)
  767. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  768. end
  769.  
  770. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  771. function WACKYEFFECT(Table)
  772. local TYPE = (Table.EffectType or "Sphere")
  773. local SIZE = (Table.Size or VT(1,1,1))
  774. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  775. local TRANSPARENCY = (Table.Transparency or 0)
  776. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  777. local CFRAME = (Table.CFrame or Torso.CFrame)
  778. local MOVEDIRECTION = (Table.MoveToPos or nil)
  779. local ROTATION1 = (Table.RotationX or 0)
  780. local ROTATION2 = (Table.RotationY or 0)
  781. local ROTATION3 = (Table.RotationZ or 0)
  782. local MATERIAL = (Table.Material or "Neon")
  783. local COLOR = (Table.Color or C3(1,1,1))
  784. local TIME = (Table.Time or 45)
  785. local SOUNDID = (Table.SoundID or nil)
  786. local SOUNDPITCH = (Table.SoundPitch or nil)
  787. local SOUNDVOLUME = (Table.SoundVolume or nil)
  788. coroutine.resume(coroutine.create(function()
  789. local PLAYSSOUND = false
  790. local SOUND = nil
  791. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  792. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  793. PLAYSSOUND = true
  794. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  795. end
  796. EFFECT.Color = COLOR
  797. local MSH = nil
  798. if TYPE == "Sphere" then
  799. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  800. elseif TYPE == "Block" or TYPE == "Box" then
  801. MSH = IT("BlockMesh",EFFECT)
  802. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  803. elseif TYPE == "Wave" then
  804. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  805. elseif TYPE == "Crown" then
  806. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "173770780", "", SIZE, VT(0,0,0))
  807. end
  808. if MSH ~= nil then
  809. local MOVESPEED = nil
  810. if MOVEDIRECTION ~= nil then
  811. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  812. end
  813. local GROWTH = SIZE - ENDSIZE
  814. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  815. if TYPE == "Block" then
  816. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  817. else
  818. EFFECT.CFrame = CFRAME
  819. end
  820. for LOOP = 1, TIME+1 do
  821. Swait()
  822. MSH.Scale = MSH.Scale - GROWTH/TIME
  823. if TYPE == "Wave" then
  824. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  825. end
  826. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  827. if TYPE == "Block" then
  828. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  829. else
  830. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  831. end
  832. if MOVEDIRECTION ~= nil then
  833. local ORI = EFFECT.Orientation
  834. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  835. EFFECT.Orientation = ORI
  836. end
  837. end
  838. if PLAYSSOUND == false then
  839. EFFECT:remove()
  840. else
  841. repeat Swait() until SOUND.Playing == false
  842. EFFECT:remove()
  843. end
  844. else
  845. if PLAYSSOUND == false then
  846. EFFECT:remove()
  847. else
  848. repeat Swait() until SOUND.Playing == false
  849. EFFECT:remove()
  850. end
  851. end
  852. end))
  853. end
  854.  
  855. function MakeForm(PART,TYPE)
  856. if TYPE == "Cyl" then
  857. local MSH = IT("CylinderMesh",PART)
  858. elseif TYPE == "Ball" then
  859. local MSH = IT("SpecialMesh",PART)
  860. MSH.MeshType = "Sphere"
  861. elseif TYPE == "Wedge" then
  862. local MSH = IT("SpecialMesh",PART)
  863. MSH.MeshType = "Wedge"
  864. end
  865. end
  866.  
  867. Debris = game:GetService("Debris")
  868.  
  869. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  870. local DIRECTION = CF(StartPos,EndPos).lookVector
  871. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  872. end
  873.  
  874. function turnto(position)
  875. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  876. end
  877.  
  878. --//=================================\\
  879. --|| WEAPON CREATION
  880. --\\=================================//
  881.  
  882. for _, c in pairs(Character:GetChildren()) do
  883. if script:FindFirstChild(c.Name) then
  884. local Part = script[c.Name]
  885. Part.Parent = Character
  886. Part:SetPrimaryPartCFrame(c.CFrame)
  887. weldBetween(c,Part.Base)
  888. for _, e in pairs(Part:GetChildren()) do
  889. if e:IsA("BasePart") and e.Name ~= "Base" then
  890. e.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  891. e.Anchored = false
  892. weldBetween(c,e)
  893. e.CanCollide = false
  894. end
  895. end
  896. Part.Base:remove()
  897. end
  898. end
  899.  
  900. local STAFF = script.Staff
  901. local SWORD = script.Sword
  902. STAFF.Parent = Character
  903. SWORD.Parent = Character
  904. for _, e in pairs(Character:GetDescendants()) do
  905. if e:IsA("BasePart") then
  906. e.Anchored = false
  907. end
  908. end
  909.  
  910. local GRIP1 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, SWORD.Base, CF(0,-1,0), CF(0, 0, 0))
  911. local GRIP2 = CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, STAFF.Base, CF(0,-1,0), CF(0, 0, 0))
  912.  
  913. local SKILLTEXTCOLOR = C3(0,0,0)
  914. local SKILLFONT = "SciFi"
  915. local SKILLTEXTSIZE = 7
  916.  
  917. --//=================================\\
  918. --|| DAMAGING
  919. --\\=================================//
  920.  
  921. function ApplyDamage(Humanoid,Damage)
  922. Damage = Damage * DAMAGEMULTIPLIER
  923. if Humanoid.Health < 2000 then
  924. if Humanoid.Health - Damage > 0 then
  925. Humanoid.Health = Humanoid.Health - Damage
  926. else
  927. Humanoid.Parent:BreakJoints()
  928. end
  929. else
  930. Humanoid.Parent:BreakJoints()
  931. end
  932. end
  933.  
  934. function FREEZY(CHARACTER)
  935. if CHARACTER:FindFirstChild("FreezeTimer") then
  936. CHARACTER:FindFirstChild("FreezeTimer").Value = CHARACTER:FindFirstChild("FreezeTimer").Value + 3
  937. else
  938. coroutine.resume(coroutine.create(function()
  939. local ICES = {}
  940. for index, CHILD in pairs(CHARACTER:GetChildren()) do
  941. if CHILD:IsA("BasePart") and CHILD.Name ~= "Head" and CHILD.Name ~= "HumanoidRootPart" then
  942. local ICE = CreatePart(3, CHILD, "Ice", 0, 0.5, BRICKC("Fossil"), "Ice", CHILD.Size, false)
  943. table.insert(ICES,ICE)
  944. CreateWeldOrSnapOrMotor("Weld", CHILD, CHILD, ICE, CF(0,0,0) * ANGLES(RAD(MRANDOM(-25,25)), RAD(MRANDOM(0,360)), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(MRANDOM(-25,25))), CF(0, 0, 0))
  945. coroutine.resume(coroutine.create(function()
  946. wait()
  947. CHILD.Anchored = true
  948. end))
  949. elseif CHILD.Name == "Head" then
  950. local ICE = CreatePart(3, CHILD, "Ice", 0, 0.5, BRICKC("Fossil"), "Ice", VT(CHILD.Size.Y,CHILD.Size.Y,CHILD.Size.Y), false)
  951. table.insert(ICES,ICE)
  952. CreateWeldOrSnapOrMotor("Weld", CHILD, CHILD, ICE, CF(MRANDOM(-5,5)/15,MRANDOM(-5,5)/15,MRANDOM(-5,5)/15) * ANGLES(RAD(MRANDOM(-25,25)), RAD(MRANDOM(0,360)), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(MRANDOM(-25,25))), CF(0, 0, 0))
  953. coroutine.resume(coroutine.create(function()
  954. wait()
  955. CHILD.Anchored = true
  956. end))
  957. end
  958. end
  959. local TIMER = IT("NumberValue",CHARACTER)
  960. TIMER.Value = MRANDOM(4,6)
  961. TIMER.Name = "FreezeTimer"
  962. repeat
  963. wait(1)
  964. TIMER.Value = TIMER.Value - 1
  965. until TIMER.Value <= 0
  966. TIMER:remove()
  967. for i = 1, 45 do
  968. Swait()
  969. for E = 1, #ICES do
  970. ICES[E].Transparency = 0.5+(i/45)/2
  971. end
  972. end
  973. for E = 1, #ICES do
  974. ICES[E]:remove()
  975. end
  976. for index, CHILD in pairs(CHARACTER:GetChildren()) do
  977. if CHILD:IsA("BasePart") then
  978. CHILD.Anchored = false
  979. end
  980. end
  981. end))
  982. end
  983. end
  984.  
  985. function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL,FREEZE)
  986. local CHILDREN = workspace:GetDescendants()
  987. for index, CHILD in pairs(CHILDREN) do
  988. if CHILD.ClassName == "Model" and CHILD ~= Character then
  989. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  990. if HUM then
  991. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  992. if TORSO then
  993. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  994. if INSTAKILL == true then
  995. CHILD:BreakJoints()
  996. else
  997. local DMG = MRANDOM(MINDMG,MAXDMG)
  998. ApplyDamage(HUM,DMG,TORSO)
  999. end
  1000. if FREEZE == true and HUM.Health > 0 then
  1001. FREEZY(CHILD)
  1002. end
  1003. if FLING > 0 then
  1004. for _, c in pairs(CHILD:GetChildren()) do
  1005. if c:IsA("BasePart") then
  1006. local bv = Instance.new("BodyVelocity")
  1007. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1008. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  1009. bv.Parent = c
  1010. Debris:AddItem(bv,0.05)
  1011. end
  1012. end
  1013. end
  1014. end
  1015. end
  1016. end
  1017. end
  1018. end
  1019. end
  1020.  
  1021. function APPLYMELEE(PART,MINDMG,MAXDMG)
  1022. local HITS = {}
  1023. local TOUCH = PART.Touched:Connect(function(hit)
  1024. if hit.Parent:FindFirstChildOfClass("Humanoid") then
  1025. local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
  1026. local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
  1027. if TORSO and HUM.Health > 0 then
  1028. local PASS = true
  1029. for i = 1, #HITS do
  1030. if HITS[i] == hit.Parent then
  1031. PASS = false
  1032. end
  1033. end
  1034. table.insert(HITS,hit.Parent)
  1035. if PASS == true then
  1036. ApplyDamage(HUM,MRANDOM(MINDMG,MAXDMG),TORSO)
  1037. CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)],TORSO,2,MRANDOM(8,12)/10,false)
  1038. end
  1039. end
  1040. end
  1041. end)
  1042. return TOUCH
  1043. end
  1044.  
  1045. --//=================================\\
  1046. --|| ATTACK FUNCTIONS AND STUFF
  1047. --\\=================================//
  1048.  
  1049. function Teleport()
  1050. local SOUNDS = {468973380,468972711,468973225}
  1051. local HIT,TELE = Raycast(Mouse.Hit.p+VT(0,5,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 400, Character)
  1052. if HIT then
  1053. ATTACK = true
  1054. Rooted = true
  1055. coroutine.resume(coroutine.create(function()
  1056. repeat
  1057. Swait()
  1058. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1059. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1060. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
  1061. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 1 / Animation_Speed)
  1062. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1063. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1064. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1065. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1066. until ATTACK == false
  1067. end))
  1068. wait(0.2)
  1069. local WARPS = {}
  1070. TELE = TELE + VT(0,3,0)
  1071. SWORD.Sword.Teleport.Enabled = true
  1072. STAFF.Staff.Teleport.Enabled = true
  1073. local AIMING = VT(TELE.X,RootPart.Position.Y,TELE.Z)
  1074. for _, e in pairs(Character:GetChildren()) do
  1075. if e:IsA("BasePart") and e ~= RootPart then
  1076. e.Anchored = false
  1077. local BLOCK = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "Effect", e.Size, true)
  1078. local WARP = script.Teleport:Clone()
  1079. WARP.Parent = BLOCK
  1080. BLOCK.CFrame = CF(e.Position,TELE)
  1081. WARP.Enabled = true
  1082. table.insert(WARPS,{BLOCK,WARP})
  1083. end
  1084. end
  1085. wait(0.3)
  1086. CreateSound(SOUNDS[MRANDOM(1,#SOUNDS)], Torso, 5, MRANDOM(9,11)/10, false)
  1087. local POS = RootPart.Position
  1088. RootPart.CFrame = CF(TELE,VT(POS.X,TELE.Y,POS.Z))
  1089. for _, e in pairs(Character:GetChildren()) do
  1090. if e:IsA("BasePart") and e ~= RootPart then
  1091. e.Anchored = false
  1092. local BLOCK = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "Effect", e.Size, true)
  1093. local WARP = script.Teleport:Clone()
  1094. WARP.Parent = BLOCK
  1095. BLOCK.CFrame = e.CFrame
  1096. WARP.Speed = NumberRange.new(0)
  1097. WARP.Enabled = true
  1098. table.insert(WARPS,{BLOCK,WARP})
  1099. end
  1100. end
  1101. wait(0.1)
  1102. SWORD.Sword.Teleport.Enabled = false
  1103. STAFF.Staff.Teleport.Enabled = false
  1104. for E = 1, #WARPS do
  1105. local F = WARPS[E]
  1106. local A = F[1]
  1107. local B = F[2]
  1108. B.Enabled = false
  1109. Debris:AddItem(A,5)
  1110. end
  1111. ATTACK = false
  1112. Rooted = false
  1113. end
  1114. end
  1115.  
  1116. function Melee()
  1117. ATTACK = true
  1118. Rooted = false --468991880
  1119. local CHANCE = MRANDOM(1,3)
  1120. if CHANCE == 1 then
  1121. for i=0, 0.2, 0.1 / Animation_Speed do
  1122. Swait()
  1123. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1124. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1125. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-35)), 1 / Animation_Speed)
  1126. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  1127. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * ANGLES(RAD(0), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1128. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1129. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1130. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1131. end
  1132. local SWORDY = APPLYMELEE(SWORD.Sword,15,20)
  1133. SWORD.Sword.Trail.Enabled = true
  1134. CreateSound(468991880, RightArm, 5, MRANDOM(9,11)/10, false)
  1135. for i=0, 0.5, 0.1 / Animation_Speed do
  1136. Swait()
  1137. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
  1138. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1139. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(55)), 1 / Animation_Speed)
  1140. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-55)), 1 / Animation_Speed)
  1141. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-45)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1142. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(-42)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1143. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1144. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1145. end
  1146. SWORD.Sword.Trail.Enabled = false
  1147. SWORDY:Disconnect()
  1148. elseif CHANCE == 2 then
  1149. for i=0, 0.2, 0.1 / Animation_Speed do
  1150. Swait()
  1151. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(90), RAD(180), RAD(0)), 1 / Animation_Speed)
  1152. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1153. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
  1154. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
  1155. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-50)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1156. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(-42)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1157. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1158. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1159. end
  1160. local SWORDY = APPLYMELEE(SWORD.Sword,15,20)
  1161. SWORD.Sword.Trail.Enabled = true
  1162. CreateSound(468991880, RightArm, 5, MRANDOM(9,11)/10, false)
  1163. for i=0, 0.5, 0.1 / Animation_Speed do
  1164. Swait()
  1165. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(90), RAD(180), RAD(0)), 1 / Animation_Speed)
  1166. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1167. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  1168. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  1169. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(120)) * ANGLES(RAD(0), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1170. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1171. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1172. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1173. end
  1174. SWORD.Sword.Trail.Enabled = false
  1175. SWORDY:Disconnect()
  1176. elseif CHANCE == 3 then
  1177. for i=0, 0.2, 0.1 / Animation_Speed do
  1178. Swait()
  1179. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1180. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1181. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
  1182. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  1183. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1184. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1185. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1186. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1187. end
  1188. local SWORDY = APPLYMELEE(SWORD.Sword,15,20)
  1189. SWORD.Sword.Trail.Enabled = true
  1190. CreateSound(468991880, RightArm, 5, MRANDOM(9,11)/10, false)
  1191. for i=0, 0.5, 0.1 / Animation_Speed do
  1192. Swait()
  1193. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(55), RAD(0), RAD(0)), 1 / Animation_Speed)
  1194. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1195. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  1196. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
  1197. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.3) * ANGLES(RAD(22), RAD(0), RAD(-21)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1198. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1199. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1200. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1201. end
  1202. SWORD.Sword.Trail.Enabled = false
  1203. SWORDY:Disconnect()
  1204. end
  1205. ATTACK = false
  1206. Rooted = false
  1207. end
  1208.  
  1209. function SubZero()
  1210. ATTACK = true
  1211. Rooted = true
  1212. local CHARGE = false
  1213. local BLASTS = {468991944,468991990}
  1214. coroutine.resume(coroutine.create(function()
  1215. repeat
  1216. Swait()
  1217. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1218. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(50), RAD(0), RAD(0)), 1 / Animation_Speed)
  1219. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1220. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.15 / Animation_Speed)
  1221. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * ANGLES(RAD(0), RAD(-25), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1222. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(130), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1223. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1224. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1225. until CHARGE == true
  1226. end))
  1227. wait(0.2)
  1228. for i = 1, 4 do
  1229. WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(7,7,7), Transparency = 0, Transparency2 = 1, CFrame = CF(STAFF.Locator.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.5,0.5,1), SoundID = 461105330, SoundPitch = 1, SoundVolume = 1})
  1230. for e = 1, 25 do
  1231. Swait()
  1232. WACKYEFFECT({Time = 15, EffectType = "Box", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CF(STAFF.Locator.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))*CF(0,0,7) , MoveToPos = STAFF.Locator.Position, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.5,0.5,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1233. end
  1234. end
  1235. wait(0.2)
  1236. CHARGE = true
  1237. for i=0, 0.2, 0.1 / Animation_Speed do
  1238. Swait()
  1239. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1240. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(30), RAD(0), RAD(0)), 1 / Animation_Speed)
  1241. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1242. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(35)), 0.15 / Animation_Speed)
  1243. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * ANGLES(RAD(0), RAD(-25), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1244. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(160), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1245. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1246. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1247. end
  1248. for i=0, 0.3, 0.1 / Animation_Speed do
  1249. Swait()
  1250. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1251. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(50), RAD(0), RAD(0)), 1 / Animation_Speed)
  1252. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1253. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(35)), 0.15 / Animation_Speed)
  1254. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * ANGLES(RAD(0), RAD(-25), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1255. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1256. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1257. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1258. end
  1259. coroutine.resume(coroutine.create(function()
  1260. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1261. if HITFLOOR then
  1262. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(10,10,10), Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = CF(STAFF.Locator.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.5,0.5,1), SoundID = nil, SoundPitch = 1, SoundVolume = 1})
  1263. ApplyAoE(HITPOS,42,35,40,-2,false,true)
  1264. local ICES = {}
  1265. local ICE = CreatePart(3, Effects, "Ice", 0, 0, BRICKC("Fossil"), "Effect", VT(25,0.06,25), true)
  1266. MakeForm(ICE,"Cyl")
  1267. ICE.CFrame = CF(HITPOS)
  1268. table.insert(ICES,ICE)
  1269. CreateSound(BLASTS[MRANDOM(1,#BLASTS)], ICE, 5, MRANDOM(9,11)/10, false)
  1270. local ICE = CreatePart(3, Effects, "Ice", 0, 0.5, BRICKC("Fossil"), "Effect", VT(33,0,33), true)
  1271. MakeForm(ICE,"Cyl")
  1272. ICE.CFrame = CF(HITPOS)
  1273. table.insert(ICES,ICE)
  1274. for i = 1, 360 do
  1275. if MRANDOM(1,35) == 1 then
  1276. local ICESPIKE = IT("CornerWedgePart",Effects)
  1277. table.insert(ICES,ICESPIKE)
  1278. ICESPIKE.Anchored = true
  1279. ICESPIKE.Size = VT(6,MRANDOM(15,25),6)
  1280. ICESPIKE.Material = "Ice"
  1281. ICESPIKE.BrickColor = BRICKC("Fossil")
  1282. ICESPIKE.CanCollide =false
  1283. ICESPIKE.CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(i), RAD(0)) * CF(0,0,8) * ANGLES(RAD(35), RAD(MRANDOM(0,360)), RAD(0))
  1284. end
  1285. end
  1286. for i = 1, 360 do
  1287. if MRANDOM(1,50) == 1 then
  1288. local ICESPIKE = IT("CornerWedgePart",Effects)
  1289. table.insert(ICES,ICESPIKE)
  1290. ICESPIKE.Anchored = true
  1291. ICESPIKE.Size = VT(6,MRANDOM(20,35),6)
  1292. ICESPIKE.Material = "Ice"
  1293. ICESPIKE.BrickColor = BRICKC("Fossil")
  1294. ICESPIKE.CanCollide =false
  1295. ICESPIKE.CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(i), RAD(0)) * CF(0,0,15) * ANGLES(RAD(35), RAD(MRANDOM(0,360)), RAD(0))
  1296. end
  1297. end
  1298. for i = 1, 360 do
  1299. if MRANDOM(1,40) == 1 then
  1300. local ICESPIKE = IT("CornerWedgePart",Effects)
  1301. table.insert(ICES,ICESPIKE)
  1302. ICESPIKE.Anchored = true
  1303. ICESPIKE.Size = VT(6,MRANDOM(20,35),6)
  1304. ICESPIKE.Material = "Ice"
  1305. ICESPIKE.BrickColor = BRICKC("Fossil")
  1306. ICESPIKE.CanCollide =false
  1307. ICESPIKE.CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(i), RAD(0)) * CF(0,0,25) * ANGLES(RAD(35), RAD(MRANDOM(0,360)), RAD(0))
  1308. end
  1309. end
  1310. wait(5)
  1311. for i = 1, 45 do
  1312. Swait()
  1313. for E = 1, #ICES do
  1314. ICES[E].Transparency = i/45
  1315. end
  1316. end
  1317. for E = 1, #ICES do
  1318. ICES[E]:remove()
  1319. end
  1320. end
  1321. end))
  1322. for i=0, 0.7, 0.1 / Animation_Speed do
  1323. Swait()
  1324. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1325. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(50), RAD(0), RAD(0)), 1 / Animation_Speed)
  1326. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1327. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(35)), 0.15 / Animation_Speed)
  1328. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * ANGLES(RAD(0), RAD(-25), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1329. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1330. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1331. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1332. end
  1333. ATTACK = false
  1334. Rooted = false
  1335. end
  1336.  
  1337. function ShadowBlast()
  1338. ATTACK = true
  1339. Rooted = false
  1340. local GYRO = IT("BodyGyro",RootPart)
  1341. GYRO.D = 20
  1342. GYRO.P = 4000
  1343. GYRO.MaxTorque = VT(0,40000,0)
  1344. local FIRE = false
  1345. local BLASTS = {468992058,468992112}
  1346. coroutine.resume(coroutine.create(function()
  1347. repeat
  1348. if FIRE == false then
  1349. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1350. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1351. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  1352. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 1 / Animation_Speed)
  1353. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1354. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1355. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1356. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1357. end
  1358. GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  1359. Swait()
  1360. until ATTACK == false
  1361. GYRO:remove()
  1362. end))
  1363. local SHOOT = function()
  1364. FIRE = true
  1365. coroutine.resume(coroutine.create(function()
  1366. local BULLET = CreatePart(3, Effects, "Ice", 0, 1, BRICKC("Fossil"), "Effect", VT(0,0,0), true)
  1367. BULLET.CFrame = CF(STAFF.Locator.Position,Mouse.Hit.p)
  1368. local FIRE = script.Fire:Clone()
  1369. FIRE.Parent = BULLET
  1370. FIRE.Enabled = true
  1371. for i =1, 400 do
  1372. Swait()
  1373. local HIT,POS,NORMAL = Raycast(BULLET.Position,BULLET.CFrame.lookVector,1,Character)
  1374. if HIT then
  1375. ApplyAoE(POS,10,15,17,15,false,false)
  1376. FIRE.Enabled = false
  1377. WACKYEFFECT({Time = 55, EffectType = "Crown", Size = VT(0,0,0), Size2 = VT(11,8,11), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,POS+NORMAL) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 8, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = BLASTS[MRANDOM(1,#BLASTS)], SoundPitch = 1, SoundVolume = 2})
  1378. WACKYEFFECT({Time = 55, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(15,2,15), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,POS+NORMAL) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 1})
  1379. break
  1380. else
  1381. BULLET.CFrame = BULLET.CFrame * CF(0,0,-1)
  1382. end
  1383. end
  1384. Debris:AddItem(BULLET,5)
  1385. end))
  1386. for i=0, 0.4, 0.1 / Animation_Speed do
  1387. Swait()
  1388. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1389. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1390. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  1391. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 1 / Animation_Speed)
  1392. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1393. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-12)) * ANGLES(RAD(0), RAD(-50), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1394. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1395. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1396. end
  1397. FIRE = false
  1398. end
  1399. SHOOT()
  1400. local DOWN = Mouse.KeyDown:connect(function(KEY)
  1401. if KEY == "c" and FIRE == false then
  1402. SHOOT()
  1403. end
  1404. end)
  1405. while true do
  1406. repeat wait() until FIRE == false
  1407. for i = 1, 70 do
  1408. Swait()
  1409. if FIRE == true then
  1410. break
  1411. end
  1412. end
  1413. if FIRE == false then
  1414. ATTACK = false
  1415. Rooted = false
  1416. DOWN:Disconnect()
  1417. break
  1418. end
  1419. end
  1420. end
  1421.  
  1422. function Boost()
  1423. if DAMAGEMULTIPLIER == 1 then
  1424. ATTACK = true
  1425. Rooted = false
  1426. local AURAS = {}
  1427. for i=0, 0.7, 0.1 / Animation_Speed do
  1428. Swait()
  1429. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1430. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1431. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1432. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1433. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.4) * ANGLES(RAD(100), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1434. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.4) * ANGLES(RAD(100), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1435. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1436. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1437. end
  1438. CreateSound(468992291, Torso, 5, 1, false)
  1439. for index, CHILD in pairs(Character:GetDescendants()) do
  1440. if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" and CHILD.Parent ~= Effects and CHILD.ClassName ~= "UnionOperation" and CHILD.Parent ~= STAFF and CHILD.Parent ~= SWORD then
  1441. local AURA = CreatePart(3, CHILD, "Neon", 0, 0.75, BRICKC("Fossil"), "Aura", CHILD.Size*1.01, false)
  1442. AURA.Color = C3(0,0,0)
  1443. for index, MESH in pairs(Character:GetChildren()) do
  1444. if MESH.ClassName == "CharacterMesh" then
  1445. if MESH.BodyPart == Enum.BodyPart.Torso then
  1446. if CHILD == Torso then
  1447. CreateMesh("SpecialMesh", AURA, "FileMesh", MESH.MeshId, "", VT(1,1,1)*1.1, VT(0,0,0))
  1448. end
  1449. elseif MESH.BodyPart == Enum.BodyPart.RightArm then
  1450. if CHILD == RightArm then
  1451. CreateMesh("SpecialMesh", AURA, "FileMesh", MESH.MeshId, "", VT(1,1,1)*1.1, VT(0,0,0))
  1452. end
  1453. elseif MESH.BodyPart == Enum.BodyPart.LeftArm then
  1454. if CHILD == LeftArm then
  1455. CreateMesh("SpecialMesh", AURA, "FileMesh", MESH.MeshId, "", VT(1,1,1)*1.1, VT(0,0,0))
  1456. end
  1457. elseif MESH.BodyPart == Enum.BodyPart.RightLeg then
  1458. if CHILD == RightLeg then
  1459. CreateMesh("SpecialMesh", AURA, "FileMesh", MESH.MeshId, "", VT(1,1,1)*1.1, VT(0,0,0))
  1460. end
  1461. elseif MESH.BodyPart == Enum.BodyPart.LeftLeg then
  1462. if CHILD == LeftLeg then
  1463. CreateMesh("SpecialMesh", AURA, "FileMesh", MESH.MeshId, "", VT(1,1,1)*1.1, VT(0,0,0))
  1464. end
  1465. end
  1466. end
  1467. end
  1468. table.insert(AURAS,AURA)
  1469. CreateWeldOrSnapOrMotor("Weld", CHILD, CHILD, AURA, CF(0,0,0), CF(0, 0, 0))
  1470. if CHILD:FindFirstChildOfClass("SpecialMesh") then
  1471. local M = CHILD:FindFirstChildOfClass("SpecialMesh"):Clone()
  1472. M.Parent = AURA
  1473. M.TextureId = ""
  1474. end
  1475. end
  1476. end
  1477. DAMAGEMULTIPLIER = 2
  1478. Speed = 45
  1479. WACKYEFFECT({Time = 55, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(70,70,70), Transparency = 0, Transparency2 = 1, CFrame = CF(Torso.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 3})
  1480. for i=0, 1, 0.1 / Animation_Speed do
  1481. Swait()
  1482. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1483. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1484. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1485. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1486. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1487. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1488. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-7), RAD(0), RAD(0)), 1 / Animation_Speed)
  1489. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-7), RAD(0), RAD(0)), 1 / Animation_Speed)
  1490. end
  1491. coroutine.resume(coroutine.create(function()
  1492. wait(25)
  1493. repeat wait() until ATTACK == false
  1494. Speed = 35
  1495. DAMAGEMULTIPLIER = 1
  1496. for i = 1, 45 do
  1497. Swait()
  1498. for E = 1, #AURAS do
  1499. AURAS[E].Transparency = 0.75+(i/45)/4
  1500. end
  1501. end
  1502. for E = 1, #AURAS do
  1503. AURAS[E]:remove()
  1504. end
  1505. end))
  1506. ATTACK = false
  1507. Rooted = false
  1508. end
  1509. end
  1510.  
  1511. function IceBeam()
  1512. if DAMAGEMULTIPLIER == 2 then
  1513. ATTACK = true
  1514. Rooted = false
  1515. UNANCHOR = false
  1516. local CHARGES = {459523112,459523787}
  1517. local BLASTS = {468991944,468991990}
  1518. local AREA = RootPart.CFrame*CF(0,45,0)
  1519. for i=0, 1, 0.1 / Animation_Speed do
  1520. Swait()
  1521. RootPart.CFrame = Clerp(RootPart.CFrame,AREA,0.1)
  1522. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1523. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1524. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1525. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1526. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(100), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1527. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(100), RAD(0), RAD(35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1528. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1529. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.4, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1530. end
  1531. local ORB = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Fossil"), "IceBall", VT(2,2,2), true)
  1532. MakeForm(ORB,"Ball")
  1533. ORB.Color = C3(0.5,0.5,1)
  1534. CreateSound(CHARGES[MRANDOM(1,#CHARGES)], ORB, 5, 1, false)
  1535. for i = 1, 75 do
  1536. Swait()
  1537. ORB.Size = ORB.Size + VT(0.2,0.2,0.2)
  1538. ORB.Transparency = ORB.Transparency - 1/75
  1539. end
  1540. for i = 1, 6 do
  1541. WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = CF(ORB.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.5,0.5,1), SoundID = 461105330, SoundPitch = 1, SoundVolume = 1})
  1542. for e = 1, 25 do
  1543. Swait()
  1544. WACKYEFFECT({Time = 15, EffectType = "Box", Size = VT(2,2,2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CF(ORB.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))*CF(0,0,25) , MoveToPos = STAFF.Locator.Position, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.5,0.5,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1545. end
  1546. end
  1547. wait(0.2)
  1548. WACKYEFFECT({Time = 55, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(70,70,70), Transparency = 0, Transparency2 = 1, CFrame = CF(Torso.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.5,0.5,1), SoundID = BLASTS[MRANDOM(1,#BLASTS)], SoundPitch = 1, SoundVolume = 3})
  1549. local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Fossil"), "BeamOfIce", VT(0,0,0), true)
  1550. local CORE = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Fossil"), "Ice", VT(10,10,10), true)
  1551. BEAM.Color = C3(0.5,0.5,1)
  1552. CORE.Color = C3(0.5,0.5,1)
  1553. MakeForm(BEAM,"Cyl")
  1554. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 1000, Character)
  1555. local SPOT = CF(HITPOS)
  1556. CreateSound(487184062, CORE, 10, 0.7, true)
  1557. local FLAKES = script.Snowflakes:Clone()
  1558. FLAKES.Parent = BEAM
  1559. FLAKES.Enabled = true
  1560. for i = 1, 1200 do
  1561. Swait()
  1562. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, 1000, Character)
  1563. SPOT = Clerp(SPOT, CF(HITPOS), 0.025)
  1564. local DISTANCE = (SPOT.p - ORB.Position).Magnitude
  1565. BEAM.Size = VT(6,DISTANCE+5,6)
  1566. BEAM.CFrame = CF(ORB.Position,SPOT.p)*CF(0,0,-DISTANCE/2) * ANGLES(RAD(90), RAD(0), RAD(0))
  1567. ApplyAoE(SPOT.p,7,1,1,0,false,true)
  1568. CORE.CFrame = SPOT * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
  1569. end
  1570. CORE:remove()
  1571. BEAM:remove()
  1572. coroutine.resume(coroutine.create(function()
  1573. for i = 1, 75 do
  1574. Swait()
  1575. ORB.Size = ORB.Size - VT(0.2,0.2,0.2)
  1576. ORB.Transparency = ORB.Transparency + 1/75
  1577. end
  1578. ORB:remove()
  1579. end))
  1580. UNANCHOR = true
  1581. ATTACK = false
  1582. Rooted = false
  1583. end
  1584. end
  1585.  
  1586. --//=================================\\
  1587. --|| ASSIGN THINGS TO KEYS
  1588. --\\=================================//
  1589.  
  1590. function MouseDown(Mouse)
  1591. if ATTACK == false then
  1592. Melee()
  1593. end
  1594. end
  1595.  
  1596. function MouseUp(Mouse)
  1597. HOLD = false
  1598. end
  1599.  
  1600. function KeyDown(Key)
  1601. KEYHOLD = true
  1602. if Key == "z" and ATTACK == false then
  1603. Teleport()
  1604. end
  1605.  
  1606. if Key == "b" and ATTACK == false then
  1607. SubZero()
  1608. end
  1609.  
  1610. if Key == "c" and ATTACK == false then
  1611. ShadowBlast()
  1612. end
  1613.  
  1614. if Key == "v" and ATTACK == false then
  1615. Boost()
  1616. end
  1617.  
  1618. if Key == "x" and ATTACK == false then
  1619. IceBeam()
  1620. end
  1621.  
  1622. if Key == "t" then
  1623. CreateSound(468971411, Torso, 10, 1, false)
  1624. end
  1625. end
  1626.  
  1627. function KeyUp(Key)
  1628. KEYHOLD = false
  1629. end
  1630.  
  1631. Mouse.Button1Down:connect(function(NEWKEY)
  1632. MouseDown(NEWKEY)
  1633. end)
  1634. Mouse.Button1Up:connect(function(NEWKEY)
  1635. MouseUp(NEWKEY)
  1636. end)
  1637. Mouse.KeyDown:connect(function(NEWKEY)
  1638. KeyDown(NEWKEY)
  1639. end)
  1640. Mouse.KeyUp:connect(function(NEWKEY)
  1641. KeyUp(NEWKEY)
  1642. end)
  1643.  
  1644. --//=================================\\
  1645. --\\=================================//
  1646.  
  1647. function unanchor()
  1648. for _, c in pairs(Character:GetChildren()) do
  1649. if c:IsA("BasePart") and c ~= RootPart then
  1650. c.Anchored = false
  1651. end
  1652. end
  1653. if UNANCHOR == true then
  1654. RootPart.Anchored = false
  1655. else
  1656. RootPart.Anchored = true
  1657. end
  1658. end
  1659.  
  1660. --//=================================\\
  1661. --|| WRAP THE WHOLE SCRIPT UP
  1662. --\\=================================//
  1663.  
  1664. Humanoid.Changed:connect(function(Jump)
  1665. if Jump == "Jump" and (Disable_Jump == true) then
  1666. Humanoid.Jump = false
  1667. end
  1668. end)
  1669.  
  1670. while true do
  1671. Swait()
  1672. script.Parent = WEAPONGUI
  1673. ANIMATE.Parent = nil
  1674. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1675. v:Stop();
  1676. end
  1677. SINE = SINE + CHANGE
  1678. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1679. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1680. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1681. local WALKSPEEDVALUE = 6.5
  1682. if ATTACK == false then
  1683. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1684. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1685. end
  1686. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1687. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 / Animation_Speed)
  1688. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 2 / Animation_Speed)
  1689. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2- 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(50 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
  1690. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(50 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
  1691. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1692. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1693. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1694. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1695. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1696. end
  1697. if HITFLOOR == nil then
  1698. ANIM = "Jump"
  1699. if ATTACK == false then
  1700. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1701. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1702. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(25 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1703. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-25 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1704. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1705. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1706. end
  1707. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1708. ANIM = "Idle"
  1709. if ATTACK == false then
  1710. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
  1711. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 1 / Animation_Speed)
  1712. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1713. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1714. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.1) * ANGLES(RAD(5), RAD(80), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1715. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1716. end
  1717. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1718. ANIM = "Walk"
  1719. if ATTACK == false then
  1720. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(5), RAD(0), RAD(-10*COS(SINE / (WALKSPEEDVALUE)))), 1 / Animation_Speed)
  1721. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(10*COS(SINE / (WALKSPEEDVALUE)))), 1 / Animation_Speed)
  1722. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(-25), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1723. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-20)) * ANGLES(RAD(0), RAD(25), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1724. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  1725. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  1726. end
  1727. end
  1728. unanchor()
  1729. Humanoid.MaxHealth = 5e7
  1730. Humanoid.Health = 5e7
  1731. if Rooted == false then
  1732. Disable_Jump = false
  1733. Humanoid.WalkSpeed = Speed
  1734. elseif Rooted == true then
  1735. Disable_Jump = true
  1736. Humanoid.WalkSpeed = 0
  1737. end
  1738. if Head:FindFirstChildOfClass("Decal") then
  1739. Head:FindFirstChildOfClass("Decal"):remove()
  1740. end
  1741. sick.SoundId = "rbxassetid://502023014"
  1742. sick.Looped = true
  1743. sick.Pitch = 1
  1744. sick.Volume = 2
  1745. sick.Playing = true
  1746. sick.Parent = Torso
  1747. end
  1748.  
  1749. --//=================================\\
  1750. --\\=================================//
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756. --//====================================================\\--
  1757. --|| END OF SCRIPT
  1758. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement