Alphashadowgaming

Untitled

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