View difference between Paste ID: qLyUQn7X and F4aKiLTB
SHOW: | | - or go back to the newest paste.
1-
--[[
1+
--- shortcuts
2-
Script Version 1.4
2+
3
v3 = Vector3.new
4-
Wand generation A3000, A.K.A. Wanda, was used by novice warlocks and witches to practice/use magic.
4+
5-
It was developed by the UMTAWC (United Magical Theory And Wizardry Comittee, abbreviation pronounced "um-talk")
5+
cn = CFrame.new
6-
Wood carved and infused with magic properties by DarkShadow6
6+
7-
--]]
7+
ca2 = CFrame.Angles
8-
--http://www.roblox.com/Asset/?id=22968437
8+
9
mf = math.floor
10-
if script == nil then return end
10+
11
mran = math.random
12
13-
Player = game.Players.LocalPlayer
13+
mrad = math.rad
14
15-
animate = Char:findFirstChild("Animate")
15+
mdeg = math.deg
16-
if animate then
16+
17-
animate:Destroy()
17+
ca = function(x,y,z) return ca2(mrad(x),mrad(y),mrad(z)) end 
18
19-
Name = "Wanda"
19+
mran2 = function(a,b) return mran(a*1000,b*1000)/1000 end 
20-
selected = false
20+
21-
Button1Down = false
21+
ud=UDim2.new
22-
canFire = true
22+
23-
spell = 0
23+
bn = BrickColor.new
24-
spellHotkey1 = 0
24+
25-
spellHotkey2 = 0
25+
c3 = Color3.new
26-
spellHotkey3 = 0
26+
27-
spellHotkey1Delay = 0
27+
-----
28-
spellHotkey2Delay = 0
28+
29-
spellHotkey3Delay = 0
29+
Player = game:service'Players'.LocalPlayer
30-
spellText = "None"
30+
31-
power = 1000000
31+
32
33
Torso = Char.Torso
34-
spellGui = Instance.new("ScreenGui")
34+
35-
spellGui.Name = Name
35+
Head = Char.Head
36-
local frame = Instance.new("Frame")
36+
37-
frame.Name = "Frame"
37+
Humanoid = Char.Humanoid
38-
frame.Size = UDim2.new(0, 165, 0, 60)
38+
39-
frame.Position = UDim2.new(0, 0, 1, -60)
39+
Root=Char.HumanoidRootPart.RootJoint
40-
frame.BackgroundColor3 = Color3.new(1, 1, 1)
40+
41-
frame.BorderColor3 = Color3.new(0, 0, 0)
41+
42-
frame.Parent = spellGui
42+
43-
local label = Instance.new("TextLabel")
43+
44-
label.Name = "Weapon"
44+
LA=Char['Left Arm']
45-
label.Text = "Weapon: " ..Name
45+
46-
label.Size = UDim2.new(1, 0, 0, 20)
46+
RA=Char['Right Arm']
47-
label.Position = UDim2.new(0, 0, 0, 0)
47+
48-
label.BackgroundColor3 = Color3.new(1, 0, 0)
48+
LL=Char['Left Leg']
49-
label.BorderColor3 = Color3.new(0, 0, 0)
49+
50-
label.Parent = frame
50+
RL=Char['Right Leg']
51-
local label = Instance.new("TextLabel")
51+
52-
label.Name = "SpellPrefix"
52+
LAM=Torso['Left Shoulder']
53-
label.Text = "    Spell:"
53+
54-
label.TextXAlignment = "Left"
54+
RAM=Torso['Right Shoulder']
55-
label.Size = UDim2.new(1, 0, 0, 20)
55+
56-
label.Position = UDim2.new(0, 0, 0, 20)
56+
LLM=Torso['Left Hip']
57-
label.BackgroundColor3 = Color3.new(1, 1, 1)
57+
58-
label.BorderColor3 = Color3.new(0, 0, 0)
58+
RLM=Torso['Right Hip']
59-
label.Parent = frame
59+
60-
local label = Instance.new("TextLabel")
60+
Neck=Torso.Neck
61-
label.Name = "Spell"
61+
62-
label.Text = "None"
62+
Neck.C0=cn(0,1.5,0)
63-
label.TextXAlignment = "Right"
63+
64-
label.Size = UDim2.new(1, 0, 0, 20)
64+
Neck.C1=cn(0,0,0)
65-
label.Position = UDim2.new(0, -10, 0, 20)
65+
66-
label.BackgroundTransparency = 1
66+
67-
label.BorderSizePixel = 0
67+
68-
label.Parent = frame
68+
69-
local label = Instance.new("TextLabel")
69+
name='New'
70-
label.Name = "PowerPrefix"
70+
71-
label.Text = "    Power:"
71+
pcall(function() Player.Backpack[name]:Remove() end)
72-
label.TextXAlignment = "Left"
72+
73-
label.Size = UDim2.new(1, 0, 0, 20)
73+
pcall(function() Char[name]:Remove() end)
74-
label.Position = UDim2.new(0, 0, 0, 40)
74+
75-
label.BackgroundColor3 = Color3.new(1, 1, 1)
75+
pcall(function() Char.Block:Remove() end)
76-
label.BorderColor3 = Color3.new(0, 0, 0)
76+
77-
label.Parent = frame
77+
78-
local label = Instance.new("TextLabel")
78+
79-
label.Name = "Power"
79+
80-
label.Text = "100"
80+
81-
label.TextXAlignment = "Right"
81+
82-
label.Size = UDim2.new(1, 0, 0, 20)
82+
83-
label.Position = UDim2.new(0, -10, 0, 40)
83+
as,so={},{'metal','Block','Slash','Slash2','Hit','Kick'}
84-
label.BackgroundTransparency = 1
84+
85-
label.BorderSizePixel = 0
85+
as.corner='11294911'
86-
label.Parent = frame
86+
87
as.cone='1033714'
88
89-
function updateGui(format)
89+
as.ring="3270017"
90-
	if selected == false then return end
90+
91-
	if Player:FindFirstChild("PlayerGui") == nil then Instance.new("PlayerGui").Parent = Player end
91+
as.Chakram='47260990'
92-
	if Player.PlayerGui:FindFirstChild(Name) == nil then
92+
93-
		spellGui:Clone().Parent = Player.PlayerGui
93+
as.ring2='18430887'
94-
	end
94+
95-
	Player.PlayerGui[Name].Frame.Spell.Text = spellText
95+
as.blast='20329976'
96-
	if power <= 0 then
96+
97-
		Player.PlayerGui[Name].Frame.Power.Text = "OVERHEAT (" ..math.abs(power).. ")"
97+
as.missile='10207677'
98-
	else
98+
99-
		Player.PlayerGui[Name].Frame.Power.Text = power
99+
as.fire='2693346'
100-
	end
100+
101
as.boom='3264793'
102
103
as.slash='10209645'
104-
function updateSpellText()
104+
105-
	if spell == 1 then
105+
as.abscond='2767090'
106-
		spellText = "Arefu Slash (1P)"
106+
107-
	elseif spell == 2 then
107+
as.firelaser='13775494'
108-
		spellText = "Arefu Metoria (50P)"
108+
109-
	elseif spell == 3 then
109+
as.diamond='9756362'
110-
		spellText = "Eccrando Bolt (25P)"
110+
111-
	elseif spell == 4 then
111+
as.metal='rbxasset://sounds\\unsheath.wav'
112-
		spellText = "Eccrando Strike (~60P)"
112+
113-
	elseif spell == 5 then
113+
as.Block = 'rbxasset://sounds\\metal.ogg'
114-
		spellText = "Thius Dae (1P/2ms)"
114+
115-
	elseif spell == 6 then
115+
as.Slash = '10209645'
116-
		spellText = "Thius Heed (1P/2ms)"
116+
117-
	elseif spell == 7 then
117+
as.Slash2 = '46760716'
118-
		spellText = "Combuscus Phore (75P)"
118+
119-
	elseif spell == 8 then
119+
as.Hit='10209583'
120-
		spellText = "Combuscus Burn (10P)"
120+
121-
	elseif spell == 9 then
121+
as.Kick='46153268'
122-
		spellText = "Combuscus Vortex (50P)"
122+
123-
	elseif spell == 10 then
123+
as.cast='2101137'
124-
		spellText = "C. Phore Nexus (100P)"
124+
125-
	elseif spell == 11 then
125+
126-
		spellText = "Kanamla Cysis (2P/1sec)"
126+
127-
	elseif spell == 12 then
127+
128-
		spellText = "Kanamla Tepidift (50P)"
128+
129-
	elseif spell == 13 then
129+
130-
		spellText = "Kanamla Jump (5P)"
130+
131-
	elseif spell == 14 then
131+
for i,v in pairs(as) do 
132-
		spellText = "Candora Hide (2P/1sec)"
132+
133-
	elseif spell == 15 then
133+
if type(tonumber(v:sub(1,3)))=="number" then
134-
		spellText = "Duraen Control (1P/?ms)"
134+
135-
	elseif spell == 16 then
135+
as[i]="http://www.roblox.com/asset/?id="..v
136-
		spellText = "Duraen Switch (?P)"
136+
137-
	else
137+
138-
		spellText = "None"
138+
139-
	end
139+
140
141
142
143-
function makeParts(format)
143+
144-
	local model = Instance.new("Model")
144+
145-
	model.Name = Name
145+
146-
	model.Parent = Player.Character
146+
147-
	local pm = Instance.new("Part")
147+
iNew=function(tab)
148-
	pm.Name = "Handle"
148+
149-
	pm.FormFactor = "Custom"
149+
local v=Instance.new(tab[1])
150-
	pm.Size = Vector3.new(1, 1, 1)
150+
151-
	pm.BrickColor = BrickColor.new("Reddish brown")
151+
for Ind,Val in pairs(tab) do
152-
	pm.Locked = true
152+
153-
	pm.TopSurface = 0
153+
if Ind~=1 and Ind~=2 then 
154-
	pm.BottomSurface = 0
154+
155-
	pm.Parent = model
155+
v[Ind] = Val
156-
	local m = Instance.new("SpecialMesh")
156+
157-
	m.MeshType = "Head"
157+
158-
	m.Scale = Vector3.new(0.3, 2, 0.3)
158+
159-
	m.Parent = pm
159+
160-
	if format ~= nil then
160+
161-
		local w = Instance.new("Weld")
161+
v.Parent=tab[2]==0 and LastMade or tab[2]
162-
		w.Part0 = pm
162+
163-
		if format == "hand" then
163+
LastMade=v
164-
			w.Part1 = Player.Character:FindFirstChild("Right Arm")
164+
165-
			w.C0 = CFrame.new(0, -0.75, 0.9) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
165+
return v
166-
			w.C1 = CFrame.new()
166+
167-
			w.Parent = pm
167+
168-
		elseif format == "holster" then
168+
169-
			w.Part1 = Player.Character:FindFirstChild("Right Leg")
169+
iPart=function(tab)
170-
			w.C0 = CFrame.new(0, 0.1, -0.55) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
170+
171-
			w.C1 = CFrame.new()
171+
local v=Instance.new(tab.type or 'Part')
172-
			w.Parent = pm
172+
173-
			model.Name = Name.. " (Holstered)"
173+
if tab.type~='CornerWedgePart' then v.formFactor='Custom' end
174-
		else
174+
175-
			print("Error: Incorrect format string!")
175+
v.CanCollide=false
176-
		end
176+
177-
	end
177+
v.TopSurface=0 v.BottomSurface=0
178-
	local s = Instance.new("Sound")
178+
179-
	s.Name = "Shine"
179+
v.Size=v3(tab[2],tab[3],tab[4])
180-
	s.SoundId = "http://www.roblox.com/Asset/?id=2101144"
180+
181-
	s.Volume = 1
181+
if tab.co then v.BrickColor=bn(tab.co) end
182-
	s.Pitch = 1
182+
183-
	s.Looped = false
183+
if tab.tr then v.Transparency=tab.tr end
184-
	s.Parent = pm
184+
185-
	local s = Instance.new("Sound")
185+
if tab.rf then v.Reflectance=tab.rf end
186-
	s.Name = "Bolt"
186+
187-
	s.SoundId = "http://www.roblox.com/Asset/?id=2974000"
187+
if tab.cf then v.CFrame=tab.cf end
188-
	s.Volume = 1
188+
189-
	s.Pitch = 1
189+
if tab.an then v.Anchored=tab.an end
190-
	s.Looped = false
190+
191-
	s.Parent = pm
191+
v.Parent=tab[1]
192-
	local s = Instance.new("Sound")
192+
193-
	s.Name = "Impact1"
193+
LastMade=v
194-
	s.SoundId = "http://www.roblox.com/Asset/?id=10209596"
194+
195-
	s.Volume = 1
195+
return v
196-
	s.Pitch = 1
196+
197-
	s.Looped = false
197+
198-
	s.Parent = pm
198+
199-
	local s = Instance.new("Sound")
199+
function getoutline(x,z,i)
200-
	s.Name = "Charge1"
200+
201-
	s.SoundId = "http://www.roblox.com/Asset/?id=1369158"
201+
 return math.sqrt(x^2+z^2)+(i or 0.05),mdeg(math.atan2(x,z))
202-
	s.Volume = 1
202+
203-
	s.Pitch = 1
203+
204-
	s.Looped = false
204+
205-
	s.Parent = pm
205+
pcall(function() Torso.LAW:Remove() Torso.RAW:Remove() Torso.LLW:Remove() Torso.RLW:Remove() end)
206-
	local s = Instance.new("Sound")
206+
207-
	s.Name = "Charge2"
207+
LAW=iNew{'Weld',Torso,Name='LAW',Part0=Torso,C0=cn(-1.5,0.5,0),C1=cn(0,0.5,0)}
208-
	s.SoundId = "http://www.roblox.com/Asset/?id=2101137"
208+
209-
	s.Volume = 1
209+
RAW=iNew{'Weld',Torso,Name='RAW',Part0=Torso,C0=cn( 1.5,0.5,0),C1=cn(0,0.5,0)}
210-
	s.Pitch = 1
210+
211-
	s.Looped = false
211+
LLW=iNew{'Weld',Torso,Name='LLW',Part0=Torso,C0=cn(-0.5, -1,0),C1=cn(0,  1,0)}
212-
	s.Parent = pm
212+
213-
	local s = Instance.new("Sound")
213+
RLW=iNew{'Weld',Torso,Name='RLW',Part0=Torso,C0=cn( 0.5, -1,0),C1=cn(0,  1,0)}
214-
	s.Name = "Charge3"
214+
215-
	s.SoundId = "http://www.roblox.com/Asset/?id=2785493"
215+
function Arms(on)
216-
	s.Volume = 1
216+
217-
	s.Pitch = 1
217+
 LAM.Parent=Torso LAM.Part0=Torso
218-
	s.Looped = false
218+
219-
	s.Parent = pm
219+
 RAM.Parent=Torso RAM.Part0=Torso
220-
	local s = Instance.new("Sound")
220+
221-
	s.Name = "Charge4"
221+
 LAM.Part1=on and nil or LA
222-
	s.SoundId = "http://www.roblox.com/Asset/?id=35275769"
222+
223-
	s.Volume = 1
223+
 RAM.Part1=on and nil or RA
224-
	s.Pitch = 1
224+
225-
	s.Looped = false
225+
 LAW.Part1=on and LA  or nil
226-
	s.Parent = pm
226+
227-
	local s = Instance.new("Sound")
227+
 RAW.Part1=on and RA  or nil
228-
	s.Name = "Fire1"
228+
229-
	s.SoundId = "http://www.roblox.com/Asset/?id=10209268"
229+
230-
	s.Volume = 1
230+
231-
	s.Pitch = 1
231+
function Legs(on)
232-
	s.Looped = false
232+
233-
	s.Parent = pm
233+
 LLM.Part1=on and nil or LL
234-
	local s = Instance.new("Sound")
234+
235-
	s.Name = "Fire2"
235+
 RLM.Part1=on and nil or RL
236-
	s.SoundId = "http://www.roblox.com/Asset/?id=13775466"
236+
237-
	s.Volume = 1
237+
 LLW.Part1=on and LL  or nil
238-
	s.Pitch = 1
238+
239-
	s.Looped = false
239+
 RLW.Part1=on and RL  or nil
240-
	s.Parent = pm
240+
241-
	local s = Instance.new("Sound")
241+
242-
	s.Name = "Fire3"
242+
243-
	s.SoundId = "http://www.roblox.com/Asset/?id=2767090"
243+
function v32(cf)
244-
	s.Volume = 1
244+
245-
	s.Pitch = 1
245+
local x,y,z=cf:toEulerAnglesXYZ()
246-
	s.Looped = false
246+
247-
	s.Parent = pm
247+
return v3(mdeg(x),mdeg(y),mdeg(z))
248-
	local s = Instance.new("Sound")
248+
249-
	s.Name = "Fire4"
249+
250-
	s.SoundId = "http://www.roblox.com/Asset/?id=2800815"
250+
251-
	s.Volume = 1
251+
function GetWeld(weld) 
252-
	s.Pitch = 1
252+
253-
	s.Looped = false
253+
    if not weld:findFirstChild("Angle") then 
254-
	s.Parent = pm
254+
255-
	local s = Instance.new("Sound")
255+
        local a = Instance.new("Vector3Value", weld) 
256-
	s.Name = "Fire5"
256+
257-
	s.SoundId = "http://www.roblox.com/Asset/?id=2974249"
257+
        a.Name = "Angle"
258-
	s.Volume = 1
258+
259-
	s.Pitch = 1
259+
        local x,y,z=weld.C0:toEulerAnglesXYZ()
260-
	s.Looped = false
260+
261-
	s.Parent = pm
261+
        a.Value=v3(mdeg(x),mdeg(y),mdeg(z)) 
262-
	local p = Instance.new("Part")
262+
263-
	p.Name = "Source"
263+
    end 
264-
	p.FormFactor = "Custom"
264+
265-
	p.Size = Vector3.new(1, 1, 1)
265+
    return weld.C0.p,weld.Angle.Value
266-
	p.Transparency = 1
266+
267-
	p.BrickColor = BrickColor.new("Really black")
267+
end 
268-
	p.CanCollide = false
268+
269-
	p.Locked = true
269+
function ClearWeld(weld)
270-
	p.TopSurface = 0
270+
271-
	p.BottomSurface = 0
271+
if weld:findFirstChild'Angle' then weld.Angle:Remove() end 
272-
	p.Parent = model
272+
273-
	local m = Instance.new("SpecialMesh")
273+
274-
	m.MeshType = "Sphere"
274+
275-
	m.Scale = Vector3.new(1, 1, 1)
275+
function SetWeld(weld,CC,i, loops, origpos,origangle, nextpos,nextangle,smooth) 
276-
	m.Parent = p
276+
277-
	local w = Instance.new("Weld")
277+
    local CO='C'..CC
278-
	w.Part0 = p
278+
279-
	w.Part1 = pm
279+
    smooth = smooth or 1 
280-
	w.C0 = CFrame.new()
280+
281-
	w.C1 = CFrame.new(0, 1, 0)
281+
    if not weld:findFirstChild("Angle") then 
282-
	w.Parent = p
282+
283-
	local f = Instance.new("Fire")
283+
        local a = Instance.new("Vector3Value", weld) 
284-
	f.Enabled = false
284+
285-
	f.Name = "Fire"
285+
        a.Name = "Angle"
286-
	f.Heat = 0
286+
287-
	f.Size = 1
287+
        local x,y,z=weld.C0:toEulerAnglesXYZ()
288-
	f.Parent = p
288+
289
        a.Value=v3(mdeg(x),mdeg(y),mdeg(z)) 
290
291
    end 
292-
function removeParts(format)
292+
293-
	if format == "hand" then
293+
 
294-
		if Player.Character:FindFirstChild(Name) ~= nil then
294+
295-
			Player.Character[Name]:Remove()
295+
    local perc 
296-
		end
296+
297-
	elseif format == "holster" then
297+
    if smooth == 1 then 
298-
		if Player.Character:FindFirstChild(Name.. " (Holstered)") ~= nil then
298+
299-
			Player.Character[Name.. " (Holstered)"]:Remove()
299+
        perc = math.sin((math.pi/2)/loops*i) 
300-
		end
300+
301-
	end
301+
    else 
302
303
        perc = i/loops 
304
305-
function SetAngle(Joint, Angle, Character)
305+
    end 
306-
	if Character == nil then return false end
306+
307-
	local Joints = {
307+
 
308-
		Character.Torso:FindFirstChild("Right Shoulder 2"),
308+
309-
		Character.Torso:FindFirstChild("Left Shoulder 2"),
309+
    local tox,toy,toz = 0,0,0 
310-
		Character.Torso:FindFirstChild("Right Hip 2"),
310+
311-
		Character.Torso:FindFirstChild("Left Hip 2")
311+
    if origangle.x > nextangle.x then 
312-
	}
312+
313-
	if Joints[Joint] == nil then return false end
313+
        tox = -math.abs(origangle.x - nextangle.x) *perc 
314-
	if Joint == 1 or Joint == 3 then
314+
315-
		Joints[Joint].DesiredAngle = Angle
315+
    else 
316-
	end
316+
317-
	if Joint == 2 or Joint == 4 then
317+
        tox = math.abs(origangle.x - nextangle.x) *perc 
318-
		Joints[Joint].DesiredAngle = -Angle
318+
319-
	end
319+
    end 
320
321
    if origangle.y > nextangle.y then 
322
323-
function ForceAngle(Joint, Angle, Character)
323+
        toy = -math.abs(origangle.y - nextangle.y) *perc 
324-
	if Character == nil then return false end
324+
325-
	local Joints = {
325+
    else 
326-
		Character.Torso:FindFirstChild("Right Shoulder 2"),
326+
327-
		Character.Torso:FindFirstChild("Left Shoulder 2"),
327+
        toy = math.abs(origangle.y - nextangle.y) *perc 
328-
		Character.Torso:FindFirstChild("Right Hip 2"),
328+
329-
		Character.Torso:FindFirstChild("Left Hip 2")
329+
    end 
330-
	}
330+
331-
	if Joints[Joint] == nil then return false end
331+
    if origangle.z > nextangle.z then 
332-
	if Joint == 1 or Joint == 3 then
332+
333-
		Joints[Joint].DesiredAngle = Angle
333+
        toz = -math.abs(origangle.z - nextangle.z) *perc 
334-
		Joints[Joint].CurrentAngle = Angle
334+
335-
	end
335+
    else 
336-
	if Joint == 2 or Joint == 4 then
336+
337-
		Joints[Joint].DesiredAngle = -Angle
337+
        toz = math.abs(origangle.z - nextangle.z) *perc 
338-
		Joints[Joint].CurrentAngle = -Angle
338+
339-
	end
339+
    end 
340
341
 
342
343-
function SetSpeed(Joint, Speed, Character)
343+
    local tox2,toy2,toz2 = 0,0,0 
344-
	if Character == nil then return false end
344+
345-
	local Joints = {
345+
    if origpos.x > nextpos.x then 
346-
		Character.Torso:FindFirstChild("Right Shoulder 2"),
346+
347-
		Character.Torso:FindFirstChild("Left Shoulder 2"),
347+
        tox2 = -math.abs(origpos.x - nextpos.x) *perc 
348-
		Character.Torso:FindFirstChild("Right Hip 2"),
348+
349-
		Character.Torso:FindFirstChild("Left Hip 2")
349+
    else 
350-
	}
350+
351-
	if Joints[Joint] == nil then return false end
351+
        tox2 = math.abs(origpos.x - nextpos.x) *perc 
352-
	Joints[Joint].MaxVelocity = Speed
352+
353
    end 
354
355
    if origpos.y > nextpos.y then 
356-
function DisableLimb(Limb, Character)
356+
357-
	if Character == nil then return false end
357+
        toy2 = -math.abs(origpos.y - nextpos.y) *perc 
358-
	if Character:FindFirstChild("Torso") == nil then return false end
358+
359-
	local Joints = {
359+
    else 
360-
		Character.Torso:FindFirstChild("Right Shoulder"),
360+
361-
		Character.Torso:FindFirstChild("Left Shoulder"),
361+
        toy2 = math.abs(origpos.y - nextpos.y) *perc 
362-
		Character.Torso:FindFirstChild("Right Hip"),
362+
363-
		Character.Torso:FindFirstChild("Left Hip")
363+
    end 
364-
	}
364+
365-
	local Limbs = {
365+
    if origpos.z > nextpos.z then 
366-
		Character:FindFirstChild("Right Arm"),
366+
367-
		Character:FindFirstChild("Left Arm"),
367+
        toz2 = -math.abs(origpos.z - nextpos.z) *perc 
368-
		Character:FindFirstChild("Right Leg"),
368+
369-
		Character:FindFirstChild("Left Leg")
369+
    else 
370-
	}
370+
371-
	if Joints[Limb] == nil then return false end
371+
        toz2 = math.abs(origpos.z - nextpos.z) *perc 
372-
	if Limbs[Limb] == nil then return false end
372+
373-
	local Joint = Instance.new("Motor")
373+
    end 
374-
	Joint.Parent = Character.Torso
374+
375-
	Joint.Part0 = Character.Torso
375+
         weld.Angle.Value = Vector3.new(origangle.x + tox,origangle.y + toy,origangle.z + toz)
376-
	Joint.Part1 = Limbs[Limb]
376+
377-
	if Limb == 1 then
377+
    weld[CO] = CFrame.new(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)*ca(origangle.x + tox,origangle.y + toy,origangle.z + toz) 
378-
		Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
378+
379-
		Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
379+
end 
380-
		Joint.Name = "Right Shoulder 2"
380+
381-
	elseif Limb == 2 then
381+
LoopFunctions={}
382-
		Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
382+
383-
		Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
383+
function DoLoop(times,func)
384-
		Joint.Name = "Left Shoulder 2"
384+
385-
	elseif Limb == 3 then
385+
LoopFunctions[#LoopFunctions+1]={times,0,func}
386-
		Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
386+
387-
		Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
387+
388-
		Joint.Name = "Right Hip 2"
388+
389-
	elseif Limb == 4 then
389+
Dmg=false
390-
		Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
390+
391-
		Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
391+
Dmgv={8,16}
392-
		Joint.Name = "Left Hip 2"
392+
393-
	end
393+
HitDebounce={}
394-
	Joint.MaxVelocity = Joints[Limb].MaxVelocity
394+
395-
	Joint.CurrentAngle = Joints[Limb].CurrentAngle
395+
Damage=function(Hum,Mult,Sound)
396-
	Joint.DesiredAngle = Joints[Limb].DesiredAngle
396+
397-
	Joints[Limb]:Remove()
397+
if not Hum.Parent:findFirstChild'Torso' then return end 
398
399
local HName=Hum.Parent.Name
400
401-
function ResetLimbCFrame(Limb, Character)
401+
if HitDebounce[HName] and HitDebounce[HName]>tick() then return end 
402-
	if Character == nil then return false end
402+
403-
	if Character.Parent == nil then return false end
403+
HitDebounce[HName]=tick()+0.5
404-
	if Character:FindFirstChild("Torso") == nil then return false end
404+
405-
	local Joints = {
405+
local Mult=Mult or 1
406-
		Character.Torso:FindFirstChild("Right Shoulder 2"),
406+
407-
		Character.Torso:FindFirstChild("Left Shoulder 2"),
407+
local Dealt=mran(Dmgv[1],Dmgv[2])*Mult
408-
		Character.Torso:FindFirstChild("Right Hip 2"),
408+
409-
		Character.Torso:FindFirstChild("Left Hip 2")
409+
local col=''
410-
	}
410+
411-
	local Limbs = {
411+
if Hum.Parent:findFirstChild'Block' and Hum.Parent.Block.Value>0 then 
412-
		Character:FindFirstChild("Right Arm"),
412+
413-
		Character:FindFirstChild("Left Arm"),
413+
Hum.Parent.Block.Value=Hum.Parent.Block.Value-1
414-
		Character:FindFirstChild("Right Leg"),
414+
415-
		Character:FindFirstChild("Left Leg")
415+
col='Bright blue'
416-
	}
416+
417-
	if Joints[Limb] == nil then return false end
417+
else
418-
	if Limbs[Limb] == nil then return false end
418+
419-
	if Limb == 1 then
419+
Hum.Health=Hum.Health-Dealt
420-
		Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
420+
421-
		Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
421+
col='Bright red'
422-
	elseif Limb == 2 then
422+
423-
		Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
423+
424-
		Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
424+
425-
	elseif Limb == 3 then
425+
if Sound then so[col=='Bright blue' and 'Block' or 'Hit']:Play() end
426-
		Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
426+
427-
		Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
427+
local DoH=iNew{'Model',Pack,Name=col=='Bright blue' and 'Block' or Dealt}
428-
	elseif Limb == 4 then
428+
429-
		Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
429+
iNew{'Humanoid',DoH,MaxHealth=1/0,Health=1/0,Name=''}
430-
		Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
430+
431-
	end
431+
local Doh=iPart{DoH,0.6,0.2,0.6,co=col,an=true} Doh.Name='Head' iNew{'CylinderMesh',Doh}
432
433
local dofs=Hum.Parent.Torso.CFrame*cn(mran2(-1.5,1.5),2.5,mran2(-1,1)) Doh.CFrame=dofs
434
435-
function EnableLimb(Limb, Character)
435+
DoLoop(40,function(i) Doh.CFrame=dofs*cn(0,i*2,0) Doh.Transparency=i-0.5 if i==1 then DoH:Remove() end end)
436-
	if Character == nil then return false end
436+
437-
	if Character:FindFirstChild("Torso") == nil then return false end
437+
438-
	local Joints = {
438+
439-
		Character.Torso:FindFirstChild("Right Shoulder 2"),
439+
440-
		Character.Torso:FindFirstChild("Left Shoulder 2"),
440+
441-
		Character.Torso:FindFirstChild("Right Hip 2"),
441+
442-
		Character.Torso:FindFirstChild("Left Hip 2")
442+
Trails={}
443-
	}
443+
444-
	local Limbs = {
444+
TrailPack={}
445-
		Character:FindFirstChild("Right Arm"),
445+
446-
		Character:FindFirstChild("Left Arm"),
446+
Traili={}
447-
		Character:FindFirstChild("Right Leg"),
447+
448-
		Character:FindFirstChild("Left Leg")
448+
function Trail(obj,ofs,col)
449-
	}
449+
450-
	if Joints[Limb] == nil then return false end
450+
Trails[obj]=true
451-
	if Limbs[Limb] == nil then return false end
451+
452-
	if Limb == 1 then
452+
Traili[#Traili+1]={obj,ofs,col,obj.CFrame*ofs}
453-
		Joints[Limb].Name = "Right Shoulder"
453+
454-
	elseif Limb == 2 then
454+
455-
		Joints[Limb].Name = "Left Shoulder"
455+
456-
	elseif Limb == 3 then
456+
457-
		Joints[Limb].Name = "Right Hip"
457+
458-
	elseif Limb == 4 then
458+
459-
		Joints[Limb].Name = "Left Hip"
459+
460-
	end
460+
461-
	Animate = Character:FindFirstChild("Animate")
461+
462-
	if Animate == nil then return false end
462+
463-
	Animate = Animate:Clone()
463+
464-
	Character.Animate:Remove()
464+
465-
	Animate.Parent = Character
465+
466
467
468
CC={'Dark stone grey','Light stone grey','Black'}
469-
function Weld(x, y)
469+
470-
	local weld = Instance.new("Weld")
470+
SHH=0.25
471-
	weld.Part0 = x
471+
472-
	weld.Part1 = y
472+
Handlelen=8.5
473-
	CJ = CFrame.new(x.Position)
473+
474-
	C0 = x.CFrame:inverse() * CJ
474+
475-
	C1 = y.CFrame:inverse() * CJ
475+
476-
	weld.C0 = C0
476+
477-
	weld.C1 = C1
477+
Tool=iNew{'HopperBin',Player.Backpack,Name=name}
478-
	weld.Parent = x
478+
479
Pack=iNew{'Model',Char,Name=name}
480
481
482-
function tagHumanoid(humanoid)
482+
483-
	local tag = Instance.new("ObjectValue")
483+
484-
	tag.Name = "creator"
484+
Shield=iPart{Pack,1.05,0.2,1.05,co=CC[1],tr=1}
485-
	tag.Value = Player
485+
486-
	tag.Parent = humanoid
486+
wShield=iNew{'Weld',Pack,Part0=Torso,Part1=Shield,C0=cn(0,0.6,0)*ca(90,0,-90)}
487-
	local tag = Instance.new("StringValue")
487+
488-
	tag.Name = "creatorType1"
488+
489-
	tag.Value = Name
489+
490-
	tag.Parent = humanoid
490+
491-
	local tag = Instance.new("StringValue")
491+
shield=iPart{Pack,1.5,2,SHH,co=CC[2]} 
492-
	tag.Name = "creatorType2"
492+
493-
	tag.Value = "killed with magic"
493+
wwhield=iNew{'Weld',Pack,Part0=Shield,Part1=shield,C0=cn(-0.5-(SHH/2),0,-0.4)*ca(0,90,-90)} 
494-
	tag.Parent = humanoid
494+
495
496
497
498-
function untagHumanoid(humanoid)
498+
prop=iPart{Pack,3,1.5,SHH-0.01,co=CC[2]}  -- wide
499-
	if humanoid ~= nil then
499+
500-
		local tag = humanoid:FindFirstChild("creator")
500+
iNew{'Weld',Pack,Part0=shield,Part1=prop,C0=cn(0,0,0)}
501-
		if tag ~= nil then
501+
502-
			tag:Remove()
502+
503-
		end
503+
504-
		local tag = humanoid:FindFirstChild("creatorType1")
504+
505-
		if tag ~= nil then
505+
prop=iPart{Pack,1,1,SHH,co=CC[2]} --top
506-
			tag:Remove()
506+
507-
		end
507+
iNew{'Weld',Pack,Part0=shield,Part1=prop,C0=cn(0,1.5,0)}
508-
		local tag = humanoid:FindFirstChild("creatorType2")
508+
509-
		if tag ~= nil then
509+
510-
			tag:Remove()
510+
511-
		end
511+
512-
	end
512+
prop=iPart{Pack,1,2,SHH,co=CC[2]} --bottom
513
514
iNew{'Weld',Pack,Part0=shield,Part1=prop,C0=cn(0,-2,0)}
515
516-
function onButton1Down(mouse)
516+
517-
	if selected == false or canFire == false or power <= 0 then return end
517+
518-
	if Player.Character == nil then return end
518+
519-
	if Player.Character:FindFirstChild("Humanoid") == nil then return end
519+
for x=-1,1,2 do 
520-
	if Player.Character.Humanoid.Health <= 0 then return end
520+
521-
	if Player.Character:FindFirstChild(Name) == nil then return end
521+
Prop=iPart{Pack,SHH,1,0.25,co=CC[2],type='WedgePart'} 
522-
	if Player.Character[Name]:FindFirstChild("Handle") == nil then return end
522+
523-
	if Player.Character[Name]:FindFirstChild("Source") == nil then return end
523+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(0.625*x,1.5,0)*ca(0,-90*x,0)} 
524-
	if mouse == nil then return end
524+
525-
	Button1Down = true
525+
Prop=iPart{Pack,SHH,0.25,0.5,co=CC[2],type='WedgePart'} 
526-
	if spell == 1 then
526+
527-
		--Arefu Slash, projectile class. Uses hardened air particles to create razor-sharp projectiles.
527+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(0.25*x,2.125,0)*ca(0,-90*x,0)} 
528-
		canFire = false
528+
529-
		Player.Character[Name].Source.Mesh.MeshType = "Sphere"
529+
Prop=iPart{Pack,SHH,1,0.75,co=CC[2],type='WedgePart'} 
530-
		Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
530+
531-
		Player.Character[Name].Source.Transparency = 0.25
531+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(0.75/2*x,-3.5,0)*ca(180,-90*x,0)} 
532-
		Player.Character[Name].Source.BrickColor = BrickColor.new("Bright green")
532+
533-
		Player.Character[Name].Source.Fire.Enabled = true
533+
for y=-1,1,2 do
534-
		Player.Character[Name].Source.Fire.Heat = math.random(5, 10)
534+
535-
		Player.Character[Name].Source.Fire.Size = math.random(5, 10)
535+
Prop=iPart{Pack,SHH,0.25,0.75,co=CC[2],type='WedgePart'} 
536-
		Player.Character[Name].Source.Fire.Color = Color3.new(0, 1, 0)
536+
537-
		Player.Character[Name].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
537+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(1.125*x,(1-0.125)*y,0)*ca(y==-1 and 180 or 0,-90*x,0)} 
538-
		while Button1Down == true do
538+
539-
			if power <= 0 then break end
539+
Prop=iPart{Pack,SHH,0.75,0.25,co=CC[2],type='WedgePart'} 
540-
			coroutine.resume(coroutine.create(function()
540+
541-
				for i = 0, 1, 0.1 do
541+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(1.625*x,0.75/2*y,0)*ca(y==-1 and 180 or 0,-90*x,0)} 
542-
					Player.Character[Name].Source.Mesh.Scale = (Vector3.new(i, i, i) * 5) + Vector3.new(1, 1, 1)
542+
543-
					Player.Character[Name].Source.Transparency = i
543+
Prop=iPart{Pack,SHH,1,0.25,co=CC[2],type='WedgePart'} 
544-
					wait()
544+
545-
				end
545+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(0.625*x,(0.5*-y)-2,0)*ca(y==-1 and 180 or 0,-90*x,0)} 
546-
				Player.Character[Name].Source.Transparency = 1
546+
547-
				Player.Character[Name].Source.Fire.Enabled = false
547+
548-
			end))
548+
549-
			Player.Character[Name].Handle.Fire2.Looped = false
549+
550-
			Player.Character[Name].Handle.Fire2.Volume = 1
550+
551-
			Player.Character[Name].Handle.Fire2.Pitch = 1
551+
-- outline
552-
			Player.Character[Name].Handle.Fire2:Play()
552+
553-
			power = power - 1
553+
outth=0.1
554-
			local air = Instance.new("Part")
554+
555-
			air.Name = "Air"
555+
SHH2=SHH+0.1
556-
			air.FormFactor = "Custom"
556+
557-
			air.Size = Vector3.new(1, 1, 2)
557+
for x=-1,1,2 do 
558-
			air.TopSurface = "Smooth"
558+
559-
			air.BottomSurface = "Smooth"
559+
local len,rot=getoutline(1,0.25)
560-
			air.BrickColor = BrickColor.new("Institutional white")
560+
561-
			air.CanCollide = false
561+
Prop=iPart{Pack,0.2,len,SHH2,co=CC[1]} iNew{'BlockMesh',Prop,Scale=v3(outth*5,1,1)}
562-
			air.Anchored = true
562+
563-
			air.Transparency = math.random(0, 5) / 10
563+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(0.625*x,-2.5,0)*ca(0,0,-rot*x+90)} 
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)
564+
565-
			air.Parent = Workspace
565+
Prop=iPart{Pack,0.2,len,SHH2,co=CC[1]} iNew{'BlockMesh',Prop,Scale=v3(outth*5,1,1)}
566-
			air:BreakJoints()
566+
567-
			local m = Instance.new("SpecialMesh")
567+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(0.625*x,-1.5,0)*ca(0,0,rot*x+90)}
568-
			m.MeshType = "Sphere"
568+
569-
			m.Scale = Vector3.new(0.5, 0.5, 1)
569+
local len,rot=getoutline(1,0.75)
570-
			m.Parent = air
570+
571-
			coroutine.resume(coroutine.create(function()
571+
Prop=iPart{Pack,0.2,len,SHH2,co=CC[1]} iNew{'BlockMesh',Prop,Scale=v3(outth*5,1,1)}
572-
				while air.Parent ~= nil do
572+
573-
					air.CFrame = CFrame.new(air.Position  + (air.CFrame.lookVector * 5)) * CFrame.fromEulerAnglesXYZ(air.CFrame:toEulerAnglesXYZ())
573+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(0.75/2*x,-3.5,0)*ca(0,0,rot*x+90)}
574-
					for _, model in pairs(Workspace:GetChildren()) do
574+
575-
						if model.ClassName == "Part" then
575+
local len,rot=getoutline(1,0.75)
576-
							if (air.Position - model.Position).magnitude <= 5 and model.Anchored == false then
576+
577-
								model.Velocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
577+
Prop=iPart{Pack,0.2,len,SHH2,co=CC[1]} iNew{'BlockMesh',Prop,Scale=v3(outth*5,1,1)}
578-
								if math.random(1, 10) == 1 then model:BreakJoints() end
578+
579-
								air:Remove()
579+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(0.75/2*x,-3.5,0)*ca(0,0,rot*x+90)}
580-
								return
580+
581-
							end
581+
local len,rot=getoutline(1,0.25)
582-
						elseif model.ClassName == "Model" and model ~= Player.Character then
582+
583-
							for _, x in pairs(model:GetChildren()) do
583+
Prop=iPart{Pack,0.2,len,SHH2,co=CC[1]} iNew{'BlockMesh',Prop,Scale=v3(outth*5,1,1)}
584-
								if x.ClassName == "Part" then
584+
585-
									if (air.Position - x.Position).magnitude <= 5 and x.Anchored == false then
585+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(0.625*x,1.5,0)*ca(0,0,-rot*x-90)}
586-
										x.Velocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
586+
587-
										if math.random(1, 10) == 1 then x:BreakJoints() end
587+
local len,rot=getoutline(0.25,0.5)
588-
										if model:FindFirstChild("Humanoid") ~= nil then
588+
589-
											model.Humanoid:TakeDamage(5)
589+
Prop=iPart{Pack,0.2,len,SHH2,co=CC[1]} iNew{'BlockMesh',Prop,Scale=v3(outth*5,1,1)}
590-
											model.Humanoid.Sit = true
590+
591-
										end
591+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(0.25*x,2.125,0)*ca(0,0,-rot*x-90)}
592-
										air:Remove()
592+
593-
										return
593+
for y=-1,1,2 do 
594-
									end
594+
595-
								end
595+
local len,rot=getoutline(0.75,0.25)
596-
							end
596+
597-
						end
597+
Prop=iPart{Pack,0.2,len,SHH2,co=CC[1]} iNew{'BlockMesh',Prop,Scale=v3(outth*5,1,1)}
598-
					end
598+
599-
					local shock = Instance.new("Part")
599+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(1.625*x,0.75/2*y,0)*ca(0,0,rot*x*-y+90)}
600-
					shock.FormFactor = "Custom"
600+
601-
					shock.Size = Vector3.new(1, 1, 1)
601+
local len,rot=getoutline(0.25,0.75)
602-
					shock.BrickColor = BrickColor.new("Institutional white")
602+
603-
					shock.Anchored = true
603+
Prop=iPart{Pack,0.2,len,SHH2,co=CC[1]} iNew{'BlockMesh',Prop,Scale=v3(outth*5,1,1)}
604-
					shock.Name = "Shock Ring"
604+
605-
					shock.CanCollide = false
605+
iNew{'Weld',Pack,Part0=shield,Part1=Prop,C0=cn(1.125*x,(1-0.125)*y,0)*ca(0,0,rot*x*-y+90)}
606-
					shock.Parent = Workspace
606+
607-
					local mesh = Instance.new("SpecialMesh")
607+
608-
					mesh.MeshType = "FileMesh"
608+
609-
					mesh.MeshId = "http://www.roblox.com/Asset/?id=20329976"
609+
610-
					mesh.Scale = Vector3.new(1, 1, 1)
610+
611-
					mesh.Parent = shock
611+
612-
					shock.CFrame = CFrame.new(air.Position + (air.CFrame.lookVector * 10), air.Position + (air.CFrame.lookVector * 50)) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
612+
613-
					coroutine.resume(coroutine.create(function()
613+
614-
						for i = 0, 10 do
614+
---Weapon
615-
							shock.Mesh.Scale = Vector3.new(i / 5, i, i / 5)
615+
616-
							shock.Transparency = i / 10
616+
Handle=iPart{Pack,0.5,2,0.5,co=CC[3]} iNew{'CylinderMesh',0} 
617-
							wait()
617+
618-
						end
618+
wHandle=iNew{'Weld',Pack,Part0=Torso,Part1=Handle,C0=cn(2,3,0.75+SHH)*ca(-90,-45,90)} 
619-
						shock:Remove()
619+
620-
					end))
620+
--C0=cn(0,-1.25,0.3)*ca(-90,0,0)
621-
					wait()
621+
622-
				end
622+
prop=iPart{Pack,0.5,2,0.5,co=CC[3]} iNew{'SpecialMesh',0,MeshId=as.cone,Scale=v3(0.25,2.3,0.25)} 
623-
			end))
623+
624-
			coroutine.resume(coroutine.create(function(part)
624+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0,-1,0)*ca(160,0,0)*cn(0,0.8,0)}
625-
				wait(10)
625+
626-
				part:Remove()
626+
prop=iPart{Pack,0.7,0.7,0.7,co=CC[3]} iNew{'SpecialMesh',0,MeshType='Sphere'} 
627-
			end), air)
627+
628-
			wait()
628+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0,1,0)}
629-
		end
629+
630-
		canFire = true
630+
prop=iPart{Pack,0.7,0.2,0.7,co=CC[3]} iNew{'CylinderMesh',0} 
631-
	elseif spell == 2 then
631+
632-
		--Arefu Metoria, projectile class. Uses meteors.
632+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0,1.3,0)}
633-
		local position, target = mouse.Hit.p, mouse.Target
633+
634-
		if target == nil then return end
634+
--
635-
		if target.Parent == nil then return end
635+
636-
		canFire = false
636+
for x=-1,1,2 do 
637-
		power = power - 50
637+
638-
		local offset = position - target.Position
638+
prop=iPart{Pack,0.4,0.4,0.8,co=CC[3],type='WedgePart'} 
639-
		local size = math.random(10, 30)
639+
640-
		Player.Character[Name].Source.Mesh.MeshType = "Sphere"
640+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0.4*x/2,1.4,0)*ca(25,180,90*x)*cn(0,0,-0.4)}
641-
		Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
641+
642-
		Player.Character[Name].Source.Transparency = 0
642+
prop=iPart{Pack,0.4,0.4,0.8,co=CC[3],type='WedgePart'} 
643-
		Player.Character[Name].Source.BrickColor = BrickColor.new("Bright green")
643+
644-
		Player.Character[Name].Handle.Charge2.Looped = false
644+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(-0.4*x/2,1.4,0)*ca(25,0,90*x)*cn(0,0,-0.4)}
645-
		Player.Character[Name].Handle.Charge2.Volume = 1
645+
646-
		Player.Character[Name].Handle.Charge2.Pitch = 0.35
646+
for i=-1,1,2 do 
647-
		Player.Character[Name].Handle.Charge2:Play()
647+
648-
		local beam = Instance.new("Part")
648+
local le=i==-1 and 0.5 or 0.85
649-
		beam.BrickColor = BrickColor.new("Bright green")
649+
650-
		beam.TopSurface = 0
650+
prop=iPart{Pack,le,0.4,0.8,co=CC[3],type='WedgePart'} 
651-
		beam.BottomSurface = 0
651+
652-
		beam.Size = Vector3.new(1, 1, 1)
652+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0.4*x/2*i,1.6+(0.25-(le/2-0.25)),0.4*i)*ca(0,i==1 and 180 or 0,90*x)}
653-
		beam.Transparency = 0.5
653+
654-
		beam.Anchored = true
654+
655-
		beam.CanCollide = false
655+
656-
		beam.CFrame = CFrame.new(position)
656+
657-
		beam.Parent = Workspace
657+
658-
		local mesh = Instance.new("CylinderMesh")
658+
local len=6
659-
		mesh.Parent = beam
659+
660-
		for i = 0, 60, 1 do
660+
local a,b=getoutline(0.4,0.8,0)
661-
			local shine = Instance.new("Part")
661+
662-
			shine.Name = "Shine"
662+
local aa,bb=getoutline(0.4,len,0)
663-
			shine.FormFactor = "Custom"
663+
664-
			shine.Shape = "Ball"
664+
prop=iPart{Pack,1,1,a,co=CC[3],type='WedgePart'} iNew{'SpecialMesh',0,Scale=v3(0.02,aa,1),MeshType='Wedge'}
665-
			shine.CanCollide = false
665+
666-
			shine.BrickColor = BrickColor.new("Bright green")
666+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0,2.1+len/2,-0.4)*ca(0,0,bb)*ca(0,b,0)}
667-
			shine.TopSurface = 0
667+
668-
			shine.BottomSurface = 0
668+
prop=iPart{Pack,1,1,a,co=CC[3],type='WedgePart'} iNew{'SpecialMesh',0,Scale=v3(0.02,aa,1),MeshType='Wedge'}
669-
			shine.Size = Vector3.new(1, 1, 1)
669+
670-
			shine.Transparency = 0.25
670+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0,2.1+len/2,-0.4)*ca(0,0,-bb)*ca(0,-b,0)}
671-
			shine.CFrame = CFrame.new(Player.Character[Name].Source.Position + Vector3.new(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)))
671+
672-
			shine.Parent = Workspace
672+
prop=iPart{Pack,1,1,a,co=CC[3],type='WedgePart'} iNew{'SpecialMesh',0,Scale=v3(0.02,aa,1),MeshType='Wedge'}
673-
			local force = Instance.new("BodyPosition")
673+
674-
			force.D = 7000
674+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0,2.1+len/2,0.4)*ca(0,0,bb)*ca(0,-b,0)*ca(0,180,0)}
675-
			force.P = 100000
675+
676-
			force.maxForce = Vector3.new(math.huge, math.huge, math.huge)
676+
prop=iPart{Pack,1,1,a,co=CC[3],type='WedgePart'} iNew{'SpecialMesh',0,Scale=v3(0.02,aa,1),MeshType='Wedge'}
677-
			force.position = Player.Character[Name].Source.Position
677+
678-
			force.Parent = shine
678+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0,2.1+len/2,0.4)*ca(0,0,-bb)*ca(0,b,0)*ca(0,180,0)}
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)
679+
680-
			mesh.Scale = Vector3.new(size * (i / 60), 10000, size * (i / 60))
680+
local sc=0.85
681-
			Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 10, i / 10, i / 10)
681+
682-
			Player.Character[Name].Source.Transparency = Player.Character[Name].Source.Transparency - 0.015
682+
for x=-1,1,2 do 
683-
			wait()
683+
684-
		end
684+
rune=iPart{Pack,sc,1,sc,co=''} iNew{'CylinderMesh',0,Scale=v3(1,0.08,1)}
685-
		for i = 0, 10 do
685+
686-
			beam.Transparency = beam.Transparency + 0.1
686+
iNew{'Weld',Pack,Part0=Handle,Part1=rune,C0=cn(0.2*x,2.1+0.5,-0.36)*ca(0,0,bb*x)*ca(0,b*x,90)*ca(0,-4,0)}
687-
			Player.Character[Name].Source.Transparency = Player.Character[Name].Source.Transparency + 0.1
687+
688-
			wait()
688+
prop=iPart{Pack,sc/2.5,1,sc/2.5,co='Navy blue'} iNew{'CylinderMesh',0,Scale=v3(1,0.09,1)}
689-
		end
689+
690-
		if beam ~= nil then beam:Remove() end
690+
iNew{'Weld',Pack,Part0=rune,Part1=prop}
691-
		Player.Character[Name].Source.Transparency = 1
691+
692-
		canFire = true
692+
prop=iPart{Pack,0.5,0.2,0.5,co='Dark stone grey'} iNew{'SpecialMesh',0,Scale=v3(0.6,0.6,1.4)*sc,MeshId=as.ring2}
693-
		local meteor = Instance.new("Part")
693+
694-
		meteor.BrickColor = BrickColor.new("Bright red")
694+
iNew{'Weld',Pack,Part0=rune,Part1=prop,C0=ca(90,0,0)}
695-
		meteor.Name = "Meteor"
695+
696-
		meteor.CanCollide = true
696+
prop=iPart{Pack,0.2,0.2,0.2,co='Black',rf=0.25} iNew{'SpecialMesh',0,Scale=v3(0.02,2.4,0.35),MeshId=as.cone}
697-
		meteor.Locked = true
697+
698-
		meteor.FormFactor = "Custom"
698+
iNew{'Weld',Pack,Part0=rune,Part1=prop,C0=cn(1.2,0,0)*ca(0,0,-90)}
699-
		meteor.Shape = "Ball"
699+
700-
		meteor.Size = Vector3.new(size, size, size)
700+
for i=0,360,90 do 
701-
		meteor.RotVelocity = Vector3.new(math.random(-1000, 1000), math.random(-1000, 1000), math.random(-1000, 1000))
701+
702-
		meteor.Parent = Workspace
702+
prop=iPart{Pack,0.2,0.2,0.2,co='Black'} iNew{'CylinderMesh',0,Scale=v3(0.9,0.09*5,0.9)}
703-
		meteor:BreakJoints()
703+
704-
		local fire = Instance.new("Fire")
704+
iNew{'Weld',Pack,Part0=rune,Part1=prop,C0=ca(0,i+45,0)*cn(0,0,sc/3)}
705-
		fire.Heat = 0
705+
706-
		fire.Size = 50
706+
707-
		fire.Parent = meteor
707+
708-
		local smoke = Instance.new("Smoke")
708+
709-
		smoke.RiseVelocity = 0
709+
710-
		smoke.Size = size + 3
710+
prop=iPart{Pack,0.35,1,0.5,co='Black',type='WedgePart'}
711-
		smoke.Color = Color3.new(50 / 255, 50 / 255, 50 / 255)
711+
712-
		smoke.Opacity = 0.5
712+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0,0,-0.4)*ca(0,0,0)}
713-
		smoke.Parent = meteor
713+
714-
		local mesh = Instance.new("SpecialMesh")
714+
prop=iPart{Pack,0.35,0.5,0.5,co='Black',type='WedgePart'}
715-
		mesh.MeshType = "FileMesh"
715+
716-
		mesh.MeshId = "http://www.roblox.com/Asset/?id=1290033"
716+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0,-0.75,-0.4)*ca(0,0,180)}
717-
		mesh.TextureId = "http://www.roblox.com/Asset/?id=1290030"
717+
718-
		mesh.Scale = meteor.Size / 1.5
718+
for x=0,100,100/5 do 
719-
		mesh.VertexColor = Vector3.new(1, 0, 0)
719+
720-
		mesh.Parent = meteor
720+
prop=iPart{Pack,0.2,0.35,0.2,co='Black'} iNew{'CylinderMesh',0}
721-
		for i = 5000, 0, -100 do
721+
722-
			meteor.CFrame = CFrame.new((target.Position + offset) + Vector3.new(0, i, 0))
722+
iNew{'Weld',Pack,Part0=Handle,Part1=prop,C0=cn(0,-1.1,0.275)*ca(105+x,0,0)*cn(0,0,0.75)}
723-
			meteor.Velocity = Vector3.new(0, 0, 0)
723+
724-
			wait()
724+
725-
		end
725+
726-
		meteor.CFrame = CFrame.new((target.Position + offset) + Vector3.new(0, size / 2, 0))
726+
727-
		delay(0.1, function() Weld(target, meteor) meteor.Velocity = Vector3.new(0, 0, 0) end)
727+
728-
		meteor.Anchored = true
728+
729-
		local s = Instance.new("Sound")
729+
730-
		s.SoundId = "rbxasset://sounds\\Launching rocket.wav"
730+
731-
		s.Pitch = (30 - size) / 25
731+
732-
		s.Parent = Workspace
732+
HitBox=iPart{Pack,0.2,7,1.5,co='Black',tr=1} 
733-
		s:Play()
733+
734-
		local shards = {}
734+
HitBoxCF=cn(0,5,0)
735-
		for i = 0, math.random(10, 30) do
735+
736-
			local shard = Instance.new("Part")
736+
--iNew{'Weld',Pack,Part0=Handle,Part1=HitBox,C0=cn(0,5,0)}
737-
			shard.Name = "Ground Shard"
737+
738-
			shard.Anchored = true
738+
739-
			shard.Locked = true
739+
740-
			shard.BrickColor = target.BrickColor
740+
741-
			shard.Size = Vector3.new(size + 10, 2, size)
741+
HitBox.Touched:connect(function(hit)
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)))
742+
743-
			shard.Parent = Workspace
743+
if not Dmg then return end 
744-
			table.insert(shards, shard)
744+
745-
		end
745+
if hit.Parent==Char then return end 
746-
		local new = Instance.new("Part")
746+
747-
		new.Name = "Meteor"
747+
if hit.Parent:findFirstChild'Humanoid' then 
748-
		new.Transparency = 1
748+
749-
		new.CanCollide = false
749+
local h=hit.Parent.Humanoid
750-
		new.Anchored = true
750+
751-
		new.CFrame = CFrame.new(meteor.Position)
751+
Damage(h,1,true)
752-
		new.Parent = Workspace
752+
753-
		local fire = Instance.new("Fire")
753+
754-
		fire.Heat = 50
754+
755-
		fire.Size = 50
755+
end)
756-
		fire.Parent = new
756+
757-
		meteor.Fire:Remove()
757+
758-
		local shock = Instance.new("Part")
758+
759-
		shock.FormFactor = "Custom"
759+
760-
		shock.Size = Vector3.new(1, 1, 1)
760+
for i,v in pairs(Torso:children()) do 
761-
		shock.BrickColor = BrickColor.new("Institutional white")
761+
762-
		shock.Anchored = true
762+
if v:IsA'Sound' then v:Remove() end
763-
		shock.Name = "Shock Ring"
763+
764-
		shock.CanCollide = false
764+
765-
		shock.Parent = Workspace
765+
766-
		local mesh = Instance.new("SpecialMesh")
766+
for i,n in pairs(so) do 
767-
		mesh.MeshType = "FileMesh"
767+
768-
		mesh.MeshId = "http://www.roblox.com/Asset/?id=3270017"
768+
local v=iNew{'Sound',Torso,Volume=1,Pitch=1,Looped=false,Name=v,SoundId=as[n]}
769-
		mesh.Parent = shock
769+
770-
		local tilt1 = math.random(-10, 10)
770+
so[n]=v
771-
		local tilt2 = math.random(-10, 10)
771+
772-
		local tiltChance = math.random(1, 3)
772+
773-
		for i = 0, 50 do
773+
774-
			shock.Mesh.Scale = Vector3.new(i, i, i)
774+
775-
			if tiltChance == 1 then
775+
776-
				shock.CFrame = CFrame.new(meteor.Position - Vector3.new(0, meteor.Size.y / 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + tilt1), 0, 0)
776+
777-
			elseif tiltChance == 2 then
777+
function RePose()
778-
				shock.CFrame = CFrame.new(meteor.Position - Vector3.new(0, meteor.Size.y / 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(tilt2), 0)
778+
779-
			elseif tiltChance == 3 then
779+
local a,b=GetWeld(LAW)
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)
780+
781-
			end
781+
local c,d=GetWeld(RAW)
782-
			wait()
782+
783-
		end
783+
--local e,f=GetWeld(wShield)
784-
		for i = 0, 1, 0.1 do
784+
785-
			shock.Transparency = i
785+
local g,h=GetWeld(wHandle)
786-
			wait()
786+
787-
		end
787+
local i,j=GetWeld(Root)
788-
		shock:Remove()
788+
789-
		wait(math.random(1, 10))
789+
local k,l=GetWeld(Neck)
790-
		if new ~= nil then new:Remove() end
790+
791-
		if meteor == nil then return end
791+
oPoseLA=a oPoseLA2=b 
792-
		local e = Instance.new("Explosion")
792+
793-
		e.BlastPressure = 100000
793+
oPoseRA=c oPoseRA2=d
794-
		e.Position = meteor.Position
794+
795-
		e.BlastRadius = meteor.Size.y * 2
795+
--oPoseShield=e oPoseShield2=f
796-
		e.Parent = Workspace
796+
797-
		local s = Instance.new("Sound")
797+
oPoseHandle=g oPoseHandle2=h
798-
		s.Name = "Explosion"
798+
799-
		s.Pitch = (30 - size) / 20
799+
oPoseRT=i oPoseRT2=j 
800-
		s.SoundId = "http://www.roblox.com/Asset/?id=2101148"
800+
801-
		s.Parent = Workspace
801+
oPoseNE=k oPoseNE2=l
802-
		s:Play()
802+
803-
		for i = 0, math.random(2, 10) do
803+
804-
			local size = math.random(1, 5)
804+
805-
			local new = meteor:Clone()
805+
function ReturnPose()
806-
			if new:FindFirstChild("Weld") ~= nil then new.Weld:Remove() end
806+
807-
			new.Size = Vector3.new(size, size, size)
807+
local wLA,wLA2=GetWeld(LAW)
808-
			new.Mesh.Scale = Vector3.new(size, size, size)
808+
809-
			new.CanCollide = false
809+
local wRA,wRA2=GetWeld(RAW)
810-
			new.Anchored = false
810+
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))
811+
local wRT,wRT2=GetWeld(Root)
812-
			new.Velocity = Vector3.new(math.random(-100, 100), math.random(10, 250), math.random(-100, 100))
812+
813-
			new.RotVelocity = Vector3.new(math.random(-500, 500), math.random(-500, 500), math.random(-500, 500))
813+
local AA,AA2=GetWeld(wShield)
814-
			new.Smoke:Remove()
814+
815-
			new.Parent = Workspace
815+
local BB,BB2=GetWeld(wHandle) 
816-
		end
816+
817-
		for i = 1, #shards do
817+
local wNE,wNE2=GetWeld(Neck) 
818-
			if shards[i] ~= nil then
818+
819-
				if math.random(1, 2) == 1 then
819+
for i=1,ASpeed do 
820-
					shards[i]:Remove()
820+
821-
				else
821+
SetWeld(LAW,0,i,ASpeed,wLA,wLA2,PoseLA,PoseLA2,1) 
822-
					shards[i].CanCollide = false
822+
823-
					shards[i].Anchored = false
823+
SetWeld(RAW,0,i,ASpeed,wRA,wRA2,PoseRA,PoseRA2,1) 
824-
					shards[i].RotVelocity = Vector3.new(math.random(-500, 500), math.random(-500, 500), math.random(-500, 500))
824+
825-
					shards[i].Velocity = Vector3.new(math.random(-100, 100), math.random(10, 250), math.random(-100, 100))
825+
SetWeld(wShield,0,i,ASpeed,AA,AA2,v3(0,0,0),v3(0,0,0),1) 
826-
				end
826+
827-
			end
827+
SetWeld(wHandle,0,i,ASpeed,BB,BB2,PoseHandle,PoseHandle2,1) 
828-
		end
828+
829-
		meteor:Remove()
829+
SetWeld(Root,0,i,ASpeed,wRT,wRT2,PoseRT,PoseRT2,1) 
830-
	elseif spell == 3 then
830+
831-
		--Eccrando Bolt, energy class. Fires a charged bolt of energy gathered in your wand.
831+
SetWeld(Neck,0,i,ASpeed,wNE,wNE2,PoseNE,PoseNE2,1) 
832-
		canFire = false
832+
833-
		Player.Character[Name].Source.Mesh.MeshType = "Sphere"
833+
wait()
834-
		Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
834+
835-
		Player.Character[Name].Source.Transparency = 0
835+
836-
		Player.Character[Name].Source.BrickColor = BrickColor.new("New Yeller")
836+
837-
		Player.Character[Name].Handle.Charge1.Looped = false
837+
838-
		Player.Character[Name].Handle.Charge1.Volume = 1
838+
839-
		Player.Character[Name].Handle.Charge1.Pitch = 1
839+
function TorsoROT(i,rot)
840-
		Player.Character[Name].Handle.Charge1:Play()
840+
841-
		for i = 0, 10 do
841+
SetWeld(Root,0,i,ASpeed,oPoseRT,oPoseRT2,PoseRT,v3(0,rot,0),1) 
842-
			local shine = Instance.new("Part")
842+
843-
			shine.Name = "Shine"
843+
SetWeld(Neck,0,i,ASpeed,oPoseNE,oPoseNE2,PoseNE,v3(0,-rot,0),1) 
844-
			shine.FormFactor = "Custom"
844+
845-
			shine.Shape = "Ball"
845+
846-
			shine.CanCollide = false
846+
847-
			shine.BrickColor = BrickColor.new("New Yeller")
847+
848-
			shine.TopSurface = 0
848+
849-
			shine.BottomSurface = 0
849+
850-
			shine.Size = Vector3.new(1, 1, 1)
850+
Block=iNew{'NumberValue',Char,Name='Block',Value=0}
851-
			shine.Transparency = 0.25
851+
852-
			shine.CFrame = CFrame.new(Player.Character[Name].Source.Position + Vector3.new(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)))
852+
853-
			shine.Parent = Workspace
853+
854-
			local force = Instance.new("BodyPosition")
854+
855-
			force.D = 7000
855+
key={}
856-
			force.P = 100000
856+
857-
			force.maxForce = Vector3.new(math.huge, math.huge, math.huge)
857+
Tool.Selected:connect(function(mouse)
858-
			force.position = Player.Character[Name].Source.Position
858+
859-
			force.Parent = shine
859+
print'Selected'
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)
860+
861-
			Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 7.5, i / 7.5, i / 7.5)
861+
Mouse=mouse
862-
			wait()
862+
863-
			power = power - 1
863+
        if Anim=='None' then 
864-
		end
864+
865-
		for i = 10, 20 do
865+
        Anim='Equipping'
866-
			Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 7.5, i / 7.5, i / 7.5)
866+
867-
			power = power - 1
867+
        Arms(0)
868-
			wait()
868+
869-
		end
869+
                for i=1,ASpeed do 
870-
		local first = true
870+
871-
		while Button1Down == true or first == true do
871+
                SetWeld(LAW,0,i,ASpeed,OrigLA,OrigLA2,OrigLA,v3(90,0,-90),1) 
872-
			first = false
872+
873-
			if power < 0 then break end
873+
                SetWeld(RAW,0,i,ASpeed,OrigRA,OrigRA2,OrigRA,v3(200,0,0),1) 
874-
			power = power - 5
874+
875-
			if Player.Character == nil then break end
875+
                wait() 
876-
			if Player.Character:FindFirstChild("Humanoid") == nil then break end
876+
877-
			if Player.Character.Humanoid.Health <= 0 then break end
877+
                end
878-
			if Player.Character:FindFirstChild(Name) == nil then break end
878+
879-
			if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
879+
        local ofs = LA.CFrame:toObjectSpace(Shield.CFrame)
880-
			if Player.Character[Name]:FindFirstChild("Source") == nil then break end
880+
881-
			if selected == false then break end
881+
        wShield.Part0=LA wShield.C0=ofs ClearWeld(wShield)
882-
			Player.Character[Name].Handle.Fire1.Looped = false
882+
883-
			Player.Character[Name].Handle.Fire1.Volume = 1
883+
        local AA,AA2=GetWeld(wShield)
884-
			Player.Character[Name].Handle.Fire1.Pitch = 1
884+
885-
			Player.Character[Name].Handle.Fire1:Play()
885+
        local ofs = RA.CFrame:toObjectSpace(Handle.CFrame)
886-
			local position = mouse.Hit.p
886+
887-
			local e = Instance.new("Explosion")
887+
        wHandle.Part0=RA wHandle.C0=ofs ClearWeld(wHandle)
888-
			e.BlastPressure = 500000
888+
889-
			e.BlastRadius = 10
889+
        local BB,BB2=GetWeld(wHandle)
890-
			e.Position = position
890+
891-
			e.Parent = Workspace
891+
                for i=1,ASpeed do 
892-
			for i = 1, math.random(5, 25) do
892+
893-
				local shine = Instance.new("Part")
893+
                SetWeld(wShield,0,i,ASpeed,AA,AA2,v3(0,0,0),v3(0,0,0),1) 
894-
				shine.Name = "Shine"
894+
895-
				shine.FormFactor = "Custom"
895+
                SetWeld(wHandle,0,i,ASpeed,BB,BB2,PoseHandle,PoseHandle2,1) 
896-
				shine.Shape = "Block"
896+
897-
				shine.CanCollide = false
897+
                wait() 
898-
				shine.Anchored = true
898+
899-
				shine.BrickColor = BrickColor.new("New Yeller")
899+
                end
900-
				shine.TopSurface = 0
900+
901-
				shine.BottomSurface = 0
901+
        ReturnPose()
902-
				shine.Size = Vector3.new(1, 1, 1)
902+
903-
				shine.Transparency = 0.25
903+
        Anim='Equipped'
904-
				shine.CFrame = CFrame.new(mouse.Hit.p)
904+
905-
				shine.Parent = Workspace
905+
        end
906-
				local mesh = Instance.new("SpecialMesh")
906+
907-
				mesh.MeshType = "Brick"
907+
Mouse.KeyDown:connect(function(k)
908-
				local random = math.random(3, 10) / 10
908+
909-
				mesh.Scale = Vector3.new(random, random, random)
909+
key[k]=true
910-
				mesh.Parent = shine
910+
911-
				coroutine.resume(coroutine.create(function(part)
911+
if Anim=='Equipped' and k=='f' then
912-
					for i = 0.25 * 25, 25 do
912+
913-
						part.Transparency = i / 25
913+
        Anim='Block' 
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)))
914+
915-
						wait(math.random(1, 5) / 100)
915+
        RePose()
916-
					end
916+
917-
					part:Remove()
917+
        for i=1,ASpeed do 
918-
				end), shine)
918+
919-
			end
919+
        SetWeld(LAW,0,i,ASpeed,oPoseLA,oPoseLA2,v3(-1.25,0.5,-0.5),v3(90,0,45),1) 
920-
			for i = 1, math.random(2, 5) do
920+
921-
				local shine = Instance.new("Part")
921+
        SetWeld(RAW,0,i,ASpeed,oPoseRA,oPoseRA2,v3(1.5,0.5,0),v3(-45,0,-20),1) 
922-
				shine.Name = "Shine"
922+
923-
				shine.FormFactor = "Custom"
923+
        SetWeld(wHandle,0,i,ASpeed,oPoseHandle,oPoseHandle2,PoseHandle+v3(0,-0.2,0),v3(-90,-20,-60),1) 
924-
				shine.Shape = "Block"
924+
925-
				shine.CanCollide = false
925+
        TorsoROT(i,-45)
926-
				shine.Anchored = true
926+
927-
				shine.BrickColor = BrickColor.new("New Yeller")
927+
        wait() 
928-
				shine.TopSurface = 0
928+
929-
				shine.BottomSurface = 0
929+
        end
930-
				shine.Size = Vector3.new(1, 1, 1)
930+
931-
				shine.Transparency = 0.25
931+
        Block.Value=mran(1,3)
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))
932+
933-
				shine.Parent = Workspace
933+
        so.Block:Play()
934-
				local mesh = Instance.new("SpecialMesh")
934+
935-
				mesh.MeshType = "Sphere"
935+
        Anim='Blocking'
936-
				local random = math.random(3, 10) / 10
936+
937-
				mesh.Scale = Vector3.new(random, random, random)
937+
        repeat wait() until Anim=='Blocking' and (not key[k] or Block.Value<1)
938-
				mesh.Parent = shine
938+
939-
				coroutine.resume(coroutine.create(function(part)
939+
        Block.Value=0 
940-
					for i = 0.25, 1, 0.05 do
940+
941-
						part.Transparency = i
941+
        Anim=''
942-
						part.Mesh.Scale = part.Mesh.Scale + Vector3.new(1, 1, 1)
942+
943-
						wait()
943+
        ReturnPose() 
944-
					end
944+
945-
					part:Remove()
945+
        Anim='Equipped'
946-
				end), shine)
946+
947-
			end
947+
elseif Anim=='Equipped' and k=='s' then 
948-
			local trail = Instance.new("Part")
948+
949-
			trail.BrickColor = BrickColor.new("New Yeller")
949+
elseif Anim=='Equipped' and k=='s' then 
950-
			trail.TopSurface = 0
950+
951-
			trail.BottomSurface = 0
951+
elseif Anim=='Equipped' and k=='s' then 
952-
			trail.Size = Vector3.new(1, 1, 1)
952+
953-
			trail.Transparency = 0.4
953+
954-
			trail.Anchored = true
954+
955-
			trail.CanCollide = false
955+
end)--keys
956-
			trail.CFrame = CFrame.new((Player.Character[Name].Source.Position + position) / 2, position)
956+
957-
			trail.Parent = Workspace
957+
Mouse.KeyUp:connect(function(k)
958-
			local mesh = Instance.new("SpecialMesh")
958+
959-
			mesh.MeshType = "Brick"
959+
key[k]=false
960-
			mesh.Scale = Vector3.new(math.random(2, 5) / 10, math.random(2, 5) / 10, (position - Player.Character[Name].Source.Position).magnitude)
960+
961-
			mesh.Parent = trail
961+
end)
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)
962+
963-
			coroutine.resume(coroutine.create(function()
963+
Mouse.Button1Down:connect(function()
964-
				for i = 10, 0, -1 do
964+
965-
					Player.Character[Name].Source.Transparency = (10 - i) / 10
965+
Button1=true
966-
					Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 1.5, i / 1.5, i / 1.5)
966+
967-
					wait()
967+
if Anim=='Blocking' then 
968-
				end
968+
969-
			end))
969+
        Anim='BlockCounter'
970-
			wait(0.3)
970+
971-
		end
971+
        RePose()
972-
		Player.Character[Name].Source.Transparency = 1
972+
973-
		canFire = true
973+
        so.Slash:Play()
974-
	elseif spell == 4 then
974+
975-
		--Eccrando Strike, energy class. Use the clouds to your advantage and fire bolts of lightning at the ground.
975+
        Dmg=true
976-
		while Button1Down == true do
976+
977-
			if Player.Character == nil then break end
977+
        Trail(Handle,cn(0,Handlelen,0),'White')
978-
			if Player.Character:FindFirstChild("Humanoid") == nil then break end
978+
979-
			if Player.Character.Humanoid.Health <= 0 then break end
979+
        for i=1,ASpeed do 
980-
			if Player.Character:FindFirstChild(Name) == nil then break end
980+
981-
			if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
981+
        SetWeld(LAW,0,i,ASpeed,oPoseLA,oPoseLA2,v3(-1.5,0.5,0),v3(0,0,-45),1) 
982-
			if Player.Character[Name]:FindFirstChild("Source") == nil then break end
982+
983-
			if selected == false then break end
983+
        SetWeld(RAW,0,i,ASpeed,oPoseRA,oPoseRA2,v3(1.5,0.5,0),v3(-90,0,135),1) 
984-
			while power <= 25 and Button1Down == true do
984+
985-
				wait()
985+
        SetWeld(wHandle,0,i,ASpeed,oPoseHandle,oPoseHandle2,PoseHandle+v3(0,-0.2,0),v3(-90,55,-80),1) 
986-
			end
986+
987-
			if power <= 0 then break end
987+
        TorsoROT(i,60)
988-
			canFire = false
988+
989-
			Player.Character[Name].Source.Mesh.MeshType = "Sphere"
989+
        wait() 
990-
			Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
990+
991-
			Player.Character[Name].Source.Transparency = 0
991+
        end
992-
			Player.Character[Name].Source.BrickColor = BrickColor.new("New Yeller")
992+
993-
			Player.Character[Name].Handle.Charge1.Looped = false
993+
        Trails[Handle]=false
994-
			Player.Character[Name].Handle.Charge1.Volume = 1
994+
995-
			Player.Character[Name].Handle.Charge1.Pitch = 0.4
995+
        Dmg=false
996-
			Player.Character[Name].Handle.Charge1:Play()
996+
997-
			for i = 0, 50 do
997+
        wait(0.1)
998-
				local shine = Instance.new("Part")
998+
999-
				shine.Name = "Shine"
999+
        RePose()
1000-
				shine.FormFactor = "Custom"
1000+
1001-
				shine.Shape = "Ball"
1001+
        for i=1,ASpeed do -- return 
1002-
				shine.CanCollide = false
1002+
1003-
				shine.BrickColor = BrickColor.new("New Yeller")
1003+
        SetWeld(LAW,0,i,ASpeed,oPoseLA,oPoseLA2,v3(-1.25,0.5,-0.5),v3(90,0,45),1) 
1004-
				shine.TopSurface = 0
1004+
1005-
				shine.BottomSurface = 0
1005+
        SetWeld(RAW,0,i,ASpeed,oPoseRA,oPoseRA2,v3(1.5,0.5,0),v3(-45,0,-20),1) 
1006-
				shine.Size = Vector3.new(1, 1, 1)
1006+
1007-
				shine.Transparency = 0.25
1007+
        SetWeld(wHandle,0,i,ASpeed,oPoseHandle,oPoseHandle2,PoseHandle+v3(0,-0.2,0),v3(-90,-20,-90),1) 
1008-
				shine.CFrame = CFrame.new(Player.Character[Name].Source.Position + Vector3.new(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)))
1008+
1009-
				shine.Parent = Workspace
1009+
        TorsoROT(i,-45)
1010-
				local force = Instance.new("BodyPosition")
1010+
1011-
				force.D = 7000
1011+
        wait() 
1012-
				force.P = 100000
1012+
1013-
				force.maxForce = Vector3.new(math.huge, math.huge, math.huge)
1013+
        end
1014-
				force.position = Player.Character[Name].Source.Position
1014+
1015-
				force.Parent = shine
1015+
        so.Block:Play()
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)
1016+
1017-
				Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 7.5, i / 7.5, i / 7.5)
1017+
        Anim='Blocking'
1018-
				power = power - 1
1018+
1019-
				wait()
1019+
1020-
			end
1020+
1021-
			power = power - 10
1021+
end)
1022-
			if math.random(1, 2) == 1 then id = "Thunder" else id = "Lightning" end
1022+
1023-
			local s = Instance.new("Sound")
1023+
end) -- select
1024-
			s.Volume = math.random(10, 50) / 10
1024+
1025-
			s.SoundId = "rbxasset://sounds\\Halloween" ..id.. ".wav"
1025+
1026-
			s.Pitch = math.random(9, 11) / 10
1026+
1027-
			s.Parent = Workspace
1027+
1028-
			s:Play()
1028+
1029-
			if math.random(1, 2) == 1 then id = "Thunder" else id = "Lightning" end
1029+
1030-
			local s = Instance.new("Sound")
1030+
1031-
			s.Volume = math.random(1, 10) / 10
1031+
Tool.Deselected:connect(function(mouse)
1032-
			s.SoundId = "rbxasset://sounds\\Halloween" ..id.. ".wav"
1032+
1033-
			s.Pitch = math.random(1, 30) / 10
1033+
print'Deselected'
1034-
			s.Parent = Workspace
1034+
1035-
			s:Play()
1035+
Mouse=nil
1036-
			if selected == false then break end
1036+
1037-
			local e = Instance.new("Explosion")
1037+
        if Anim=='Equipped' then 
1038-
			e.BlastPressure = 1000000
1038+
1039-
			e.BlastRadius = 25
1039+
        Anim='Unequipping'
1040-
			e.Position = mouse.Hit.p
1040+
1041-
			e.Parent = Workspace
1041+
        RePose()
1042-
			local pos = (mouse.Hit.p + Vector3.new(math.random(-100, 100), 1000, math.random(-100, 100)))
1042+
1043-
			local trail = Instance.new("Part")
1043+
                for i=1,ASpeed do 
1044-
			trail.BrickColor = BrickColor.new("New Yeller")
1044+
1045-
			trail.TopSurface = 0
1045+
                SetWeld(LAW,0,i,ASpeed,oPoseLA,oPoseLA2,OrigLA,v3(90,0,-90),1) 
1046-
			trail.BottomSurface = 0
1046+
1047-
			trail.Size = Vector3.new(1, 1, 1)
1047+
                SetWeld(RAW,0,i,ASpeed,oPoseRA,oPoseRA2,OrigRA,v3(200,0,0),1) 
1048-
			trail.Transparency = 0.4
1048+
1049-
			trail.Anchored = true
1049+
                wait() 
1050-
			trail.CanCollide = false
1050+
1051-
			trail.CFrame = CFrame.new((pos + mouse.Hit.p) / 2, mouse.Hit.p)
1051+
                end
1052-
			trail.Parent = Workspace
1052+
1053-
			local mesh = Instance.new("SpecialMesh")
1053+
        local ofs = Torso.CFrame:toObjectSpace(Shield.CFrame)
1054-
			mesh.MeshType = "Brick"
1054+
1055-
			mesh.Scale = Vector3.new(math.random(40, 50) / 10, math.random(40, 50) / 10, (mouse.Hit.p - pos).magnitude + 10)
1055+
        wShield.Part0=Torso wShield.C0=ofs ClearWeld(wShield)
1056-
			mesh.Parent = trail
1056+
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)
1057+
        local AA,AA2=GetWeld(wShield)
1058-
			for i = 10, 0, -1 do
1058+
1059-
				Player.Character[Name].Source.Transparency = Player.Character[Name].Source.Transparency + 0.1
1059+
        local ofs = Torso.CFrame:toObjectSpace(Handle.CFrame)
1060-
				Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 1.5, i / 1.5, i / 1.5)
1060+
1061-
				wait()
1061+
        wHandle.Part0=Torso wHandle.C0=ofs ClearWeld(wHandle)
1062-
			end
1062+
1063-
			Player.Character[Name].Source.Transparency = 1
1063+
        local BB,BB2=GetWeld(wHandle) 
1064-
			wait(0.1)
1064+
1065-
			canFire = true
1065+
                for i=1,ASpeed do 
1066-
		end
1066+
1067-
	elseif spell == 5 then
1067+
                SetWeld(wShield,0,i,ASpeed,AA,AA2,v3(0,0.6,0),v3(90,0,-90),1) 
1068-
		--Thius Dae, health-based class. Seep life from your enemies to save yourself. Works as a general defense against multiple enemies.
1068+
1069-
		canFire = false
1069+
                SetWeld(wHandle,0,i,ASpeed,BB,v3(110,0,0),v3(2,3,0.75+SHH),v3(-90+180,-45-90,90-180),1) 
1070-
		Player.Character[Name].Source.Mesh.MeshType = "Brick"
1070+
1071-
		Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
1071+
                wait() 
1072-
		Player.Character[Name].Source.Transparency = 0.25
1072+
1073-
		Player.Character[Name].Source.BrickColor = BrickColor.new("Really black")
1073+
                end
1074-
		Player.Character[Name].Handle.Charge4.Looped = true
1074+
1075-
		Player.Character[Name].Handle.Charge4.Volume = 1
1075+
        local wLA,wLA2=GetWeld(LAW)
1076-
		Player.Character[Name].Handle.Charge4.Pitch = 1
1076+
1077-
		Player.Character[Name].Handle.Charge4:Play()
1077+
        local wRA,wRA2=GetWeld(RAW)
1078-
		for i = 0, 10 do
1078+
1079-
			Player.Character[Name].Source.Mesh.Scale = Player.Character[Name].Source.Mesh.Scale * 1.11
1079+
                for i=1,ASpeed do 
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)))
1080+
1081-
			wait()
1081+
                SetWeld(LAW,0,i,ASpeed,wLA,wLA2,OrigLA,OrigLA2,1) 
1082-
		end
1082+
1083-
		for i = 0, math.huge, 0.1 do
1083+
                SetWeld(RAW,0,i,ASpeed,wRA,wRA2,OrigRA,OrigRA2,1) 
1084-
			if Button1Down == false then break end
1084+
1085-
			if Player.Character == nil then break end
1085+
                wait() 
1086-
			if Player.Character:FindFirstChild("Humanoid") == nil then break end
1086+
1087-
			if Player.Character.Humanoid.Health <= 0 then break end
1087+
                end
1088-
			if Player.Character:FindFirstChild(Name) == nil then break end
1088+
1089-
			if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
1089+
        Arms()
1090-
			if Player.Character[Name]:FindFirstChild("Source") == nil then break end
1090+
1091-
			if power <= 0 then break end
1091+
        Anim='None'
1092-
			local endstr = string.sub(tostring(i), string.len(tostring(i)), string.len(tostring(i)))
1092+
1093-
			if endstr == "0" or endstr == "2" or endstr == "4" or endstr == "6" or endstr == "8" then
1093+
        end
1094-
				power = power - 1
1094+
1095-
			end
1095+
end) --deselect
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)))
1096+
1097-
			Player.Character[Name].Source.Mesh.Scale = Vector3.new(math.sin(i) + 3, math.sin(i) + 3, math.sin(i) + 3)
1097+
1098-
			local shine = Instance.new("Part")
1098+
1099-
			shine.Name = "Shine"
1099+
1100-
			shine.FormFactor = "Custom"
1100+
print(#Pack:children())
1101-
			shine.Shape = "Block"
1101+
1102-
			shine.CanCollide = false
1102+
Root.C0=cn(0,0,0)*ca(0,0,0)
1103-
			shine.Anchored = true
1103+
1104-
			shine.BrickColor = BrickColor.new("Really black")
1104+
Root.C1=cn(0,0,0)*ca(0,0,0)
1105-
			shine.TopSurface = 0
1105+
1106-
			shine.BottomSurface = 0
1106+
Arms()
1107-
			shine.Size = Vector3.new(1, 1, 1)
1107+
1108-
			shine.Transparency = 0.25
1108+
Legs()
1109-
			shine.CFrame = CFrame.new(Player.Character[Name].Source.Position)
1109+
1110-
			shine.Parent = Workspace
1110+
1111-
			local mesh = Instance.new("SpecialMesh")
1111+
1112-
			mesh.MeshType = "Brick"
1112+
1113-
			local random = math.random(3, 10) / 10
1113+
WalkAnim=0
1114-
			mesh.Scale = Vector3.new(random, random, random)
1114+
1115-
			mesh.Parent = shine
1115+
Walking=false
1116-
			coroutine.resume(coroutine.create(function(part)
1116+
1117-
				for i = 0.25 * 25, 25 do
1117+
Humanoid.Running:connect(function(Walk)
1118-
					part.Transparency = i / 25
1118+
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)))
1119+
Walking=Walk>0 and true or false
1120-
					wait(math.random(1, 5) / 100)
1120+
1121-
				end
1121+
end)
1122-
				part:Remove()
1122+
1123-
			end), shine)
1123+
1124-
			for _, model in pairs(Workspace:GetChildren()) do
1124+
1125-
				if model ~= Player.Character then
1125+
1126-
					if model:FindFirstChild("Torso") ~= nil and model:FindFirstChild("Humanoid") ~= nil then
1126+
WalkSpeed={1,1,1,1,1,1,1,1}
1127-
						if (Player.Character.Torso.Position - model.Torso.Position).magnitude <= 25 then
1127+
1128-
							local trail = Instance.new("Part")
1128+
Anim='None'
1129-
							trail.BrickColor = BrickColor.new("Really black")
1129+
1130-
							trail.TopSurface = 0
1130+
ASpeed=10
1131-
							trail.BottomSurface = 0
1131+
1132-
							trail.Size = Vector3.new(1, 1, 1)
1132+
OrigLA=v3(-1.5,0.5,0) OrigLA2=v3(0,0,0)
1133-
							trail.Transparency = 0.4
1133+
1134-
							trail.Anchored = true
1134+
OrigRA=v3( 1.5,0.5,0) OrigRA2=v3(0,0,0)
1135-
							trail.CanCollide = false
1135+
1136-
							trail.CFrame = CFrame.new((Player.Character[Name].Source.Position + model.Torso.Position) / 2, model.Torso.Position)
1136+
--Pose
1137-
							trail.Parent = Workspace
1137+
1138-
							local mesh = Instance.new("SpecialMesh")
1138+
PoseLA=v3(-1.5,0.5,0) PoseLA2=v3(20,0,0)
1139-
							mesh.MeshType = "Brick"
1139+
1140-
							mesh.Scale = Vector3.new(math.random(2, 5) / 10, math.random(2, 5) / 10, (model.Torso.Position - Player.Character[Name].Source.Position).magnitude)
1140+
PoseRA=v3( 1.5,0.5,0) PoseRA2=v3(0,0,20)
1141-
							mesh.Parent = trail
1141+
1142-
							coroutine.resume(coroutine.create(function(part) wait() part:Remove() end), trail)
1142+
PoseHandle=v3(0,-1,0) PoseHandle2=v3(-90,0,0)
1143-
							if model.Humanoid.Health > 0 then
1143+
1144-
								model.Humanoid:TakeDamage(1.25)
1144+
PoseRT=v3(0,0,0) PoseRT2=v3(0,0,0)
1145-
								Player.Character.Humanoid.Health = Player.Character.Humanoid.Health + (1.25 / 2)
1145+
1146-
							elseif model.Humanoid.Health <= 0 then
1146+
PoseNE=v3(0,1.5,0) PoseNE2=v3(0,0,0)
1147-
								model.Humanoid.Health = 0
1147+
1148-
								model.Humanoid.Name = "HumanoidAbsorbed"
1148+
-----
1149-
								for _, part in pairs(model:GetChildren()) do
1149+
1150-
									if part.ClassName == "Part" then
1150+
WPoseLA=v3(-1.25,0.5,0) WPoseLA2=v3(-35,0,-20) 
1151-
										local position = Instance.new("BodyPosition")
1151+
1152-
										position.Name = "Thius Dae"
1152+
WPoseRA=PoseRA WPoseRA2=v3(-45,5,0)
1153-
										position.maxForce = Vector3.new(math.huge, math.huge, math.huge)
1153+
1154-
										position.P = 1000
1154+
WPoseHandle=v3(0,-1,0) WPoseHandle2=v3(-90/1.5,0,0)
1155-
										position.D = 50
1155+
1156-
										position.Parent = part
1156+
while Pack.Parent do
1157-
										position.position = Player.Character[Name].Source.Position
1157+
1158-
										coroutine.resume(coroutine.create(function() while position.Parent ~= nil do position.position = Player.Character[Name].Source.Position part.CanCollide = false wait() end end))
1158+
WalkAnim=WalkAnim+(Walking and (Anim=='Equipped' and 1 or -1) or -1)
1159-
										coroutine.resume(coroutine.create(function() wait(3.5) position:Remove() end))
1159+
1160-
									end
1160+
if WalkAnim<0 then WalkAnim=0 elseif WalkAnim>14 then WalkAnim=14 end 
1161-
								end
1161+
1162-
								Player.Character.Humanoid.Health = Player.Character.Humanoid.Health + 5
1162+
        if Anim=='Equipped' and LAW.Part1==LA then 
1163-
								power = power + 25
1163+
1164-
								Player.Character[Name].Handle.Fire4.Looped = false
1164+
        SetWeld(LAW,0,WalkAnim,14,PoseLA,PoseLA2,WPoseLA,WPoseLA2,1) 
1165-
								Player.Character[Name].Handle.Fire4.Volume = 1
1165+
1166-
								Player.Character[Name].Handle.Fire4.Pitch = 1
1166+
        SetWeld(RAW,0,WalkAnim,14,PoseRA,PoseRA2,WPoseRA,WPoseRA2,1) 
1167-
								Player.Character[Name].Handle.Fire4:Play()
1167+
1168-
							end
1168+
        SetWeld(wHandle,0,WalkAnim,14,PoseHandle,PoseHandle2,WPoseHandle,WPoseHandle2,1) 
1169-
						end
1169+
1170-
					end
1170+
        end
1171-
				end
1171+
1172-
			end
1172+
local ws=16 for i=1,#WalkSpeed do ws=ws*WalkSpeed[i] end Humanoid.WalkSpeed=ws
1173-
			wait()
1173+
1174-
		end
1174+
        --Trailing Package
1175-
		for i = 0, 25 do
1175+
1176-
			Player.Character[Name].Source.Mesh.Scale = Player.Character[Name].Source.Mesh.Scale / 1.15
1176+
        for i,v in pairs(Traili) do 
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)))
1177+
1178-
			Player.Character[Name].Handle.Charge4.Volume = (25 - i) / 25
1178+
        if Trails[v[1]] then
1179-
			wait()
1179+
1180-
		end
1180+
        local obj,ofs,col,lastofs=v[1],v[2],v[3],v[4]
1181-
		Player.Character[Name].Handle.Charge4:Stop()
1181+
1182-
		Player.Character[Name].Source.Transparency = 1
1182+
        local length=(obj.CFrame*ofs.p-lastofs.p).magnitude
1183-
		Player.Character[Name].Source.Weld.C0 = CFrame.new()
1183+
1184-
		canFire = true
1184+
        local ob=iPart{Pack,0.5,length,0.5,co=col,tr=0.5,an=true,cf=CFrame.new(obj.CFrame*ofs.p,lastofs.p)}
1185-
	elseif spell == 6 then
1185+
1186-
		--Thius Heed, health-based class. Heal people around you and sheild them.
1186+
        iNew{'CylinderMesh',ob}
1187-
		canFire = false
1187+
1188-
		Player.Character[Name].Source.Mesh.MeshType = "Sphere"
1188+
        Traili[i][4]=ob.CFrame
1189-
		Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
1189+
1190-
		Player.Character[Name].Source.Transparency = 0.25
1190+
        ob.CFrame=ob.CFrame*cn(0,0,-length/2)*ca(90,0,0)
1191-
		Player.Character[Name].Source.BrickColor = BrickColor.new("Institutional white")
1191+
1192-
		Player.Character[Name].Source.Fire.Enabled = true
1192+
        TrailPack[#TrailPack+1]={ob,1,-0.1}
1193-
		Player.Character[Name].Source.Fire.Heat = 10
1193+
1194-
		Player.Character[Name].Source.Fire.Size = 1
1194+
        else
1195-
		Player.Character[Name].Source.Fire.Color = Color3.new(1, 1, 1)
1195+
1196-
		Player.Character[Name].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
1196+
        Traili[i]=nil
1197-
		Player.Character[Name].Handle.Shine.Looped = true
1197+
1198-
		Player.Character[Name].Handle.Shine.Volume = 1
1198+
        end
1199-
		Player.Character[Name].Handle.Shine.Pitch = 1
1199+
1200-
		Player.Character[Name].Handle.Shine:Play()
1200+
        end
1201-
		for i = 0, 5 do
1201+
1202-
			Player.Character[Name].Source.Mesh.Scale = Player.Character[Name].Source.Mesh.Scale * 1.2
1202+
        for i,v in pairs(TrailPack) do 
1203-
			Player.Character[Name].Source.Fire.Size = Player.Character[Name].Source.Fire.Size * 1.2
1203+
1204-
			wait()
1204+
        v[2]=v[2]+v[3]
1205-
		end
1205+
1206-
		local heed = Instance.new("ForceField")
1206+
        if v[2]<=0 then 
1207-
		heed.Name = "HeedShield"
1207+
1208-
		for i = 0, math.huge, 0.1 do
1208+
        v[1]:Remove()
1209-
			if Button1Down == false then break end
1209+
1210-
			if Player.Character == nil then break end
1210+
        TrailPack[i]=nil 
1211-
			if Player.Character:FindFirstChild("Humanoid") == nil then break end
1211+
1212-
			if Player.Character.Humanoid.Health <= 0 then break end
1212+
        else
1213-
			if Player.Character:FindFirstChild(Name) == nil then break end
1213+
1214-
			if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
1214+
        v[1].Transparency=0.5+(0.45-0.45*v[2])
1215-
			if Player.Character[Name]:FindFirstChild("Source") == nil then break end
1215+
1216-
			if power <= 0 then break end
1216+
        v[1].Mesh.Scale=v3(v[2],1,v[2])
1217-
			local endstr = string.sub(tostring(i), string.len(tostring(i)), string.len(tostring(i)))
1217+
1218-
			if endstr == "0" or endstr == "2" or endstr == "4" or endstr == "6" or endstr == "8" then
1218+
        end
1219-
				power = power - 1
1219+
1220-
			end
1220+
        end
1221-
			Player.Character[Name].Source.Mesh.Scale = Vector3.new(math.sin(i) + 3, math.sin(i) + 3, math.sin(i) + 3)
1221+
1222-
			Player.Character[Name].Source.Fire.Size = math.sin(i) + 10
1222+
        --DoLoop Package
1223-
			Player.Character[Name].Source.Fire.Heat = math.sin(i) + 10
1223+
1224-
			for _, model in pairs(Workspace:GetChildren()) do
1224+
        for i,v in pairs(LoopFunctions) do 
1225-
				if model:FindFirstChild("Torso") ~= nil and model:FindFirstChild("Humanoid") ~= nil then
1225+
1226-
					if (Player.Character.Torso.Position - model.Torso.Position).magnitude <= 25 then
1226+
        v[2]=v[2]+1
1227-
						local trail = Instance.new("Part")
1227+
1228-
						trail.BrickColor = BrickColor.new("Institutional white")
1228+
        v[3](v[2]/v[1])
1229-
						trail.TopSurface = 0
1229+
1230-
						trail.BottomSurface = 0
1230+
        if v[1]<=v[2] then LoopFunctions[i]=nil end 
1231-
						trail.Size = Vector3.new(1, 1, 1)
1231+
1232-
						trail.Transparency = 0.4
1232+
        end
1233-
						trail.Anchored = true
1233+
1234-
						trail.CanCollide = false
1234+
        HitBox.CFrame=Handle.CFrame*HitBoxCF
1235-
						trail.CFrame = CFrame.new((Player.Character[Name].Source.Position + model.Torso.Position) / 2, model.Torso.Position)
1235+
1236-
						trail.Parent = Workspace
1236+
        HitBox.Velocity=v3(0,0,0) HitBox.RotVelocity=v3(0,0,0)
1237-
						local mesh = Instance.new("SpecialMesh")
1237+
1238-
						mesh.MeshType = "Brick"
1238+
wait()
1239-
						mesh.Scale = Vector3.new(math.random(2, 5) / 10, math.random(2, 5) / 10, (model.Torso.Position - Player.Character[Name].Source.Position).magnitude)
1239+
1240-
						mesh.Parent = trail
1240+