FloweyTheFlower

Roblox Scripts #35 Firework Magic Staff

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