Advertisement
simplistic27

Wanda

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