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