cat568

Untitled

Dec 25th, 2018
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3. --[[ MADE BY Tabby_Cxt/Lua ]]
  4. --[[ Double tap W to dash ]]
  5. --[[ Q and E to swap spells]]
  6. --[[ UPDATE LOG/IDEAS ]----------------------------------------------------------
  7. +Added Void Crush
  8.  
  9. *Maybe add sparkles to fireworks (a trail of some kind)
  10. +Maybe add a puff of smoke to fireworks, from the wand at least
  11. *SPELL IDEAS:
  12. +Stop playing from moving and create a bubble of particles that shoots forward. Use the projectile system?
  13. +Add a way to lift up players?
  14. +Invisibility spell, leaves footprints or use the Trail script?
  15. +Healing spell, shoots a green projectile straight up, rains, each drop heals
  16. ++holding down bubbble spell, low damage, large knock back away from player, slowly float up (short range)
  17. +teleport opens hole beneath player, opens it above another location
  18. +++Chain someone to the floor with the new rope/spring stuff. put selection box on torso, use the connected line/wire to a glowing ball. for 3 sec
  19. +Maybe too hard, copy player, rotate but make it do same motions as player, will make it hard to tell which is the real, others fade/take damage to die
  20. +Jump slam move, looks up HUUDOKEEEN
  21. +lazer move, from 1 side to the other, like a wave
  22. --]]
  23. --[[
  24. if script.ClassName == "LocalScript" then --advanced stuff I stole from aerx :)
  25. if game.PlaceId == 178350907 then
  26. script.Parent = nil
  27. else
  28. local Environment = getfenv(getmetatable(LoadLibrary"RbxUtility".Create).__call)
  29. local oxbox = getfenv() setfenv(1, setmetatable({}, {__index = Environment}))
  30. Environment.coroutine.yield()
  31. oxbox.script:Destroy()
  32. end
  33. end
  34. --]]
  35. ----CUSTOMIZATION
  36.  
  37. local MainColor = "Institutional white"
  38. local CharacterSpeed = 20 --16 is default
  39. local MaxMana = 100
  40. local fireworkSounds = {
  41. "rbxassetid://160248280",
  42. "rbxassetid://160248302",
  43. "rbxassetid://269146157"
  44. }
  45. local magicSounds = {
  46. "rbxassetid://260433768",
  47. "rbxassetid://260433746",
  48. "rbxassetid://260433721",
  49. "rbxassetid://182765513",
  50. }
  51. local Rainbow = { --This is the main color set. Try to use more than just a few, make it fade in order as well
  52. "Crimson",
  53. "Bright red",
  54. "Neon orange",
  55. "Deep orange",
  56. "Bright yellow",
  57. "New Yeller",
  58. "Br. yellowish green",
  59. "Lime green",
  60. "Sea green",
  61. "Bright bluish green",
  62. "Bright blue",
  63. "Lavender",
  64. "Royal purple",
  65. "Eggplant",
  66. "Hot pink"
  67. }
  68.  
  69.  
  70. --Script starting
  71. local spells = {}
  72.  
  73. function addSpell(nm,manac,colorz)
  74. table.insert(spells, { ["Name"] = nm, ["ManaCost"] = manac, ["Color"] = BrickColor.new(colorz)})
  75. end
  76.  
  77. addSpell("True Form", 100, "Crimson")
  78. addSpell("Void Crush", 30, "Bright green")
  79. addSpell("Firework", 5, "Bright blue")
  80. addSpell("Teleport", 10, "Neon orange")
  81.  
  82. local player = game:GetService("Players").LocalPlayer
  83. local me = player
  84. repeat wait() until player.Character ~= nil
  85. local char = player.Character
  86. local Character = char
  87. local Humanoid = char.Humanoid
  88. local Mouse = player:GetMouse()
  89. local Backpack = player.Backpack
  90. local PlayerGui = player.PlayerGui
  91. local Camera = workspace.CurrentCamera
  92. local Humanoid = char:WaitForChild("Humanoid")
  93. local torso = char:WaitForChild("Torso")
  94. local head = char:WaitForChild("Head")
  95. local rightArm = char:WaitForChild("Right Arm")
  96. local leftArm = char:WaitForChild("Left Arm")
  97. local rightLeg = char:WaitForChild("Right Leg")
  98. local leftLeg = char:WaitForChild("Left Leg")
  99. local rightShoulder = torso:WaitForChild("Right Shoulder")
  100. local leftShoulder = torso:WaitForChild("Left Shoulder")
  101. local rightHip = torso:WaitForChild("Right Hip")
  102. local leftHip = torso:WaitForChild("Left Hip")
  103. local neck = torso:WaitForChild("Neck")
  104. local rootpart = char:WaitForChild("HumanoidRootPart")
  105. local root = char:WaitForChild("HumanoidRootPart")
  106. local rj = rootpart:WaitForChild("RootJoint")
  107. local anim = char:WaitForChild("Animate")
  108. local TSTable = {}
  109. local SpinTable = {}
  110.  
  111. local components = CFrame.new().components
  112. rightArm.CanCollide = false
  113. leftArm.CanCollide = false
  114. rightLeg.CanCollide = false
  115. leftLeg.CanCollide = false
  116. camera = workspace.CurrentCamera
  117. player.CameraMaxZoomDistance = math.huge
  118. pcall(function()
  119. if anim then anim:remove()
  120. for i,v in pairs(Humanoid:GetPlayingAnimationTracks()) do
  121. v:Stop()
  122. end
  123. end
  124. end)
  125. pcall(function()
  126. char["Health"].Disabled = true
  127. end)
  128. pcall(function()
  129. humanoid.Animator:Destroy()
  130. end)
  131. local rjo = rootpart.RootJoint:Clone()
  132. function createWeld(wp0, wp1, wc0x, wc0y, wc0z)
  133. local weld = Instance.new("Weld", wp1)
  134. weld.Part0 = wp0
  135. weld.Part1 = wp1
  136. weld.C0 = CFrame.new(wc0x, wc0y, wc0z)
  137. return weld
  138. end
  139.  
  140. local leftArmJoint = createWeld(torso, leftArm, -1.5, 0.5, 0)
  141. leftArmJoint.C1 = CFrame.new(0, 0.5, 0)
  142. local rightArmJoint = createWeld(torso, rightArm, 1.5, 0.5, 0)
  143. rightArmJoint.C1 = CFrame.new(0, 0.5, 0)
  144. local neck = createWeld(torso, head, 0, 1, 0)
  145. local leftLegJoint = createWeld(torso, leftLeg, -0.5, -1, 0)
  146. leftLegJoint.C1 = CFrame.new(0, 1, 0)
  147. local rightLegJoint = createWeld(torso, rightLeg, 0.5, -1, 0)
  148. rightLegJoint.C1 = CFrame.new(0, 1, 0)
  149. local rj = rjo:Clone()
  150. rj.Part0 = rootpart
  151. rj.Part1 = torso
  152. rj.Parent = rootpart
  153. neck.C1 = CFrame.new(0, -(1/2), 0)
  154. neckc0 = neck.C0
  155. lsc0 = leftArmJoint.C0
  156. rsc0 = rightArmJoint.C0
  157. llc0 = leftLegJoint.C0
  158. rlc0 = rightLegJoint.C0
  159. rootc0 = rj.C0
  160. rootc1 = rj.C1
  161. wait()
  162.  
  163. local pressingW = false
  164. local inAction = false
  165. char.Humanoid.WalkSpeed = CharacterSpeed
  166. local beenHit = {}
  167. local jumpPower = 50
  168. --Humanoid.JumpPower = 80
  169.  
  170.  
  171. --GUI
  172.  
  173. local x10Wand = Instance.new("ScreenGui")
  174. local SelectorBox = Instance.new("ImageLabel")
  175.  
  176. x10Wand.Name = "x10Wand"
  177. x10Wand.Parent = me.PlayerGui
  178.  
  179. SelectorBox.Name = "SelectorBox"
  180. SelectorBox.Parent = x10Wand
  181. SelectorBox.BackgroundColor3 = Color3.new(1, 1, 1)
  182. SelectorBox.BackgroundTransparency = 1
  183. SelectorBox.Position = UDim2.new(0.5, -50, 1, -100)
  184. SelectorBox.Size = UDim2.new(0, 100, 0, 50)
  185. SelectorBox.ZIndex = 10
  186. SelectorBox.Image = "rbxassetid://129944699"
  187. SelectorBox.ImageColor3 = Color3.new(1, 0, 0)
  188. SelectorBox.ScaleType = Enum.ScaleType.Slice
  189. SelectorBox.SliceCenter = Rect.new(0, 10, 0, 195)
  190.  
  191. currentSpell = { ["Name"] = spells[(math.floor(#spells/2)+1)].Name, ["ManaCost"] = spells[(math.floor(#spells/2)+1)].ManaCost }
  192. function loadSpellGui()
  193. currentSpell = { ["Name"] = spells[(math.floor(#spells/2)+1)].Name, ["ManaCost"] = spells[(math.floor(#spells/2)+1)].ManaCost }
  194. print(currentSpell.Name, currentSpell.ManaCost)
  195. for i,v in pairs(SelectorBox:GetChildren()) do
  196. v:Remove()
  197. end
  198. local spellPos = -100*(math.floor(#spells/2))
  199. for i,v in pairs(spells) do
  200. local Spell = Instance.new("TextLabel")
  201. Spell.Name = "Spell"
  202. Spell.Parent = SelectorBox
  203. Spell.BackgroundColor3 = v.Color.Color
  204. Spell.BackgroundTransparency = math.abs(((math.floor(#spells/2)+1)-i))*0.2
  205. if math.abs(((math.floor(#spells/2)+1)-i)) == 1 then
  206. Spell.Position = UDim2.new(0,spellPos,0,math.abs(((math.floor(#spells/2)+1)-i))*9)
  207. elseif math.abs(((math.floor(#spells/2)+1)-i)) == 2 then
  208. Spell.Position = UDim2.new(0,spellPos,0,math.abs(((math.floor(#spells/2)+1)-i))*14)
  209. elseif math.abs(((math.floor(#spells/2)+1)-i)) == 3 then
  210. Spell.Position = UDim2.new(0,spellPos,0,math.abs(((math.floor(#spells/2)+1)-i))*17)
  211. else
  212. Spell.Position = UDim2.new(0,spellPos,0,math.abs(((math.floor(#spells/2)+1)-i))*24)
  213. end
  214. if ((math.floor(#spells/2)+1)-i) < 0 then
  215. Spell.Rotation = math.abs(((math.floor(#spells/2)+1)-i))*3
  216. else
  217. Spell.Rotation = -math.abs(((math.floor(#spells/2)+1)-i))*3
  218. end
  219. Spell.BorderSizePixel = 3
  220. Spell.Size = UDim2.new(0, 100, 0, 50)
  221. Spell.Font = Enum.Font.Code
  222. Spell.FontSize = Enum.FontSize.Size14
  223. Spell.Text = v.Name
  224. Spell.ZIndex = (9-(math.abs(((math.floor(#spells/2)+1)-i))))
  225. Spell.TextColor3 = Color3.new(0, 0, 0)
  226. Spell.TextWrapped = true
  227.  
  228. local ManaCost = Instance.new("TextLabel")
  229. ManaCost.Name = "ManaCost"
  230. ManaCost.Parent = Spell
  231. ManaCost.BackgroundColor3 = Color3.new(1, 1, 1)
  232. ManaCost.BackgroundTransparency = 1
  233. ManaCost.Size = UDim2.new(0, 100, 0, 50)
  234. ManaCost.Font = Enum.Font.Code
  235. ManaCost.ZIndex = 10000
  236. ManaCost.FontSize = Enum.FontSize.Size14
  237. ManaCost.Text = v.ManaCost
  238. ManaCost.TextColor3 = Color3.new(0.15, 0, 1)
  239. ManaCost.TextYAlignment = Enum.TextYAlignment.Bottom
  240. if Spell.Transparency >= 1 then
  241. Spell.Visible = false
  242. else
  243. Spell.Visible = true
  244. end
  245.  
  246. spellPos = spellPos + 100
  247. end
  248. end
  249. loadSpellGui()
  250.  
  251. local Q = Instance.new("TextLabel")
  252. Q.Name = "Q"
  253. Q.Parent = x10Wand
  254. Q.BackgroundColor3 = Color3.new(1, 1, 1)
  255. Q.BackgroundTransparency = 1
  256. Q.Position = UDim2.new(0.5, -350, 1, -100)
  257. Q.Size = UDim2.new(0, 100, 0, 50)
  258. Q.Font = Enum.Font.Cartoon
  259. Q.FontSize = Enum.FontSize.Size42
  260. Q.Text = "Q"
  261. Q.TextColor3 = Color3.new(1, 1, 1)
  262. Q.TextStrokeTransparency = 0
  263.  
  264. local E = Instance.new("TextLabel")
  265. E.Name = "E"
  266. E.Parent = x10Wand
  267. E.BackgroundColor3 = Color3.new(1, 1, 1)
  268. E.BackgroundTransparency = 1
  269. E.Position = UDim2.new(0.5, 250, 1, -100)
  270. E.Size = UDim2.new(0, 100, 0, 50)
  271. E.Font = Enum.Font.Cartoon
  272. E.FontSize = Enum.FontSize.Size42
  273. E.Text = "E"
  274. E.TextColor3 = Color3.new(1, 1, 1)
  275. E.TextStrokeTransparency = 0
  276.  
  277. local Info = Instance.new("TextLabel")
  278. Info.Name = "Info"
  279. Info.Parent = x10Wand
  280. Info.BackgroundColor3 = Color3.new(1, 1, 1)
  281. Info.BackgroundTransparency = 1
  282. Info.Draggable = true
  283. Info.Position = UDim2.new(0.5, -200, 1, -30)
  284. Info.Size = UDim2.new(0, 400, 0, 10)
  285. Info.ZIndex = 10
  286. Info.Font = Enum.Font.SourceSans
  287. Info.FontSize = Enum.FontSize.Size18
  288. Info.Text = "B" .. "y | " .. "Th" .. "un" .. "de" .. "r" .. "x" .. tostring(10)
  289. Info.TextColor3 = Color3.new(1, 1, 1)
  290.  
  291. local ManaFrame = Instance.new("Frame")
  292. ManaFrame.Name = "ManaFrame"
  293. ManaFrame.Parent = x10Wand
  294. ManaFrame.BackgroundColor3 = Color3.new(0, 0, 0)
  295. ManaFrame.BorderSizePixel = 0
  296. ManaFrame.Position = UDim2.new(0.5, 10, 1, -145)
  297. ManaFrame.Size = UDim2.new(0, 204, 0, 24)
  298.  
  299. local ManaBar = Instance.new("Frame")
  300. ManaBar.Name = "ManaBar"
  301. ManaBar.Parent = ManaFrame
  302. ManaBar.BackgroundColor3 = Color3.new(0, 0.317647, 1)
  303. ManaBar.BorderSizePixel = 0
  304. ManaBar.Position = UDim2.new(0, 2, 0, 2)
  305. ManaBar.Size = UDim2.new(0, 200, 0, 20)
  306. ManaBar.ZIndex = 2
  307.  
  308. local ManaText = Instance.new("TextLabel")
  309. ManaText.Name = "ManaText"
  310. ManaText.Parent = ManaFrame
  311. ManaText.BackgroundColor3 = Color3.new(1, 1, 1)
  312. ManaText.BackgroundTransparency = 1
  313. ManaText.Size = UDim2.new(0, 204, 0, 24)
  314. ManaText.ZIndex = 4
  315. ManaText.Font = Enum.Font.SciFi
  316. ManaText.FontSize = Enum.FontSize.Size18
  317. ManaText.Text = MaxMana
  318. ManaText.TextColor3 = Color3.new(1, 1, 1)
  319.  
  320. local HealthFrame = Instance.new("Frame")
  321. HealthFrame.Name = "HealthFrame"
  322. HealthFrame.Parent = x10Wand
  323. HealthFrame.BackgroundColor3 = Color3.new(0, 0, 0)
  324. HealthFrame.BorderSizePixel = 0
  325. HealthFrame.Position = UDim2.new(0.5, -214, 1, -145)
  326. HealthFrame.Size = UDim2.new(0, 204, 0, 24)
  327.  
  328. local HealthBar = Instance.new("Frame")
  329. HealthBar.Name = "HealthBar"
  330. HealthBar.Parent = HealthFrame
  331. HealthBar.BackgroundColor3 = Color3.new(0, 0.8, 0.02)
  332. HealthBar.BorderSizePixel = 0
  333. HealthBar.Position = UDim2.new(0, 2, 0, 2)
  334. HealthBar.Size = UDim2.new(0, char.Humanoid.Health*2, 0, 20)
  335. HealthBar.ZIndex = 2
  336.  
  337. local HealthText = Instance.new("TextLabel")
  338. HealthText.Name = "HealthText"
  339. HealthText.Parent = HealthFrame
  340. HealthText.BackgroundColor3 = Color3.new(1, 1, 1)
  341. HealthText.BackgroundTransparency = 1
  342. HealthText.Size = UDim2.new(0, 204, 0, 24)
  343. HealthText.ZIndex = 4
  344. HealthText.Font = Enum.Font.SciFi
  345. HealthText.FontSize = Enum.FontSize.Size18
  346. HealthText.Text = "health"
  347. HealthText.TextColor3 = Color3.new(1, 1, 1)
  348.  
  349. --WEAPON
  350.  
  351. local model = Instance.new("Model", char)
  352. model.Name = "x10Wand"
  353.  
  354. local wm = Instance.new("Part", model)
  355. wm.Material = "SmoothPlastic"
  356. wm.BrickColor = BrickColor.new("Really black")
  357. wm.Size = Vector3.new(0,0,0)
  358. wm.CFrame = CFrame.new(0,5,0)
  359. wm.CanCollide = false
  360. wm.TopSurface = "Smooth"
  361. wm.BottomSurface = "Smooth"
  362. local Mesh = Instance.new("CylinderMesh", wm)
  363. Mesh.Scale = Vector3.new(1,9,1)
  364.  
  365. local wmt = Instance.new("Part", model)
  366. wmt.Material = "SmoothPlastic"
  367. wmt.BrickColor = BrickColor.new(MainColor)
  368. wmt.Size = Vector3.new(0,0,0)
  369. wmt.CanCollide = false
  370. wmt.CFrame = CFrame.new(0,5,0)
  371. wmt.Material = "Neon"
  372. wmt.TopSurface = "Smooth"
  373. wmt.BottomSurface = "Smooth"
  374. local Mesh = Instance.new("CylinderMesh", wmt)
  375. Mesh.Scale = Vector3.new(1.1,1.8,1.1)
  376.  
  377. local weld = Instance.new("Weld", wmt)
  378. weld.Part0 = wmt
  379. weld.Part1 = wm
  380. weld.C0 = CFrame.new(0, 0.8, 0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
  381.  
  382. local weaponWeld = Instance.new("Weld")
  383. weaponWeld.Parent = wm
  384. weaponWeld.Part0 = wm
  385. weaponWeld.Part1 = char["Right Arm"]
  386. weaponWeld.C0 = CFrame.new(0, 0.3, -1)*CFrame.Angles(math.rad(-90), math.rad(0), math.rad(0))
  387. local weaponWeldc0 = weaponWeld.C0
  388.  
  389. --FUNCTIONS
  390. print("v2")
  391. function takeDamage(position, damage, distance, platformStand)
  392. playersHit = {}
  393. for i,v in pairs(workspace:GetChildren()) do
  394. currentPlayer = nil
  395. if v.Name == "Dummy" then
  396. currentPlayer = v
  397. else
  398. if game:GetService("Players"):GetPlayerFromCharacter(v) ~= nil and v.Name ~= me.Name and v:IsA("Model") and v.Name ~= "Script" then
  399. if v.Name == game:GetService("Players"):GetPlayerFromCharacter(v).Name then
  400. currentPlayer = v
  401. end
  402. end
  403. end
  404. if currentPlayer ~= nil then
  405. if currentPlayer:findFirstChild("Torso") and currentPlayer:findFirstChild("Humanoid") and (currentPlayer.Torso.Position - position).magnitude < distance then
  406. dealDamage(currentPlayer.Humanoid, damage)
  407. table.insert(playersHit, currentPlayer)
  408. currentPlayer.Humanoid.PlatformStand = platformStand
  409. print(v.Name)
  410. end
  411. end
  412. end
  413. for i,v in pairs(playersHit) do
  414. print(i,v)
  415. end
  416. return playersHit
  417. end
  418.  
  419. function freeze(time)
  420. local g = Instance.new("BodyGyro", root)
  421. g.Name = "BodyMovement"
  422. g.D = 0
  423. g.CFrame = root.CFrame
  424. g.MaxTorque = Vector3.new(1000000000, 1000000000, 1000000000)
  425. g.P = 10000000000
  426. if time ~= nil then
  427. game:GetService("Debris"):AddItem(g,time)
  428. end
  429. end
  430.  
  431. function unfreeze()
  432. for i,v in pairs(root:GetChildren()) do
  433. if v.Name == "BodyMovement" then
  434. v:Remove()
  435. end
  436. end
  437. end
  438.  
  439. function moveVelocity(direction, speed, time)
  440. local g = Instance.new("BodyGyro", root)
  441. g.D = 0
  442. g.CFrame = root.CFrame
  443. g.MaxTorque = Vector3.new(1000000000, 1000000000, 1000000000)
  444. g.P = 10000000000
  445. local e = Instance.new("BodyVelocity", root)
  446. e.Velocity = dir.unit * speed
  447. e.P = 10000
  448. e.MaxForce = Vector3.new(100000000, 100000000, 100000000)
  449. game:GetService("Debris"):AddItem(e,time)
  450. end
  451.  
  452. local SpikeCount = 0
  453. function createPath()
  454. SpikeCount = SpikeCount + 1
  455. if SpikeCount >= 10 then
  456. SpikeCount = 0
  457. local spike = Instance.new("Part", model)
  458. table.insert(TSTable, spike)
  459. spike.Size = Vector3.new(0,0,0)
  460. spike.Name = "Ring"
  461. spike.Material = "Neon"
  462. spike.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  463. spike.Anchored = true
  464. spike.Transparency = 0.3
  465. spike.CanCollide = false
  466. spike.CFrame = torso.CFrame*CFrame.new(0,0,3)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
  467. local spikemesh = Instance.new("SpecialMesh", spike)
  468. spikemesh.Name = "SpikeMesh"
  469. spikemesh.Scale = Vector3.new(5,5,5)
  470. spikemesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
  471. end
  472.  
  473. local spike1 = Instance.new("Part", model)
  474. table.insert(TSTable, spike1)
  475. spike1.Size = Vector3.new(0,0,0)
  476. spike1.Material = "Neon"
  477. spike1.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  478. spike1.Anchored = true
  479. spike1.Transparency = 0
  480. spike1.CanCollide = false
  481. spike1.CFrame = torso.CFrame*CFrame.new(0,0,1.5)*CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
  482. local spikemesh1 = Instance.new("CylinderMesh", spike1)
  483. spikemesh1.Name = "SpikeMesh"
  484. spikemesh1.Scale = Vector3.new(6,10,6)
  485. end
  486.  
  487. local function CreateRegion3FromLocAndSize(Position, Size)
  488. local SizeOffset = Size/2
  489. local Point1 = Position - SizeOffset
  490. local Point2 = Position + SizeOffset
  491. return Region3.new(Point1, Point2)
  492. end
  493.  
  494. function dealDamage(targetHumanoid, damage)
  495. if targetHumanoid.Health > 100 then
  496. targetHumanoid.MaxHealth = 100
  497. targetHumanoid.Health = 100
  498. end
  499. targetHumanoid.Health = targetHumanoid.Health - damage
  500. end
  501.  
  502. function makeParticles()
  503. local p = Instance.new("Part", char)
  504. p.CanCollide = false
  505. p.BrickColor = BrickColor.new(Rainbow[math.random(1,#Rainbow)])
  506. p.Material = "Neon"
  507. p.Name = "Particle"
  508. p.Size = Vector3.new(0,0,0)
  509. p.CFrame = wmt.CFrame*CFrame.new(math.random(-1,1), math.random(-1,1), math.random(-1,1))*CFrame.Angles(math.rad(math.random(0,360)), math.rad(math.random(0,360)), math.rad(math.random(0,360)))
  510. game:GetService("Debris"):AddItem(p,3)
  511. table.insert(currentTable, p)
  512. local bbp = Instance.new("BodyPosition", p)
  513. bbp.Name = "forceinward"
  514. bbp.MaxForce = Vector3.new(math.random(1000, 2000), math.random(1000, 2000), math.random(1000, 2000))
  515. bbp.P = math.random(3000, 5000)
  516. if isCharging then
  517. bbp.Position = wmt.Position
  518. bbp.D = 1000
  519. else
  520. bbp.Position = p.Position + Vector3.new(math.random(-1,1), 1, math.random(-1,1))
  521. bbp.D = 2000
  522. end
  523. table.insert(allbps, bbp)
  524. end
  525.  
  526. function OriginalProjectile(loc)
  527. local proj = Instance.new("Part", model)
  528. proj.CanCollide = false
  529. proj.Name = "projectile"
  530. proj.CFrame = wmt.CFrame
  531. proj.Anchored = true
  532. proj.Material = "Neon"
  533. proj.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  534. proj.CFrame = CFrame.new(proj.Position, loc)
  535. proj.Size = Vector3.new(0.3, 0.3, 2)
  536. local s = Instance.new("Sound", wmt)
  537. s.SoundId = fireworkSounds[math.random(1,#fireworkSounds)]
  538. s.EmitterSize = 10
  539. s.Volume = math.random(80,100)/10
  540. s:Play()
  541. game:GetService("Debris"):AddItem(s,5)
  542. local s = Instance.new("Sound", proj)
  543. s.SoundId = "rbxassetid://84903136"
  544. s.EmitterSize = 10
  545. s.Volume = math.random(80,100)/10
  546. s:Play()
  547. game:GetService("Debris"):AddItem(s, 5)
  548. table.insert(projectiles, proj)
  549. end
  550.  
  551. function createHole(location, height)
  552. if (torso.Position - location).magnitude < 2000 then
  553. local hole = Instance.new("Part", model)
  554. hole.BrickColor = BrickColor.new("Really black")
  555. hole.Size = Vector3.new(0,0,0)
  556. hole.Anchored = true
  557. hole.CFrame = CFrame.new(location.X,location.Y,location.Z)*CFrame.new(0,height,0)
  558. hole.Material = "SmoothPlastic"
  559. local cm = Instance.new("CylinderMesh",hole)
  560. cm.Name = "HoleMesh"
  561. cm.Scale = Vector3.new(0,0,0)
  562. table.insert(holeTable, hole)
  563. local s = Instance.new("Sound", hole) --whole opening
  564. s.SoundId = magicSounds[math.random(1,#magicSounds)]
  565. s.EmitterSize = 50
  566. s.Volume = 100
  567. s:Play()
  568. game:GetService("Debris"):AddItem(s,5)
  569. end
  570. end
  571.  
  572. function freeze(who)
  573. for i,v in pairs(who:GetChildren()) do
  574. if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then
  575. v.Anchored = true
  576. end
  577. end
  578. end
  579.  
  580. function unfreeze(who)
  581. for i,v in pairs(who:GetChildren()) do
  582. if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then
  583. v.Anchored = false
  584. end
  585. end
  586. end
  587.  
  588. function castingStart(length)
  589. local s = Instance.new("Sound", wmt) --wavy noise
  590. s.SoundId = "rbxassetid://262327541"
  591. s.EmitterSize = 10
  592. s.Volume = 100
  593. s:Play()
  594. game:GetService("Debris"):AddItem(s,5)
  595. castRing = Instance.new("Part", model)
  596. castRing.Size = Vector3.new(0,0,0)
  597. castRing.Name = "CastingRing"
  598. castRing.Material = "Neon"
  599. castRing.BrickColor = BrickColor.new("Industrial white")
  600. castRing.Anchored = true
  601. castRing.Transparency = 0.5
  602. castRing.CanCollide = false
  603. castRing.CFrame = CFrame.new(Mouse.Hit.p.X,Mouse.Hit.p.Y+0.3,Mouse.Hit.p.Z)*CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
  604. local ringmesh = Instance.new("SpecialMesh", castRing)
  605. ringmesh.Name = "RingMesh"
  606. ringmesh.Scale = Vector3.new(2,2,2)
  607. ringmesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
  608. game:GetService("Debris"):AddItem(castRing, length) --casting time
  609. castCircle = Instance.new("Part", model)
  610. castCircle.Size = Vector3.new(0,0,0)
  611. castCircle.Name = "CastingCircle"
  612. castCircle.Material = "Neon"
  613. castCircle.Shape = "Cylinder"
  614. castCircle.BrickColor = BrickColor.new("Industrial white")
  615. castCircle.Anchored = true
  616. castCircle.Transparency = 0.2
  617. castCircle.CanCollide = false
  618. castCircle.CFrame = CFrame.new(Mouse.Hit.p.X,Mouse.Hit.p.Y+0.3,Mouse.Hit.p.Z)*CFrame.Angles(math.rad(-90), math.rad(0), math.rad(0))
  619. local ringmesh = Instance.new("CylinderMesh", castCircle)
  620. ringmesh.Name = "RingMesh"
  621. ringmesh.Scale = Vector3.new(4,0.2,4)
  622. game:GetService("Debris"):AddItem(castCircle, length) --casting time
  623. game:GetService("Debris"):AddItem(s, length) --casting time
  624. end
  625.  
  626. --
  627.  
  628. rainbowNumber = 1
  629. statRegenNumber = 0
  630. holdingw = false
  631. Mana = 100
  632. currentTable = {}
  633. walkingAnimationSpeed = 3.5
  634. allbps = {}
  635. projectiles = {}
  636. holeTable = {}
  637. rainbowMode = false
  638. int = 0
  639. bodyparts = {}
  640. holdingMouse1 = false
  641. local currentAnim = "walk"
  642. local actionWalking = true
  643. local isCharging = false
  644. local slowingDown = 1
  645. local Smooth = 1
  646. local t = tick()
  647. game:GetService("RunService").Stepped:connect(function()
  648. t = t+0.5*Smooth
  649. statRegenNumber = statRegenNumber + 1
  650. if statRegenNumber >= 10 then
  651. if currentAnim == "Dashing" then
  652. if Mana > 0 then
  653. Mana = Mana - 1
  654. else
  655. holdingw = false
  656. end
  657. else
  658. if Mana < MaxMana then
  659. Mana = Mana + 1
  660. end
  661. end
  662. if char.Humanoid.Health < char.Humanoid.MaxHealth then
  663. char.Humanoid.Health = char.Humanoid.Health + 1
  664. end
  665. statRegenNumber = 0
  666. end
  667. HealthText.Text = math.ceil(char.Humanoid.Health)
  668. if char.Humanoid.Health <= 100 then
  669. HealthBar.Size = UDim2.new(0, math.ceil(char.Humanoid.Health)*2, 0, 20)
  670. end
  671. ManaText.Text = Mana
  672. if Mana <= 100 then
  673. ManaBar.Size = UDim2.new(0, Mana*2, 0, 20)
  674. end
  675. if not inAction then
  676. weaponWeld.C0 = weaponWeld.C0:lerp(weaponWeldc0,0.05)
  677. if rootpart.Velocity.y > 1 and Humanoid:GetState() == Enum.HumanoidStateType.Freefall then
  678. currentAnim = "jump"
  679. elseif rootpart.Velocity.y < -1 then
  680. currentAnim = "freefall"
  681. elseif (math.abs(rootpart.Velocity.x) > 2 or math.abs(rootpart.Velocity.z) > 2) and Humanoid:GetState() ~= Enum.HumanoidStateType.Freefall then
  682. currentAnim = "walk"
  683. elseif Vector3.new(rootpart.Velocity.x,0,rootpart.Velocity.y).magnitude < 1 and Humanoid:GetState() ~= Enum.HumanoidStateType.Freefall then
  684. currentAnim = "idle"
  685. end
  686.  
  687. if currentAnim == "idle" then
  688. animationSpeed = 0.1
  689. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.Angles(math.rad(-1), math.rad(-1), -(math.sin(t/7)/20)+0.1), animationSpeed)
  690. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-1), math.rad(0), (math.sin(t/7)/20)-0.1), animationSpeed)
  691. rightLegJoint.C0 = rightLegJoint.C0:lerp(rlc0*CFrame.new(0,math.sin(t/7)/30,0)*CFrame.Angles(math.rad(-2), math.rad(0), math.rad(1)), animationSpeed)
  692. leftLegJoint.C0 = leftLegJoint.C0:lerp(llc0*CFrame.new(0,math.sin(t/7)/30,0)*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-1), math.rad(0), math.rad(-1)), animationSpeed)
  693. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  694. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,-math.sin(t/7)/30)*CFrame.Angles(math.rad(-1), math.rad(0), math.rad(0)),animationSpeed)
  695. elseif currentAnim == "walk" then
  696. animationSpeed = 0.05
  697. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.new(0,0,0)*CFrame.Angles((math.sin(t/5)/25)+math.rad(-30), math.rad(-42), math.rad(17)), animationSpeed)
  698. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,0,0)*CFrame.Angles((math.sin(t/5)/25)+math.rad(-51), math.rad(42), math.rad(-11)), animationSpeed)
  699. rightLegJoint.C0 = rightLegJoint.C0:lerp(rlc0*CFrame.new(0,math.sin(t/5)/25,0)*CFrame.Angles((-math.sin(t/walkingAnimationSpeed)/1)+math.rad(0), math.rad(0), math.rad(0)), 0.4)
  700. leftLegJoint.C0 = leftLegJoint.C0:lerp(llc0*CFrame.new(0,math.sin(t/5)/25,0)*CFrame.Angles((math.sin(t/walkingAnimationSpeed)/1)+math.rad(0), math.rad(0), math.rad(0)), 0.4)
  701. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  702. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,-math.sin(t/5)/25)*CFrame.Angles(math.rad(10), math.rad(0), math.rad(0)),0.4)
  703. elseif currentAnim == "jump" then
  704. animationSpeed = 0.2
  705. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-11), math.rad(-2), math.rad(12)), animationSpeed)
  706. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-8), math.rad(2), math.rad(-17)), animationSpeed)
  707. rightLegJoint.C0 = rightLegJoint.C0:lerp(rlc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-11), math.rad(0), math.rad(4)), animationSpeed)
  708. leftLegJoint.C0 = leftLegJoint.C0:lerp(llc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-16), math.rad(1), math.rad(-4)), animationSpeed)
  709. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(8), math.rad(0), math.rad(0)),animationSpeed)
  710. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  711. elseif currentAnim == "freefall" then
  712. animationSpeed = 0.15
  713. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.new(0,0,0)*CFrame.Angles(-(math.sin(t/4)/7)+math.rad(-15), math.rad(0), -(math.sin(t/5)/10)+math.rad(10)), animationSpeed)
  714. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,0,0)*CFrame.Angles((math.sin(t/4)/7)+math.rad(-12), math.rad(4), (math.sin(t/5)/10)+math.rad(-10)), animationSpeed)
  715. rightLegJoint.C0 = rightLegJoint.C0:lerp(rlc0*CFrame.new(0,0,0)*CFrame.Angles((math.sin(t/4)/7)+math.rad(-8), math.rad(0), (math.sin(t/5)/10)+math.rad(6)), animationSpeed)
  716. leftLegJoint.C0 = leftLegJoint.C0:lerp(llc0*CFrame.new(0,0,0)*CFrame.Angles(-(math.sin(t/4)/7)+math.rad(0), math.rad(1), (math.sin(t/5)/10)+math.rad(-6)), animationSpeed)
  717. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  718. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  719. end
  720. else --starting abilities
  721. if actionWalking then
  722. if (math.abs(rootpart.Velocity.x) > 2 or math.abs(rootpart.Velocity.z) > 2) and Humanoid:GetState() ~= Enum.HumanoidStateType.Freefall then
  723. rightLegJoint.C0 = rightLegJoint.C0:lerp(rlc0*CFrame.new(0,math.sin(t/5)/25,0)*CFrame.Angles((-math.sin(t/walkingAnimationSpeed)/1)+math.rad(0), math.rad(0), math.rad(0)), 0.4)
  724. leftLegJoint.C0 = leftLegJoint.C0:lerp(llc0*CFrame.new(0,math.sin(t/5)/25,0)*CFrame.Angles((math.sin(t/walkingAnimationSpeed)/1)+math.rad(0), math.rad(0), math.rad(0)), 0.4)
  725. else
  726. rightLegJoint.C0 = rightLegJoint.C0:lerp(rlc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.05)
  727. leftLegJoint.C0 = leftLegJoint.C0:lerp(llc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.05)
  728. end
  729. end
  730. if currentAnim == "ArmUp" then
  731. animationSpeed = 0.3
  732. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(79), math.rad(-5), math.rad(1)), animationSpeed)
  733. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(62), math.rad(-3), math.rad(-3)), 0.07)
  734. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)),0.07)
  735. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.07)
  736. elseif currentAnim == "Slash1" then
  737. animationSpeed = 0.15
  738. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-150), math.rad(20), math.rad(40)), animationSpeed)
  739. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(62), math.rad(-3), math.rad(-3)), 0.07)
  740. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)),0.07)
  741. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.07)
  742. makeParticles()
  743. elseif currentAnim == "SlashMini" then
  744. animationSpeed = 0.3
  745. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.new(-0.3,0,-1)*CFrame.Angles(math.rad(23), math.rad(-20), math.rad(-62)), animationSpeed)
  746. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-49), math.rad(7), math.rad(-1)), animationSpeed)
  747. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  748. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  749. weaponWeld.C0 = weaponWeld.C0:lerp(weaponWeldc0*CFrame.new(0, 0, 0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), animationSpeed)
  750. makeParticles()
  751. elseif currentAnim == "Slash2" then
  752. animationSpeed = 0.3
  753. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(70), math.rad(3), math.rad(-13)), animationSpeed)
  754. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-49), math.rad(7), math.rad(-1)), animationSpeed)
  755. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  756. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  757. weaponWeld.C0 = weaponWeld.C0:lerp(weaponWeldc0*CFrame.new(0, 0, 0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), animationSpeed)
  758. makeParticles()
  759. elseif currentAnim == "DashDown" then
  760. animationSpeed = 0.3
  761. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-88), math.rad(-47), math.rad(24)), animationSpeed)
  762. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,-0.5,0)*CFrame.Angles(math.rad(42), math.rad(-5), math.rad(-5)), animationSpeed)
  763. rightLegJoint.C0 = rightLegJoint.C0:lerp(rlc0*CFrame.new(0,1.5,-0.5)*CFrame.Angles(math.rad(24), math.rad(3), math.rad(1)), animationSpeed)
  764. leftLegJoint.C0 = leftLegJoint.C0:lerp(llc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-40), math.rad(1), math.rad(-3)), animationSpeed)
  765. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-11), math.rad(0), math.rad(0)),animationSpeed)
  766. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,-1.3)*CFrame.Angles(math.rad(30), math.rad(0), math.rad(0)),animationSpeed)
  767. local spike = Instance.new("Part", model)
  768. table.insert(SpinTable, spike)
  769. spike.Size = Vector3.new(0,0,0)
  770. spike.Name = "spinnything"
  771. spike.Material = "Neon"
  772. spike.BrickColor = BrickColor.new(MainColor)
  773. spike.Anchored = true
  774. spike.Transparency = 0.5
  775. spike.CanCollide = false
  776. spike.CFrame = CFrame.new(torso.Position.x,(torso.Position.y - 2.5),torso.Position.z)*CFrame.Angles(math.rad(0), math.rad(math.random(0,180)), math.rad(0))
  777. local spikemesh = Instance.new("BlockMesh", spike)
  778. spikemesh.Name = "SpikeMesh"
  779. spikemesh.Scale = Vector3.new(5,5,5)
  780. local ball = Instance.new("Part", model)
  781. ball.Size = Vector3.new(0,0,0)
  782. ball.Name = "ballthing"
  783. ball.Material = "Neon"
  784. ball.BrickColor = BrickColor.new(MainColor)
  785. ball.Anchored = true
  786. ball.Transparency = 0.5
  787. ball.CanCollide = false
  788. ball.CFrame = CFrame.new(torso.Position.x,(torso.Position.y - 2.5),torso.Position.z)
  789. local spikemesh = Instance.new("SpecialMesh", ball)
  790. spikemesh.Name = "SpikeMesh"
  791. spikemesh.MeshType = "Sphere"
  792. spikemesh.Scale = Vector3.new(5,5,5)
  793. table.insert(SpinTable,ball)
  794. makeParticles()
  795. elseif currentAnim == "Dashing" then
  796. animationSpeed = 0.3
  797. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.new(0,0,0)*CFrame.Angles((math.sin(t/4)/7)+math.rad(-66), math.rad(-24), (math.sin(t/5)/10)+math.rad(25)), animationSpeed)
  798. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,0,0)*CFrame.Angles(-(math.sin(t/4)/7)+math.rad(-64), math.rad(31), -(math.sin(t/5)/10)+math.rad(-25)), animationSpeed)
  799. rightLegJoint.C0 = rightLegJoint.C0:lerp(rlc0*CFrame.new(0,0,0)*CFrame.Angles(-(math.sin(t/4)/7)+math.rad(-49), math.rad(-19), math.rad(20)), animationSpeed)
  800. leftLegJoint.C0 = leftLegJoint.C0:lerp(llc0*CFrame.new(0,0,0)*CFrame.Angles((math.sin(t/4)/7)+math.rad(-49), math.rad(13), math.rad(-12)), animationSpeed)
  801. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(5), math.rad(0), math.rad(0)),animationSpeed)
  802. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  803. rootpart.CFrame = rootpart.CFrame*CFrame.new(0,0,-2)
  804. createPath()
  805. elseif currentAnim == "DashSlowing" then
  806. animationSpeed = 0.2
  807. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(12), math.rad(0), math.rad(0)), animationSpeed)
  808. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(28), math.rad(0), math.rad(0)), animationSpeed)
  809. rightLegJoint.C0 = rightLegJoint.C0:lerp(rlc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(21), math.rad(0), math.rad(3)), animationSpeed)
  810. leftLegJoint.C0 = leftLegJoint.C0:lerp(llc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(23), math.rad(-1), math.rad(-2)), animationSpeed)
  811. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(-5), math.rad(0), math.rad(0)),animationSpeed)
  812. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  813. rootpart.CFrame = rootpart.CFrame*CFrame.new(0,0,-slowingDown)
  814. slowingDown = slowingDown - 0.05
  815. elseif currentAnim == "Casting" then
  816. animationSpeed = 0.3
  817. rightArmJoint.C0 = rightArmJoint.C0:lerp(rsc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(138), -(math.sin(t/4)/4)+math.rad(0), math.rad(13)), animationSpeed)
  818. leftArmJoint.C0 = leftArmJoint.C0:lerp(lsc0*CFrame.new(0,0,0)*CFrame.Angles((math.sin(t/5)/25)+math.rad(-21), math.rad(10), math.rad(-11)), animationSpeed)
  819. neck.C0 = neck.C0:lerp(neckc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  820. rj.C0 = rj.C0:lerp(rootc0*CFrame.new(0,0,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),animationSpeed)
  821. weaponWeld.C0 = weaponWeld.C0:lerp(weaponWeldc0*CFrame.new(0, 0, 0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), animationSpeed)
  822. pcall(function()
  823. castRing.CFrame = CFrame.new(Mouse.Hit.p.X,Mouse.Hit.p.Y+0.3,Mouse.Hit.p.Z)*CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
  824. castRing.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  825. castCircle.CFrame = CFrame.new(Mouse.Hit.p.X,Mouse.Hit.p.Y+0.3,Mouse.Hit.p.Z)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0))
  826. end)
  827. makeParticles()
  828. end
  829. end
  830. if #TSTable > 0 then
  831. for i,v in pairs(TSTable) do
  832. if v.Transparency <= 1 then
  833. v.Transparency = v.Transparency + 0.02
  834. if v.Name == "Ring" then
  835. pcall(function()
  836. v.SpikeMesh.Scale = v.SpikeMesh.Scale - Vector3.new(0.2,0.2,0)
  837. end)
  838. elseif v.Name == "SlamRing" then
  839. v.Transparency = v.Transparency - 0.01
  840. pcall(function()
  841. v.SpikeMesh.Scale = v.SpikeMesh.Scale + Vector3.new(3,3,3)
  842. end)
  843. elseif v.Name == "GRASS" then
  844. v.Transparency = v.Transparency - 0.016
  845. if v.Transparency > 0.5 then
  846. v.CanCollide = false
  847. end
  848. elseif v.Name == "firework" then
  849. v.Transparency = v.Transparency - 0.01
  850. pcall(function()
  851. v.SpikeMesh.Scale = v.SpikeMesh.Scale - Vector3.new(0.05,0.05,0.05)
  852. end)
  853. else
  854. pcall(function()
  855. v.SpikeMesh.Scale = v.SpikeMesh.Scale - Vector3.new(0.2,0,0.2)
  856. end)
  857. end
  858. else
  859. table.remove(TSTable, i)
  860. v:Remove()
  861. end
  862. end
  863. end
  864. if #currentTable > 0 then
  865. for i,v in pairs(currentTable) do
  866. if isCharging then
  867. v.forceinward.Position = wmt.Position
  868. end
  869. v.Transparency = v.Transparency + 0.05
  870. if v.Transparency >= 1 then
  871. table.remove(currentTable, i)
  872. table.remove(allbps, i)
  873. v:Remove()
  874. end
  875. end
  876. end
  877. if #holeTable > 0 then
  878. for i,hole in pairs(holeTable) do
  879. if hole.HoleMesh.Scale.X < 100 and hole:findFirstChild("BLOCK") == nil then
  880. hole.HoleMesh.Scale = hole.HoleMesh.Scale + Vector3.new(10,0,10)
  881. else
  882. if hole:findFirstChild("BLOCK") == nil then
  883. local block = Instance.new("Part", hole)
  884. block.Name = "BLOCK"
  885. block.Size = Vector3.new(9,0,9)
  886. block.Anchored = true
  887. block.CFrame = hole.CFrame*CFrame.new(0,-0.25,0)
  888. block.Material = "SmoothPlastic"
  889. block.Reflectance = 0.5
  890. block.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  891. local bv = Instance.new("IntValue", block)
  892. bv.Name = "goingUp"
  893. bv.Value = 0
  894. else
  895. hole:findFirstChild("BLOCK").goingUp.Value = hole:findFirstChild("BLOCK").goingUp.Value + 1
  896. if hole:findFirstChild("BLOCK").goingUp.Value <= 6 then
  897. local currentC = hole:findFirstChild("BLOCK").CFrame
  898. hole:findFirstChild("BLOCK").Size = hole:findFirstChild("BLOCK").Size + Vector3.new(0,5,0)
  899. hole:findFirstChild("BLOCK").CFrame = currentC*CFrame.new(0,-2.5,0)
  900. elseif hole:findFirstChild("BLOCK").goingUp.Value >= 20 and hole:findFirstChild("BLOCK").Size.Y > 0.3 then
  901. local currentC = hole:findFirstChild("BLOCK").CFrame
  902. hole:findFirstChild("BLOCK").Size = hole:findFirstChild("BLOCK").Size + Vector3.new(0,-5,0)
  903. hole:findFirstChild("BLOCK").CFrame = currentC*CFrame.new(0,2.5,0)
  904. elseif hole:findFirstChild("BLOCK").goingUp.Value == 7 then
  905. takeDamage((hole.Position - Vector3.new(0,30,0)), 30, 14, false)
  906. local e = Instance.new("Explosion", hole)
  907. e.Position = (hole.Position - Vector3.new(0,30,0))
  908. e.BlastPressure = 100000
  909. e.BlastRadius = 6
  910. e.ExplosionType = "CratersAndDebris"
  911. e.Visible = false
  912. local spike = Instance.new("Part", model)
  913. table.insert(TSTable, spike)
  914. spike.Size = Vector3.new(0,0,0)
  915. spike.Name = "SlamRing"
  916. spike.Material = "Neon"
  917. spike.BrickColor = BrickColor.new("Industrial white")
  918. spike.Anchored = true
  919. spike.Transparency = 0.3
  920. spike.CanCollide = false
  921. spike.CFrame = hole.CFrame*CFrame.new(0,-30,0)*CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
  922. local spikemesh = Instance.new("SpecialMesh", spike)
  923. spikemesh.Name = "SpikeMesh"
  924. spikemesh.Scale = Vector3.new(10,10,10)
  925. spikemesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
  926. for ind = 1,8 do
  927. local pgrass = Instance.new("Part",model)
  928. pgrass.CanCollide = true
  929. pgrass.Name = "GRASS"
  930. pgrass.Anchored = true
  931. if workspace:findFirstChild("Base") ~= nil then
  932. pgrass.Material = workspace.Base.Material
  933. pgrass.BrickColor = workspace.Base.BrickColor
  934. else
  935. pgrass.Material = "Grass"
  936. pgrass.BrickColor = BrickColor.new("Bright green")
  937. end
  938. pgrass.Size = Vector3.new(math.random(8,10),math.random(1,2),math.random(8,10))
  939. pgrass.CFrame = hole.CFrame*CFrame.new(0,-30,0)*CFrame.Angles(math.rad(math.random(-40,40)),0,math.rad(math.random(-40,40)))
  940. pgrass.CFrame = CFrame.new(hole.CFrame.X, hole.CFrame.Y-30, hole.CFrame.Z) --Start at the center of the circle
  941. * CFrame.Angles(0, math.rad(ind*(360/8)), math.rad(0)) --Rotate the brick
  942. * CFrame.new(0, 0, 6) --Move it out by 10 units
  943. * CFrame.Angles(math.rad(math.random(-35,25)),math.rad(math.random(-10,10)),math.rad(math.random(-10,10)))
  944. table.insert(TSTable, pgrass)
  945. end
  946. local s = Instance.new("Sound", pgrass)
  947. s.SoundId = "rbxassetid://301184111"
  948. s.EmitterSize = 10
  949. s.Volume = 0.3
  950. s:Play()
  951. game:GetService("Debris"):AddItem(s, 5)
  952. elseif hole:findFirstChild("BLOCK").goingUp.Value >= 30 then
  953. hole:findFirstChild("BLOCK").Transparency = 1
  954. hole.HoleMesh.Scale = hole.HoleMesh.Scale - Vector3.new(10,0,10)
  955. if hole.HoleMesh.Scale.X < 0 then
  956. table.remove(holeTable, i)
  957. hole:Remove()
  958. end
  959. end
  960. end
  961. end
  962. end
  963. end
  964. if #SpinTable > 0 then
  965. for i,v in pairs(SpinTable) do
  966. if v.Transparency <= 1 then
  967. if v.Name == "spinnything" then
  968. v.Transparency = v.Transparency + 0.005
  969. v.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  970. pcall(function()
  971. v.SpikeMesh.Scale = v.SpikeMesh.Scale + Vector3.new(1,0,1)
  972. end)
  973. elseif v.Name == "firework" then
  974. v.Transparency = v.Transparency + 0.01
  975. v.BrickColor = BrickColor.new(Rainbow[math.random(1,#Rainbow)])
  976. local sizeup = 3
  977. pcall(function()
  978. v.SpikeMesh.Scale = v.SpikeMesh.Scale + Vector3.new(sizeup,sizeup,sizeup)
  979. end)
  980. elseif v.Name == "firework1" then
  981. v.Transparency = v.Transparency + math.random(7,10)/1000
  982. v.BrickColor = BrickColor.new(Rainbow[math.random(1,#Rainbow)])
  983. local sizeup = math.random(2,5)/10
  984. pcall(function()
  985. v.SpikeMesh.Scale = v.SpikeMesh.Scale + Vector3.new(sizeup,sizeup,sizeup)
  986. end)
  987. elseif v.Name == "teleball" then
  988. v.Transparency = v.Transparency - 0.1
  989. v.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  990. local sizeup = 4
  991. pcall(function()
  992. v.SpikeMesh.Scale = v.SpikeMesh.Scale + Vector3.new(sizeup,sizeup,sizeup)
  993. end)
  994. elseif v.Name == "teleballsmall" then
  995. v.Transparency = v.Transparency + 0.02
  996. v.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  997. local sizeup = -1
  998. pcall(function()
  999. v.SpikeMesh.Scale = v.SpikeMesh.Scale + Vector3.new(sizeup,sizeup,sizeup)
  1000. end)
  1001. elseif v.Name == "transRainbowPart" then
  1002. v.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  1003. v.Transparency = v.Transparency + 0.05
  1004. else
  1005. v.Transparency = v.Transparency + 0.005
  1006. v.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  1007. pcall(function()
  1008. v.SpikeMesh.Scale = v.SpikeMesh.Scale + Vector3.new(1,1,1)
  1009. end)
  1010. end
  1011. else
  1012. v:Remove()
  1013. table.remove(SpinTable, i)
  1014. end
  1015. end
  1016. end
  1017. if #projectiles > 0 then
  1018. for i,v in pairs(projectiles) do
  1019. if (v.Position - rootpart.Position).magnitude > 300 then
  1020. v:Remove()
  1021. table.remove(projectiles, i)
  1022. local ball1 = Instance.new("Part", model)
  1023. ball1.Size = Vector3.new(0,0,0)
  1024. ball1.Name = "firework"
  1025. ball1.Material = "Neon"
  1026. ball1.BrickColor = BrickColor.new(MainColor)
  1027. ball1.Anchored = true
  1028. ball1.Transparency = 0
  1029. ball1.CanCollide = false
  1030. ball1.CFrame = CFrame.new(v.Position.x,v.Position.y,v.Position.z)
  1031. local spikemesh = Instance.new("SpecialMesh", ball1)
  1032. spikemesh.Name = "SpikeMesh"
  1033. spikemesh.MeshType = "Sphere"
  1034. spikemesh.Scale = Vector3.new(5,5,5)
  1035. table.insert(SpinTable,ball1)
  1036. local s = Instance.new("Sound", ball1) --Crackle
  1037. s.SoundId = "rbxassetid://435195821"
  1038. s.EmitterSize = 100
  1039. s.Volume = 0.6
  1040. s:Play()
  1041. game:GetService("Debris"):AddItem(s, 2)
  1042. local s = Instance.new("Sound", ball1) --boom
  1043. s.SoundId = "rbxassetid://514867425"
  1044. s.EmitterSize = 100
  1045. s.Volume = 100
  1046. s:Play()
  1047. game:GetService("Debris"):AddItem(s, 2)
  1048. game:GetService("RunService").Stepped:wait()
  1049. for i = 1,12 do --THIS IS A GOOD POINT
  1050. local p = Instance.new("Part",ball1)
  1051. p.Name = "firework"
  1052. p.Size = Vector3.new(0,0,0)
  1053. p.Transparency = 0
  1054. p.CanCollide = true
  1055. p.CFrame = ball1.CFrame*CFrame.new(math.random(-4,4),i,math.random(-4,4))
  1056. p.Material = "Neon"
  1057. p.BrickColor = BrickColor.new(Rainbow[i])
  1058. local f = Instance.new("Fire",p)
  1059. f.Color = BrickColor.new(Rainbow[i]).Color
  1060. f.SecondaryColor = Color3.new(1,1,1)
  1061. local spikemesh = Instance.new("BlockMesh", p)
  1062. spikemesh.Name = "SpikeMesh"
  1063. spikemesh.Scale = Vector3.new(20,20,20)
  1064. table.insert(TSTable, p)
  1065. end
  1066. wait(0.1)
  1067. local e = Instance.new("Explosion", ball1)
  1068. e.Position = ball1.Position
  1069. e.BlastPressure = 100000
  1070. e.BlastRadius = 20
  1071. e.ExplosionType = "CratersAndDebris"
  1072. else
  1073. v.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  1074. local somethingWasHit = false
  1075. local Region = CreateRegion3FromLocAndSize(v.Position, Vector3.new(1,1,1))
  1076. for _,Part in pairs(workspace:FindPartsInRegion3WithIgnoreList(Region,{char},math.huge)) do
  1077. if not somethingWasHit and Part.Name ~= "firework" and Part.Name ~= "firework1" and Part.Name ~= "projectile" and Part.Name ~= "Particle" then
  1078. somethingWasHit = true
  1079. v:Remove()
  1080. table.remove(projectiles, i)
  1081. takeDamage(v.Position, math.random(10,20), 13, false)
  1082. for i = 1,6 do
  1083. local ball = Instance.new("Part", model)
  1084. ball.Size = Vector3.new(0,0,0)
  1085. ball.Name = "firework1"
  1086. ball.Material = "Neon"
  1087. ball.BrickColor = BrickColor.new(MainColor)
  1088. ball.Anchored = true
  1089. ball.Transparency = 0.5
  1090. ball.CanCollide = false
  1091. if i == 1 then
  1092. ball.CFrame = CFrame.new(v.Position.x,v.Position.y,v.Position.z)
  1093. ball.Transparency = 0
  1094. else
  1095. ball.CFrame = CFrame.new(v.Position.x+math.random(-3,3),(v.Position.y+math.random(-3,3)),v.Position.z+math.random(-3,3))
  1096. end
  1097. local spikemesh = Instance.new("SpecialMesh", ball)
  1098. spikemesh.Name = "SpikeMesh"
  1099. spikemesh.MeshType = "Sphere"
  1100. spikemesh.Scale = Vector3.new(1,1,1)
  1101. table.insert(SpinTable,ball)
  1102. if i == 1 then
  1103. local s = Instance.new("Sound", ball)
  1104. s.SoundId = "rbxassetid://435195821"
  1105. s.EmitterSize = 20
  1106. s.Volume = 0.5
  1107. s:Play()
  1108. game:GetService("Debris"):AddItem(s, 5)
  1109. local s = Instance.new("Sound", ball) --boom
  1110. s.SoundId = "rbxassetid://540926687"
  1111. s.EmitterSize = 50
  1112. s.Volume = 1
  1113. s:Play()
  1114. game:GetService("Debris"):AddItem(s, 3)
  1115. end
  1116. end
  1117. end
  1118. end
  1119. end
  1120. pcall(function()
  1121. v.CFrame = v.CFrame*CFrame.new(0,0,-3)
  1122. end)
  1123. end
  1124. end
  1125. if rainbowMode then
  1126. Mana = 100
  1127. ManaBar.BackgroundColor3 = BrickColor.new(Rainbow[rainbowNumber]).Color
  1128. HealthBar.BackgroundColor3 = BrickColor.new(Rainbow[rainbowNumber]).Color
  1129. Info.TextColor = BrickColor.new(Rainbow[rainbowNumber])
  1130. Q.TextColor = BrickColor.new(Rainbow[rainbowNumber])
  1131. E.TextColor = BrickColor.new(Rainbow[rainbowNumber])
  1132. for i,v in pairs(char:GetChildren()) do
  1133. if v:isA("Part") then
  1134. v.Transparency = 1
  1135. local cp = v:Clone()
  1136. cp.CanCollide = false
  1137. cp.Anchored = true
  1138. cp.Material = "SmoothPlastic"
  1139. cp.Transparency = 0
  1140. cp.BrickColor = BrickColor.new(Rainbow[rainbowNumber])
  1141. cp.CFrame = v.CFrame --*CFrame.new(0,0,0)*CFrame.Angles(math.rad(math.random(-20,20)),math.rad(math.random(-20,20)),math.rad(math.random(-20,20)))
  1142. for _,extra in pairs(cp:GetChildren()) do
  1143. if not extra:isA("SpecialMesh") then
  1144. extra:Remove()
  1145. end
  1146. end
  1147. if v.Name ~= "Head" then
  1148. local mesh = Instance.new("BlockMesh")
  1149. mesh.Parent = cp
  1150. mesh.Scale = Vector3.new(1,1,1)
  1151. end
  1152. cp.Parent = model
  1153. table.insert(bodyparts, cp)
  1154. end
  1155. end
  1156. end
  1157. if #bodyparts > 0 then
  1158. for i,v in pairs(bodyparts) do
  1159. if v.Transparency < 1 then
  1160. v.Transparency = v.Transparency + 0.05
  1161. --v.Mesh.Scale = v.Mesh.Scale-Vector3.new(0.05,0.05,0.05)
  1162. else
  1163. table.remove(bodyparts, i)
  1164. v:Remove()
  1165. end
  1166. end
  1167. end
  1168. if rainbowNumber >= #Rainbow then
  1169. rainbowNumber = 1
  1170. else
  1171. rainbowNumber = rainbowNumber + 1
  1172. end
  1173. end)
  1174.  
  1175. local wtap = false
  1176. Mouse.KeyDown:connect(function(key)
  1177. if key:lower() == "q" then
  1178. spellMover = spells[#spells]
  1179. table.remove(spells, #spells)
  1180. table.insert(spells, 1, spellMover)
  1181. loadSpellGui()
  1182. elseif key:lower() == "e" then
  1183. spellMover = spells[1]
  1184. table.remove(spells, 1)
  1185. table.insert(spells, #spells+1, spellMover)
  1186. loadSpellGui()
  1187. end
  1188. if not inAction then
  1189. if key:lower() == "w" then
  1190. if wtap then
  1191. if Mana > 0 then
  1192. holdingw = true
  1193. inAction = true
  1194. isCharging = true
  1195. char.Humanoid.WalkSpeed = 0
  1196. char.Humanoid.JumpPower = 0
  1197. actionWalking = false
  1198. currentAnim = "DashDown"
  1199. local dashs = Instance.new("Sound", torso) --whole opening
  1200. dashs.SoundId = "rbxassetid://551066808" --ADD DASHING SOUND
  1201. dashs.EmitterSize = 12
  1202. dashs.Volume = 100
  1203. dashs.Looped = true
  1204. dashs:Play()
  1205. wait(0.2)
  1206. isCharging = false
  1207. takeDamage(rootpart.Position, math.random(20,30), 10, false)
  1208. char.Humanoid.WalkSpeed = 1
  1209. currentAnim = "Dashing"
  1210. if holdingw then
  1211. repeat wait() until not holdingw
  1212. else
  1213. wait(0.3)
  1214. end
  1215. dashs:Remove()
  1216. currentAnim = "DashSlowing"
  1217. slowingDown = 1
  1218. wait(0.5)
  1219. char.Humanoid.JumpPower = jumpPower
  1220. wtap = false
  1221. actionWalking = true
  1222. inAction = false
  1223. char.Humanoid.WalkSpeed = CharacterSpeed
  1224. end
  1225. else
  1226. wtap = true
  1227. wait(0.2)
  1228. wtap = false
  1229. end
  1230. end
  1231. end
  1232. end)
  1233. Mouse.KeyUp:connect(function(key)
  1234. if key:lower() == "w" then
  1235. holdingw = false
  1236. end
  1237. end)
  1238. Mouse.Button1Down:connect(function()
  1239. holdingMouse1 = true
  1240. if not inAction then
  1241. if Mana >= currentSpell.ManaCost then
  1242. Mana = Mana - currentSpell.ManaCost
  1243. if currentSpell.Name == "Firework" then
  1244. inAction = true
  1245. currentAnim = "ArmUp"
  1246. wait(0.05)
  1247. currentAnim = "Slash1"
  1248. isCharging = true
  1249. wait(0.3)
  1250. currentAnim = "SlashMini"
  1251. wait(0.1)
  1252. currentAnim = "Slash2"
  1253. wait(0.08)
  1254. if holdingMouse1 then
  1255. repeat if Mana >= currentSpell.ManaCost then Mana = (Mana - currentSpell.ManaCost) else holdingMouse1 = false end OriginalProjectile(Mouse.Hit.p) wait(0.1) currentAnim = "SlashMini" wait(0.2) currentAnim = "Slash2" until not holdingMouse1
  1256. else
  1257. OriginalProjectile(Mouse.Hit.p)
  1258. end
  1259. isCharging = false
  1260. inAction = false
  1261. elseif currentSpell.Name == "Void Crush" then
  1262. inAction = true
  1263. currentAnim = "Casting"
  1264. char.Humanoid.WalkSpeed = CharacterSpeed/1.5
  1265. walkingAnimationSpeed = walkingAnimationSpeed*1.5
  1266. castingStart(1)
  1267. wait(1)
  1268. currentAnim = "SlashMini"
  1269. wait(0.1)
  1270. currentAnim = "Slash2"
  1271. wait(0.08)
  1272. createHole(Mouse.Hit.p, 30)
  1273. char.Humanoid.WalkSpeed = CharacterSpeed
  1274. walkingAnimationSpeed = walkingAnimationSpeed/1.5
  1275. isCharging = false
  1276. inAction = false
  1277. elseif currentSpell.Name == "Teleport" then
  1278. inAction = true
  1279. currentAnim = "Casting"
  1280. char.Humanoid.WalkSpeed = CharacterSpeed/1.5
  1281. walkingAnimationSpeed = walkingAnimationSpeed*1.5
  1282. castingStart(0.7)
  1283. wait(0.5)
  1284. if (torso.Position - Mouse.Hit.p).magnitude <= 3000 then
  1285. local tball1 = Instance.new("Part", model)
  1286. tball1.Size = Vector3.new(0,0,0)
  1287. tball1.Name = "teleball"
  1288. tball1.Material = "Neon"
  1289. tball1.BrickColor = BrickColor.new(MainColor)
  1290. tball1.Anchored = true
  1291. tball1.Transparency = 0.95
  1292. tball1.CanCollide = false
  1293. tball1.CFrame = CFrame.new(Mouse.Hit.p.X, Mouse.Hit.p.Y+3, Mouse.Hit.p.Z)
  1294. local spikemesh = Instance.new("SpecialMesh", tball1)
  1295. spikemesh.Name = "SpikeMesh"
  1296. spikemesh.MeshType = "Sphere"
  1297. spikemesh.Scale = Vector3.new(1,1,1)
  1298. table.insert(SpinTable,tball1)
  1299. local tball = Instance.new("Part", model)
  1300. tball.Size = Vector3.new(0,0,0)
  1301. tball.Name = "teleball"
  1302. tball.Material = "Neon"
  1303. tball.BrickColor = BrickColor.new(MainColor)
  1304. tball.Anchored = false
  1305. tball.Transparency = 0.95
  1306. tball.CanCollide = false
  1307. tball.CFrame = torso.CFrame
  1308. local spikemesh = Instance.new("SpecialMesh", tball)
  1309. spikemesh.Name = "SpikeMesh"
  1310. spikemesh.MeshType = "Sphere"
  1311. spikemesh.Scale = Vector3.new(1,1,1)
  1312. table.insert(SpinTable,tball)
  1313. local TWeld = Instance.new("Weld",tball)
  1314. TWeld.Part0 = tball
  1315. TWeld.Part1 = torso
  1316. TWeld.C0 = CFrame.new(0,0,0)
  1317. wait(0.1)
  1318. local s = Instance.new("Sound", torso)
  1319. s.SoundId = "rbxassetid://289556450"
  1320. s.EmitterSize = 5
  1321. s.Volume = 1
  1322. s:Play()
  1323. game:GetService("Debris"):AddItem(s, 3)
  1324. local laser2 = Instance.new("Part", model)
  1325. laser2.Color = BrickColor.White().Color
  1326. laser2.Transparency = 0.1
  1327. laser2.Name = "transRainbowPart"
  1328. laser2.Material = "Neon"
  1329. laser2.Anchored = true
  1330. laser2.CanCollide = false
  1331. laser2.CFrame = CFrame.new(((tball.Position.X + tball1.Position.X) / 2), ((tball.Position.Y + tball1.Position.Y) / 2), ((tball.Position.Z + tball1.Position.Z) / 2))
  1332. laser2.CFrame = CFrame.new(laser2.Position, tball1.Position)
  1333. laser2.Size = Vector3.new(0, 0, (tball.Position - tball1.Position).magnitude)
  1334. local bm = Instance.new("BlockMesh", laser2)
  1335. bm.Scale = Vector3.new(2, 2, 1)
  1336. table.insert(SpinTable,laser2)
  1337. wait(0.1)
  1338. TWeld:Remove()
  1339. tball.CFrame = torso.CFrame
  1340. tball.Anchored = true
  1341. tball.Name = "teleballsmall"
  1342. rootpart.CFrame = tball1.CFrame
  1343. tball1.Name = "teleballsmall"
  1344. end
  1345. char.Humanoid.WalkSpeed = CharacterSpeed
  1346. walkingAnimationSpeed = walkingAnimationSpeed/1.5
  1347. isCharging = false
  1348. inAction = false
  1349. elseif currentSpell.Name == "True Form" then
  1350. inAction = true
  1351. currentAnim = "Casting"
  1352. char.Humanoid.WalkSpeed = CharacterSpeed/1.5
  1353. walkingAnimationSpeed = walkingAnimationSpeed*1.5
  1354. wait(3)
  1355. if rainbowMode then
  1356. rainbowMode = false
  1357. pcall(function()
  1358. rainbows:Remove()
  1359. end)
  1360. for i,v in pairs(char:GetChildren()) do
  1361. if v:isA("Part") then
  1362. if v.Name ~= "HumanoidRootPart" then
  1363. v.Transparency = 0
  1364. end
  1365. elseif v:isA("Accessory") then
  1366. v.Handle.Transparency = 0
  1367. end
  1368. end
  1369. CharacterSpeed = CharacterSpeed/2
  1370. walkingAnimationSpeed = 3.5*1.5
  1371. model.face.Parent = char.Head
  1372. ManaBar.BackgroundColor3 = Color3.new(0, 0.317647, 1)
  1373. HealthBar.BackgroundColor3 = Color3.new(0, 0.8, 0.02)
  1374. Info.TextColor = BrickColor.new(MainColor)
  1375. Q.TextColor = BrickColor.new(MainColor)
  1376. E.TextColor = BrickColor.new(MainColor)
  1377. else
  1378. for i,v in pairs(char:GetChildren()) do
  1379. if v:isA("Part") then
  1380. if v.Name ~= "HumanoidRootPart" then
  1381. v.Transparency = 1
  1382. end
  1383. elseif v:isA("Accessory") then
  1384. v.Handle.Transparency = 1
  1385. end
  1386. end
  1387. CharacterSpeed = CharacterSpeed*2
  1388. walkingAnimationSpeed = 6*1.5
  1389. char.Humanoid.WalkSpeed = CharacterSpeed
  1390. char.Head.face.Parent = model
  1391. rainbowMode = true
  1392. rainbows = Instance.new("Sound", torso) --whole opening
  1393. rainbows.SoundId = "rbxassetid://178810058"
  1394. rainbows.EmitterSize = 6
  1395. rainbows.Volume = 3
  1396. rainbows:Play()
  1397. rainbows.Looped = true
  1398. end
  1399. char.Humanoid.WalkSpeed = CharacterSpeed
  1400. walkingAnimationSpeed = walkingAnimationSpeed/1.5
  1401. isCharging = false
  1402. inAction = false
  1403. end
  1404. else
  1405. print("Not enough mana")
  1406. end
  1407. end
  1408. end)
  1409. Mouse.Button1Up:connect(function()
  1410. holdingMouse1 = false
  1411. end)
Advertisement
Add Comment
Please, Sign In to add comment