Advertisement
Guest User

Untitled

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