Advertisement
Guest User

Untitled

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