Advertisement
aidanthescriptor101

wanda

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