Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 142.05 KB | None | 0 0
  1. local p = game.Players.LocalPlayer
  2. local char = p.Character
  3. local hed = char.Head
  4. local hes = game.Players.LocalPlayer.Character.Humanoid
  5. for i,v in pairs(char:children()) do
  6. if v:IsA("Hat") then
  7. v:Destroy()
  8. end
  9. end
  10. for i,v in pairs(hed:children()) do
  11. if v:IsA("Sound") then
  12. v:Destroy()
  13. end
  14. end
  15. local Part = Instance.new("Part",hed)
  16. Part.BrickColor = BrickColor.new("Really black")
  17. Part.Size = Vector3.new(1,1,1)
  18. Part.CanCollide = false
  19. Part.Material = "Neon"
  20. local M = Instance.new("SpecialMesh",Part)
  21. M.MeshId = "rbxassetid://227430350"
  22. M.Scale = Vector3.new(3,3,3)
  23. local Part2 = Instance.new("Weld",Part)
  24. Part2.Part0 = hed
  25. Part2.Part1 = Part
  26. Part2.C0 = CFrame.new(0, 1, -0.5)
  27. hes.MaxHealth = math.huge
  28. warn'Edit By BonnieKunG1s'
  29. plr = game.Players.LocalPlayer
  30. chr = plr.Character
  31. chr.Head.face.Texture = "rbxassetid://851605535"
  32. chr.Shirt.ShirtTemplate = "rbxassetid://345610580"
  33. chr.Pants.PantsTemplate = "rbxassetid://1372174323"
  34. local plr = game:service'Players'.LocalPlayer
  35. local char = plr.Character
  36. for i,v in pairs(char:GetChildren()) do if v:IsA("Accessory") then v:Remove() end end
  37. for i,v in pairs(char:GetChildren()) do if v:IsA("Hat") then v:Remove() end end
  38. local Part = Instance.new("Part",chr)
  39. Part.BrickColor = BrickColor.new("Royal blue")
  40. Part.Size = Vector3.new(1,1,1)
  41. Part.CanCollide = false
  42. Part.Material = "Neon"
  43. local M = Instance.new("SpecialMesh",Part)
  44. M.MeshId = "rbxassetid://0"
  45. M.Scale = Vector3.new(1.2,1.2,1.2)
  46. M.TextureId = "rbxassetid://0"
  47. local Part2 = Instance.new("Weld",Part)
  48. Part2.Part0 = chr.Head
  49. Part2.Part1 = Part
  50. Part2.C0 = CFrame.new(0,0.2,0)*CFrame.Angles(0,0,0)
  51. local Part1 = Instance.new("Part",chr)
  52. Part1.BrickColor = BrickColor.new("Really black")
  53. Part1.Size = Vector3.new(1,1,1)
  54. Part1.CanCollide = false
  55. Part1.Material = "Neon"
  56. local M1 = Instance.new("SpecialMesh",Part1)
  57. M1.MeshId = "rbxassetid://430440803"
  58. M1.Scale = Vector3.new(0.0067,0.0067,0.0067)
  59. local Part21 = Instance.new("Weld",Part1)
  60. Part21.Part0 = chr.Head
  61. Part21.Part1 = Part1
  62. Part21.C0 = CFrame.new(0,-1.2,0)*CFrame.Angles(0,1.55,0)
  63. local Bon = chr["Body Colors"]
  64. Bon.HeadColor = BrickColor.new("White")
  65. Bon.LeftArmColor = BrickColor.new("White")
  66. Bon.LeftLegColor = BrickColor.new("White")
  67. Bon.RightArmColor = BrickColor.new("White")
  68. Bon.RightLegColor = BrickColor.new("White")
  69. Bon.TorsoColor = BrickColor.new("White")
  70. --http://www.roblox.com/Asset/?id=22968437
  71. local Plr = game.Players.LocalPlayer
  72. local PChar = Plr.Character
  73. local PlrMouse = Plr:GetMouse()
  74. if script == nil then return end
  75.  
  76.  
  77. Player = game.Players.LocalPlayer
  78. Char = Player.Character
  79. Name = "Wanda"
  80. selected = false
  81. Button1Down = false
  82. canFire = true
  83. spell = 0
  84. spellHotkey1 = 0
  85. spellHotkey2 = 0
  86. spellHotkey3 = 0
  87. spellHotkey1Delay = 0
  88. spellHotkey2Delay = 0
  89. spellHotkey3Delay = 0
  90. spellText = "None"
  91. power = math.huge
  92.  
  93.  
  94. spellGui = Instance.new("ScreenGui")
  95. spellGui.Name = Name
  96. local frame = Instance.new("Frame")
  97. frame.Name = "Frame"
  98. frame.Size = UDim2.new(0, 165, 0, 60)
  99. frame.Position = UDim2.new(0, 0, 1, -60)
  100. frame.BackgroundColor3 = Color3.new(1, 1, 1)
  101. frame.BorderColor3 = Color3.new(0, 0, 0)
  102. frame.Parent = spellGui
  103. local label = Instance.new("TextLabel")
  104. label.Name = "Weapon"
  105. label.Text = "Weapon: " ..Name
  106. label.Size = UDim2.new(1, 0, 0, 20)
  107. label.Position = UDim2.new(0, 0, 0, 0)
  108. label.BackgroundColor3 = Color3.new(1, 0, 0)
  109. label.BorderColor3 = Color3.new(0, 0, 0)
  110. label.Parent = frame
  111. local label = Instance.new("TextLabel")
  112. label.Name = "SpellPrefix"
  113. label.Text = " Spell:"
  114. label.TextXAlignment = "Left"
  115. label.Size = UDim2.new(1, 0, 0, 20)
  116. label.Position = UDim2.new(0, 0, 0, 20)
  117. label.BackgroundColor3 = Color3.new(1, 1, 1)
  118. label.BorderColor3 = Color3.new(0, 0, 0)
  119. label.Parent = frame
  120. local label = Instance.new("TextLabel")
  121. label.Name = "Spell"
  122. label.Text = "None"
  123. label.TextXAlignment = "Right"
  124. label.Size = UDim2.new(1, 0, 0, 20)
  125. label.Position = UDim2.new(0, -10, 0, 20)
  126. label.BackgroundTransparency = 1
  127. label.BorderSizePixel = 0
  128. label.Parent = frame
  129. local label = Instance.new("TextLabel")
  130. label.Name = "PowerPrefix"
  131. label.Text = " Power:"
  132. label.TextXAlignment = "Left"
  133. label.Size = UDim2.new(1, 0, 0, 20)
  134. label.Position = UDim2.new(0, 0, 0, 40)
  135. label.BackgroundColor3 = Color3.new(1, 1, 1)
  136. label.BorderColor3 = Color3.new(0, 0, 0)
  137. label.Parent = frame
  138. local label = Instance.new("TextLabel")
  139. label.Name = "Power"
  140. label.Text = "100"
  141. label.TextXAlignment = "Right"
  142. label.Size = UDim2.new(1, 0, 0, 20)
  143. label.Position = UDim2.new(0, -10, 0, 40)
  144. label.BackgroundTransparency = 1
  145. label.BorderSizePixel = 0
  146. label.Parent = frame
  147.  
  148.  
  149. function updateGui(format)
  150. if selected == false then return end
  151. if Player:FindFirstChild("PlayerGui") == nil then Instance.new("PlayerGui").Parent = Player end
  152. if Player.PlayerGui:FindFirstChild(Name) == nil then
  153. spellGui:Clone().Parent = Player.PlayerGui
  154. end
  155. Player.PlayerGui[Name].Frame.Spell.Text = spellText
  156. if power <= 0 then
  157. Player.PlayerGui[Name].Frame.Power.Text = "OVERHEAT (" ..math.abs(power).. ")"
  158. else
  159. Player.PlayerGui[Name].Frame.Power.Text = power
  160. end
  161. end
  162.  
  163.  
  164. function updateSpellText()
  165. if spell == 1 then
  166. spellText = "Shoot!"
  167. elseif spell == 2 then
  168. spellText = "Free Rock Moon"
  169. elseif spell == 3 then
  170. spellText = "Shoot Explode"
  171. elseif spell == 4 then
  172. spellText = "Lightning"
  173. elseif spell == 5 then
  174. spellText = "Damage"
  175. elseif spell == 6 then
  176. spellText = "Heal"
  177. elseif spell == 7 then
  178. spellText = "Boom"
  179. elseif spell == 8 then
  180. spellText = "Red Effect"
  181. elseif spell == 9 then
  182. spellText = "Tanado"
  183. elseif spell == 10 then
  184. spellText = "Fus Roh Dah"
  185. elseif spell == 11 then
  186. spellText = "Grab"
  187. elseif spell == 12 then
  188. spellText = "Teleport"
  189. elseif spell == 13 then
  190. spellText = "Hight Jump"
  191. elseif spell == 14 then
  192. spellText = "Invisible"
  193. elseif spell == 15 then
  194. spellText = "Duraen Control"
  195. elseif spell == 16 then
  196. spellText = "Char Switch"
  197. else
  198. spellText = "None"
  199. end
  200. end
  201.  
  202.  
  203. function makeParts(format)
  204. local model = Instance.new("Model")
  205. model.Name = Name
  206. model.Parent = Player.Character
  207. local pm = Instance.new("Part")
  208. pm.Name = "Handle"
  209. pm.FormFactor = "Custom"
  210. pm.Size = Vector3.new(1, 1, 1)
  211. pm.BrickColor = BrickColor.new("White")
  212. pm.Locked = true
  213. pm.TopSurface = 0
  214. pm.BottomSurface = 0
  215. pm.Parent = model
  216. local m = Instance.new("SpecialMesh")
  217. m.MeshType = "Head"
  218. m.Scale = Vector3.new(0.3, 2, 0.3)
  219. m.Parent = pm
  220. if format ~= nil then
  221. local w = Instance.new("Weld")
  222. w.Part0 = pm
  223. if format == "hand" then
  224. w.Part1 = Player.Character:FindFirstChild("Right Arm")
  225. w.C0 = CFrame.new(0, -0.75, 0.9) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
  226. w.C1 = CFrame.new()
  227. w.Parent = pm
  228. elseif format == "holster" then
  229. w.Part1 = Player.Character:FindFirstChild("Right Leg")
  230. w.C0 = CFrame.new(0, 0.1, -0.55) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  231. w.C1 = CFrame.new()
  232. w.Parent = pm
  233. model.Name = Name.. " (Holstered)"
  234. else
  235. print("Error: Incorrect format string!")
  236. end
  237. end
  238. local s = Instance.new("Sound")
  239. s.Name = "Shine"
  240. s.SoundId = "http://www.roblox.com/Asset/?id=158037267"
  241. s.Volume = 1
  242. s.Pitch = 0.8
  243. s.Looped = false
  244. s.Parent = pm
  245. local s = Instance.new("Sound")
  246. s.Name = "Bolt"
  247. s.SoundId = "http://www.roblox.com/Asset/?id=136523485"
  248. s.Volume = 1
  249. s.Pitch = 0.6
  250. s.Looped = false
  251. s.Parent = pm
  252. local s = Instance.new("Sound")
  253. s.Name = "Impact1"
  254. s.SoundId = "http://www.roblox.com/Asset/?id=10209596"
  255. s.Volume = 1
  256. s.Pitch = 1
  257. s.Looped = false
  258. s.Parent = pm
  259. local s = Instance.new("Sound")
  260. s.Name = "Charge1"
  261. s.SoundId = "http://www.roblox.com/Asset/?id=1369158"
  262. s.Volume = 1
  263. s.Pitch = 1
  264. s.Looped = false
  265. s.Parent = pm
  266. local s = Instance.new("Sound")
  267. s.Name = "Charge2"
  268. s.SoundId = "http://www.roblox.com/Asset/?id=2101137"
  269. s.Volume = 1
  270. s.Pitch = 1
  271. s.Looped = false
  272. s.Parent = pm
  273. local s = Instance.new("Sound")
  274. s.Name = "Charge3"
  275. s.SoundId = "http://www.roblox.com/Asset/?id=2785493"
  276. s.Volume = 1
  277. s.Pitch = 1
  278. s.Looped = false
  279. s.Parent = pm
  280. local s = Instance.new("Sound")
  281. s.Name = "Charge4"
  282. s.SoundId = "http://www.roblox.com/Asset/?id=35275769"
  283. s.Volume = 1
  284. s.Pitch = 1
  285. s.Looped = false
  286. s.Parent = pm
  287. local s = Instance.new("Sound")
  288. s.Name = "Fire1"
  289. s.SoundId = "http://www.roblox.com/Asset/?id=10209268"
  290. s.Volume = 1
  291. s.Pitch = 1
  292. s.Looped = false
  293. s.Parent = pm
  294. local s = Instance.new("Sound")
  295. s.Name = "Fire2"
  296. s.SoundId = "http://www.roblox.com/Asset/?id=13775466"
  297. s.Volume = 1
  298. s.Pitch = 1
  299. s.Looped = false
  300. s.Parent = pm
  301. local s = Instance.new("Sound")
  302. s.Name = "Fire3"
  303. s.SoundId = "http://www.roblox.com/Asset/?id=2767090"
  304. s.Volume = 1
  305. s.Pitch = 1
  306. s.Looped = false
  307. s.Parent = pm
  308. local s = Instance.new("Sound")
  309. s.Name = "Fire4"
  310. s.SoundId = "http://www.roblox.com/Asset/?id=2800815"
  311. s.Volume = 1
  312. s.Pitch = 1
  313. s.Looped = false
  314. s.Parent = pm
  315. local s = Instance.new("Sound")
  316. s.Name = "Fire5"
  317. s.SoundId = "http://www.roblox.com/Asset/?id=2974249"
  318. s.Volume = 1
  319. s.Pitch = 1
  320. s.Looped = false
  321. s.Parent = pm
  322. local p = Instance.new("Part")
  323. p.Name = "Source"
  324. p.FormFactor = "Custom"
  325. p.Size = Vector3.new(1, 1, 1)
  326. p.Transparency = 1
  327. p.BrickColor = BrickColor.new("Really black")
  328. p.CanCollide = false
  329. p.Locked = true
  330. p.TopSurface = 0
  331. p.BottomSurface = 0
  332. p.Parent = model
  333. local m = Instance.new("SpecialMesh")
  334. m.MeshType = "Sphere"
  335. m.Scale = Vector3.new(1, 1, 1)
  336. m.Parent = p
  337. local w = Instance.new("Weld")
  338. w.Part0 = p
  339. w.Part1 = pm
  340. w.C0 = CFrame.new()
  341. w.C1 = CFrame.new(0, 1, 0)
  342. w.Parent = p
  343. local f = Instance.new("Fire")
  344. f.Enabled = false
  345. f.Name = "Fire"
  346. f.Heat = 0
  347. f.Size = 1
  348. f.Parent = p
  349. end
  350.  
  351.  
  352. function removeParts(format)
  353. if format == "hand" then
  354. if Player.Character:FindFirstChild(Name) ~= nil then
  355. Player.Character[Name]:Remove()
  356. end
  357. elseif format == "holster" then
  358. if Player.Character:FindFirstChild(Name.. " (Holstered)") ~= nil then
  359. Player.Character[Name.. " (Holstered)"]:Remove()
  360. end
  361. end
  362. end
  363.  
  364.  
  365. function SetAngle(Joint, Angle, Character)
  366. if Character == nil then return false end
  367. local Joints = {
  368. Character.Torso:FindFirstChild("Right Shoulder 2"),
  369. Character.Torso:FindFirstChild("Left Shoulder 2"),
  370. Character.Torso:FindFirstChild("Right Hip 2"),
  371. Character.Torso:FindFirstChild("Left Hip 2")
  372. }
  373. if Joints[Joint] == nil then return false end
  374. if Joint == 1 or Joint == 3 then
  375. Joints[Joint].DesiredAngle = Angle
  376. end
  377. if Joint == 2 or Joint == 4 then
  378. Joints[Joint].DesiredAngle = -Angle
  379. end
  380. end
  381.  
  382.  
  383. function ForceAngle(Joint, Angle, Character)
  384. if Character == nil then return false end
  385. local Joints = {
  386. Character.Torso:FindFirstChild("Right Shoulder 2"),
  387. Character.Torso:FindFirstChild("Left Shoulder 2"),
  388. Character.Torso:FindFirstChild("Right Hip 2"),
  389. Character.Torso:FindFirstChild("Left Hip 2")
  390. }
  391. if Joints[Joint] == nil then return false end
  392. if Joint == 1 or Joint == 3 then
  393. Joints[Joint].DesiredAngle = Angle
  394. Joints[Joint].CurrentAngle = Angle
  395. end
  396. if Joint == 2 or Joint == 4 then
  397. Joints[Joint].DesiredAngle = -Angle
  398. Joints[Joint].CurrentAngle = -Angle
  399. end
  400. end
  401.  
  402.  
  403. function SetSpeed(Joint, Speed, Character)
  404. if Character == nil then return false end
  405. local Joints = {
  406. Character.Torso:FindFirstChild("Right Shoulder 2"),
  407. Character.Torso:FindFirstChild("Left Shoulder 2"),
  408. Character.Torso:FindFirstChild("Right Hip 2"),
  409. Character.Torso:FindFirstChild("Left Hip 2")
  410. }
  411. if Joints[Joint] == nil then return false end
  412. Joints[Joint].MaxVelocity = Speed
  413. end
  414.  
  415.  
  416. function DisableLimb(Limb, Character)
  417. if Character == nil then return false end
  418. if Character:FindFirstChild("Torso") == nil then return false end
  419. local Joints = {
  420. Character.Torso:FindFirstChild("Right Shoulder"),
  421. Character.Torso:FindFirstChild("Left Shoulder"),
  422. Character.Torso:FindFirstChild("Right Hip"),
  423. Character.Torso:FindFirstChild("Left Hip")
  424. }
  425. local Limbs = {
  426. Character:FindFirstChild("Right Arm"),
  427. Character:FindFirstChild("Left Arm"),
  428. Character:FindFirstChild("Right Leg"),
  429. Character:FindFirstChild("Left Leg")
  430. }
  431. if Joints[Limb] == nil then return false end
  432. if Limbs[Limb] == nil then return false end
  433. local Joint = Instance.new("Motor")
  434. Joint.Parent = Character.Torso
  435. Joint.Part0 = Character.Torso
  436. Joint.Part1 = Limbs[Limb]
  437. if Limb == 1 then
  438. Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  439. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  440. Joint.Name = "Right Shoulder 2"
  441. elseif Limb == 2 then
  442. Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  443. Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  444. Joint.Name = "Left Shoulder 2"
  445. elseif Limb == 3 then
  446. Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  447. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  448. Joint.Name = "Right Hip 2"
  449. elseif Limb == 4 then
  450. Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  451. Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  452. Joint.Name = "Left Hip 2"
  453. end
  454. Joint.MaxVelocity = Joints[Limb].MaxVelocity
  455. Joint.CurrentAngle = Joints[Limb].CurrentAngle
  456. Joint.DesiredAngle = Joints[Limb].DesiredAngle
  457. Joints[Limb]:Remove()
  458. end
  459.  
  460.  
  461. function ResetLimbCFrame(Limb, Character)
  462. if Character == nil then return false end
  463. if Character.Parent == nil then return false end
  464. if Character:FindFirstChild("Torso") == nil then return false end
  465. local Joints = {
  466. Character.Torso:FindFirstChild("Right Shoulder 2"),
  467. Character.Torso:FindFirstChild("Left Shoulder 2"),
  468. Character.Torso:FindFirstChild("Right Hip 2"),
  469. Character.Torso:FindFirstChild("Left Hip 2")
  470. }
  471. local Limbs = {
  472. Character:FindFirstChild("Right Arm"),
  473. Character:FindFirstChild("Left Arm"),
  474. Character:FindFirstChild("Right Leg"),
  475. Character:FindFirstChild("Left Leg")
  476. }
  477. if Joints[Limb] == nil then return false end
  478. if Limbs[Limb] == nil then return false end
  479. if Limb == 1 then
  480. Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  481. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  482. elseif Limb == 2 then
  483. Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  484. Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  485. elseif Limb == 3 then
  486. Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  487. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  488. elseif Limb == 4 then
  489. Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  490. Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  491. end
  492. end
  493.  
  494.  
  495. function EnableLimb(Limb, Character)
  496. if Character == nil then return false end
  497. if Character:FindFirstChild("Torso") == nil then return false end
  498. local Joints = {
  499. Character.Torso:FindFirstChild("Right Shoulder 2"),
  500. Character.Torso:FindFirstChild("Left Shoulder 2"),
  501. Character.Torso:FindFirstChild("Right Hip 2"),
  502. Character.Torso:FindFirstChild("Left Hip 2")
  503. }
  504. local Limbs = {
  505. Character:FindFirstChild("Right Arm"),
  506. Character:FindFirstChild("Left Arm"),
  507. Character:FindFirstChild("Right Leg"),
  508. Character:FindFirstChild("Left Leg")
  509. }
  510. if Joints[Limb] == nil then return false end
  511. if Limbs[Limb] == nil then return false end
  512. if Limb == 1 then
  513. Joints[Limb].Name = "Right Shoulder"
  514. elseif Limb == 2 then
  515. Joints[Limb].Name = "Left Shoulder"
  516. elseif Limb == 3 then
  517. Joints[Limb].Name = "Right Hip"
  518. elseif Limb == 4 then
  519. Joints[Limb].Name = "Left Hip"
  520. end
  521. Animate = Character:FindFirstChild("Animate")
  522. if Animate == nil then return false end
  523. Animate = Animate:Clone()
  524. Character.Animate:Remove()
  525. Animate.Parent = Character
  526. end
  527.  
  528.  
  529. function Weld(x, y)
  530. local weld = Instance.new("Weld")
  531. weld.Part0 = x
  532. weld.Part1 = y
  533. CJ = CFrame.new(x.Position)
  534. C0 = x.CFrame:inverse() * CJ
  535. C1 = y.CFrame:inverse() * CJ
  536. weld.C0 = C0
  537. weld.C1 = C1
  538. weld.Parent = x
  539. end
  540.  
  541.  
  542. function tagHumanoid(humanoid)
  543. local tag = Instance.new("ObjectValue")
  544. tag.Name = "creator"
  545. tag.Value = Player
  546. tag.Parent = humanoid
  547. local tag = Instance.new("StringValue")
  548. tag.Name = "creatorType1"
  549. tag.Value = Name
  550. tag.Parent = humanoid
  551. local tag = Instance.new("StringValue")
  552. tag.Name = "creatorType2"
  553. tag.Value = "killed with magic"
  554. tag.Parent = humanoid
  555. end
  556.  
  557.  
  558. function untagHumanoid(humanoid)
  559. if humanoid ~= nil then
  560. local tag = humanoid:FindFirstChild("creator")
  561. if tag ~= nil then
  562. tag:Remove()
  563. end
  564. local tag = humanoid:FindFirstChild("creatorType1")
  565. if tag ~= nil then
  566. tag:Remove()
  567. end
  568. local tag = humanoid:FindFirstChild("creatorType2")
  569. if tag ~= nil then
  570. tag:Remove()
  571. end
  572. end
  573. end
  574.  
  575.  
  576. function onButton1Down(mouse)
  577. if selected == false or canFire == false or power <= 0 then return end
  578. if Player.Character == nil then return end
  579. if Player.Character:FindFirstChild("Humanoid") == nil then return end
  580. if Player.Character.Humanoid.Health <= 0 then return end
  581. if Player.Character:FindFirstChild(Name) == nil then return end
  582. if Player.Character[Name]:FindFirstChild("Handle") == nil then return end
  583. if Player.Character[Name]:FindFirstChild("Source") == nil then return end
  584. if mouse == nil then return end
  585. Button1Down = true
  586. if spell == 1 then
  587. --Arefu Slash, projectile class. Uses hardened air particles to create razor-sharp projectiles.
  588. canFire = false
  589. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  590. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  591. Player.Character[Name].Source.Transparency = 0.25
  592. Player.Character[Name].Source.BrickColor = BrickColor.new("Bright green")
  593. Player.Character[Name].Source.Fire.Enabled = true
  594. Player.Character[Name].Source.Fire.Heat = math.random(5, 10)
  595. Player.Character[Name].Source.Fire.Size = math.random(5, 10)
  596. Player.Character[Name].Source.Fire.Color = Color3.new(0, 1, 0)
  597. Player.Character[Name].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
  598. while Button1Down == true do
  599. if power <= 0 then break end
  600. coroutine.resume(coroutine.create(function()
  601. for i = 0, 1, 0.1 do
  602. Player.Character[Name].Source.Mesh.Scale = (Vector3.new(i, i, i) * 5) + Vector3.new(1, 1, 1)
  603. Player.Character[Name].Source.Transparency = i
  604. wait()
  605. end
  606. Player.Character[Name].Source.Transparency = 1
  607. Player.Character[Name].Source.Fire.Enabled = false
  608. end))
  609. Player.Character[Name].Handle.Fire2.Looped = false
  610. Player.Character[Name].Handle.Fire2.Volume = 1
  611. Player.Character[Name].Handle.Fire2.Pitch = 1
  612. Player.Character[Name].Handle.Fire2:Play()
  613. power = power - 1
  614. local air = Instance.new("Part")
  615. air.Name = "Air"
  616. air.FormFactor = "Custom"
  617. air.Size = Vector3.new(1, 1, 2)
  618. air.TopSurface = "Smooth"
  619. air.BottomSurface = "Smooth"
  620. air.BrickColor = BrickColor.new("Institutional white")
  621. air.CanCollide = false
  622. air.Anchored = true
  623. air.Transparency = math.random(0, 5) / 10
  624. air.CFrame = CFrame.new(mouse.Hit.p + Vector3.new(math.random(-100, 100), math.random(-100, 100), math.random(-100, 100)), mouse.Hit.p)
  625. air.Parent = Workspace
  626. air:BreakJoints()
  627. local m = Instance.new("SpecialMesh")
  628. m.MeshType = "Sphere"
  629. m.Scale = Vector3.new(0.5, 0.5, 1)
  630. m.Parent = air
  631. coroutine.resume(coroutine.create(function()
  632. while air.Parent ~= nil do
  633. air.CFrame = CFrame.new(air.Position + (air.CFrame.lookVector * 5)) * CFrame.fromEulerAnglesXYZ(air.CFrame:toEulerAnglesXYZ())
  634. for _, model in pairs(Workspace:GetChildren()) do
  635. if model.ClassName == "Part" then
  636. if (air.Position - model.Position).magnitude <= 5 and model.Anchored == false then
  637. model.Velocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
  638. if math.random(1, 10) == 1 then model:BreakJoints() end
  639. air:Remove()
  640. return
  641. end
  642. elseif model.ClassName == "Model" and model ~= Player.Character then
  643. for _, x in pairs(model:GetChildren()) do
  644. if x.ClassName == "Part" then
  645. if (air.Position - x.Position).magnitude <= 5 and x.Anchored == false then
  646. x.Velocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
  647. if math.random(1, 10) == 1 then x:BreakJoints() end
  648. if model:FindFirstChild("Humanoid") ~= nil then
  649. model.Humanoid:TakeDamage(5)
  650. model.Humanoid.Sit = true
  651. end
  652. air:Remove()
  653. return
  654. end
  655. end
  656. end
  657. end
  658. end
  659. local shock = Instance.new("Part")
  660. shock.FormFactor = "Custom"
  661. shock.Size = Vector3.new(1, 1, 1)
  662. shock.BrickColor = BrickColor.new("Institutional white")
  663. shock.Anchored = true
  664. shock.Name = "Shock Ring"
  665. shock.CanCollide = false
  666. shock.Parent = Workspace
  667. local mesh = Instance.new("SpecialMesh")
  668. mesh.MeshType = "FileMesh"
  669. mesh.MeshId = "http://www.roblox.com/Asset/?id=20329976"
  670. mesh.Scale = Vector3.new(1, 1, 1)
  671. mesh.Parent = shock
  672. shock.CFrame = CFrame.new(air.Position + (air.CFrame.lookVector * 10), air.Position + (air.CFrame.lookVector * 50)) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
  673. coroutine.resume(coroutine.create(function()
  674. for i = 0, 10 do
  675. shock.Mesh.Scale = Vector3.new(i / 5, i, i / 5)
  676. shock.Transparency = i / 10
  677. wait()
  678. end
  679. shock:Remove()
  680. end))
  681. wait()
  682. end
  683. end))
  684. coroutine.resume(coroutine.create(function(part)
  685. wait(10)
  686. part:Remove()
  687. end), air)
  688. wait()
  689. end
  690. canFire = true
  691. elseif spell == 2 then
  692. --Arefu Metoria, projectile class. Uses meteors.
  693. local position, target = mouse.Hit.p, mouse.Target
  694. if target == nil then return end
  695. if target.Parent == nil then return end
  696. canFire = false
  697. power = power - 50
  698. local offset = position - target.Position
  699. local size = math.random(10, 30)
  700. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  701. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  702. Player.Character[Name].Source.Transparency = 0
  703. Player.Character[Name].Source.BrickColor = BrickColor.new("Bright green")
  704. Player.Character[Name].Handle.Charge2.Looped = false
  705. Player.Character[Name].Handle.Charge2.Volume = 1
  706. Player.Character[Name].Handle.Charge2.Pitch = 0.35
  707. Player.Character[Name].Handle.Charge2:Play()
  708. local beam = Instance.new("Part")
  709. beam.BrickColor = BrickColor.new("Bright green")
  710. beam.TopSurface = 0
  711. beam.BottomSurface = 0
  712. beam.Size = Vector3.new(1, 1, 1)
  713. beam.Transparency = 0.5
  714. beam.Anchored = true
  715. beam.CanCollide = false
  716. beam.CFrame = CFrame.new(position)
  717. beam.Parent = Workspace
  718. local mesh = Instance.new("CylinderMesh")
  719. mesh.Parent = beam
  720. for i = 0, 60, 1 do
  721. local shine = Instance.new("Part")
  722. shine.Name = "Shine"
  723. shine.FormFactor = "Custom"
  724. shine.Shape = "Ball"
  725. shine.CanCollide = false
  726. shine.BrickColor = BrickColor.new("Bright green")
  727. shine.TopSurface = 0
  728. shine.BottomSurface = 0
  729. shine.Size = Vector3.new(1, 1, 1)
  730. shine.Transparency = 0.25
  731. shine.CFrame = CFrame.new(Player.Character[Name].Source.Position + Vector3.new(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)))
  732. shine.Parent = Workspace
  733. local force = Instance.new("BodyPosition")
  734. force.D = 7000
  735. force.P = 100000
  736. force.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  737. force.position = Player.Character[Name].Source.Position
  738. force.Parent = shine
  739. coroutine.resume(coroutine.create(function(part1, part2) for i = 0, 10 do if part1 ~= nil and part2 ~= nil then part1.BodyPosition.position = part2.Position wait() end end part1:Remove() end), shine, Player.Character[Name].Source)
  740. mesh.Scale = Vector3.new(size * (i / 60), 10000, size * (i / 60))
  741. Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 10, i / 10, i / 10)
  742. Player.Character[Name].Source.Transparency = Player.Character[Name].Source.Transparency - 0.015
  743. wait()
  744. end
  745. for i = 0, 10 do
  746. beam.Transparency = beam.Transparency + 0.1
  747. Player.Character[Name].Source.Transparency = Player.Character[Name].Source.Transparency + 0.1
  748. wait()
  749. end
  750. if beam ~= nil then beam:Remove() end
  751. Player.Character[Name].Source.Transparency = 1
  752. canFire = true
  753. local meteor = Instance.new("Part")
  754. meteor.BrickColor = BrickColor.new("Bright red")
  755. meteor.Name = "Meteor"
  756. meteor.CanCollide = true
  757. meteor.Locked = true
  758. meteor.FormFactor = "Custom"
  759. meteor.Shape = "Ball"
  760. meteor.Size = Vector3.new(size, size, size)
  761. meteor.RotVelocity = Vector3.new(math.random(-1000, 1000), math.random(-1000, 1000), math.random(-1000, 1000))
  762. meteor.Parent = Workspace
  763. meteor:BreakJoints()
  764. local fire = Instance.new("Fire")
  765. fire.Heat = 0
  766. fire.Size = 50
  767. fire.Parent = meteor
  768. local smoke = Instance.new("Smoke")
  769. smoke.RiseVelocity = 0
  770. smoke.Size = size + 3
  771. smoke.Color = Color3.new(50 / 255, 50 / 255, 50 / 255)
  772. smoke.Opacity = 0.5
  773. smoke.Parent = meteor
  774. local mesh = Instance.new("SpecialMesh")
  775. mesh.MeshType = "FileMesh"
  776. mesh.MeshId = "http://www.roblox.com/Asset/?id=1290033"
  777. mesh.TextureId = "http://www.roblox.com/Asset/?id=1290030"
  778. mesh.Scale = meteor.Size / 1.5
  779. mesh.VertexColor = Vector3.new(1, 0, 0)
  780. mesh.Parent = meteor
  781. for i = 5000, 0, -100 do
  782. meteor.CFrame = CFrame.new((target.Position + offset) + Vector3.new(0, i, 0))
  783. meteor.Velocity = Vector3.new(0, 0, 0)
  784. wait()
  785. end
  786. meteor.CFrame = CFrame.new((target.Position + offset) + Vector3.new(0, size / 2, 0))
  787. delay(0.1, function() Weld(target, meteor) meteor.Velocity = Vector3.new(0, 0, 0) end)
  788. meteor.Anchored = true
  789. local s = Instance.new("Sound")
  790. s.SoundId = "rbxasset://sounds\\Launching rocket.wav"
  791. s.Pitch = (30 - size) / 25
  792. s.Parent = Workspace
  793. s:Play()
  794. local shards = {}
  795. for i = 0, math.random(10, 30) do
  796. local shard = Instance.new("Part")
  797. shard.Name = "Ground Shard"
  798. shard.Anchored = true
  799. shard.Locked = true
  800. shard.BrickColor = target.BrickColor
  801. shard.Size = Vector3.new(size + 10, 2, size)
  802. shard.CFrame = CFrame.new(meteor.Position - Vector3.new(0, size / 2, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(math.random(0, 360)), math.rad(math.random(0, 25)))
  803. shard.Parent = Workspace
  804. table.insert(shards, shard)
  805. end
  806. local new = Instance.new("Part")
  807. new.Name = "Meteor"
  808. new.Transparency = 1
  809. new.CanCollide = false
  810. new.Anchored = true
  811. new.CFrame = CFrame.new(meteor.Position)
  812. new.Parent = Workspace
  813. local fire = Instance.new("Fire")
  814. fire.Heat = 50
  815. fire.Size = 50
  816. fire.Parent = new
  817. meteor.Fire:Remove()
  818. local shock = Instance.new("Part")
  819. shock.FormFactor = "Custom"
  820. shock.Size = Vector3.new(1, 1, 1)
  821. shock.BrickColor = BrickColor.new("Institutional white")
  822. shock.Anchored = true
  823. shock.Name = "Shock Ring"
  824. shock.CanCollide = false
  825. shock.Parent = Workspace
  826. local mesh = Instance.new("SpecialMesh")
  827. mesh.MeshType = "FileMesh"
  828. mesh.MeshId = "http://www.roblox.com/Asset/?id=3270017"
  829. mesh.Parent = shock
  830. local tilt1 = math.random(-10, 10)
  831. local tilt2 = math.random(-10, 10)
  832. local tiltChance = math.random(1, 3)
  833. for i = 0, 50 do
  834. shock.Mesh.Scale = Vector3.new(i, i, i)
  835. if tiltChance == 1 then
  836. shock.CFrame = CFrame.new(meteor.Position - Vector3.new(0, meteor.Size.y / 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + tilt1), 0, 0)
  837. elseif tiltChance == 2 then
  838. shock.CFrame = CFrame.new(meteor.Position - Vector3.new(0, meteor.Size.y / 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(tilt2), 0)
  839. elseif tiltChance == 3 then
  840. shock.CFrame = CFrame.new(meteor.Position - Vector3.new(0, meteor.Size.y / 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + tilt1), math.rad(tilt2), 0)
  841. end
  842. wait()
  843. end
  844. for i = 0, 1, 0.1 do
  845. shock.Transparency = i
  846. wait()
  847. end
  848. shock:Remove()
  849. wait(math.random(1, 10))
  850. if new ~= nil then new:Remove() end
  851. if meteor == nil then return end
  852. local e = Instance.new("Explosion")
  853. e.BlastPressure = 100000
  854. e.Position = meteor.Position
  855. e.BlastRadius = meteor.Size.y * 2
  856. e.Parent = Workspace
  857. local s = Instance.new("Sound")
  858. s.Name = "Explosion"
  859. s.Pitch = (30 - size) / 20
  860. s.SoundId = "http://www.roblox.com/Asset/?id=2101148"
  861. s.Parent = Workspace
  862. s:Play()
  863. for i = 0, math.random(2, 10) do
  864. local size = math.random(1, 5)
  865. local new = meteor:Clone()
  866. if new:FindFirstChild("Weld") ~= nil then new.Weld:Remove() end
  867. new.Size = Vector3.new(size, size, size)
  868. new.Mesh.Scale = Vector3.new(size, size, size)
  869. new.CanCollide = false
  870. new.Anchored = false
  871. new.CFrame = CFrame.new(meteor.Position + Vector3.new(math.random(-meteor.Size.x / 2, meteor.Size.x / 2), math.random(-meteor.Size.y / 2, meteor.Size.y / 2), math.random(-meteor.Size.z / 2, meteor.Size.z / 2))) * CFrame.fromEulerAnglesXYZ(math.random(0, 360), math.random(0, 360), math.random(0, 360))
  872. new.Velocity = Vector3.new(math.random(-100, 100), math.random(10, 250), math.random(-100, 100))
  873. new.RotVelocity = Vector3.new(math.random(-500, 500), math.random(-500, 500), math.random(-500, 500))
  874. new.Smoke:Remove()
  875. new.Parent = Workspace
  876. end
  877. for i = 1, #shards do
  878. if shards[i] ~= nil then
  879. if math.random(1, 2) == 1 then
  880. shards[i]:Remove()
  881. else
  882. shards[i].CanCollide = false
  883. shards[i].Anchored = false
  884. shards[i].RotVelocity = Vector3.new(math.random(-500, 500), math.random(-500, 500), math.random(-500, 500))
  885. shards[i].Velocity = Vector3.new(math.random(-100, 100), math.random(10, 250), math.random(-100, 100))
  886. end
  887. end
  888. end
  889. meteor:Remove()
  890. elseif spell == 3 then
  891. --Eccrando Bolt, energy class. Fires a charged bolt of energy gathered in your wand.
  892. canFire = false
  893. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  894. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  895. Player.Character[Name].Source.Transparency = 0
  896. Player.Character[Name].Source.BrickColor = BrickColor.new("New Yeller")
  897. Player.Character[Name].Handle.Charge1.Looped = false
  898. Player.Character[Name].Handle.Charge1.Volume = 1
  899. Player.Character[Name].Handle.Charge1.Pitch = 1
  900. Player.Character[Name].Handle.Charge1:Play()
  901. for i = 0, 10 do
  902. local shine = Instance.new("Part")
  903. shine.Name = "Shine"
  904. shine.FormFactor = "Custom"
  905. shine.Shape = "Ball"
  906. shine.CanCollide = false
  907. shine.BrickColor = BrickColor.new("New Yeller")
  908. shine.TopSurface = 0
  909. shine.BottomSurface = 0
  910. shine.Size = Vector3.new(1, 1, 1)
  911. shine.Transparency = 0.25
  912. shine.CFrame = CFrame.new(Player.Character[Name].Source.Position + Vector3.new(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)))
  913. shine.Parent = Workspace
  914. local force = Instance.new("BodyPosition")
  915. force.D = 7000
  916. force.P = 100000
  917. force.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  918. force.position = Player.Character[Name].Source.Position
  919. force.Parent = shine
  920. coroutine.resume(coroutine.create(function(part1, part2) for i = 0, 10 do if part1 ~= nil and part2 ~= nil then part1.BodyPosition.position = part2.Position wait() end end part1:Remove() end), shine, Player.Character[Name].Source)
  921. Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 7.5, i / 7.5, i / 7.5)
  922. wait()
  923. power = power - 1
  924. end
  925. for i = 10, 20 do
  926. Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 7.5, i / 7.5, i / 7.5)
  927. power = power - 1
  928. wait()
  929. end
  930. local first = true
  931. while Button1Down == true or first == true do
  932. first = false
  933. if power < 0 then break end
  934. power = power - 5
  935. if Player.Character == nil then break end
  936. if Player.Character:FindFirstChild("Humanoid") == nil then break end
  937. if Player.Character.Humanoid.Health <= 0 then break end
  938. if Player.Character:FindFirstChild(Name) == nil then break end
  939. if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
  940. if Player.Character[Name]:FindFirstChild("Source") == nil then break end
  941. if selected == false then break end
  942. Player.Character[Name].Handle.Fire1.Looped = false
  943. Player.Character[Name].Handle.Fire1.Volume = 1
  944. Player.Character[Name].Handle.Fire1.Pitch = 1
  945. Player.Character[Name].Handle.Fire1:Play()
  946. local position = mouse.Hit.p
  947. local e = Instance.new("Explosion")
  948. e.BlastPressure = 500000
  949. e.BlastRadius = 10
  950. e.Position = position
  951. e.Parent = Workspace
  952. for i = 1, math.random(5, 25) do
  953. local shine = Instance.new("Part")
  954. shine.Name = "Shine"
  955. shine.FormFactor = "Custom"
  956. shine.Shape = "Block"
  957. shine.CanCollide = false
  958. shine.Anchored = true
  959. shine.BrickColor = BrickColor.new("New Yeller")
  960. shine.TopSurface = 0
  961. shine.BottomSurface = 0
  962. shine.Size = Vector3.new(1, 1, 1)
  963. shine.Transparency = 0.25
  964. shine.CFrame = CFrame.new(mouse.Hit.p)
  965. shine.Parent = Workspace
  966. local mesh = Instance.new("SpecialMesh")
  967. mesh.MeshType = "Brick"
  968. local random = math.random(3, 10) / 10
  969. mesh.Scale = Vector3.new(random, random, random)
  970. mesh.Parent = shine
  971. coroutine.resume(coroutine.create(function(part)
  972. for i = 0.25 * 25, 25 do
  973. part.Transparency = i / 25
  974. part.CFrame = CFrame.new(part.Position + Vector3.new(math.random(-10, 10) / 10, math.random(-10, 10) / 10, math.random(-10, 10) / 10)) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
  975. wait(math.random(1, 5) / 100)
  976. end
  977. part:Remove()
  978. end), shine)
  979. end
  980. for i = 1, math.random(2, 5) do
  981. local shine = Instance.new("Part")
  982. shine.Name = "Shine"
  983. shine.FormFactor = "Custom"
  984. shine.Shape = "Block"
  985. shine.CanCollide = false
  986. shine.Anchored = true
  987. shine.BrickColor = BrickColor.new("New Yeller")
  988. shine.TopSurface = 0
  989. shine.BottomSurface = 0
  990. shine.Size = Vector3.new(1, 1, 1)
  991. shine.Transparency = 0.25
  992. shine.CFrame = CFrame.new(mouse.Hit.p + Vector3.new(math.random(-10, 10) / 10, math.random(-10, 10) / 10, math.random(-10, 10) / 10))
  993. shine.Parent = Workspace
  994. local mesh = Instance.new("SpecialMesh")
  995. mesh.MeshType = "Sphere"
  996. local random = math.random(3, 10) / 10
  997. mesh.Scale = Vector3.new(random, random, random)
  998. mesh.Parent = shine
  999. coroutine.resume(coroutine.create(function(part)
  1000. for i = 0.25, 1, 0.05 do
  1001. part.Transparency = i
  1002. part.Mesh.Scale = part.Mesh.Scale + Vector3.new(1, 1, 1)
  1003. wait()
  1004. end
  1005. part:Remove()
  1006. end), shine)
  1007. end
  1008. local trail = Instance.new("Part")
  1009. trail.BrickColor = BrickColor.new("New Yeller")
  1010. trail.TopSurface = 0
  1011. trail.BottomSurface = 0
  1012. trail.Size = Vector3.new(1, 1, 1)
  1013. trail.Transparency = 0.4
  1014. trail.Anchored = true
  1015. trail.CanCollide = false
  1016. trail.CFrame = CFrame.new((Player.Character[Name].Source.Position + position) / 2, position)
  1017. trail.Parent = Workspace
  1018. local mesh = Instance.new("SpecialMesh")
  1019. mesh.MeshType = "Brick"
  1020. mesh.Scale = Vector3.new(math.random(2, 5) / 10, math.random(2, 5) / 10, (position - Player.Character[Name].Source.Position).magnitude)
  1021. mesh.Parent = trail
  1022. coroutine.resume(coroutine.create(function(part) wait(0.1) for i = 1, 10 do part.Transparency = part.Transparency + 0.1 wait(0.1) end part:Remove() end), trail)
  1023. coroutine.resume(coroutine.create(function()
  1024. for i = 10, 0, -1 do
  1025. Player.Character[Name].Source.Transparency = (10 - i) / 10
  1026. Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 1.5, i / 1.5, i / 1.5)
  1027. wait()
  1028. end
  1029. end))
  1030. wait(0.3)
  1031. end
  1032. Player.Character[Name].Source.Transparency = 1
  1033. canFire = true
  1034. elseif spell == 4 then
  1035. --Eccrando Strike, energy class. Use the clouds to your advantage and fire bolts of lightning at the ground.
  1036. while Button1Down == true do
  1037. if Player.Character == nil then break end
  1038. if Player.Character:FindFirstChild("Humanoid") == nil then break end
  1039. if Player.Character.Humanoid.Health <= 0 then break end
  1040. if Player.Character:FindFirstChild(Name) == nil then break end
  1041. if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
  1042. if Player.Character[Name]:FindFirstChild("Source") == nil then break end
  1043. if selected == false then break end
  1044. while power <= 25 and Button1Down == true do
  1045. wait()
  1046. end
  1047. if power <= 0 then break end
  1048. canFire = false
  1049. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  1050. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  1051. Player.Character[Name].Source.Transparency = 0
  1052. Player.Character[Name].Source.BrickColor = BrickColor.new("New Yeller")
  1053. Player.Character[Name].Handle.Charge1.Looped = false
  1054. Player.Character[Name].Handle.Charge1.Volume = 1
  1055. Player.Character[Name].Handle.Charge1.Pitch = 0.4
  1056. Player.Character[Name].Handle.Charge1:Play()
  1057. for i = 0, 50 do
  1058. local shine = Instance.new("Part")
  1059. shine.Name = "Shine"
  1060. shine.FormFactor = "Custom"
  1061. shine.Shape = "Ball"
  1062. shine.CanCollide = false
  1063. shine.BrickColor = BrickColor.new("New Yeller")
  1064. shine.TopSurface = 0
  1065. shine.BottomSurface = 0
  1066. shine.Size = Vector3.new(1, 1, 1)
  1067. shine.Transparency = 0.25
  1068. shine.CFrame = CFrame.new(Player.Character[Name].Source.Position + Vector3.new(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)))
  1069. shine.Parent = Workspace
  1070. local force = Instance.new("BodyPosition")
  1071. force.D = 7000
  1072. force.P = 100000
  1073. force.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  1074. force.position = Player.Character[Name].Source.Position
  1075. force.Parent = shine
  1076. coroutine.resume(coroutine.create(function(part1, part2) for i = 0, 10 do if part1 ~= nil and part2 ~= nil then part1.BodyPosition.position = part2.Position wait() end end part1:Remove() end), shine, Player.Character[Name].Source)
  1077. Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 7.5, i / 7.5, i / 7.5)
  1078. power = power - 1
  1079. wait()
  1080. end
  1081. power = power - 10
  1082. if math.random(1, 2) == 1 then id = "Thunder" else id = "Lightning" end
  1083. local s = Instance.new("Sound")
  1084. s.Volume = math.random(10, 50) / 10
  1085. s.SoundId = "rbxasset://sounds\\Halloween" ..id.. ".wav"
  1086. s.Pitch = math.random(9, 11) / 10
  1087. s.Parent = Workspace
  1088. s:Play()
  1089. if math.random(1, 2) == 1 then id = "Thunder" else id = "Lightning" end
  1090. local s = Instance.new("Sound")
  1091. s.Volume = math.random(1, 10) / 10
  1092. s.SoundId = "rbxasset://sounds\\Halloween" ..id.. ".wav"
  1093. s.Pitch = math.random(1, 30) / 10
  1094. s.Parent = Workspace
  1095. s:Play()
  1096. if selected == false then break end
  1097. local e = Instance.new("Explosion")
  1098. e.BlastPressure = 1000000
  1099. e.BlastRadius = 25
  1100. e.Position = mouse.Hit.p
  1101. e.Parent = Workspace
  1102. local pos = (mouse.Hit.p + Vector3.new(math.random(-100, 100), 1000, math.random(-100, 100)))
  1103. local trail = Instance.new("Part")
  1104. trail.BrickColor = BrickColor.new("New Yeller")
  1105. trail.TopSurface = 0
  1106. trail.BottomSurface = 0
  1107. trail.Size = Vector3.new(1, 1, 1)
  1108. trail.Transparency = 0.4
  1109. trail.Anchored = true
  1110. trail.CanCollide = false
  1111. trail.CFrame = CFrame.new((pos + mouse.Hit.p) / 2, mouse.Hit.p)
  1112. trail.Parent = Workspace
  1113. local mesh = Instance.new("SpecialMesh")
  1114. mesh.MeshType = "Brick"
  1115. mesh.Scale = Vector3.new(math.random(40, 50) / 10, math.random(40, 50) / 10, (mouse.Hit.p - pos).magnitude + 10)
  1116. mesh.Parent = trail
  1117. coroutine.resume(coroutine.create(function(part) wait(0.1) for i = 1, 10 do part.Transparency = part.Transparency + 0.1 wait(0.1) end part:Remove() end), trail)
  1118. for i = 10, 0, -1 do
  1119. Player.Character[Name].Source.Transparency = Player.Character[Name].Source.Transparency + 0.1
  1120. Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 1.5, i / 1.5, i / 1.5)
  1121. wait()
  1122. end
  1123. Player.Character[Name].Source.Transparency = 1
  1124. wait(0.1)
  1125. canFire = true
  1126. end
  1127. elseif spell == 5 then
  1128. --Thius Dae, health-based class. Seep life from your enemies to save yourself. Works as a general defense against multiple enemies.
  1129. canFire = false
  1130. Player.Character[Name].Source.Mesh.MeshType = "Brick"
  1131. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  1132. Player.Character[Name].Source.Transparency = 0.25
  1133. Player.Character[Name].Source.BrickColor = BrickColor.new("Really black")
  1134. Player.Character[Name].Handle.Charge4.Looped = true
  1135. Player.Character[Name].Handle.Charge4.Volume = 1
  1136. Player.Character[Name].Handle.Charge4.Pitch = 1
  1137. Player.Character[Name].Handle.Charge4:Play()
  1138. for i = 0, 10 do
  1139. Player.Character[Name].Source.Mesh.Scale = Player.Character[Name].Source.Mesh.Scale * 1.11
  1140. Player.Character[Name].Source.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
  1141. wait()
  1142. end
  1143. for i = 0, math.huge, 0.1 do
  1144. if Button1Down == false then break end
  1145. if Player.Character == nil then break end
  1146. if Player.Character:FindFirstChild("Humanoid") == nil then break end
  1147. if Player.Character.Humanoid.Health <= 0 then break end
  1148. if Player.Character:FindFirstChild(Name) == nil then break end
  1149. if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
  1150. if Player.Character[Name]:FindFirstChild("Source") == nil then break end
  1151. if power <= 0 then break end
  1152. local endstr = string.sub(tostring(i), string.len(tostring(i)), string.len(tostring(i)))
  1153. if endstr == "0" or endstr == "2" or endstr == "4" or endstr == "6" or endstr == "8" then
  1154. power = power - 1
  1155. end
  1156. Player.Character[Name].Source.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
  1157. Player.Character[Name].Source.Mesh.Scale = Vector3.new(math.sin(i) + 3, math.sin(i) + 3, math.sin(i) + 3)
  1158. local shine = Instance.new("Part")
  1159. shine.Name = "Shine"
  1160. shine.FormFactor = "Custom"
  1161. shine.Shape = "Block"
  1162. shine.CanCollide = false
  1163. shine.Anchored = true
  1164. shine.BrickColor = BrickColor.new("Really black")
  1165. shine.TopSurface = 0
  1166. shine.BottomSurface = 0
  1167. shine.Size = Vector3.new(1, 1, 1)
  1168. shine.Transparency = 0.25
  1169. shine.CFrame = CFrame.new(Player.Character[Name].Source.Position)
  1170. shine.Parent = Workspace
  1171. local mesh = Instance.new("SpecialMesh")
  1172. mesh.MeshType = "Brick"
  1173. local random = math.random(3, 10) / 10
  1174. mesh.Scale = Vector3.new(random, random, random)
  1175. mesh.Parent = shine
  1176. coroutine.resume(coroutine.create(function(part)
  1177. for i = 0.25 * 25, 25 do
  1178. part.Transparency = i / 25
  1179. part.CFrame = CFrame.new(part.Position + Vector3.new(math.random(-10, 10) / 10, math.random(-10, 10) / 10, math.random(-10, 10) / 10)) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
  1180. wait(math.random(1, 5) / 100)
  1181. end
  1182. part:Remove()
  1183. end), shine)
  1184. for _, model in pairs(Workspace:GetChildren()) do
  1185. if model ~= Player.Character then
  1186. if model:FindFirstChild("Torso") ~= nil and model:FindFirstChild("Humanoid") ~= nil then
  1187. if (Player.Character.Torso.Position - model.Torso.Position).magnitude <= 25 then
  1188. local trail = Instance.new("Part")
  1189. trail.BrickColor = BrickColor.new("Really black")
  1190. trail.TopSurface = 0
  1191. trail.BottomSurface = 0
  1192. trail.Size = Vector3.new(1, 1, 1)
  1193. trail.Transparency = 0.4
  1194. trail.Anchored = true
  1195. trail.CanCollide = false
  1196. trail.CFrame = CFrame.new((Player.Character[Name].Source.Position + model.Torso.Position) / 2, model.Torso.Position)
  1197. trail.Parent = Workspace
  1198. local mesh = Instance.new("SpecialMesh")
  1199. mesh.MeshType = "Brick"
  1200. mesh.Scale = Vector3.new(math.random(2, 5) / 10, math.random(2, 5) / 10, (model.Torso.Position - Player.Character[Name].Source.Position).magnitude)
  1201. mesh.Parent = trail
  1202. coroutine.resume(coroutine.create(function(part) wait() part:Remove() end), trail)
  1203. if model.Humanoid.Health > 0 then
  1204. model.Humanoid:TakeDamage(1.25)
  1205. Player.Character.Humanoid.Health = Player.Character.Humanoid.Health + (1.25 / 2)
  1206. elseif model.Humanoid.Health <= 0 then
  1207. model.Humanoid.Health = 0
  1208. model.Humanoid.Name = "HumanoidAbsorbed"
  1209. for _, part in pairs(model:GetChildren()) do
  1210. if part.ClassName == "Part" then
  1211. local position = Instance.new("BodyPosition")
  1212. position.Name = "Thius Dae"
  1213. position.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  1214. position.P = 1000
  1215. position.D = 50
  1216. position.Parent = part
  1217. position.position = Player.Character[Name].Source.Position
  1218. coroutine.resume(coroutine.create(function() while position.Parent ~= nil do position.position = Player.Character[Name].Source.Position part.CanCollide = false wait() end end))
  1219. coroutine.resume(coroutine.create(function() wait(3.5) position:Remove() end))
  1220. end
  1221. end
  1222. Player.Character.Humanoid.Health = Player.Character.Humanoid.Health + 5
  1223. power = power + 25
  1224. Player.Character[Name].Handle.Fire4.Looped = false
  1225. Player.Character[Name].Handle.Fire4.Volume = 1
  1226. Player.Character[Name].Handle.Fire4.Pitch = 1
  1227. Player.Character[Name].Handle.Fire4:Play()
  1228. end
  1229. end
  1230. end
  1231. end
  1232. end
  1233. wait()
  1234. end
  1235. for i = 0, 25 do
  1236. Player.Character[Name].Source.Mesh.Scale = Player.Character[Name].Source.Mesh.Scale / 1.15
  1237. Player.Character[Name].Source.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
  1238. Player.Character[Name].Handle.Charge4.Volume = (25 - i) / 25
  1239. wait()
  1240. end
  1241. Player.Character[Name].Handle.Charge4:Stop()
  1242. Player.Character[Name].Source.Transparency = 1
  1243. Player.Character[Name].Source.Weld.C0 = CFrame.new()
  1244. canFire = true
  1245. elseif spell == 6 then
  1246. --Thius Heed, health-based class. Heal people around you and sheild them.
  1247. canFire = false
  1248. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  1249. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  1250. Player.Character[Name].Source.Transparency = 0.25
  1251. Player.Character[Name].Source.BrickColor = BrickColor.new("Institutional white")
  1252. Player.Character[Name].Source.Fire.Enabled = true
  1253. Player.Character[Name].Source.Fire.Heat = 10
  1254. Player.Character[Name].Source.Fire.Size = 1
  1255. Player.Character[Name].Source.Fire.Color = Color3.new(1, 1, 1)
  1256. Player.Character[Name].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
  1257. Player.Character[Name].Handle.Shine.Looped = true
  1258. Player.Character[Name].Handle.Shine.Volume = 1
  1259. Player.Character[Name].Handle.Shine.Pitch = 1
  1260. Player.Character[Name].Handle.Shine:Play()
  1261. for i = 0, 5 do
  1262. Player.Character[Name].Source.Mesh.Scale = Player.Character[Name].Source.Mesh.Scale * 1.2
  1263. Player.Character[Name].Source.Fire.Size = Player.Character[Name].Source.Fire.Size * 1.2
  1264. wait()
  1265. end
  1266. local heed = Instance.new("ForceField")
  1267. heed.Name = "HeedShield"
  1268. for i = 0, math.huge, 0.1 do
  1269. if Button1Down == false then break end
  1270. if Player.Character == nil then break end
  1271. if Player.Character:FindFirstChild("Humanoid") == nil then break end
  1272. if Player.Character.Humanoid.Health <= 0 then break end
  1273. if Player.Character:FindFirstChild(Name) == nil then break end
  1274. if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
  1275. if Player.Character[Name]:FindFirstChild("Source") == nil then break end
  1276. if power <= 0 then break end
  1277. local endstr = string.sub(tostring(i), string.len(tostring(i)), string.len(tostring(i)))
  1278. if endstr == "0" or endstr == "2" or endstr == "4" or endstr == "6" or endstr == "8" then
  1279. power = power - 1
  1280. end
  1281. Player.Character[Name].Source.Mesh.Scale = Vector3.new(math.sin(i) + 3, math.sin(i) + 3, math.sin(i) + 3)
  1282. Player.Character[Name].Source.Fire.Size = math.sin(i) + 10
  1283. Player.Character[Name].Source.Fire.Heat = math.sin(i) + 10
  1284. for _, model in pairs(Workspace:GetChildren()) do
  1285. if model:FindFirstChild("Torso") ~= nil and model:FindFirstChild("Humanoid") ~= nil then
  1286. if (Player.Character.Torso.Position - model.Torso.Position).magnitude <= 25 then
  1287. local trail = Instance.new("Part")
  1288. trail.BrickColor = BrickColor.new("Institutional white")
  1289. trail.TopSurface = 0
  1290. trail.BottomSurface = 0
  1291. trail.Size = Vector3.new(1, 1, 1)
  1292. trail.Transparency = 0.4
  1293. trail.Anchored = true
  1294. trail.CanCollide = false
  1295. trail.CFrame = CFrame.new((Player.Character[Name].Source.Position + model.Torso.Position) / 2, model.Torso.Position)
  1296. trail.Parent = Workspace
  1297. local mesh = Instance.new("SpecialMesh")
  1298. mesh.MeshType = "Brick"
  1299. mesh.Scale = Vector3.new(math.random(2, 5) / 10, math.random(2, 5) / 10, (model.Torso.Position - Player.Character[Name].Source.Position).magnitude)
  1300. mesh.Parent = trail
  1301. coroutine.resume(coroutine.create(function(part) wait() part:Remove() end), trail)
  1302. model.Humanoid.Health = model.Humanoid.Health + 1.25
  1303. heed:Clone().Parent = model
  1304. coroutine.resume(coroutine.create(function(part) wait() part:Remove() end), model.HeedShield)
  1305. end
  1306. end
  1307. end
  1308. wait()
  1309. end
  1310. for i = 0, 25 do
  1311. Player.Character[Name].Source.Mesh.Scale = Player.Character[Name].Source.Mesh.Scale / 1.15
  1312. Player.Character[Name].Source.Fire.Size = Player.Character[Name].Source.Fire.Size / 1.15
  1313. Player.Character[Name].Source.Fire.Heat = Player.Character[Name].Source.Fire.Heat / 1.15
  1314. Player.Character[Name].Handle.Shine.Volume = (25 - i) / 25
  1315. wait()
  1316. end
  1317. Player.Character[Name].Handle.Shine:Stop()
  1318. Player.Character[Name].Source.Transparency = 1
  1319. Player.Character[Name].Source.Fire.Enabled = false
  1320. canFire = true
  1321. elseif spell == 7 then
  1322. --Combuscus Phore, fire/explosives class. A small explosion with a bit of magic makes to be a spectacular performance.
  1323. canFire = false
  1324. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  1325. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  1326. Player.Character[Name].Source.Transparency = 0.25
  1327. Player.Character[Name].Source.BrickColor = BrickColor.new("Really red")
  1328. Player.Character[Name].Source.Fire.Enabled = true
  1329. Player.Character[Name].Source.Fire.Heat = 10
  1330. Player.Character[Name].Source.Fire.Size = 10
  1331. Player.Character[Name].Source.Fire.Color = Color3.new(1, 0, 0)
  1332. Player.Character[Name].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
  1333. Player.Character[Name].Handle.Bolt.Looped = false
  1334. Player.Character[Name].Handle.Bolt.Volume = 1
  1335. Player.Character[Name].Handle.Bolt.Pitch = 1.5
  1336. Player.Character[Name].Handle.Bolt:Play()
  1337. power = power - 75
  1338. local shock = Instance.new("Part")
  1339. shock.FormFactor = "Custom"
  1340. shock.Size = Vector3.new(1, 1, 1)
  1341. shock.BrickColor = BrickColor.new("Really red")
  1342. shock.Anchored = true
  1343. shock.Name = "Shock Ring"
  1344. shock.CanCollide = false
  1345. shock.Parent = Workspace
  1346. local mesh = Instance.new("SpecialMesh")
  1347. mesh.MeshType = "FileMesh"
  1348. mesh.MeshId = "http://www.roblox.com/Asset/?id=3270017"
  1349. mesh.Parent = shock
  1350. local tilt1 = math.random(-10, 10)
  1351. local tilt2 = math.random(-10, 10)
  1352. local tiltChance = math.random(1, 3)
  1353. for i = 0, 25 do
  1354. Player.Character[Name].Handle.Bolt.Pitch = Player.Character[Name].Handle.Bolt.Pitch - 0.1
  1355. shock.Mesh.Scale = Vector3.new(i, i, i) * (25 - i)
  1356. if tiltChance == 1 then
  1357. shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + tilt1), 0, 0)
  1358. elseif tiltChance == 2 then
  1359. shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(tilt2), 0)
  1360. elseif tiltChance == 3 then
  1361. shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + tilt1), math.rad(tilt2), 0)
  1362. end
  1363. Player.Character[Name].Source.Mesh.Scale = (Vector3.new(i, i, i) / 5) * (25 - i)
  1364. Player.Character[Name].Source.Fire.Size = (i / 5) * (25 - i)
  1365. Player.Character[Name].Source.Fire.Heat = (i / 5) * (25 - i)
  1366. for _, model in pairs(Workspace:GetChildren()) do
  1367. if model.ClassName == "Part" then
  1368. if (Player.Character.Torso.Position - model.Position).magnitude <= (i * (25 - i)) / 2 and model.Anchored == false then
  1369. model.Velocity = ((model.Position - Player.Character.Torso.Position) * (math.sin(i / 4) * 10)) + Vector3.new(0, 25, 0)
  1370. if math.random(1, 10) == 1 then model:BreakJoints() end
  1371. end
  1372. elseif model.ClassName == "Model" and model ~= Player.Character then
  1373. for _, x in pairs(model:GetChildren()) do
  1374. if x.ClassName == "Part" then
  1375. if (Player.Character.Torso.Position - x.Position).magnitude <= (i * (25 - i)) / 2 and x.Anchored == false then
  1376. x.Velocity = ((x.Position - Player.Character.Torso.Position) * (math.sin(i / 4) * 10)) + Vector3.new(0, 25, 0)
  1377. if math.random(1, 10) == 1 then x:BreakJoints() end
  1378. if model:FindFirstChild("Humanoid") ~= nil then
  1379. model.Humanoid:TakeDamage(10)
  1380. model.Humanoid.Sit = true
  1381. end
  1382. end
  1383. end
  1384. end
  1385. end
  1386. end
  1387. wait(0.03)
  1388. end
  1389. shock:Remove()
  1390. Player.Character[Name].Source.Transparency = 1
  1391. Player.Character[Name].Source.Fire.Enabled = false
  1392. canFire = true
  1393. elseif spell == 8 then
  1394. --Combuscus Burn, fire/explosives class. Basically, light things on fire.
  1395. canFire = false
  1396. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  1397. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  1398. Player.Character[Name].Source.BrickColor = BrickColor.new("Really red")
  1399. Player.Character[Name].Handle.Fire3.Looped = false
  1400. Player.Character[Name].Handle.Fire3.Volume = 1
  1401. Player.Character[Name].Handle.Fire3.Pitch = 1
  1402. Player.Character[Name].Handle.Fire3:Play()
  1403. Player.Character[Name].Handle.Fire4.Looped = false
  1404. Player.Character[Name].Handle.Fire4.Volume = 1
  1405. Player.Character[Name].Handle.Fire4.Pitch = 1
  1406. Player.Character[Name].Handle.Fire4:Play()
  1407. coroutine.resume(coroutine.create(function()
  1408. for i = 0, 1, 0.1 do
  1409. Player.Character[Name].Source.Mesh.Scale = (Vector3.new(i, i, i) * 5) + Vector3.new(1, 1, 1)
  1410. Player.Character[Name].Source.Transparency = i
  1411. wait()
  1412. end
  1413. Player.Character[Name].Source.Transparency = 1
  1414. end))
  1415. if mouse.Target == nil then return end
  1416. if mouse.Target.Parent == nil then return end
  1417. local function SetFire(target, offset)
  1418. if target == nil then return end
  1419. if offset == nil then offset = Vector3.new(0, 0, 0) end
  1420. if target:GetMass() > 3500 then return end
  1421. if target.Name == "CombuscusBurnFire" then return end
  1422. if target:FindFirstChild("CombuscusBurnFire") ~= nil then return end
  1423. if target:FindFirstChild("ForceField") ~= nil then return end
  1424. if target.Parent == nil then return end
  1425. if target.Parent:FindFirstChild("ForceField") ~= nil then return end
  1426. if target.Parent:FindFirstChild("HeedShield") ~= nil then return end
  1427. local check = Instance.new("Model")
  1428. check.Name = "CombuscusBurnFire"
  1429. check.Parent = target
  1430. delay(math.random(0.1, 2), function() if target ~= nil then target.Touched:connect(function(hit) if target:FindFirstChild("CombuscusBurnFire") ~= nil then SetFire(hit) end end) end end)
  1431. local part = Instance.new("Part")
  1432. part.Name = "CombuscusBurnFire"
  1433. part.CanCollide = false
  1434. part.Anchored = true
  1435. Part.FormFactor = "Custom"
  1436. part.Size = Vector3.new(1, 1, 1)
  1437. part.TopSurface = 0
  1438. part.BottomSurface = 0
  1439. part.Transparency = 1
  1440. part.Parent = Workspace
  1441. local fire = Instance.new("Fire")
  1442. fire.Color = Color3.new(1, math.random(10, 30) / 100, 0)
  1443. fire.SecondaryColor = Color3.new(1, 1, 1)
  1444. fire.Size = math.random(4, 15)
  1445. fire.Heat = fire.Size + 3
  1446. fire.Parent = part
  1447. local smoke = Instance.new("Smoke")
  1448. smoke.Color = Color3.new(0.5, 0.5, 0.5)
  1449. smoke.Size = fire.Size + 3
  1450. smoke.RiseVelocity = fire.Heat / 5
  1451. smoke.Opacity = math.random(1, 15) / 100
  1452. smoke.Parent = part
  1453. local sound = Instance.new("Sound")
  1454. sound.SoundId = "http://www.roblox.com/Asset/?id=31760113"
  1455. sound.Volume = 1
  1456. sound.Pitch = 1
  1457. sound.Looped = true
  1458. sound.Parent = part
  1459. sound:Play()
  1460. coroutine.resume(coroutine.create(function()
  1461. for i = 1, math.random(100, 1000) do
  1462. if part.Parent == nil then break end
  1463. if target.Parent == nil then break end
  1464. if target.Parent.Parent == nil then break end
  1465. if target:FindFirstChild("CombuscusBurnFire") == nil then break end
  1466. if Player.Character == nil then break end
  1467. if Player.Character:FindFirstChild("Humanoid") == nil then break end
  1468. if Player.Character.Humanoid.Health <= 0 then break end
  1469. part.CFrame = CFrame.new(target.Position + offset)
  1470. if target.Parent:FindFirstChild("Humanoid") ~= nil then
  1471. target.Parent.Humanoid:TakeDamage(0.25)
  1472. end
  1473. if math.random(1, 100) == 1 then target:BreakJoints() end
  1474. if math.random(1, 25) == 1 and target.Anchored == false then target.BrickColor = BrickColor.new("Really black") end
  1475. if math.random(1, 50) == 1 and target.Anchored == false then target.Velocity = target.Velocity + Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)) end
  1476. wait()
  1477. end
  1478. for i = 1, 0, -0.05 do
  1479. sound.Volume = i
  1480. fire.Size = fire.Size / 1.025
  1481. fire.Heat = fire.Heat / 1.01
  1482. fire.Color = Color3.new(1 * i, 0.25 * i, 0)
  1483. fire.SecondaryColor = Color3.new(1 * i, 1 * i, 1 * i)
  1484. smoke.Size = smoke.Size / 1.05
  1485. smoke.RiseVelocity = smoke.RiseVelocity / 1.05
  1486. smoke.Opacity = smoke.Opacity / 1.05
  1487. wait()
  1488. end
  1489. sound:Stop()
  1490. fire.Enabled = false
  1491. smoke.Enabled = false
  1492. if target ~= nil then if target:FindFirstChild("CombuscusBurnFire") ~= nil then target.CombuscusBurnFire:Remove() end end
  1493. wait(3)
  1494. part:Remove()
  1495. end))
  1496. end
  1497. pcall(function() SetFire(mouse.Target, mouse.Hit.p - mouse.Target.Position) end)
  1498. canFire = true
  1499. elseif spell == 9 then
  1500. --Combuscus Vortex, fire/explosives class. A tornado in a can.
  1501. canFire = false
  1502. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  1503. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  1504. Player.Character[Name].Source.Transparency = 0.25
  1505. Player.Character[Name].Source.BrickColor = BrickColor.new("Really red")
  1506. Player.Character[Name].Source.Fire.Enabled = true
  1507. Player.Character[Name].Source.Fire.Heat = 10
  1508. Player.Character[Name].Source.Fire.Size = 10
  1509. Player.Character[Name].Source.Fire.Color = Color3.new(1, 0, 0)
  1510. Player.Character[Name].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
  1511. Player.Character[Name].Handle.Charge2.Looped = false
  1512. Player.Character[Name].Handle.Charge2.Volume = 1
  1513. Player.Character[Name].Handle.Charge2.Pitch = 0.125
  1514. Player.Character[Name].Handle.Charge2:Play()
  1515. power = power - 50
  1516. for i = 0, 75 do
  1517. if math.random(1, 3) == 1 then
  1518. local shock = Instance.new("Part")
  1519. shock.FormFactor = "Custom"
  1520. shock.Size = Vector3.new(1, 1, 1)
  1521. shock.BrickColor = BrickColor.new("Really red")
  1522. shock.Anchored = true
  1523. shock.Name = "Shock Ring"
  1524. shock.CanCollide = false
  1525. shock.Parent = Workspace
  1526. local mesh = Instance.new("SpecialMesh")
  1527. mesh.MeshType = "FileMesh"
  1528. mesh.MeshId = "http://www.roblox.com/Asset/?id=3270017"
  1529. mesh.Parent = shock
  1530. coroutine.resume(coroutine.create(function()
  1531. local tilt1 = math.random(-10, 10)
  1532. local tilt2 = math.random(-10, 10)
  1533. local tiltChance = math.random(1, 3)
  1534. local randomSize = math.random(-10, 10)
  1535. for x = 1, 25 do
  1536. shock.Mesh.Scale = Vector3.new(5 + x, 5 + x, 5 + (x / 5)) + Vector3.new(randomSize, randomSize, randomSize)
  1537. if tiltChance == 1 then
  1538. shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0) + Vector3.new(0, x, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + (tilt1 / (25 - x))), 0, 0)
  1539. elseif tiltChance == 2 then
  1540. shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0) + Vector3.new(0, x, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(tilt2 / (25 - x)), 0)
  1541. elseif tiltChance == 3 then
  1542. shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0) + Vector3.new(0, x, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + (tilt1 / (25 - x))), math.rad(tilt2 / (25 - x)), 0)
  1543. end
  1544. wait()
  1545. end
  1546. end))
  1547. end
  1548. Player.Character[Name].Source.Mesh.Scale = Vector3.new(i, i, i) / 5
  1549. Player.Character[Name].Source.Fire.Size = i / 5
  1550. Player.Character[Name].Source.Fire.Heat = i / 5
  1551. for _, model in pairs(Workspace:GetChildren()) do
  1552. if model.ClassName == "Part" then
  1553. if (Player.Character.Torso.Position - model.Position).magnitude <= 50 and model.Anchored == false then
  1554. model.CanCollide = false
  1555. model.Transparency = 0.5
  1556. local Position = Instance.new("BodyPosition")
  1557. Position.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  1558. Position.P = 100
  1559. Position.D = 10
  1560. Position.position = Player.Character.Torso.Position + Vector3.new(math.sin(i / (math.random(500, 750) / 100)) * (i / 2) + 4, (i / (math.random(800, 1200) / 100)) + 5, math.cos(i / (math.random(500, 750) / 100)) * (i / 2) + 4)
  1561. Position.Parent = model
  1562. coroutine.resume(coroutine.create(function() wait(0.1) Position:Remove() end))
  1563. if math.random(1, 10) == 1 then model:BreakJoints() end
  1564. end
  1565. elseif model.ClassName == "Model" and model ~= Player.Character then
  1566. for _, x in pairs(model:GetChildren()) do
  1567. if x.ClassName == "Part" then
  1568. if (Player.Character.Torso.Position - x.Position).magnitude <= 50 and x.Anchored == false then
  1569. x.CanCollide = false
  1570. local Position = Instance.new("BodyPosition")
  1571. Position.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  1572. Position.P = 500
  1573. Position.D = 10
  1574. Position.position = Player.Character.Torso.Position + Vector3.new(math.sin(i / (math.random(500, 750) / 100)) * (i / 2) + 4, (i / (math.random(800, 1200) / 100)) + 7.5, math.cos(i / (math.random(500, 750) / 100)) * (i / 2) + 4)
  1575. Position.Parent = x
  1576. coroutine.resume(coroutine.create(function() wait(0.1) Position:Remove() end))
  1577. if math.random(1, 10) == 1 then x:BreakJoints() end
  1578. if model:FindFirstChild("Humanoid") ~= nil then
  1579. model.Humanoid:TakeDamage(10)
  1580. model.Humanoid.Sit = true
  1581. end
  1582. end
  1583. end
  1584. end
  1585. end
  1586. end
  1587. wait(0.03)
  1588. end
  1589. Player.Character[Name].Handle.Fire2.Looped = false
  1590. Player.Character[Name].Handle.Fire2.Volume = 1
  1591. Player.Character[Name].Handle.Fire2.Pitch = 0.3
  1592. Player.Character[Name].Handle.Fire2:Play()
  1593. Player.Character[Name].Source.Fire.Enabled = false
  1594. for i = 0.25, 1, 0.05 do
  1595. Player.Character[Name].Source.Transparency = i
  1596. wait()
  1597. end
  1598. Player.Character[Name].Source.Transparency = 1
  1599. canFire = true
  1600. elseif spell == 10 then
  1601. --Combuscus Phore Nexus, fire/explosives class. Basically the outcome is similar to that of a nuclear warhead.
  1602. canFire = false
  1603. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  1604. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  1605. Player.Character[Name].Source.Transparency = 0.25
  1606. Player.Character[Name].Source.BrickColor = BrickColor.new("Really red")
  1607. Player.Character[Name].Source.Fire.Enabled = true
  1608. Player.Character[Name].Source.Fire.Heat = 10
  1609. Player.Character[Name].Source.Fire.Size = 10
  1610. Player.Character[Name].Source.Fire.Color = Color3.new(1, 0, 0)
  1611. Player.Character[Name].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
  1612. Player.Character[Name].Handle.Fire1.Looped = false
  1613. Player.Character[Name].Handle.Fire1.Volume = 1
  1614. Player.Character[Name].Handle.Fire1.Pitch = math.random(3, 6) / 10
  1615. local new = Player.Character[Name].Handle.Fire1:Clone()
  1616. new.Parent = Workspace
  1617. new:Play()
  1618. Player.Character[Name].Handle.Charge3.Looped = false
  1619. Player.Character[Name].Handle.Charge3.Volume = 1
  1620. Player.Character[Name].Handle.Charge3.Pitch = math.random(15, 20) / 10
  1621. local new = Player.Character[Name].Handle.Charge3:Clone()
  1622. new.Parent = Workspace
  1623. new:Play()
  1624. Player.Character[Name].Handle.Fire4.Looped = false
  1625. Player.Character[Name].Handle.Fire4.Volume = 1
  1626. Player.Character[Name].Handle.Fire4.Pitch = math.random(2, 4) / 10
  1627. local new = Player.Character[Name].Handle.Fire4:Clone()
  1628. new.Parent = Workspace
  1629. new:Play()
  1630. power = power - 100
  1631. local shock = Instance.new("Part")
  1632. shock.FormFactor = "Custom"
  1633. shock.Size = Vector3.new(1, 1, 1)
  1634. shock.BrickColor = BrickColor.new("Really red")
  1635. shock.Anchored = true
  1636. shock.Name = "Shock Ring"
  1637. shock.CanCollide = false
  1638. shock.Parent = Workspace
  1639. local mesh = Instance.new("SpecialMesh")
  1640. mesh.MeshType = "FileMesh"
  1641. mesh.MeshId = "http://www.roblox.com/Asset/?id=3270017"
  1642. mesh.Parent = shock
  1643. local shock2 = shock:Clone()
  1644. shock2.Parent = Workspace
  1645. local shock3 = shock:Clone()
  1646. shock3.Parent = Workspace
  1647. local shockAngle = CFrame.fromEulerAnglesXYZ(math.rad(90 + math.random(-5, 5)), math.rad(math.random(-5, 5)), math.rad(math.random(-5, 5)))
  1648. local shock2Angle = CFrame.fromEulerAnglesXYZ(math.rad(90 + math.random(-5, 5)), math.rad(math.random(-5, 5)), math.rad(math.random(-5, 5)))
  1649. local shock3Angle = CFrame.fromEulerAnglesXYZ(math.rad(90 + math.random(-5, 5)), math.rad(math.random(-5, 5)), math.rad(math.random(-5, 5)))
  1650. local shock2Size = math.random(2, 3)
  1651. local shock3Size = math.random(4, 6)
  1652. for i = 0, 500, 10 do
  1653. if string.sub(tostring(i), string.len(tostring(i)), string.len(tostring(i))) == "0" then
  1654. local shock4 = Instance.new("Part")
  1655. shock4.FormFactor = "Custom"
  1656. shock4.Size = Vector3.new(1, 1, 1)
  1657. shock4.BrickColor = BrickColor.new("Really red")
  1658. shock4.Anchored = true
  1659. shock4.Name = "Shock Ring"
  1660. shock4.CanCollide = false
  1661. shock4.Parent = Workspace
  1662. shock4.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 2, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(-25, 25)), math.rad(math.random(-25, 25)), math.rad(math.random(-25, 25)))
  1663. local mesh = Instance.new("SpecialMesh")
  1664. mesh.MeshType = "FileMesh"
  1665. mesh.MeshId = "http://www.roblox.com/Asset/?id=20329976"
  1666. mesh.Parent = shock4
  1667. coroutine.resume(coroutine.create(function(part)
  1668. for i = 0, 1, 0.05 do
  1669. part.Transparency = i
  1670. part.Mesh.Scale = Vector3.new(i * 25, i * 25, i * 25)
  1671. wait()
  1672. end
  1673. part:Remove()
  1674. end), shock4)
  1675. end
  1676. shock.Transparency = i / 500
  1677. shock2.Transparency = i / 500
  1678. shock3.Transparency = i / 500
  1679. Player.Character[Name].Source.Transparency = i / 250
  1680. shock.Mesh.Scale = Vector3.new(i, i, i)
  1681. shock2.Mesh.Scale = Vector3.new(i, i, i) / shock2Size
  1682. shock3.Mesh.Scale = Vector3.new(i, i, i) / shock3Size
  1683. shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * shockAngle
  1684. shock2.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * shock2Angle
  1685. shock3.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * shock3Angle
  1686. Player.Character[Name].Source.Mesh.Scale = (Vector3.new(i, i, i) / 15)
  1687. Player.Character[Name].Source.Fire.Size = (i / 15)
  1688. Player.Character[Name].Source.Fire.Heat = (i / 15)
  1689. for _, model in pairs(Workspace:GetChildren()) do
  1690. if model.ClassName == "Part" then
  1691. if (Player.Character.Torso.Position - model.Position).magnitude <= i / 2 and model.Anchored == false then
  1692. model.Velocity = (model.Position - Player.Character.Torso.Position) * 10 + Vector3.new(0, 25, 0)
  1693. if math.random(1, 10) == 1 then model:BreakJoints() end
  1694. end
  1695. elseif model.ClassName == "Model" and model ~= Player.Character then
  1696. for _, x in pairs(model:GetChildren()) do
  1697. if x.ClassName == "Part" then
  1698. if (Player.Character.Torso.Position - x.Position).magnitude <= i / 2 and x.Anchored == false then
  1699. x.Velocity = (x.Position - Player.Character.Torso.Position) * 10 + Vector3.new(0, 25, 0)
  1700. if math.random(1, 10) == 1 then x:BreakJoints() end
  1701. if model:FindFirstChild("Humanoid") ~= nil then
  1702. model.Humanoid:TakeDamage(10)
  1703. model.Humanoid.Sit = true
  1704. end
  1705. end
  1706. end
  1707. end
  1708. end
  1709. end
  1710. wait(0.03)
  1711. end
  1712. shock:Remove()
  1713. shock2:Remove()
  1714. shock3:Remove()
  1715. Player.Character[Name].Source.Transparency = 1
  1716. Player.Character[Name].Source.Fire.Enabled = false
  1717. canFire = true
  1718. elseif spell == 11 then
  1719. --Kanamla Cysis, object manipulation class. The easiest spell in it's class allows you to lightly pick things up.
  1720. local target = mouse.Target
  1721. if target == nil then return end
  1722. if target.Parent == nil then return end
  1723. if target.Anchored == true then return end
  1724. if (target.Position - Player.Character[Name].Source.Position).magnitude > 25 then return end
  1725. if game:GetService("Players"):GetPlayerFromCharacter(target.Parent) ~= nil then
  1726. if game:GetService("Players"):GetPlayerFromCharacter(target.Parent).Character:FindFirstChild("Torso") ~= nil then
  1727. target = game:GetService("Players"):GetPlayerFromCharacter(target.Parent).Character.Torso
  1728. if game:GetService("Players"):GetPlayerFromCharacter(target.Parent).Character:FindFirstChild("Humanoid") ~= nil then
  1729. game:GetService("Players"):GetPlayerFromCharacter(target.Parent).Character.Humanoid.PlatformStand = true
  1730. end
  1731. end
  1732. end
  1733. local position = Instance.new("BodyPosition")
  1734. position.Name = "Cysis"
  1735. position.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  1736. position.P = 1000
  1737. position.D = 50
  1738. position.Parent = target
  1739. position.position = Player.Character[Name].Source.Position + ((mouse.Hit.p - Player.Character[Name].Source.Position).unit * 10)
  1740. canFire = false
  1741. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  1742. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  1743. Player.Character[Name].Source.Transparency = 0.25
  1744. Player.Character[Name].Source.BrickColor = BrickColor.new("Bright blue")
  1745. Player.Character[Name].Source.Fire.Enabled = true
  1746. Player.Character[Name].Source.Fire.Heat = 10
  1747. Player.Character[Name].Source.Fire.Size = 2
  1748. Player.Character[Name].Source.Fire.Color = Color3.new(0, 0, 1)
  1749. Player.Character[Name].Source.Fire.SecondaryColor = Color3.new(0.5, 0.5, 1)
  1750. Player.Character[Name].Handle.Shine.Looped = false
  1751. Player.Character[Name].Handle.Shine.Volume = 1
  1752. Player.Character[Name].Handle.Shine.Pitch = 0.75
  1753. Player.Character[Name].Handle.Shine:Play()
  1754. for i = 0, math.huge do
  1755. if Button1Down == false then break end
  1756. if Player.Character == nil then break end
  1757. if Player.Character:FindFirstChild("Humanoid") == nil then break end
  1758. if Player.Character.Humanoid.Health <= 0 then break end
  1759. if Player.Character:FindFirstChild(Name) == nil then break end
  1760. if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
  1761. if Player.Character[Name]:FindFirstChild("Source") == nil then break end
  1762. if power <= 0 then break end
  1763. if string.sub(tostring(i), string.len(tostring(i)), string.len(tostring(i))) == "0" then
  1764. power = power - 1
  1765. end
  1766. if target ~= nil and position ~= nil then
  1767. position.position = Player.Character[Name].Source.Position + ((mouse.Hit.p - Player.Character[Name].Source.Position).unit * 10)
  1768. end
  1769. wait()
  1770. end
  1771. if position ~= nil then position:Remove() end
  1772. if target ~= nil then
  1773. if target.Parent:FindFirstChild("Humanoid") ~= nil then
  1774. target.Parent.Humanoid.PlatformStand = false
  1775. target.Parent.Humanoid.Sit = true
  1776. end
  1777. end
  1778. for i = 0.25, 1, 0.05 do
  1779. Player.Character[Name].Source.Transparency = i
  1780. wait()
  1781. end
  1782. Player.Character[Name].Source.Transparency = 1
  1783. Player.Character[Name].Source.Fire.Enabled = false
  1784. canFire = true
  1785. elseif spell == 12 then
  1786. --Kanamla Tepidift, object manipulation class. Allows you to teleport from one area to another.
  1787. canFire = false
  1788. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  1789. Player.Character[Name].Source.BrickColor = BrickColor.new("Bright blue")
  1790. Player.Character[Name].Source.Fire.Enabled = true
  1791. Player.Character[Name].Source.Fire.Heat = 0
  1792. Player.Character[Name].Source.Fire.Color = Color3.new(0, 0, 1)
  1793. Player.Character[Name].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
  1794. Player.Character[Name].Handle.Shine.Looped = true
  1795. Player.Character[Name].Handle.Shine.Pitch = 1.5
  1796. Player.Character[Name].Handle.Shine.Volume = 1
  1797. Player.Character[Name].Handle.Shine:Play()
  1798. for i = 1, 0, -0.05 do
  1799. Player.Character[Name].Source.Transparency = i
  1800. Player.Character[Name].Source.Mesh.Scale = (Vector3.new(1 - i, 1 - i, 1 - i) * 15)
  1801. Player.Character[Name].Source.Fire.Size = (1 - i) * 15
  1802. wait()
  1803. end
  1804. local maxDistance = (Player.Character.Torso.Position - mouse.Hit.p).magnitude
  1805. if maxDistance < 500 then
  1806. local pos1 = Player.Character.Torso.Position
  1807. local pos2 = mouse.Hit.p + Vector3.new(0, 3, 0)
  1808. local pos0 = pos1
  1809. for distance = 1, maxDistance, 5 do
  1810. pos0 = (CFrame.new(pos1, pos2) * CFrame.new(0, 0, -distance)).p
  1811. Player.Character.Torso.CFrame = CFrame.new(pos0, pos2)
  1812. Player.Character.Torso.Velocity = Vector3.new()
  1813. power = power - 1
  1814. wait()
  1815. end
  1816. Player.Character.Torso.CFrame = CFrame.new(pos2)
  1817. for i = 0, 1, 0.05 do
  1818. Player.Character[Name].Source.Transparency = i
  1819. Player.Character[Name].Source.Mesh.Scale = (Vector3.new(1 - i, 1 - i, 1 - i) * 15)
  1820. Player.Character[Name].Source.Fire.Size = (1 - i) * 15
  1821. Player.Character[Name].Handle.Shine.Volume = (1 - i)
  1822. wait()
  1823. end
  1824. Player.Character[Name].Handle.Shine:Stop()
  1825. else
  1826. for i = 0, 1, 0.05 do
  1827. Player.Character[Name].Source.BrickColor = Player.Character[Name].Source.BrickColor == BrickColor.new("Bright blue") and BrickColor.new("Really red") or BrickColor.new("Bright blue")
  1828. Player.Character[Name].Source.Transparency = i
  1829. Player.Character[Name].Source.Mesh.Scale = (Vector3.new(1 - i, 1 - i, 1 - i) * 15)
  1830. Player.Character[Name].Source.Fire.Size = (1 - i) * 15
  1831. Player.Character[Name].Source.Fire.Color = Player.Character[Name].Source.Fire.Color == Color3.new(0, 0, 1) and Color3.new(1, 0, 0) or Color3.new(0, 0, 1)
  1832. Player.Character[Name].Source.Fire.SecondaryColor = Player.Character[Name].Source.Fire.SecondaryColor == Color3.new(1, 1, 1) and Color3.new(1, 0, 0) or Color3.new(1, 1, 1)
  1833. Player.Character[Name].Handle.Shine.Pitch = (1 - i) + 0.5
  1834. wait()
  1835. end
  1836. Player.Character[Name].Handle.Shine:Stop()
  1837. end
  1838. Player.Character[Name].Source.Transparency = 1
  1839. Player.Character[Name].Source.Fire.Enabled = false
  1840. canFire = true
  1841. elseif spell == 13 then
  1842. --Kanamla Jump, object manipulation class. Allows you to jump really high.
  1843. canFire = false
  1844. while Button1Down == true do
  1845. if power <= 0 then break end
  1846. Player.Character[Name].Handle.Fire3.Looped = false
  1847. Player.Character[Name].Handle.Fire3.Pitch = 1
  1848. Player.Character[Name].Handle.Fire3.Volume = 1
  1849. for i = 1, 2 do Player.Character[Name].Handle.Fire3:Play() end
  1850. Player.Character[Name].Source.BrickColor = BrickColor.new("Really blue")
  1851. Player.Character.Humanoid.PlatformStand = true
  1852. Player.Character.Torso.Velocity = Vector3.new(Player.Character.Torso.Velocity.x, (Player.Character.Torso.Velocity.y / 2) + 100, Player.Character.Torso.Velocity.z)
  1853. power = power - 5
  1854. local shock = Instance.new("Part")
  1855. shock.FormFactor = "Custom"
  1856. shock.Size = Vector3.new(1, 1, 1)
  1857. shock.BrickColor = BrickColor.new("Really blue")
  1858. shock.Anchored = true
  1859. shock.Name = "Shock Ring"
  1860. shock.CanCollide = false
  1861. shock.Parent = Workspace
  1862. local mesh = Instance.new("SpecialMesh")
  1863. mesh.MeshType = "FileMesh"
  1864. mesh.MeshId = "http://www.roblox.com/Asset/?id=20329976"
  1865. mesh.Scale = Vector3.new(1, 1, 1)
  1866. mesh.Parent = shock
  1867. shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 2.5, 0))
  1868. coroutine.resume(coroutine.create(function()
  1869. for i = 0, 50 do
  1870. mesh.Scale = Vector3.new(i, i / 5, i)
  1871. shock.Transparency = i / 50
  1872. wait()
  1873. end
  1874. shock:Remove()
  1875. end))
  1876. for i = 0, 1, 0.2 do
  1877. Player.Character[Name].Source.Transparency = i
  1878. Player.Character[Name].Source.Mesh.Scale = (Vector3.new(i, i, i) * 5)
  1879. wait()
  1880. end
  1881. Player.Character[Name].Source.Transparency = 1
  1882. Player.Character.Humanoid.PlatformStand = false
  1883. end
  1884. canFire = true
  1885. elseif spell == 14 then
  1886. --Candora Hide, light manipulation class. The Hide spell makes you and your wand seem invisible to the naked eye by bending light around your limbs.
  1887. canFire = false
  1888. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  1889. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  1890. Player.Character[Name].Source.BrickColor = BrickColor.new("Royal purple")
  1891. for i = 1, 0, -0.05 do
  1892. Player.Character[Name].Source.Transparency = i
  1893. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1 - i, 1 - i, 1 - i) * 2
  1894. wait()
  1895. end
  1896. Player.Character[Name].Source.Transparency = 0
  1897. if Player.Character:FindFirstChild("Head") ~= nil then
  1898. if Player.Character.Head:FindFirstChild("face") ~= nil then
  1899. Player.Character.Head.face.Face = "Bottom"
  1900. end
  1901. end
  1902. Player.Character[Name].Handle.Shine.Looped = false
  1903. Player.Character[Name].Handle.Shine.Volume = 1
  1904. Player.Character[Name].Handle.Shine:Play()
  1905. for i = 0, 1.1, 0.01 do
  1906. Player.Character[Name].Handle.Shine.Pitch = math.sin(i)
  1907. Player.Character[Name].Source.Mesh.Scale = Vector3.new(math.sin(i), math.sin(i), math.sin(i)) + Vector3.new(2, 2, 2)
  1908. for _, children in pairs(Player.Character:GetChildren()) do
  1909. if children.ClassName == "Part" and children.Name ~= "" then
  1910. children.Transparency = i
  1911. end
  1912. if children.Name == Name then
  1913. for _, children2 in pairs(children:GetChildren()) do
  1914. if children2.ClassName == "Part" then
  1915. children2.Transparency = i
  1916. end
  1917. end
  1918. end
  1919. end
  1920. wait()
  1921. end
  1922. while Button1Down == true do
  1923. if Player.Character == nil then break end
  1924. if Player.Character:FindFirstChild("Humanoid") == nil then break end
  1925. if Player.Character.Humanoid.Health <= 0 then break end
  1926. if Player.Character:FindFirstChild(Name) == nil then break end
  1927. if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
  1928. if Player.Character[Name]:FindFirstChild("Source") == nil then break end
  1929. if power <= 0 then break end
  1930. power = power - 1
  1931. wait(0.5)
  1932. end
  1933. Player.Character[Name].Handle.Shine:Play()
  1934. for i = 1, -0.1, -0.01 do
  1935. Player.Character[Name].Handle.Shine.Pitch = math.sin(i)
  1936. Player.Character[Name].Source.Mesh.Scale = Vector3.new(math.sin(i), math.sin(i), math.sin(i)) + Vector3.new(2, 2, 2)
  1937. for _, children in pairs(Player.Character:GetChildren()) do
  1938. if children.ClassName == "Part" and children.Name ~= "" then
  1939. children.Transparency = i
  1940. end
  1941. if children.Name == Name then
  1942. for _, children2 in pairs(children:GetChildren()) do
  1943. if children2.ClassName == "Part" then
  1944. children2.Transparency = i
  1945. end
  1946. end
  1947. end
  1948. end
  1949. wait()
  1950. end
  1951. Player.Character[Name].Handle.Shine:Stop()
  1952. if Player.Character:FindFirstChild("Head") ~= nil then
  1953. if Player.Character.Head:FindFirstChild("face") ~= nil then
  1954. Player.Character.Head.face.Face = "Front"
  1955. end
  1956. end
  1957. for i = 0, 1, 0.05 do
  1958. Player.Character[Name].Source.Transparency = i
  1959. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1 - i, 1 - i, 1 - i) * 2
  1960. wait()
  1961. end
  1962. Player.Character[Name].Source.Transparency = 1
  1963. canFire = true
  1964. elseif spell == 15 then
  1965. --Duraen Control, human manipulation class. Lets you control the movements of others.
  1966. Controlling = Controlling == nil and false or Controlling
  1967. ControlModel = ControlModel == nil and nil or ControlModel
  1968. if Controlling ~= true then
  1969. if mouse.Target == nil then return end
  1970. if mouse.Target.Parent == nil then return end
  1971. if mouse.Target.Parent:FindFirstChild("Humanoid") == nil then return end
  1972. if mouse.Target.Parent:FindFirstChild("Torso") == nil then return end
  1973. if mouse.Target.Parent:FindFirstChild("Head") == nil then return end
  1974. canFire = false
  1975. Controlling = true
  1976. ControlModel = mouse.Target.Parent
  1977. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  1978. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  1979. Player.Character[Name].Source.BrickColor = BrickColor.new("Neon orange")
  1980. Player.Character[Name].Handle.Shine.Looped = false
  1981. Player.Character[Name].Handle.Shine.Volume = 1
  1982. Player.Character[Name].Handle.Shine.Pitch = 2
  1983. Player.Character[Name].Handle.Shine:Play()
  1984. for i = 1, 0, -0.025 do
  1985. Player.Character[Name].Source.Transparency = i
  1986. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1 - i, 1 - i, 1 - i) * 2
  1987. Player.Character[Name].Handle.Shine.Pitch = i * 2
  1988. wait()
  1989. end
  1990. Player.Character[Name].Source.Transparency = 0
  1991. Player.Character[Name].Handle.Shine:Stop()
  1992. coroutine.resume(coroutine.create(function()
  1993. for i = 0, 1, 0.05 do
  1994. Player.Character[Name].Source.Transparency = i
  1995. wait()
  1996. end
  1997. Player.Character[Name].Source.Transparency = 1
  1998. end))
  1999. Player.Character[Name].Handle.Fire2.Looped = false
  2000. Player.Character[Name].Handle.Fire2.Volume = 1
  2001. Player.Character[Name].Handle.Fire2.Pitch = 1
  2002. Player.Character[Name].Handle.Fire2:Play()
  2003. local Shot = Instance.new("Part", Workspace)
  2004. Shot.FormFactor = "Custom"
  2005. Shot.Shape = "Ball"
  2006. Shot.Size = Vector3.new(1, 1, 1)
  2007. Shot.CFrame = Player.Character[Name].Source.CFrame
  2008. Shot.CanCollide = false
  2009. Shot.BrickColor = BrickColor.new("Neon orange")
  2010. Shot.Transparency = 0.5
  2011. Shot.TopSurface = 0
  2012. Shot.BottomSurface = 0
  2013. local BodyVelocity = Instance.new("BodyVelocity", Shot)
  2014. BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  2015. local Camera = Workspace.CurrentCamera
  2016. Camera.CameraSubject = Shot
  2017. while true do
  2018. if ControlModel == nil then break end
  2019. if ControlModel.Parent == nil then break end
  2020. if ControlModel:FindFirstChild("Humanoid") == nil then break end
  2021. if ControlModel.Humanoid.Health <= 0 then break end
  2022. if ControlModel:FindFirstChild("Torso") == nil then break end
  2023. if ControlModel:FindFirstChild("Head") == nil then break end
  2024. if Player.Character == nil then break end
  2025. if Player.Character.Parent == nil then break end
  2026. if Player.Character:FindFirstChild("Humanoid") == nil then break end
  2027. if Player.Character.Humanoid.Health <= 0 then break end
  2028. if Player.Character:FindFirstChild("Torso") == nil then break end
  2029. if Player.Character:FindFirstChild("Head") == nil then break end
  2030. if Shot.Parent == nil then break end
  2031. if (ControlModel.Head.Position - Shot.Position).magnitude < 3 then break end
  2032. BodyVelocity.velocity = (ControlModel.Head.Position - Shot.Position).unit * (ControlModel.Humanoid.WalkSpeed * 1.5)
  2033. wait()
  2034. end
  2035. Shot:Remove()
  2036. if ControlModel:FindFirstChild("Humanoid") == nil then return end
  2037. if ControlModel:FindFirstChild("Torso") == nil then return end
  2038. if ControlModel:FindFirstChild("Head") == nil then return end
  2039. local ControlPlayer = nil
  2040. local Explosion = Instance.new("Part", Workspace)
  2041. Explosion.FormFactor = "Custom"
  2042. Explosion.Shape = "Ball"
  2043. Explosion.Size = Vector3.new(1, 1, 1)
  2044. Explosion.CFrame = ControlModel.Head.CFrame
  2045. Explosion.CanCollide = false
  2046. Explosion.Anchored = true
  2047. Explosion.BrickColor = BrickColor.new("Neon orange")
  2048. Explosion.Transparency = 0.5
  2049. Explosion.TopSurface = 0
  2050. Explosion.BottomSurface = 0
  2051. local Mesh = Instance.new("SpecialMesh")
  2052. Mesh.MeshType = "Sphere"
  2053. Mesh.Parent = Explosion
  2054. coroutine.resume(coroutine.create(function(Part)
  2055. for i = 0, 1, 0.05 do
  2056. Mesh.Scale = Vector3.new(i * 7.5, i * 2, i * 7.5)
  2057. Explosion.Transparency = i
  2058. Explosion.CFrame = Part.CFrame
  2059. wait()
  2060. end
  2061. Explosion:Remove()
  2062. end), ControlModel.Head)
  2063. local Camera = Workspace.CurrentCamera
  2064. Camera.CameraSubject = ControlModel.Humanoid
  2065. canFire = true
  2066. while Controlling == true and ControlModel:FindFirstChild("Humanoid") ~= nil and ControlModel:FindFirstChild("Torso") ~= nil and ControlModel:FindFirstChild("Head") ~= nil and spell == 15 and selected == true do
  2067. if Player.Character == nil then break end
  2068. if Player.Character:FindFirstChild("Humanoid") == nil then break end
  2069. if Player.Character.Humanoid.Health <= 0 then break end
  2070. if Player.Character:FindFirstChild(Name) == nil then break end
  2071. if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
  2072. if Player.Character[Name]:FindFirstChild("Source") == nil then break end
  2073. if ControlModel.Humanoid.Health <= 0 then break end
  2074. if power <= 0 then break end
  2075. if math.random(1, 2) == 1 then power = power - 1 end
  2076. ControlModel.Humanoid:MoveTo(mouse.Hit.p, mouse.Target == nil and ControlModel.Torso or mouse.Target)
  2077. if mouse.Hit.p.y > ControlModel.Torso.Position.y then
  2078. ControlModel.Humanoid.Jump = true
  2079. end
  2080. wait()
  2081. end
  2082. if ControlModel.Parent ~= nil then
  2083. if ControlModel:FindFirstChild("Head") ~= nil then
  2084. local Explosion = Instance.new("Part", Workspace)
  2085. Explosion.Name = "Magical Explosion"
  2086. Explosion.FormFactor = "Custom"
  2087. Explosion.Shape = "Ball"
  2088. Explosion.Size = Vector3.new(1, 1, 1)
  2089. Explosion.CFrame = ControlModel.Head.CFrame
  2090. Explosion.CanCollide = false
  2091. Explosion.Anchored = true
  2092. Explosion.BrickColor = BrickColor.new("Neon orange")
  2093. Explosion.TopSurface = 0
  2094. Explosion.BottomSurface = 0
  2095. local Mesh = Instance.new("SpecialMesh")
  2096. Mesh.MeshType = "Sphere"
  2097. Mesh.Parent = Explosion
  2098. coroutine.resume(coroutine.create(function(Part)
  2099. for i = 1, 0, -0.05 do
  2100. Mesh.Scale = Vector3.new(i * 7.5, i * 2, i * 7.5)
  2101. Explosion.Transparency = i
  2102. Explosion.CFrame = Part.CFrame
  2103. wait()
  2104. end
  2105. Explosion:Remove()
  2106. end), ControlModel.Head)
  2107. end
  2108. end
  2109. Controlling = false
  2110. ControlModel = nil
  2111. Camera.CameraSubject = Player.Character:FindFirstChild("Humanoid")
  2112. canFire = false
  2113. if selected == true then
  2114. for i = 1, 0, -0.05 do
  2115. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  2116. Player.Character[Name].Source.Mesh.Scale = Vector3.new(2, 2, 2)
  2117. Player.Character[Name].Source.BrickColor = BrickColor.new("Neon orange")
  2118. Player.Character[Name].Source.Transparency = i
  2119. wait()
  2120. end
  2121. Player.Character[Name].Handle.Shine.Looped = false
  2122. Player.Character[Name].Handle.Shine.Volume = 1
  2123. Player.Character[Name].Handle.Shine.Pitch = 0
  2124. Player.Character[Name].Handle.Shine:Play()
  2125. for i = 0, 1, 0.025 do
  2126. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  2127. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1 - i, 1 - i, 1 - i) * 2
  2128. Player.Character[Name].Source.BrickColor = BrickColor.new("Neon orange")
  2129. Player.Character[Name].Source.Transparency = i
  2130. Player.Character[Name].Handle.Shine.Pitch = i * 2
  2131. wait()
  2132. end
  2133. Player.Character[Name].Source.Transparency = 1
  2134. end
  2135. canFire = true
  2136. else
  2137. Controlling = false
  2138. end
  2139. elseif spell == 16 then
  2140. --Duraen Switch, human manipulation class. Dress up as the enemy... Or as a woman, you sicko.
  2141. if mouse.Target == nil then return end
  2142. if mouse.Target.Parent == nil then return end
  2143. if mouse.Target.Parent:FindFirstChild("Humanoid") == nil then return end
  2144. if mouse.Target.Parent:FindFirstChild("Torso") == nil then return end
  2145. if mouse.Target.Parent:FindFirstChild("Head") == nil then return end
  2146. canFire = false
  2147. local CharacterOne = Player.Character
  2148. local CharacterTwo = mouse.Target.Parent
  2149. Player.Character[Name].Source.Mesh.MeshType = "Sphere"
  2150. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
  2151. Player.Character[Name].Source.BrickColor = BrickColor.new("Neon orange")
  2152. Player.Character[Name].Handle.Shine.Looped = false
  2153. Player.Character[Name].Handle.Shine.Volume = 1
  2154. Player.Character[Name].Handle.Shine.Pitch = 2
  2155. Player.Character[Name].Handle.Shine:Play()
  2156. for i = 1, 0, -0.025 do
  2157. Player.Character[Name].Source.Transparency = i
  2158. Player.Character[Name].Source.Mesh.Scale = Vector3.new(1 - i, 1 - i, 1 - i) * 2
  2159. Player.Character[Name].Handle.Shine.Pitch = i * 2
  2160. wait()
  2161. end
  2162. Player.Character[Name].Source.Transparency = 0
  2163. Player.Character[Name].Handle.Shine:Stop()
  2164. coroutine.resume(coroutine.create(function()
  2165. for i = 0, 1, 0.05 do
  2166. Player.Character[Name].Source.Transparency = i
  2167. wait()
  2168. end
  2169. Player.Character[Name].Source.Transparency = 1
  2170. end))
  2171. coroutine.resume(coroutine.create(function()
  2172. local Explosion = Instance.new("Part", Workspace)
  2173. Explosion.Name = "Magical Explosion"
  2174. Explosion.FormFactor = "Custom"
  2175. Explosion.Shape = "Ball"
  2176. Explosion.Size = Vector3.new(1, 1, 1)
  2177. Explosion.CanCollide = false
  2178. Explosion.Anchored = true
  2179. Explosion.BrickColor = BrickColor.new("Neon orange")
  2180. Explosion.TopSurface = 0
  2181. Explosion.BottomSurface = 0
  2182. local Mesh = Instance.new("SpecialMesh")
  2183. Mesh.MeshType = "Sphere"
  2184. Mesh.Parent = Explosion
  2185. coroutine.resume(coroutine.create(function(Part)
  2186. for i = 0, 7, 0.1 do
  2187. Mesh.Scale = Vector3.new(i, i * 2, i)
  2188. Explosion.CFrame = Part.CFrame
  2189. wait()
  2190. end
  2191. for i = 7, 14, 0.1 do
  2192. Mesh.Scale = Vector3.new(i, i * 2, i)
  2193. Explosion.Transparency = (i - 7) / 7
  2194. Explosion.CFrame = Part.CFrame
  2195. wait()
  2196. end
  2197. Explosion:Remove()
  2198. end), CharacterOne.Torso)
  2199. local Explosion = Instance.new("Part", Workspace)
  2200. Explosion.Name = "Magical Explosion"
  2201. Explosion.FormFactor = "Custom"
  2202. Explosion.Shape = "Ball"
  2203. Explosion.Size = Vector3.new(1, 1, 1)
  2204. Explosion.CanCollide = false
  2205. Explosion.Anchored = true
  2206. Explosion.BrickColor = BrickColor.new("Neon orange")
  2207. Explosion.TopSurface = 0
  2208. Explosion.BottomSurface = 0
  2209. local Mesh = Instance.new("SpecialMesh")
  2210. Mesh.MeshType = "Sphere"
  2211. Mesh.Parent = Explosion
  2212. coroutine.resume(coroutine.create(function(Part)
  2213. for i = 0, 7, 0.1 do
  2214. Mesh.Scale = Vector3.new(i, i * 2, i)
  2215. Explosion.CFrame = Part.CFrame
  2216. wait()
  2217. end
  2218. for i = 7, 14, 0.1 do
  2219. Mesh.Scale = Vector3.new(i, i * 2, i)
  2220. Explosion.Transparency = (i - 7) / 7
  2221. Explosion.CFrame = Part.CFrame
  2222. wait()
  2223. end
  2224. Explosion:Remove()
  2225. end), CharacterTwo.Torso)
  2226. end))
  2227. wait(2)
  2228. local CharacterOneParts = Instance.new("Model")
  2229. local CharacterTwoParts = Instance.new("Model")
  2230. if CharacterOne.Head:FindFirstChild("face") ~= nil then
  2231. CharacterOne.Head.face.Parent = CharacterOneParts
  2232. end
  2233. if CharacterOne.Head:FindFirstChild("Mesh") ~= nil then
  2234. CharacterOne.Head.Mesh.Parent = CharacterOneParts
  2235. end
  2236. if CharacterOne.Torso:FindFirstChild("roblox") ~= nil then
  2237. CharacterOne.Torso.roblox.Parent = CharacterOneParts
  2238. end
  2239. for _, Part in pairs(CharacterOne:GetChildren()) do
  2240. if Part.ClassName == "Shirt" or Part.ClassName == "Pants" or Part.ClassName == "CharacterMesh" or Part.ClassName == "ShirtGraphic" or Part.ClassName == "Hat" or Part.ClassName == "Accoutrement" or Part.ClassName == "BodyColors" then
  2241. Part.Parent = CharacterOneParts
  2242. end
  2243. end
  2244. if CharacterTwo.Head:FindFirstChild("face") ~= nil then
  2245. CharacterTwo.Head.face.Parent = CharacterTwoParts
  2246. end
  2247. if CharacterTwo.Head:FindFirstChild("Mesh") ~= nil then
  2248. CharacterTwo.Head.Mesh.Parent = CharacterTwoParts
  2249. end
  2250. if CharacterTwo.Torso:FindFirstChild("roblox") ~= nil then
  2251. CharacterTwo.Torso.roblox.Parent = CharacterTwoParts
  2252. end
  2253. for _, Part in pairs(CharacterTwo:GetChildren()) do
  2254. if Part.ClassName == "Shirt" or Part.ClassName == "Pants" or Part.ClassName == "CharacterMesh" or Part.ClassName == "ShirtGraphic" or Part.ClassName == "Hat" or Part.ClassName == "Accoutrement" or Part.ClassName == "BodyColors" then
  2255. Part.Parent = CharacterTwoParts
  2256. end
  2257. end
  2258. for _, Part in pairs(CharacterOneParts:GetChildren()) do
  2259. if Part.Name == "face" or Part.Name == "Mesh" then
  2260. Part.Parent = CharacterTwo.Head
  2261. elseif Part.Name == "roblox" then
  2262. Part.Parent = CharacterTwo.Torso
  2263. else
  2264. Part.Parent = CharacterTwo
  2265. end
  2266. end
  2267. for _, Part in pairs(CharacterTwoParts:GetChildren()) do
  2268. if Part.Name == "face" or Part.Name == "Mesh" then
  2269. Part.Parent = CharacterOne.Head
  2270. elseif Part.Name == "roblox" then
  2271. Part.Parent = CharacterOne.Torso
  2272. else
  2273. Part.Parent = CharacterOne
  2274. end
  2275. end
  2276. canFire = true
  2277. end
  2278. end
  2279.  
  2280.  
  2281. function onButton1Up(mouse)
  2282. if selected == false then return end
  2283. Button1Down = false
  2284. while canFire == false do wait() end
  2285. mouse.Icon = "rbxasset://textures\\GunCursor.png"
  2286. end
  2287.  
  2288.  
  2289. function onKeyDown(key, mouse)
  2290. if selected == false or canFire == false or Button1Down == true then return end
  2291. key = key:lower()
  2292. if key == "r" then
  2293. if mouse.Target == nil then return end
  2294. if game:GetService("Players"):GetPlayerFromCharacter(mouse.Target.Parent) ~= nil then
  2295. onDeselected(mouse)
  2296. removeParts("holster")
  2297. script.Parent.Parent = game:GetService("Players"):GetPlayerFromCharacter(mouse.Target.Parent).Backpack
  2298. end
  2299. end
  2300. if key == "e" then
  2301. spell = spell - 1
  2302. if spell < 0 then
  2303. spell = 16
  2304. end
  2305. end
  2306. if key == "q" then
  2307. spell = spell + 1
  2308. if spell > 16 then
  2309. spell = 0
  2310. end
  2311. end
  2312. if key == "t" then
  2313. spellHotkey1Delay = time()
  2314. end
  2315. if key == "y" then
  2316. spellHotkey2Delay = time()
  2317. end
  2318. if key == "u" then
  2319. spellHotkey3Delay = time()
  2320. end
  2321. updateSpellText()
  2322. updateGui()
  2323. end
  2324.  
  2325.  
  2326. function onKeyUp(key, mouse)
  2327. if selected == false or canFire == false or Button1Down == true then return end
  2328. key = key:lower()
  2329. if key == "t" then
  2330. if time() - spellHotkey1Delay > 1 then
  2331. spellHotkey1 = spell
  2332. local HotkeyMessage = Instance.new("Message", Player)
  2333. HotkeyMessage.Text = "Set hotkey 1."
  2334. wait(2.5)
  2335. HotkeyMessage:Remove()
  2336. else
  2337. spell = spellHotkey1
  2338. end
  2339. end
  2340. if key == "y" then
  2341. if time() - spellHotkey2Delay > 1 then
  2342. spellHotkey2 = spell
  2343. local HotkeyMessage = Instance.new("Message", Player)
  2344. HotkeyMessage.Text = "Set hotkey 2."
  2345. wait(2.5)
  2346. HotkeyMessage:Remove()
  2347. else
  2348. spell = spellHotkey2
  2349. end
  2350. end
  2351. if key == "t" then
  2352. if time() - spellHotkey3Delay > 1 then
  2353. spellHotkey3 = spell
  2354. local HotkeyMessage = Instance.new("Message", Player)
  2355. HotkeyMessage.Text = "Set hotkey 3."
  2356. wait(2.5)
  2357. HotkeyMessage:Remove()
  2358. else
  2359. spell = spellHotkey3
  2360. end
  2361. end
  2362. updateSpellText()
  2363. updateGui()
  2364. end
  2365.  
  2366.  
  2367. function onSelected(mouse)
  2368. if selected == true or dropped == true then return end
  2369. selected = true
  2370. mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
  2371. while Player.Character:FindFirstChild("WeaponActivated") ~= nil do
  2372. if Player.Character.WeaponActivated.Value == nil then break end
  2373. if Player.Character.WeaponActivated.Value.Parent == nil then break end
  2374. wait()
  2375. end
  2376. mouse.Icon = "rbxasset://textures\\GunCursor.png"
  2377. updateSpellText()
  2378. updateGui()
  2379. removeParts("holster")
  2380. makeParts("hand")
  2381. local weapon = Instance.new("ObjectValue")
  2382. weapon.Name = "WeaponActivated"
  2383. weapon.Value = script.Parent
  2384. weapon.Parent = Player.Character
  2385. DisableLimb(1, Player.Character)
  2386. SetAngle(1, math.rad(90), Player.Character)
  2387. mouse.Button1Down:connect(function() onButton1Down(mouse) end)
  2388. mouse.Button1Up:connect(function() onButton1Up(mouse) end)
  2389. mouse.KeyDown:connect(function(key) onKeyDown(key, mouse) end)
  2390. mouse.KeyUp:connect(function(key) onKeyUp(key, mouse) end)
  2391. while selected == true do
  2392. if canFire == true then
  2393. if power < 100 and power >= 0 then
  2394. power = power + 1
  2395. wait(0.05)
  2396. elseif power < 0 then
  2397. power = power + 1
  2398. wait(0.3)
  2399. elseif power > 100 then
  2400. power = power - 1
  2401. wait(1)
  2402. else
  2403. power = 100
  2404. end
  2405. end
  2406. updateSpellText()
  2407. updateGui()
  2408. wait()
  2409. end
  2410. end
  2411.  
  2412.  
  2413. function onDeselected(mouse)
  2414. if selected == false then return end
  2415. selected = false
  2416. Button1Down = false
  2417. while canFire == false do
  2418. wait()
  2419. end
  2420. if Player.Character:FindFirstChild("WeaponActivated") ~= nil then
  2421. if Player.Character.WeaponActivated.Value == script.Parent then
  2422. Player.Character.WeaponActivated:Remove()
  2423. end
  2424. end
  2425. while Player.Character:FindFirstChild("WeaponActivated") ~= nil do
  2426. if Player.Character.WeaponActivated.Value == nil then break end
  2427. if pcall(function() if Player.Character.WeaponActivated.Value.Parent == nil then return true end end) then break end
  2428. wait()
  2429. end
  2430. if Player.PlayerGui:FindFirstChild(Name) ~= nil then Player.PlayerGui[Name]:Remove() end
  2431. removeParts("hand")
  2432. makeParts("holster")
  2433. SetAngle(1, 0, Player.Character)
  2434. EnableLimb(1, Player.Character)
  2435. end
  2436.  
  2437.  
  2438. if script.Parent.ClassName ~= "HopperBin" then
  2439. if Player == nil then print("Error: Player not found!") return end
  2440. Tool = Instance.new("HopperBin")
  2441. Tool.Name = Name
  2442. Tool.Parent = Player.Backpack
  2443. script.Name = "Main"
  2444. script.Parent = Tool
  2445. end wait() if script.Parent.ClassName == "HopperBin" then
  2446. while script.Parent.Parent.ClassName ~= "Backpack" do
  2447. wait()
  2448. end
  2449. Player = script.Parent.Parent.Parent
  2450. makeParts("holster")
  2451. script.Parent.Selected:connect(onSelected)
  2452. script.Parent.Deselected:connect(onDeselected)
  2453. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement