Advertisement
Christoffer07700Extr

Zythian

Jul 1st, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 57.56 KB | None | 0 0
  1. --//====================================================\\--
  2. --|| CREATED BY SHACKLUSTER
  3. --\\====================================================//--
  4.  
  5. wait(0.2)
  6.  
  7. Player = game:GetService("Players").LocalPlayer
  8. PlayerGui = Player.PlayerGui
  9. Cam = workspace.CurrentCamera
  10. Backpack = Player.Backpack
  11. Character = Player.Character
  12. Humanoid = Character.Humanoid
  13. Mouse = Player:GetMouse()
  14. RootPart = Character["HumanoidRootPart"]
  15. Torso = Character["Torso"]
  16. Head = Character["Head"]
  17. RightArm = Character["Right Arm"]
  18. LeftArm = Character["Left Arm"]
  19. RightLeg = Character["Right Leg"]
  20. LeftLeg = Character["Left Leg"]
  21. RootJoint = RootPart["RootJoint"]
  22. Neck = Torso["Neck"]
  23. RightShoulder = Torso["Right Shoulder"]
  24. LeftShoulder = Torso["Left Shoulder"]
  25. RightHip = Torso["Right Hip"]
  26. LeftHip = Torso["Left Hip"]
  27. local sick = Instance.new("Sound",Character)
  28.  
  29. IT = Instance.new
  30. CF = CFrame.new
  31. VT = Vector3.new
  32. RAD = math.rad
  33. C3 = Color3.new
  34. UD2 = UDim2.new
  35. BRICKC = BrickColor.new
  36. ANGLES = CFrame.Angles
  37. EULER = CFrame.fromEulerAnglesXYZ
  38. COS = math.cos
  39. ACOS = math.acos
  40. SIN = math.sin
  41. ASIN = math.asin
  42. ABS = math.abs
  43. MRANDOM = math.random
  44. FLOOR = math.floor
  45.  
  46. --//=================================\\
  47. --|| USEFUL VALUES
  48. --\\=================================//
  49.  
  50. Animation_Speed = 3
  51. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  52. local Speed = 35
  53. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  54. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  55. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  56. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  57. local DAMAGEMULTIPLIER = 1
  58. local ANIM = "Idle"
  59. local ATTACK = false
  60. local EQUIPPED = false
  61. local HOLD = false
  62. local COMBO = 1
  63. local Rooted = false
  64. local SINE = 0
  65. local KEYHOLD = false
  66. local CHANGE = 2 / Animation_Speed
  67. local WALKINGANIM = false
  68. local VALUE1 = false
  69. local VALUE2 = false
  70. local ROBLOXIDLEANIMATION = IT("Animation")
  71. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  72. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  73. --ROBLOXIDLEANIMATION.Parent = Humanoid
  74. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  75. WEAPONGUI.Name = "Weapon GUI"
  76. local Effects = IT("Folder", Character)
  77. Effects.Name = "Effects"
  78. local ANIMATOR = Humanoid.Animator
  79. local ANIMATE = Character.Animate
  80. local UNANCHOR = true
  81. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  82.  
  83. --//=================================\\
  84. --\\=================================//
  85.  
  86.  
  87. --//=================================\\
  88. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  89. --\\=================================//
  90.  
  91. ArtificialHB = Instance.new("BindableEvent", script)
  92. ArtificialHB.Name = "ArtificialHB"
  93.  
  94. script:WaitForChild("ArtificialHB")
  95.  
  96. frame = Frame_Speed
  97. tf = 0
  98. allowframeloss = false
  99. tossremainder = false
  100. lastframe = tick()
  101. script.ArtificialHB:Fire()
  102.  
  103. game:GetService("RunService").Heartbeat:connect(function(s, p)
  104. tf = tf + s
  105. if tf >= frame then
  106. if allowframeloss then
  107. script.ArtificialHB:Fire()
  108. lastframe = tick()
  109. else
  110. for i = 1, math.floor(tf / frame) do
  111. script.ArtificialHB:Fire()
  112. end
  113. lastframe = tick()
  114. end
  115. if tossremainder then
  116. tf = 0
  117. else
  118. tf = tf - frame * math.floor(tf / frame)
  119. end
  120. end
  121. end)
  122.  
  123. --//=================================\\
  124. --\\=================================//
  125.  
  126. --//=================================\\
  127. --|| SOME FUNCTIONS
  128. --\\=================================//
  129.  
  130. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  131. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  132. end
  133.  
  134. function PositiveAngle(NUMBER)
  135. if NUMBER >= 0 then
  136. NUMBER = 0
  137. end
  138. return NUMBER
  139. end
  140.  
  141. function NegativeAngle(NUMBER)
  142. if NUMBER <= 0 then
  143. NUMBER = 0
  144. end
  145. return NUMBER
  146. end
  147.  
  148. function Swait(NUMBER)
  149. if NUMBER == 0 or NUMBER == nil then
  150. ArtificialHB.Event:wait()
  151. else
  152. for i = 1, NUMBER do
  153. ArtificialHB.Event:wait()
  154. end
  155. end
  156. end
  157.  
  158. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  159. local NEWMESH = IT(MESH)
  160. if MESH == "SpecialMesh" then
  161. NEWMESH.MeshType = MESHTYPE
  162. if MESHID ~= "nil" and MESHID ~= "" then
  163. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  164. end
  165. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  166. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  167. end
  168. end
  169. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  170. NEWMESH.Scale = SCALE
  171. NEWMESH.Parent = PARENT
  172. return NEWMESH
  173. end
  174.  
  175. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  176. local NEWPART = IT("Part")
  177. NEWPART.formFactor = FORMFACTOR
  178. NEWPART.Reflectance = REFLECTANCE
  179. NEWPART.Transparency = TRANSPARENCY
  180. NEWPART.CanCollide = false
  181. NEWPART.Locked = true
  182. NEWPART.Anchored = true
  183. if ANCHOR == false then
  184. NEWPART.Anchored = false
  185. end
  186. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  187. NEWPART.Name = NAME
  188. NEWPART.Size = SIZE
  189. NEWPART.Position = Torso.Position
  190. NEWPART.Material = MATERIAL
  191. NEWPART:BreakJoints()
  192. NEWPART.Parent = PARENT
  193. return NEWPART
  194. end
  195.  
  196. local function weldBetween(a, b)
  197. local weldd = Instance.new("ManualWeld")
  198. weldd.Part0 = a
  199. weldd.Part1 = b
  200. weldd.C0 = CFrame.new()
  201. weldd.C1 = b.CFrame:inverse() * a.CFrame
  202. weldd.Parent = a
  203. return weldd
  204. end
  205.  
  206.  
  207. function QuaternionFromCFrame(cf)
  208. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  209. local trace = m00 + m11 + m22
  210. if trace > 0 then
  211. local s = math.sqrt(1 + trace)
  212. local recip = 0.5 / s
  213. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  214. else
  215. local i = 0
  216. if m11 > m00 then
  217. i = 1
  218. end
  219. if m22 > (i == 0 and m00 or m11) then
  220. i = 2
  221. end
  222. if i == 0 then
  223. local s = math.sqrt(m00 - m11 - m22 + 1)
  224. local recip = 0.5 / s
  225. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  226. elseif i == 1 then
  227. local s = math.sqrt(m11 - m22 - m00 + 1)
  228. local recip = 0.5 / s
  229. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  230. elseif i == 2 then
  231. local s = math.sqrt(m22 - m00 - m11 + 1)
  232. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  233. end
  234. end
  235. end
  236.  
  237. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  238. local xs, ys, zs = x + x, y + y, z + z
  239. local wx, wy, wz = w * xs, w * ys, w * zs
  240. local xx = x * xs
  241. local xy = x * ys
  242. local xz = x * zs
  243. local yy = y * ys
  244. local yz = y * zs
  245. local zz = z * zs
  246. 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))
  247. end
  248.  
  249. function QuaternionSlerp(a, b, t)
  250. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  251. local startInterp, finishInterp;
  252. if cosTheta >= 0.0001 then
  253. if (1 - cosTheta) > 0.0001 then
  254. local theta = ACOS(cosTheta)
  255. local invSinTheta = 1 / SIN(theta)
  256. startInterp = SIN((1 - t) * theta) * invSinTheta
  257. finishInterp = SIN(t * theta) * invSinTheta
  258. else
  259. startInterp = 1 - t
  260. finishInterp = t
  261. end
  262. else
  263. if (1 + cosTheta) > 0.0001 then
  264. local theta = ACOS(-cosTheta)
  265. local invSinTheta = 1 / SIN(theta)
  266. startInterp = SIN((t - 1) * theta) * invSinTheta
  267. finishInterp = SIN(t * theta) * invSinTheta
  268. else
  269. startInterp = t - 1
  270. finishInterp = t
  271. end
  272. end
  273. 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
  274. end
  275.  
  276. function Clerp(a, b, t)
  277. local qa = {QuaternionFromCFrame(a)}
  278. local qb = {QuaternionFromCFrame(b)}
  279. local ax, ay, az = a.x, a.y, a.z
  280. local bx, by, bz = b.x, b.y, b.z
  281. local _t = 1 - t
  282. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  283. end
  284.  
  285. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  286. local frame = IT("Frame")
  287. frame.BackgroundTransparency = TRANSPARENCY
  288. frame.BorderSizePixel = BORDERSIZEPIXEL
  289. frame.Position = POSITION
  290. frame.Size = SIZE
  291. frame.BackgroundColor3 = COLOR
  292. frame.BorderColor3 = BORDERCOLOR
  293. frame.Name = NAME
  294. frame.Parent = PARENT
  295. return frame
  296. end
  297.  
  298. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  299. local label = IT("TextLabel")
  300. label.BackgroundTransparency = 1
  301. label.Size = UD2(1, 0, 1, 0)
  302. label.Position = UD2(0, 0, 0, 0)
  303. label.TextColor3 = TEXTCOLOR
  304. label.TextStrokeTransparency = STROKETRANSPARENCY
  305. label.TextTransparency = TRANSPARENCY
  306. label.FontSize = TEXTFONTSIZE
  307. label.Font = TEXTFONT
  308. label.BorderSizePixel = BORDERSIZEPIXEL
  309. label.TextScaled = false
  310. label.Text = TEXT
  311. label.Name = NAME
  312. label.Parent = PARENT
  313. return label
  314. end
  315.  
  316. function NoOutlines(PART)
  317. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  318. end
  319.  
  320. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  321. local NEWWELD = IT(TYPE)
  322. NEWWELD.Part0 = PART0
  323. NEWWELD.Part1 = PART1
  324. NEWWELD.C0 = C0
  325. NEWWELD.C1 = C1
  326. NEWWELD.Parent = PARENT
  327. return NEWWELD
  328. end
  329.  
  330. local S = IT("Sound")
  331. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  332. local NEWSOUND = nil
  333. coroutine.resume(coroutine.create(function()
  334. NEWSOUND = S:Clone()
  335. NEWSOUND.Parent = PARENT
  336. NEWSOUND.Volume = VOLUME
  337. NEWSOUND.Pitch = PITCH
  338. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  339. NEWSOUND:play()
  340. if DOESLOOP == true then
  341. NEWSOUND.Looped = true
  342. else
  343. repeat wait(1) until NEWSOUND.Playing == false
  344. NEWSOUND:remove()
  345. end
  346. end))
  347. return NEWSOUND
  348. end
  349.  
  350. function CFrameFromTopBack(at, top, back)
  351. local right = top:Cross(back)
  352. 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)
  353. end
  354.  
  355. --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})
  356. function WACKYEFFECT(Table)
  357. local TYPE = (Table.EffectType or "Sphere")
  358. local SIZE = (Table.Size or VT(1,1,1))
  359. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  360. local TRANSPARENCY = (Table.Transparency or 0)
  361. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  362. local CFRAME = (Table.CFrame or Torso.CFrame)
  363. local MOVEDIRECTION = (Table.MoveToPos or nil)
  364. local ROTATION1 = (Table.RotationX or 0)
  365. local ROTATION2 = (Table.RotationY or 0)
  366. local ROTATION3 = (Table.RotationZ or 0)
  367. local MATERIAL = (Table.Material or "Neon")
  368. local COLOR = (Table.Color or C3(1,1,1))
  369. local TIME = (Table.Time or 45)
  370. local SOUNDID = (Table.SoundID or nil)
  371. local SOUNDPITCH = (Table.SoundPitch or nil)
  372. local SOUNDVOLUME = (Table.SoundVolume or nil)
  373. coroutine.resume(coroutine.create(function()
  374. local PLAYSSOUND = false
  375. local SOUND = nil
  376. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  377. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  378. PLAYSSOUND = true
  379. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  380. end
  381. EFFECT.Color = COLOR
  382. local MSH = nil
  383. if TYPE == "Sphere" then
  384. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  385. elseif TYPE == "Block" or TYPE == "Box" then
  386. MSH = IT("BlockMesh",EFFECT)
  387. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  388. elseif TYPE == "Wave" then
  389. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  390. elseif TYPE == "Crown" then
  391. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "173770780", "", SIZE, VT(0,0,0))
  392. end
  393. if MSH ~= nil then
  394. local MOVESPEED = nil
  395. if MOVEDIRECTION ~= nil then
  396. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  397. end
  398. local GROWTH = SIZE - ENDSIZE
  399. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  400. if TYPE == "Block" then
  401. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  402. else
  403. EFFECT.CFrame = CFRAME
  404. end
  405. for LOOP = 1, TIME+1 do
  406. Swait()
  407. MSH.Scale = MSH.Scale - GROWTH/TIME
  408. if TYPE == "Wave" then
  409. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  410. end
  411. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  412. if TYPE == "Block" then
  413. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  414. else
  415. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  416. end
  417. if MOVEDIRECTION ~= nil then
  418. local ORI = EFFECT.Orientation
  419. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  420. EFFECT.Orientation = ORI
  421. end
  422. end
  423. if PLAYSSOUND == false then
  424. EFFECT:remove()
  425. else
  426. repeat Swait() until SOUND.Playing == false
  427. EFFECT:remove()
  428. end
  429. else
  430. if PLAYSSOUND == false then
  431. EFFECT:remove()
  432. else
  433. repeat Swait() until SOUND.Playing == false
  434. EFFECT:remove()
  435. end
  436. end
  437. end))
  438. end
  439.  
  440. function MakeForm(PART,TYPE)
  441. if TYPE == "Cyl" then
  442. local MSH = IT("CylinderMesh",PART)
  443. elseif TYPE == "Ball" then
  444. local MSH = IT("SpecialMesh",PART)
  445. MSH.MeshType = "Sphere"
  446. elseif TYPE == "Wedge" then
  447. local MSH = IT("SpecialMesh",PART)
  448. MSH.MeshType = "Wedge"
  449. end
  450. end
  451.  
  452. Debris = game:GetService("Debris")
  453.  
  454. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  455. local DIRECTION = CF(StartPos,EndPos).lookVector
  456. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  457. end
  458.  
  459. function turnto(position)
  460. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  461. end
  462.  
  463. --//=================================\\
  464. --|| WEAPON CREATION
  465. --\\=================================//
  466.  
  467. for _, c in pairs(Character:GetChildren()) do
  468. if script:FindFirstChild(c.Name) then
  469. local Part = script[c.Name]
  470. Part.Parent = Character
  471. Part:SetPrimaryPartCFrame(c.CFrame)
  472. weldBetween(c,Part.Base)
  473. for _, e in pairs(Part:GetChildren()) do
  474. if e:IsA("BasePart") and e.Name ~= "Base" then
  475. e.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  476. e.Anchored = false
  477. weldBetween(c,e)
  478. e.CanCollide = false
  479. end
  480. end
  481. Part.Base:remove()
  482. end
  483. end
  484.  
  485. local STAFF = script.Staff
  486. local SWORD = script.Sword
  487. STAFF.Parent = Character
  488. SWORD.Parent = Character
  489. for _, e in pairs(Character:GetDescendants()) do
  490. if e:IsA("BasePart") then
  491. e.Anchored = false
  492. end
  493. end
  494.  
  495. local GRIP1 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, SWORD.Base, CF(0,-1,0), CF(0, 0, 0))
  496. local GRIP2 = CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, STAFF.Base, CF(0,-1,0), CF(0, 0, 0))
  497.  
  498. local SKILLTEXTCOLOR = C3(0,0,0)
  499. local SKILLFONT = "SciFi"
  500. local SKILLTEXTSIZE = 7
  501.  
  502. --//=================================\\
  503. --|| DAMAGING
  504. --\\=================================//
  505.  
  506. function ApplyDamage(Humanoid,Damage)
  507. Damage = Damage * DAMAGEMULTIPLIER
  508. if Humanoid.Health < 2000 then
  509. if Humanoid.Health - Damage > 0 then
  510. Humanoid.Health = Humanoid.Health - Damage
  511. else
  512. Humanoid.Parent:BreakJoints()
  513. end
  514. else
  515. Humanoid.Parent:BreakJoints()
  516. end
  517. end
  518.  
  519. function FREEZY(CHARACTER)
  520. if CHARACTER:FindFirstChild("FreezeTimer") then
  521. CHARACTER:FindFirstChild("FreezeTimer").Value = CHARACTER:FindFirstChild("FreezeTimer").Value + 3
  522. else
  523. coroutine.resume(coroutine.create(function()
  524. local ICES = {}
  525. for index, CHILD in pairs(CHARACTER:GetChildren()) do
  526. if CHILD:IsA("BasePart") and CHILD.Name ~= "Head" and CHILD.Name ~= "HumanoidRootPart" then
  527. local ICE = CreatePart(3, CHILD, "Ice", 0, 0.5, BRICKC("Fossil"), "Ice", CHILD.Size, false)
  528. table.insert(ICES,ICE)
  529. 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))
  530. coroutine.resume(coroutine.create(function()
  531. wait()
  532. CHILD.Anchored = true
  533. end))
  534. elseif CHILD.Name == "Head" then
  535. local ICE = CreatePart(3, CHILD, "Ice", 0, 0.5, BRICKC("Fossil"), "Ice", VT(CHILD.Size.Y,CHILD.Size.Y,CHILD.Size.Y), false)
  536. table.insert(ICES,ICE)
  537. 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))
  538. coroutine.resume(coroutine.create(function()
  539. wait()
  540. CHILD.Anchored = true
  541. end))
  542. end
  543. end
  544. local TIMER = IT("NumberValue",CHARACTER)
  545. TIMER.Value = MRANDOM(4,6)
  546. TIMER.Name = "FreezeTimer"
  547. repeat
  548. wait(1)
  549. TIMER.Value = TIMER.Value - 1
  550. until TIMER.Value <= 0
  551. TIMER:remove()
  552. for i = 1, 45 do
  553. Swait()
  554. for E = 1, #ICES do
  555. ICES[E].Transparency = 0.5+(i/45)/2
  556. end
  557. end
  558. for E = 1, #ICES do
  559. ICES[E]:remove()
  560. end
  561. for index, CHILD in pairs(CHARACTER:GetChildren()) do
  562. if CHILD:IsA("BasePart") then
  563. CHILD.Anchored = false
  564. end
  565. end
  566. end))
  567. end
  568. end
  569.  
  570. function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL,FREEZE)
  571. local CHILDREN = workspace:GetDescendants()
  572. for index, CHILD in pairs(CHILDREN) do
  573. if CHILD.ClassName == "Model" and CHILD ~= Character then
  574. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  575. if HUM then
  576. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  577. if TORSO then
  578. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  579. if INSTAKILL == true then
  580. CHILD:BreakJoints()
  581. else
  582. local DMG = MRANDOM(MINDMG,MAXDMG)
  583. ApplyDamage(HUM,DMG,TORSO)
  584. end
  585. if FREEZE == true and HUM.Health > 0 then
  586. FREEZY(CHILD)
  587. end
  588. if FLING > 0 then
  589. for _, c in pairs(CHILD:GetChildren()) do
  590. if c:IsA("BasePart") then
  591. local bv = Instance.new("BodyVelocity")
  592. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  593. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  594. bv.Parent = c
  595. Debris:AddItem(bv,0.05)
  596. end
  597. end
  598. end
  599. end
  600. end
  601. end
  602. end
  603. end
  604. end
  605.  
  606. function APPLYMELEE(PART,MINDMG,MAXDMG)
  607. local HITS = {}
  608. local TOUCH = PART.Touched:Connect(function(hit)
  609. if hit.Parent:FindFirstChildOfClass("Humanoid") then
  610. local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
  611. local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
  612. if TORSO and HUM.Health > 0 then
  613. local PASS = true
  614. for i = 1, #HITS do
  615. if HITS[i] == hit.Parent then
  616. PASS = false
  617. end
  618. end
  619. table.insert(HITS,hit.Parent)
  620. if PASS == true then
  621. ApplyDamage(HUM,MRANDOM(MINDMG,MAXDMG),TORSO)
  622. CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)],TORSO,2,MRANDOM(8,12)/10,false)
  623. end
  624. end
  625. end
  626. end)
  627. return TOUCH
  628. end
  629.  
  630. --//=================================\\
  631. --|| ATTACK FUNCTIONS AND STUFF
  632. --\\=================================//
  633.  
  634. function Teleport()
  635. local SOUNDS = {468973380,468972711,468973225}
  636. local HIT,TELE = Raycast(Mouse.Hit.p+VT(0,5,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 400, Character)
  637. if HIT then
  638. ATTACK = true
  639. Rooted = true
  640. coroutine.resume(coroutine.create(function()
  641. repeat
  642. Swait()
  643. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  644. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  645. 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)
  646. 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)
  647. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  648. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  649. 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)
  650. 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)
  651. until ATTACK == false
  652. end))
  653. wait(0.2)
  654. local WARPS = {}
  655. TELE = TELE + VT(0,3,0)
  656. SWORD.Sword.Teleport.Enabled = true
  657. STAFF.Staff.Teleport.Enabled = true
  658. local AIMING = VT(TELE.X,RootPart.Position.Y,TELE.Z)
  659. for _, e in pairs(Character:GetChildren()) do
  660. if e:IsA("BasePart") and e ~= RootPart then
  661. e.Anchored = false
  662. local BLOCK = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "Effect", e.Size, true)
  663. local WARP = script.Teleport:Clone()
  664. WARP.Parent = BLOCK
  665. BLOCK.CFrame = CF(e.Position,TELE)
  666. WARP.Enabled = true
  667. table.insert(WARPS,{BLOCK,WARP})
  668. end
  669. end
  670. wait(0.3)
  671. CreateSound(SOUNDS[MRANDOM(1,#SOUNDS)], Torso, 5, MRANDOM(9,11)/10, false)
  672. local POS = RootPart.Position
  673. RootPart.CFrame = CF(TELE,VT(POS.X,TELE.Y,POS.Z))
  674. for _, e in pairs(Character:GetChildren()) do
  675. if e:IsA("BasePart") and e ~= RootPart then
  676. e.Anchored = false
  677. local BLOCK = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "Effect", e.Size, true)
  678. local WARP = script.Teleport:Clone()
  679. WARP.Parent = BLOCK
  680. BLOCK.CFrame = e.CFrame
  681. WARP.Speed = NumberRange.new(0)
  682. WARP.Enabled = true
  683. table.insert(WARPS,{BLOCK,WARP})
  684. end
  685. end
  686. wait(0.1)
  687. SWORD.Sword.Teleport.Enabled = false
  688. STAFF.Staff.Teleport.Enabled = false
  689. for E = 1, #WARPS do
  690. local F = WARPS[E]
  691. local A = F[1]
  692. local B = F[2]
  693. B.Enabled = false
  694. Debris:AddItem(A,5)
  695. end
  696. ATTACK = false
  697. Rooted = false
  698. end
  699. end
  700.  
  701. function Melee()
  702. ATTACK = true
  703. Rooted = false --468991880
  704. local CHANCE = MRANDOM(1,3)
  705. if CHANCE == 1 then
  706. for i=0, 0.2, 0.1 / Animation_Speed do
  707. Swait()
  708. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  709. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  710. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-35)), 1 / Animation_Speed)
  711. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  712. 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)
  713. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  714. 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)
  715. 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)
  716. end
  717. local SWORDY = APPLYMELEE(SWORD.Sword,15,20)
  718. SWORD.Sword.Trail.Enabled = true
  719. CreateSound(468991880, RightArm, 5, MRANDOM(9,11)/10, false)
  720. for i=0, 0.5, 0.1 / Animation_Speed do
  721. Swait()
  722. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
  723. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  724. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(55)), 1 / Animation_Speed)
  725. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-55)), 1 / Animation_Speed)
  726. 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)
  727. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(-42)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  728. 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)
  729. 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)
  730. end
  731. SWORD.Sword.Trail.Enabled = false
  732. SWORDY:Disconnect()
  733. elseif CHANCE == 2 then
  734. for i=0, 0.2, 0.1 / Animation_Speed do
  735. Swait()
  736. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(90), RAD(180), RAD(0)), 1 / Animation_Speed)
  737. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  738. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
  739. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
  740. 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)
  741. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(-42)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  742. 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)
  743. 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)
  744. end
  745. local SWORDY = APPLYMELEE(SWORD.Sword,15,20)
  746. SWORD.Sword.Trail.Enabled = true
  747. CreateSound(468991880, RightArm, 5, MRANDOM(9,11)/10, false)
  748. for i=0, 0.5, 0.1 / Animation_Speed do
  749. Swait()
  750. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(90), RAD(180), RAD(0)), 1 / Animation_Speed)
  751. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  752. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  753. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  754. 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)
  755. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  756. 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)
  757. 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)
  758. end
  759. SWORD.Sword.Trail.Enabled = false
  760. SWORDY:Disconnect()
  761. elseif CHANCE == 3 then
  762. for i=0, 0.2, 0.1 / Animation_Speed do
  763. Swait()
  764. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  765. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  766. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
  767. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  768. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  769. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  770. 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)
  771. 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)
  772. end
  773. local SWORDY = APPLYMELEE(SWORD.Sword,15,20)
  774. SWORD.Sword.Trail.Enabled = true
  775. CreateSound(468991880, RightArm, 5, MRANDOM(9,11)/10, false)
  776. for i=0, 0.5, 0.1 / Animation_Speed do
  777. Swait()
  778. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(55), RAD(0), RAD(0)), 1 / Animation_Speed)
  779. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  780. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  781. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
  782. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.3) * ANGLES(RAD(22), RAD(0), RAD(-21)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  783. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  784. 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)
  785. 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)
  786. end
  787. SWORD.Sword.Trail.Enabled = false
  788. SWORDY:Disconnect()
  789. end
  790. ATTACK = false
  791. Rooted = false
  792. end
  793.  
  794. function SubZero()
  795. ATTACK = true
  796. Rooted = true
  797. local CHARGE = false
  798. local BLASTS = {468991944,468991990}
  799. coroutine.resume(coroutine.create(function()
  800. repeat
  801. Swait()
  802. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  803. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(50), RAD(0), RAD(0)), 1 / Animation_Speed)
  804. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  805. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.15 / Animation_Speed)
  806. 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)
  807. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(130), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  808. 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)
  809. 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)
  810. until CHARGE == true
  811. end))
  812. wait(0.2)
  813. for i = 1, 4 do
  814. 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})
  815. for e = 1, 25 do
  816. Swait()
  817. 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})
  818. end
  819. end
  820. wait(0.2)
  821. CHARGE = true
  822. for i=0, 0.2, 0.1 / Animation_Speed do
  823. Swait()
  824. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  825. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(30), RAD(0), RAD(0)), 1 / Animation_Speed)
  826. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  827. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(35)), 0.15 / Animation_Speed)
  828. 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)
  829. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(160), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  830. 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)
  831. 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)
  832. end
  833. for i=0, 0.3, 0.1 / Animation_Speed do
  834. Swait()
  835. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  836. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(50), RAD(0), RAD(0)), 1 / Animation_Speed)
  837. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  838. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(35)), 0.15 / Animation_Speed)
  839. 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)
  840. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  841. 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)
  842. 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)
  843. end
  844. coroutine.resume(coroutine.create(function()
  845. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  846. if HITFLOOR then
  847. 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})
  848. ApplyAoE(HITPOS,42,35,40,-2,false,true)
  849. local ICES = {}
  850. local ICE = CreatePart(3, Effects, "Ice", 0, 0, BRICKC("Fossil"), "Effect", VT(25,0.06,25), true)
  851. MakeForm(ICE,"Cyl")
  852. ICE.CFrame = CF(HITPOS)
  853. table.insert(ICES,ICE)
  854. CreateSound(BLASTS[MRANDOM(1,#BLASTS)], ICE, 5, MRANDOM(9,11)/10, false)
  855. local ICE = CreatePart(3, Effects, "Ice", 0, 0.5, BRICKC("Fossil"), "Effect", VT(33,0,33), true)
  856. MakeForm(ICE,"Cyl")
  857. ICE.CFrame = CF(HITPOS)
  858. table.insert(ICES,ICE)
  859. for i = 1, 360 do
  860. if MRANDOM(1,35) == 1 then
  861. local ICESPIKE = IT("CornerWedgePart",Effects)
  862. table.insert(ICES,ICESPIKE)
  863. ICESPIKE.Anchored = true
  864. ICESPIKE.Size = VT(6,MRANDOM(15,25),6)
  865. ICESPIKE.Material = "Ice"
  866. ICESPIKE.BrickColor = BRICKC("Fossil")
  867. ICESPIKE.CanCollide =false
  868. ICESPIKE.CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(i), RAD(0)) * CF(0,0,8) * ANGLES(RAD(35), RAD(MRANDOM(0,360)), RAD(0))
  869. end
  870. end
  871. for i = 1, 360 do
  872. if MRANDOM(1,50) == 1 then
  873. local ICESPIKE = IT("CornerWedgePart",Effects)
  874. table.insert(ICES,ICESPIKE)
  875. ICESPIKE.Anchored = true
  876. ICESPIKE.Size = VT(6,MRANDOM(20,35),6)
  877. ICESPIKE.Material = "Ice"
  878. ICESPIKE.BrickColor = BRICKC("Fossil")
  879. ICESPIKE.CanCollide =false
  880. ICESPIKE.CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(i), RAD(0)) * CF(0,0,15) * ANGLES(RAD(35), RAD(MRANDOM(0,360)), RAD(0))
  881. end
  882. end
  883. for i = 1, 360 do
  884. if MRANDOM(1,40) == 1 then
  885. local ICESPIKE = IT("CornerWedgePart",Effects)
  886. table.insert(ICES,ICESPIKE)
  887. ICESPIKE.Anchored = true
  888. ICESPIKE.Size = VT(6,MRANDOM(20,35),6)
  889. ICESPIKE.Material = "Ice"
  890. ICESPIKE.BrickColor = BRICKC("Fossil")
  891. ICESPIKE.CanCollide =false
  892. ICESPIKE.CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(i), RAD(0)) * CF(0,0,25) * ANGLES(RAD(35), RAD(MRANDOM(0,360)), RAD(0))
  893. end
  894. end
  895. wait(5)
  896. for i = 1, 45 do
  897. Swait()
  898. for E = 1, #ICES do
  899. ICES[E].Transparency = i/45
  900. end
  901. end
  902. for E = 1, #ICES do
  903. ICES[E]:remove()
  904. end
  905. end
  906. end))
  907. for i=0, 0.7, 0.1 / Animation_Speed do
  908. Swait()
  909. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  910. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(50), RAD(0), RAD(0)), 1 / Animation_Speed)
  911. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  912. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(35)), 0.15 / Animation_Speed)
  913. 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)
  914. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  915. 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)
  916. 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)
  917. end
  918. ATTACK = false
  919. Rooted = false
  920. end
  921.  
  922. function ShadowBlast()
  923. ATTACK = true
  924. Rooted = false
  925. local GYRO = IT("BodyGyro",RootPart)
  926. GYRO.D = 20
  927. GYRO.P = 4000
  928. GYRO.MaxTorque = VT(0,40000,0)
  929. local FIRE = false
  930. local BLASTS = {468992058,468992112}
  931. coroutine.resume(coroutine.create(function()
  932. repeat
  933. if FIRE == false then
  934. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  935. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  936. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  937. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 1 / Animation_Speed)
  938. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  939. 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)
  940. 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)
  941. 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)
  942. end
  943. GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  944. Swait()
  945. until ATTACK == false
  946. GYRO:remove()
  947. end))
  948. local SHOOT = function()
  949. FIRE = true
  950. coroutine.resume(coroutine.create(function()
  951. local BULLET = CreatePart(3, Effects, "Ice", 0, 1, BRICKC("Fossil"), "Effect", VT(0,0,0), true)
  952. BULLET.CFrame = CF(STAFF.Locator.Position,Mouse.Hit.p)
  953. local FIRE = script.Fire:Clone()
  954. FIRE.Parent = BULLET
  955. FIRE.Enabled = true
  956. for i =1, 400 do
  957. Swait()
  958. local HIT,POS,NORMAL = Raycast(BULLET.Position,BULLET.CFrame.lookVector,1,Character)
  959. if HIT then
  960. ApplyAoE(POS,10,15,17,15,false,false)
  961. FIRE.Enabled = false
  962. 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})
  963. 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})
  964. break
  965. else
  966. BULLET.CFrame = BULLET.CFrame * CF(0,0,-1)
  967. end
  968. end
  969. Debris:AddItem(BULLET,5)
  970. end))
  971. for i=0, 0.4, 0.1 / Animation_Speed do
  972. Swait()
  973. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  974. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  975. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  976. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 1 / Animation_Speed)
  977. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  978. 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)
  979. 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)
  980. 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)
  981. end
  982. FIRE = false
  983. end
  984. SHOOT()
  985. local DOWN = Mouse.KeyDown:connect(function(KEY)
  986. if KEY == "c" and FIRE == false then
  987. SHOOT()
  988. end
  989. end)
  990. while true do
  991. repeat wait() until FIRE == false
  992. for i = 1, 70 do
  993. Swait()
  994. if FIRE == true then
  995. break
  996. end
  997. end
  998. if FIRE == false then
  999. ATTACK = false
  1000. Rooted = false
  1001. DOWN:Disconnect()
  1002. break
  1003. end
  1004. end
  1005. end
  1006.  
  1007. function Boost()
  1008. if DAMAGEMULTIPLIER == 1 then
  1009. ATTACK = true
  1010. Rooted = false
  1011. local AURAS = {}
  1012. for i=0, 0.7, 0.1 / Animation_Speed do
  1013. Swait()
  1014. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1015. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1016. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1017. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1018. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.4) * ANGLES(RAD(100), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1019. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.4) * ANGLES(RAD(100), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1020. 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)
  1021. 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)
  1022. end
  1023. CreateSound(468992291, Torso, 5, 1, false)
  1024. for index, CHILD in pairs(Character:GetDescendants()) do
  1025. 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
  1026. local AURA = CreatePart(3, CHILD, "Neon", 0, 0.75, BRICKC("Fossil"), "Aura", CHILD.Size*1.01, false)
  1027. AURA.Color = C3(0,0,0)
  1028. for index, MESH in pairs(Character:GetChildren()) do
  1029. if MESH.ClassName == "CharacterMesh" then
  1030. if MESH.BodyPart == Enum.BodyPart.Torso then
  1031. if CHILD == Torso then
  1032. CreateMesh("SpecialMesh", AURA, "FileMesh", MESH.MeshId, "", VT(1,1,1)*1.1, VT(0,0,0))
  1033. end
  1034. elseif MESH.BodyPart == Enum.BodyPart.RightArm then
  1035. if CHILD == RightArm then
  1036. CreateMesh("SpecialMesh", AURA, "FileMesh", MESH.MeshId, "", VT(1,1,1)*1.1, VT(0,0,0))
  1037. end
  1038. elseif MESH.BodyPart == Enum.BodyPart.LeftArm then
  1039. if CHILD == LeftArm then
  1040. CreateMesh("SpecialMesh", AURA, "FileMesh", MESH.MeshId, "", VT(1,1,1)*1.1, VT(0,0,0))
  1041. end
  1042. elseif MESH.BodyPart == Enum.BodyPart.RightLeg then
  1043. if CHILD == RightLeg then
  1044. CreateMesh("SpecialMesh", AURA, "FileMesh", MESH.MeshId, "", VT(1,1,1)*1.1, VT(0,0,0))
  1045. end
  1046. elseif MESH.BodyPart == Enum.BodyPart.LeftLeg then
  1047. if CHILD == LeftLeg then
  1048. CreateMesh("SpecialMesh", AURA, "FileMesh", MESH.MeshId, "", VT(1,1,1)*1.1, VT(0,0,0))
  1049. end
  1050. end
  1051. end
  1052. end
  1053. table.insert(AURAS,AURA)
  1054. CreateWeldOrSnapOrMotor("Weld", CHILD, CHILD, AURA, CF(0,0,0), CF(0, 0, 0))
  1055. if CHILD:FindFirstChildOfClass("SpecialMesh") then
  1056. local M = CHILD:FindFirstChildOfClass("SpecialMesh"):Clone()
  1057. M.Parent = AURA
  1058. M.TextureId = ""
  1059. end
  1060. end
  1061. end
  1062. DAMAGEMULTIPLIER = 2
  1063. Speed = 45
  1064. 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})
  1065. for i=0, 1, 0.1 / Animation_Speed do
  1066. Swait()
  1067. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1068. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1069. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1070. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1071. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1072. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1073. 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)
  1074. 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)
  1075. end
  1076. coroutine.resume(coroutine.create(function()
  1077. wait(25)
  1078. repeat wait() until ATTACK == false
  1079. Speed = 35
  1080. DAMAGEMULTIPLIER = 1
  1081. for i = 1, 45 do
  1082. Swait()
  1083. for E = 1, #AURAS do
  1084. AURAS[E].Transparency = 0.75+(i/45)/4
  1085. end
  1086. end
  1087. for E = 1, #AURAS do
  1088. AURAS[E]:remove()
  1089. end
  1090. end))
  1091. ATTACK = false
  1092. Rooted = false
  1093. end
  1094. end
  1095.  
  1096. function IceBeam()
  1097. if DAMAGEMULTIPLIER == 2 then
  1098. ATTACK = true
  1099. Rooted = false
  1100. UNANCHOR = false
  1101. local CHARGES = {459523112,459523787}
  1102. local BLASTS = {468991944,468991990}
  1103. local AREA = RootPart.CFrame*CF(0,45,0)
  1104. for i=0, 1, 0.1 / Animation_Speed do
  1105. Swait()
  1106. RootPart.CFrame = Clerp(RootPart.CFrame,AREA,0.1)
  1107. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1108. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1109. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1110. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1111. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(100), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1112. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(100), RAD(0), RAD(35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1113. 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)
  1114. 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)
  1115. end
  1116. local ORB = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Fossil"), "IceBall", VT(2,2,2), true)
  1117. MakeForm(ORB,"Ball")
  1118. ORB.Color = C3(0.5,0.5,1)
  1119. CreateSound(CHARGES[MRANDOM(1,#CHARGES)], ORB, 5, 1, false)
  1120. for i = 1, 75 do
  1121. Swait()
  1122. ORB.Size = ORB.Size + VT(0.2,0.2,0.2)
  1123. ORB.Transparency = ORB.Transparency - 1/75
  1124. end
  1125. for i = 1, 6 do
  1126. 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})
  1127. for e = 1, 25 do
  1128. Swait()
  1129. 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})
  1130. end
  1131. end
  1132. wait(0.2)
  1133. 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})
  1134. local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Fossil"), "BeamOfIce", VT(0,0,0), true)
  1135. local CORE = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Fossil"), "Ice", VT(10,10,10), true)
  1136. BEAM.Color = C3(0.5,0.5,1)
  1137. CORE.Color = C3(0.5,0.5,1)
  1138. MakeForm(BEAM,"Cyl")
  1139. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 1000, Character)
  1140. local SPOT = CF(HITPOS)
  1141. CreateSound(487184062, CORE, 10, 0.7, true)
  1142. local FLAKES = script.Snowflakes:Clone()
  1143. FLAKES.Parent = BEAM
  1144. FLAKES.Enabled = true
  1145. for i = 1, 1200 do
  1146. Swait()
  1147. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, 1000, Character)
  1148. SPOT = Clerp(SPOT, CF(HITPOS), 0.025)
  1149. local DISTANCE = (SPOT.p - ORB.Position).Magnitude
  1150. BEAM.Size = VT(6,DISTANCE+5,6)
  1151. BEAM.CFrame = CF(ORB.Position,SPOT.p)*CF(0,0,-DISTANCE/2) * ANGLES(RAD(90), RAD(0), RAD(0))
  1152. ApplyAoE(SPOT.p,7,1,1,0,false,true)
  1153. CORE.CFrame = SPOT * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
  1154. end
  1155. CORE:remove()
  1156. BEAM:remove()
  1157. coroutine.resume(coroutine.create(function()
  1158. for i = 1, 75 do
  1159. Swait()
  1160. ORB.Size = ORB.Size - VT(0.2,0.2,0.2)
  1161. ORB.Transparency = ORB.Transparency + 1/75
  1162. end
  1163. ORB:remove()
  1164. end))
  1165. UNANCHOR = true
  1166. ATTACK = false
  1167. Rooted = false
  1168. end
  1169. end
  1170.  
  1171. --//=================================\\
  1172. --|| ASSIGN THINGS TO KEYS
  1173. --\\=================================//
  1174.  
  1175. function MouseDown(Mouse)
  1176. if ATTACK == false then
  1177. Melee()
  1178. end
  1179. end
  1180.  
  1181. function MouseUp(Mouse)
  1182. HOLD = false
  1183. end
  1184.  
  1185. function KeyDown(Key)
  1186. KEYHOLD = true
  1187. if Key == "z" and ATTACK == false then
  1188. Teleport()
  1189. end
  1190.  
  1191. if Key == "b" and ATTACK == false then
  1192. SubZero()
  1193. end
  1194.  
  1195. if Key == "c" and ATTACK == false then
  1196. ShadowBlast()
  1197. end
  1198.  
  1199. if Key == "v" and ATTACK == false then
  1200. Boost()
  1201. end
  1202.  
  1203. if Key == "x" and ATTACK == false then
  1204. IceBeam()
  1205. end
  1206.  
  1207. if Key == "t" then
  1208. CreateSound(468971411, Torso, 10, 1, false)
  1209. end
  1210. end
  1211.  
  1212. function KeyUp(Key)
  1213. KEYHOLD = false
  1214. end
  1215.  
  1216. Mouse.Button1Down:connect(function(NEWKEY)
  1217. MouseDown(NEWKEY)
  1218. end)
  1219. Mouse.Button1Up:connect(function(NEWKEY)
  1220. MouseUp(NEWKEY)
  1221. end)
  1222. Mouse.KeyDown:connect(function(NEWKEY)
  1223. KeyDown(NEWKEY)
  1224. end)
  1225. Mouse.KeyUp:connect(function(NEWKEY)
  1226. KeyUp(NEWKEY)
  1227. end)
  1228.  
  1229. --//=================================\\
  1230. --\\=================================//
  1231.  
  1232. function unanchor()
  1233. for _, c in pairs(Character:GetChildren()) do
  1234. if c:IsA("BasePart") and c ~= RootPart then
  1235. c.Anchored = false
  1236. end
  1237. end
  1238. if UNANCHOR == true then
  1239. RootPart.Anchored = false
  1240. else
  1241. RootPart.Anchored = true
  1242. end
  1243. end
  1244.  
  1245. --//=================================\\
  1246. --|| WRAP THE WHOLE SCRIPT UP
  1247. --\\=================================//
  1248.  
  1249. Humanoid.Changed:connect(function(Jump)
  1250. if Jump == "Jump" and (Disable_Jump == true) then
  1251. Humanoid.Jump = false
  1252. end
  1253. end)
  1254.  
  1255. while true do
  1256. Swait()
  1257. script.Parent = WEAPONGUI
  1258. ANIMATE.Parent = nil
  1259. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1260. v:Stop();
  1261. end
  1262. SINE = SINE + CHANGE
  1263. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1264. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1265. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1266. local WALKSPEEDVALUE = 6.5
  1267. if ATTACK == false then
  1268. GRIP1.C1 = Clerp(GRIP1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1269. GRIP2.C1 = Clerp(GRIP2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1270. end
  1271. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1272. 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)
  1273. 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)
  1274. 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)
  1275. 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)
  1276. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1277. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1278. 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)
  1279. 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)
  1280. 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)
  1281. end
  1282. if HITFLOOR == nil then
  1283. ANIM = "Jump"
  1284. if ATTACK == false then
  1285. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1286. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1287. 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)
  1288. 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)
  1289. 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)
  1290. 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)
  1291. end
  1292. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1293. ANIM = "Idle"
  1294. if ATTACK == false then
  1295. 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)
  1296. 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)
  1297. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1298. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1299. 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)
  1300. 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)
  1301. end
  1302. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1303. ANIM = "Walk"
  1304. if ATTACK == false then
  1305. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(5), RAD(0), RAD(-10*COS(SINE / (WALKSPEEDVALUE)))), 1 / Animation_Speed)
  1306. 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)
  1307. 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)
  1308. 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)
  1309. 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)
  1310. 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)
  1311. end
  1312. end
  1313. unanchor()
  1314. Humanoid.MaxHealth = 5e7
  1315. Humanoid.Health = 5e7
  1316. if Rooted == false then
  1317. Disable_Jump = false
  1318. Humanoid.WalkSpeed = Speed
  1319. elseif Rooted == true then
  1320. Disable_Jump = true
  1321. Humanoid.WalkSpeed = 0
  1322. end
  1323. if Head:FindFirstChildOfClass("Decal") then
  1324. Head:FindFirstChildOfClass("Decal"):remove()
  1325. end
  1326. sick.SoundId = "rbxassetid://502023014"
  1327. sick.Looped = true
  1328. sick.Pitch = 1
  1329. sick.Volume = 2
  1330. sick.Playing = true
  1331. sick.Parent = Torso
  1332. end
  1333.  
  1334. --//=================================\\
  1335. --\\=================================//
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341. --//====================================================\\--
  1342. --|| END OF SCRIPT
  1343. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement