Advertisement
anonymous321313

Untitled

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