Advertisement
TheClassicMeme

AYYY

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