View difference between Paste ID: srGdjpF2 and F4aKiLTB
SHOW: | | - or go back to the newest paste.
1-
--[[
1+
local player = game.Players.boshadog
2-
Script Version 1.4
2+
local char = player.Character
3-
3+
-- Body parts
4-
Wand generation A3000, A.K.A. Wanda, was used by novice warlocks and witches to practice/use magic.
4+
local torso = char.Torso
5-
It was developed by the UMTAWC (United Magical Theory And Wizardry Comittee, abbreviation pronounced "um-talk")
5+
-- Tool declarations
6-
Wood carved and infused with magic properties by DarkShadow6
6+
local mouseDown = false
7-
--]]
7+
local keysDown = {}
8-
--http://www.roblox.com/Asset/?id=22968437
8+
local raisingAir = false
9-
9+
local raisingTower = false
10-
if script == nil then return end
10+
local ra1singTower = false
11-
11+
local groundAttack = false
12-
12+
local Lightbendd = false
13-
Player = game.Players.LocalPlayer
13+
local AvatarField  = false
14-
Char = Player.Character
14+
local lastTower = nil
15-
animate = Char:findFirstChild("Animate")
15+
local raisingTow3r = false
16-
if animate then
16+
local disabled = {}
17-
animate:Destroy()
17+
local frames = {}
18
local parts = {}
19-
Name = "Wanda"
19+
-- Main
20-
selected = false
20+
function main(mouse)
21-
Button1Down = false
21+
        while true do wait(1/30)
22-
canFire = true
22+
                local look = CFrame.new(torso.Position, torso.Position + mouse.Hit.lookVector)
23-
spell = 0
23+
                
24-
spellHotkey1 = 0
24+
                -- Reset parts
25-
spellHotkey2 = 0
25+
                parts = {}
26-
spellHotkey3 = 0
26+
                
27-
spellHotkey1Delay = 0
27+
                -- Get parts
28-
spellHotkey2Delay = 0
28+
                for x = -20, 20, 10 do
29-
spellHotkey3Delay = 0
29+
                        for y = -20, 20, 10 do
30-
spellText = "None"
30+
                                for z = -30, -10, 10 do
31-
power = 1000000
31+
                                        local pos = look * Vector3.new(x, y, z)
32-
32+
                                        getPartsInRegion3(
33-
33+
                                                Region3.new(
34-
spellGui = Instance.new("ScreenGui")
34+
                                                        pos + Vector3.new(1,1,1)*-9,
35-
spellGui.Name = Name
35+
                                                        pos + Vector3.new(1,1,1)* 9
36-
local frame = Instance.new("Frame")
36+
                                                ),
37-
frame.Name = "Frame"
37+
                                                parts
38-
frame.Size = UDim2.new(0, 165, 0, 60)
38+
                                        )
39-
frame.Position = UDim2.new(0, 0, 1, -60)
39+
                                end
40-
frame.BackgroundColor3 = Color3.new(1, 1, 1)
40+
                        end
41-
frame.BorderColor3 = Color3.new(0, 0, 0)
41+
                end
42-
frame.Parent = spellGui
42+
                
43-
local label = Instance.new("TextLabel")
43+
                -- Mouse down
44-
label.Name = "Weapon"
44+
                if mouseDown then
45-
label.Text = "Weapon: " ..Name
45+
                        -- Create dif and bodies
46-
label.Size = UDim2.new(1, 0, 0, 20)
46+
                        for _, part in pairs(parts) do
47-
label.Position = UDim2.new(0, 0, 0, 0)
47+
                                if part.Name == "Air" and not disabled[part] then
48-
label.BackgroundColor3 = Color3.new(1, 0, 0)
48+
                                        if not frames[part] and part ~= lastTower then
49-
label.BorderColor3 = Color3.new(0, 0, 0)
49+
                                                frames[part] = look:toObjectSpace(part.CFrame)
50-
label.Parent = frame
50+
                                                
51-
local label = Instance.new("TextLabel")
51+
                                                part:ClearAllChildren()
52-
label.Name = "SpellPrefix"
52+
                                                part.Anchored = false
53-
label.Text = "    Spell:"
53+
                                                
54-
label.TextXAlignment = "Left"
54+
                                                -- Create bodies
55-
label.Size = UDim2.new(1, 0, 0, 20)
55+
                                                createBody("Position", part)
56-
label.Position = UDim2.new(0, 0, 0, 20)
56+
                                                createBody("Gyro", part)
57-
label.BackgroundColor3 = Color3.new(1, 1, 1)
57+
                                        end
58-
label.BorderColor3 = Color3.new(0, 0, 0)
58+
                                end
59-
label.Parent = frame
59+
                        end
60-
local label = Instance.new("TextLabel")
60+
                        
61-
label.Name = "Spell"
61+
                        -- Move bodies
62-
label.Text = "None"
62+
                        for part in pairs(frames) do
63-
label.TextXAlignment = "Right"
63+
                                local bodyPos = part:FindFirstChild("BodyPosition")
64-
label.Size = UDim2.new(1, 0, 0, 20)
64+
                                local bodyGyr = part:FindFirstChild("BodyGyro")
65-
label.Position = UDim2.new(0, -10, 0, 20)
65+
                                
66-
label.BackgroundTransparency = 1
66+
                                -- Bodies exist
67-
label.BorderSizePixel = 0
67+
                                if bodyPos and bodyGyr then
68-
label.Parent = frame
68+
                                        local dif = look * frames[part]
69-
local label = Instance.new("TextLabel")
69+
                                        
70-
label.Name = "PowerPrefix"
70+
                                        bodyPos.position = dif.p
71-
label.Text = "    Power:"
71+
                                        bodyGyr.cframe = dif
72-
label.TextXAlignment = "Left"
72+
                                else
73-
label.Size = UDim2.new(1, 0, 0, 20)
73+
                                        frames[part] = nil
74-
label.Position = UDim2.new(0, 0, 0, 40)
74+
                                end
75-
label.BackgroundColor3 = Color3.new(1, 1, 1)
75+
                        end
76-
label.BorderColor3 = Color3.new(0, 0, 0)
76+
                else
77-
label.Parent = frame
77+
                        for part in pairs(frames) do
78-
local label = Instance.new("TextLabel")
78+
                                if part.Name == "Air" then
79-
label.Name = "Power"
79+
                                        frames[part] = nil
80-
label.Text = "100"
80+
                                        
81-
label.TextXAlignment = "Right"
81+
                                        part:ClearAllChildren()
82-
label.Size = UDim2.new(1, 0, 0, 20)
82+
                                end
83-
label.Position = UDim2.new(0, -10, 0, 40)
83+
                        end
84-
label.BackgroundTransparency = 1
84+
                end
85-
label.BorderSizePixel = 0
85+
        end
86-
label.Parent = frame
86+
87-
87+
-- On key change
88-
88+
function onKeyChange(mouse, key, state)
89-
function updateGui(format)
89+
        -- Raise Air
90-
	if selected == false then return end
90+
        if key == "e" and state and not raisingAir then
91-
	if Player:FindFirstChild("PlayerGui") == nil then Instance.new("PlayerGui").Parent = Player end
91+
                raisingAir = true
92-
	if Player.PlayerGui:FindFirstChild(Name) == nil then
92+
                while keysDown[key] do
93-
		spellGui:Clone().Parent = Player.PlayerGui
93+
                        local torsoY = torso.Position.y + 5
94-
	end
94+
                        local pos = planeY(torso.Position, 0.4 - 4/2)
95-
	Player.PlayerGui[Name].Frame.Spell.Text = spellText
95+
                        local dir = planeY(mouse.Hit.lookVector).unit
96-
	if power <= 0 then
96+
                        local frame = CFrame.new(pos, pos + dir) * CFrame.new(r(-10, 10), 0, r(-20, -5))
97-
		Player.PlayerGui[Name].Frame.Power.Text = "OVERHEAT (" ..math.abs(power).. ")"
97+
                        
98-
	else
98+
                        -- Create Air part
99-
		Player.PlayerGui[Name].Frame.Power.Text = power
99+
                        local part = createAir(workspace)
100-
	end
100+
                        part.Anchored = true
101
                        part.Size = Vector3.new(20, 5, 5)
102-
102+
                        disabled[part] = true
103-
103+
                        
104-
function updateSpellText()
104+
                        -- Raise Air
105-
	if spell == 1 then
105+
                        for i = 1, 4 do i = i/4
106-
		spellText = "Arefu Slash (1P)"
106+
                                part.CFrame = frame * CFrame.new(0, (torsoY - frame.y)*i, 0)
107-
	elseif spell == 2 then
107+
                                wait(1/30)
108-
		spellText = "Arefu Metoria (50P)"
108+
                                if not part.Anchored then
109-
	elseif spell == 3 then
109+
                                        break
110-
		spellText = "Eccrando Bolt (25P)"
110+
                                end
111-
	elseif spell == 4 then
111+
                        end
112-
		spellText = "Eccrando Strike (~60P)"
112+
                        
113-
	elseif spell == 5 then
113+
                        disabled[part] = nil
114-
		spellText = "Thius Dae (1P/2ms)"
114+
                        part.Anchored = false
115-
	elseif spell == 6 then
115+
                        
116-
		spellText = "Thius Heed (1P/2ms)"
116+
                        wait(1/10)
117-
	elseif spell == 7 then
117+
                end
118-
		spellText = "Combuscus Phore (75P)"
118+
                raisingAir = false
119-
	elseif spell == 8 then
119+
        
120-
		spellText = "Combuscus Burn (10P)"
120+
        -- Push Air
121-
	elseif spell == 9 then
121+
        elseif key == "f" and state then
122-
		spellText = "Combuscus Vortex (50P)"
122+
                for _, part in pairs(parts) do
123-
	elseif spell == 10 then
123+
                        if part.Name == "Air" and part ~= lastTower then
124-
		spellText = "C. Phore Nexus (100P)"
124+
                                part:ClearAllChildren()
125-
	elseif spell == 11 then
125+
                                part.Anchored = false
126-
		spellText = "Kanamla Cysis (2P/1sec)"
126+
                                
127-
	elseif spell == 12 then
127+
                                -- Add force
128-
		spellText = "Kanamla Tepidift (50P)"
128+
                                local bodyForce = createBody("Force", part)
129-
	elseif spell == 13 then
129+
                                bodyForce.force = mouse.Hit.lookVector*2.5e4 * part:GetMass()
130-
		spellText = "Kanamla Jump (5P)"
130+
                                
131-
	elseif spell == 14 then
131+
                                game.Debris:AddItem(bodyForce, 1/30)
132-
		spellText = "Candora Hide (2P/1sec)"
132+
                                
133-
	elseif spell == 15 then
133+
                                -- Disable part
134-
		spellText = "Duraen Control (1P/?ms)"
134+
                                disabled[part] = true
135-
	elseif spell == 16 then
135+
                                delay(1, function()
136-
		spellText = "Duraen Switch (?P)"
136+
                                        disabled[part] = nil
137-
	else
137+
                                end)
138-
		spellText = "None"
138+
                        end
139-
	end
139+
                end
140
if key == "c" and state and not Lightbendd then
141-
141+
Lightbendd = true
142-
142+
local Shoot = true 
143-
function makeParts(format)
143+
function Click(Target) 
144-
	local model = Instance.new("Model")
144+
if(Target.Target.Parent:findFirstChild("Humanoid")~=nil)then 
145-
	model.Name = Name
145+
Target.Target.Parent.Humanoid.Health = 0 
146-
	model.Parent = Player.Character
146+
end 
147-
	local pm = Instance.new("Part")
147+
local P = Instance.new("Part") 
148-
	pm.Name = "Handle"
148+
P.Name = "Lightning Bending" 
149-
	pm.FormFactor = "Custom"
149+
local Place0 = script.Parent.Parent.Parent.Character["Left Arm"].CFrame 
150-
	pm.Size = Vector3.new(1, 1, 1)
150+
P.formFactor = 0 
151-
	pm.BrickColor = BrickColor.new("Reddish brown")
151+
P.Size = Vector3.new(1,1,(Place0.p - Target.Hit.p).magnitude) 
152-
	pm.Locked = true
152+
P.CFrame = CFrame.new((Place0.p + Target.Hit.p)/2,Place0.p) 
153-
	pm.TopSurface = 0
153+
P.Parent = game.Workspace 
154-
	pm.BottomSurface = 0
154+
P.Color = Color3.new(0,0,7) 
155-
	pm.Parent = model
155+
P.Transparency = 0.5 
156-
	local m = Instance.new("SpecialMesh")
156+
P.Reflectance = 0.5 
157-
	m.MeshType = "Head"
157+
P.Anchored = true 
158-
	m.Scale = Vector3.new(0.3, 2, 0.3)
158+
P.CanCollide = false 
159-
	m.Parent = pm
159+
local E = Instance.new("Explosion") 
160-
	if format ~= nil then
160+
E.Position = Target.Hit.p 
161-
		local w = Instance.new("Weld")
161+
E.Parent = game.Workspace 
162-
		w.Part0 = pm
162+
for i = 1,10 do 
163-
		if format == "hand" then
163+
P.Transparency = 0.5+(i*0.05) 
164-
			w.Part1 = Player.Character:FindFirstChild("Right Arm")
164+
P.Reflectance = i*0.05 
165-
			w.C0 = CFrame.new(0, -0.75, 0.9) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
165+
wait(0.0) 
166-
			w.C1 = CFrame.new()
166+
end 
167-
			w.Parent = pm
167+
P:Rremove() 
168-
		elseif format == "holster" then
168+
end 
169-
			w.Part1 = Player.Character:FindFirstChild("Right Leg")
169+
function Select(Mouse) 
170-
			w.C0 = CFrame.new(0, 0.1, -0.55) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
170+
local Arm = script.Parent.Parent.Parent.Character:findFirstChild("Left Arm") 
171-
			w.C1 = CFrame.new()
171+
if(Arm==nil)then 
172-
			w.Parent = pm
172+
script.Parent:Remove() 
173-
			model.Name = Name.. " (Holstered)"
173+
script:Remove() 
174-
		else
174+
end 
175-
			print("Error: Incorrect format string!")
175+
Selected = true 
176-
		end
176+
local Torso = script.Parent.Parent.Parent.Character:findFirstChild("Torso") 
177-
	end
177+
if(Torso==nil)then 
178-
	local s = Instance.new("Sound")
178+
script.Parent:Remove() 
179-
	s.Name = "Shine"
179+
script:Remove() 
180-
	s.SoundId = "http://www.roblox.com/Asset/?id=2101144"
180+
end 
181-
	s.Volume = 1
181+
local ArmWeld = Torso:findFirstChild("Left Shoulder") 
182-
	s.Pitch = 1
182+
if(ArmWeld~=nil)then 
183-
	s.Looped = false
183+
ArmWeld.Parent = nil 
184-
	s.Parent = pm
184+
end 
185-
	local s = Instance.new("Sound")
185+
Mouse.Button1Down:connect(function()Click(Mouse)end) 
186-
	s.Name = "Bolt"
186+
Arm.Anchored = true 
187-
	s.SoundId = "http://www.roblox.com/Asset/?id=2974000"
187+
while Selected do 
188-
	s.Volume = 1
188+
local Place0 = script.Parent.Parent.Parent.Character.Torso.CFrame 
189-
	s.Pitch = 1
189+
Place0 = Place0 + ((Place0 * CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)).lookVector * 0.5) + (Place0 * CFrame.fromEulerAnglesXYZ(0,math.pi/2,0)).lookVector 
190-
	s.Looped = false
190+
local Place1 = Place0 + ((Place0.p-Mouse.Hit.p).unit * -2) 
191-
	s.Parent = pm
191+
Arm.CFrame = CFrame.new((Place0.p + Place1.p)/2,Place0.p) * CFrame.fromEulerAnglesXYZ(-math.pi/2,0,0) 
192-
	local s = Instance.new("Sound")
192+
wait() 
193-
	s.Name = "Impact1"
193+
end 
194-
	s.SoundId = "http://www.roblox.com/Asset/?id=10209596"
194+
Arm.Anchored = false 
195-
	s.Volume = 1
195+
if(ArmWeld~=nil)then 
196-
	s.Pitch = 1
196+
ArmWeld.Parent = Torso 
197-
	s.Looped = false
197+
end 
198-
	s.Parent = pm
198+
end 
199-
	local s = Instance.new("Sound")
199+
function Deselect() 
200-
	s.Name = "Charge1"
200+
Selected = false 
201-
	s.SoundId = "http://www.roblox.com/Asset/?id=1369158"
201+
end 
202-
	s.Volume = 1
202+
script.Parent.Selected:connect(Select) 
203-
	s.Pitch = 1
203+
script.Parent.Deselected:connect(Deselect) 
204-
	s.Looped = false
204+
205-
	s.Parent = pm
205+
         
206-
	local s = Instance.new("Sound")
206+
      elseif key == "k" and state and not ra1singTower then
207-
	s.Name = "Charge2"
207+
                ra1singTower = false
208-
	s.SoundId = "http://www.roblox.com/Asset/?id=2101137"
208+
                lastTower = nil
209-
	s.Volume = 1
209+
                if torso.Position.y - 5/2 < 20.4 then
210-
	s.Pitch = 1
210+
                        local part = createAir(workspace)
211-
	s.Looped = false
211+
                        part.Anchored = true
212-
	s.Parent = pm
212+
                        disabled[part] = true
213-
	local s = Instance.new("Sound")
213+
                        
214-
	s.Name = "Charge3"
214+
                        for i = 100, 50, 1 do
215-
	s.SoundId = "http://www.roblox.com/Asset/?id=2785493"
215+
                                part.Size = Vector3.new(19, i, 10)
216-
	s.Volume = 1
216+
                                part.CFrame = CFrame.new(torso.Position.x, 0.4 + part.Size.y/2, torso.Position.z)
217-
	s.Pitch = 1
217+
                                torso.CFrame = (torso.CFrame - torso.CFrame.p) + Vector3.new(torso.Position.x, part.Position.y + part.Size.y/2 + 5/2, torso.Position.z)
218-
	s.Looped = false
218+
                                wait(1/30)
219-
	s.Parent = pm
219+
                        end
220-
	local s = Instance.new("Sound")
220+
                        
221-
	s.Name = "Charge4"
221+
                        lastTower = part
222-
	s.SoundId = "http://www.roblox.com/Asset/?id=35275769"
222+
                        
223-
	s.Volume = 1
223+
                        disabled[part] = nil
224-
	s.Pitch = 1
224+
                        part.Anchored = false
225-
	s.Looped = false
225+
                end
226-
	s.Parent = pm
226+
                ra1singTower = false
227-
	local s = Instance.new("Sound")
227+
       
228-
	s.Name = "Fire1"
228+
-- Avatar field
229-
	s.SoundId = "http://www.roblox.com/Asset/?id=10209268"
229+
elseif key == "h" and state and not AvatarField then
230-
	s.Volume = 1
230+
AvatarField = true
231-
	s.Pitch = 1
231+
local player = game.Players.LocalPlayer
232-
	s.Looped = false
232+
local e = Instance.new("Part")
233-
	s.Parent = pm
233+
e.Name = "Field"
234-
	local s = Instance.new("Sound")
234+
e.Anchored = true
235-
	s.Name = "Fire2"
235+
e.CanCollide = false
236-
	s.SoundId = "http://www.roblox.com/Asset/?id=13775466"
236+
e.FormFactor = "Symmetric"
237-
	s.Volume = 1
237+
local range = 30
238-
	s.Pitch = 1
238+
e.Size = Vector3.new(range,1,range)
239-
	s.Looped = false
239+
e.BrickColor = BrickColor.new("Bright blue")
240-
	s.Parent = pm
240+
e.Transparency = 0.5
241-
	local s = Instance.new("Sound")
241+
e.TopSurface, e.BottomSurface = "Smooth", "Smooth"
242-
	s.Name = "Fire3"
242+
Instance.new("CylinderMesh", e)
243-
	s.SoundId = "http://www.roblox.com/Asset/?id=2767090"
243+
local eRep = e:clone()
244-
	s.Volume = 1
244+
local E = e:clone()
245-
	s.Pitch = 1
245+
E.Transparency = 1
246-
	s.Looped = false
246+
E.Shape = "Ball"
247-
	s.Parent = pm
247+
E.Size = Vector3.new(10,10,10)
248-
	local s = Instance.new("Sound")
248+
E.Mesh:Destroy()
249-
	s.Name = "Fire4"
249+
E.Parent = e
250-
	s.SoundId = "http://www.roblox.com/Asset/?id=2800815"
250+
local E2 = E:clone()
251-
	s.Volume = 1
251+
E2.Transparency = 1
252-
	s.Pitch = 1
252+
E2.Size = Vector3.new(range,range,range)
253-
	s.Looped = false
253+
local E2Rep = E2:clone()
254-
	s.Parent = pm
254+
E2.Parent = E
255-
	local s = Instance.new("Sound")
255+
local ERep = E:clone()
256-
	s.Name = "Fire5"
256+
local close1, dist1 = Vector3.new(0,0,0), math.huge
257-
	s.SoundId = "http://www.roblox.com/Asset/?id=2974249"
257+
local df = Instance.new("IntValue", player.Character)
258-
	s.Volume = 1
258+
df.Name = "Avatar State"
259-
	s.Pitch = 1
259+
function Get(place, p)
260-
	s.Looped = false
260+
    for _, v in ipairs(place:GetChildren()) do
261-
	s.Parent = pm
261+
        local vPar = v.Parent
262-
	local p = Instance.new("Part")
262+
        if v:IsA("BasePart") and v.Name ~= "Base" and v.Name ~= "Terrain" and not v.Name:find(player.Name) and v.Name ~= "NoDestroy" then
263-
	p.Name = "Source"
263+
            local dist = (v.Position - e.Position).magnitude
264-
	p.FormFactor = "Custom"
264+
            local closest = dist
265-
	p.Size = Vector3.new(1, 1, 1)
265+
            local distf = ((v.Position + (v.CFrame*CFrame.Angles(0,math.deg(0),0).lookVector) * v.Size.X/2) - e.Position).magnitude
266-
	p.Transparency = 1
266+
            local distb = ((v.Position + (v.CFrame*CFrame.Angles(0,math.deg(180),0)).lookVector * v.Size.Z/2) - e.Position).magnitude
267-
	p.BrickColor = BrickColor.new("Really black")
267+
            local distt = ((v.Position + (v.CFrame*CFrame.Angles(math.deg(90),0,0)).lookVector * v.Size.Y/2) - e.Position).magnitude
268-
	p.CanCollide = false
268+
            local distB = ((v.Position + (v.CFrame*CFrame.Angles(math.deg(-90),0,0)).lookVector * v.Size.Y/2) - e.Position).magnitude
269-
	p.Locked = true
269+
            local distl = ((v.Position + (v.CFrame*CFrame.Angles(0,math.deg(90),0)).lookVector * v.Size.X/2) - e.Position).magnitude
270-
	p.TopSurface = 0
270+
            local distr = ((v.Position + (v.CFrame*CFrame.Angles(0,math.deg(-90),0)).lookVector * v.Size.X/2) - e.Position).magnitude
271-
	p.BottomSurface = 0
271+
            local dists = {distf, distb, distt, distB, distl, distr}
272-
	p.Parent = model
272+
            for index, var in ipairs(dists) do
273-
	local m = Instance.new("SpecialMesh")
273+
                if var < closest then
274-
	m.MeshType = "Sphere"
274+
                    closest = var
275-
	m.Scale = Vector3.new(1, 1, 1)
275+
                end
276-
	m.Parent = p
276+
            end
277-
	local w = Instance.new("Weld")
277+
            if closest < dist1 then
278-
	w.Part0 = p
278+
                close1, dist1 = v.Position, closest
279-
	w.Part1 = pm
279+
            end
280-
	w.C0 = CFrame.new()
280+
            if closest <= range/2 then
281-
	w.C1 = CFrame.new(0, 1, 0)
281+
                if game.Players:playerFromCharacter(v.Parent) then
282-
	w.Parent = p
282+
                    pcall(function()
283-
	local f = Instance.new("Fire")
283+
                        local p = game.Players:playerFromCharacter(v.Parent)
284-
	f.Enabled = false
284+
                        if not p.Character:findFirstChild("Darkfield") then
285-
	f.Name = "Fire"
285+
                            local T = p.Character:findFirstChild("Torso")
286-
	f.Heat = 0
286+
                            T.CFrame = T.CFrame + CFrame.new(e.Position, T.Position).lookVector
287-
	f.Size = 1
287+
                        else
288-
	f.Parent = p
288+
                            local m = Instance.new("SpecialMesh", E2)
289
                            m.MeshType = "Sphere"
290-
290+
                            E2.Reflectance = 1000
291-
291+
                            E2.BrickColor = BrickColor.new("Institutional white")
292-
function removeParts(format)
292+
                            E2.Transparency = 0
293-
	if format == "hand" then
293+
                            m.Scale = Vector3.new(math.random(-10,10)/10, math.random(-10,10)/10, math.random(-10,10)/10)
294-
		if Player.Character:FindFirstChild(Name) ~= nil then
294+
                        end
295-
			Player.Character[Name]:Remove()
295+
                    end)
296-
		end
296+
                end
297-
	elseif format == "holster" then
297+
                local T = player.Character.Torso
298-
		if Player.Character:FindFirstChild(Name.. " (Holstered)") ~= nil then
298+
                pcall(function()
299-
			Player.Character[Name.. " (Holstered)"]:Remove()
299+
                    if v.Name ~= "Field" and v.Name ~= "Handle" then
300-
		end
300+
                        v.Anchored = false
301-
	end
301+
                        v.Velocity = v.Velocity + CFrame.new(T.Position, v.Position).lookVector * 50 / math.sqrt((v.Position - T.Position).magnitude)
302
                    end
303-
303+
                end)
304-
304+
                for X, Y in ipairs(v:GetChildren()) do
305-
function SetAngle(Joint, Angle, Character)
305+
                    if Y.ClassName:find("Body") then
306-
	if Character == nil then return false end
306+
                        pcall(function() Y.force = -Y.force end)
307-
	local Joints = {
307+
                        local vel = Vector3.new()
308-
		Character.Torso:FindFirstChild("Right Shoulder 2"),
308+
                        pcall(function() vel = -Y.velocity end)
309-
		Character.Torso:FindFirstChild("Left Shoulder 2"),
309+
                        pcall(function() Y.velocity = vel end)
310-
		Character.Torso:FindFirstChild("Right Hip 2"),
310+
                        local pos = Vector3.new()
311-
		Character.Torso:FindFirstChild("Left Hip 2")
311+
                        pcall(function() pos = pos + CFrame.new(T.Position, v.Position).lookVector end)
312-
	}
312+
                        pcall(function() Y.position = pos end)
313-
	if Joints[Joint] == nil then return false end
313+
                        wait()
314-
	if Joint == 1 or Joint == 3 then
314+
                        pcall(function() if Y.ClassName == "BodyVelocity" then if Y.velocity ~= vel then Y.maxForce = Vector3.new(0,0,0) end end end)
315-
		Joints[Joint].DesiredAngle = Angle
315+
                        pcall(function() if Y.ClassName == "BodyPosition" then if Y.position ~= pos then Y.maxForce = Vector3.new(0,0,0) end end end)
316-
	end
316+
                        pcall(function() Y.maxTorque = Vector3.new(0,0,0) end)
317-
	if Joint == 2 or Joint == 4 then
317+
                    end
318-
		Joints[Joint].DesiredAngle = -Angle
318+
                end
319-
	end
319+
            end
320
        end
321-
321+
        if v.Name ~= player.Name then
322-
322+
            Get(v, game.Players:playerFromCharacter(v) or p)
323-
function ForceAngle(Joint, Angle, Character)
323+
        end
324-
	if Character == nil then return false end
324+
    end
325-
	local Joints = {
325+
326-
		Character.Torso:FindFirstChild("Right Shoulder 2"),
326+
local char = player.Character
327-
		Character.Torso:FindFirstChild("Left Shoulder 2"),
327+
Delay(0, function()
328-
		Character.Torso:FindFirstChild("Right Hip 2"),
328+
    while player.Character == char do
329-
		Character.Torso:FindFirstChild("Left Hip 2")
329+
        if math.random(1, 10) == 1 then
330-
	}
330+
            for _, v in ipairs(player.Character:GetChildren()) do
331-
	if Joints[Joint] == nil then return false end
331+
                if v.Name == "Field" then
332-
	if Joint == 1 or Joint == 3 then
332+
                    v:Destroy()
333-
		Joints[Joint].DesiredAngle = Angle
333+
                end
334-
		Joints[Joint].CurrentAngle = Angle
334+
            end
335-
	end
335+
            local trans = e.Transparency
336-
	if Joint == 2 or Joint == 4 then
336+
            if e then
337-
		Joints[Joint].DesiredAngle = -Angle
337+
                e:Destroy()
338-
		Joints[Joint].CurrentAngle = -Angle
338+
            end
339-
	end
339+
            e = eRep
340
            eRep = e:clone()
341-
341+
            e.Parent = player.Character
342-
342+
            if E then
343-
function SetSpeed(Joint, Speed, Character)
343+
                E:Destroy()
344-
	if Character == nil then return false end
344+
            end
345-
	local Joints = {
345+
            E = ERep
346-
		Character.Torso:FindFirstChild("Right Shoulder 2"),
346+
            ERep = E:clone()
347-
		Character.Torso:FindFirstChild("Left Shoulder 2"),
347+
            E.Parent = e
348-
		Character.Torso:FindFirstChild("Right Hip 2"),
348+
            E2 = E2Rep
349-
		Character.Torso:FindFirstChild("Left Hip 2")
349+
            E2Rep = E2:clone()
350-
	}
350+
            E2.Parent = E
351-
	if Joints[Joint] == nil then return false end
351+
            E2.Transparency = .1 + .1*math.min(math.max(dist1-range/2, 0)/(range/2), 1)
352-
	Joints[Joint].MaxVelocity = Speed
352+
        end
353
        e.CFrame = player.Character.Torso.CFrame - Vector3.new(0,3,0)
354-
354+
        E.CFrame = player.Character.Torso.CFrame
355-
355+
        E2.CFrame = e.CFrame
356-
function DisableLimb(Limb, Character)
356+
        close1, dist1 = Vector3.new(0,0,0), math.huge
357-
	if Character == nil then return false end
357+
        Get(workspace)
358-
	if Character:FindFirstChild("Torso") == nil then return false end
358+
        wait(1/30)
359-
	local Joints = {
359+
        E2.Transparency = .6 + .4*math.min(math.max(dist1-range/2, 0)/(range/2), 1)
360-
		Character.Torso:FindFirstChild("Right Shoulder"),
360+
        AvatarField = false
361-
		Character.Torso:FindFirstChild("Left Shoulder"),
361+
    end
362-
		Character.Torso:FindFirstChild("Right Hip"),
362+
end)
363-
		Character.Torso:FindFirstChild("Left Hip")
363+
        elseif key == "t" and state and not raisingTow3r then
364-
	}
364+
                raisingTow3r = false
365-
	local Limbs = {
365+
                lastTower = nil
366-
		Character:FindFirstChild("Right Arm"),
366+
                if torso.Position.y - 5/2 < 20.4 then
367-
		Character:FindFirstChild("Left Arm"),
367+
                        local part = createAir(workspace)
368-
		Character:FindFirstChild("Right Leg"),
368+
                        part.Anchored = true
369-
		Character:FindFirstChild("Left Leg")
369+
                        disabled[part] = true
370-
	}
370+
                        
371-
	if Joints[Limb] == nil then return false end
371+
                        for i = 0, 20, 4 do
372-
	if Limbs[Limb] == nil then return false end
372+
                                part.Size = Vector3.new(9, i, 9)
373-
	local Joint = Instance.new("Motor")
373+
                                part.CFrame = CFrame.new(torso.Position.x, 0.4 + part.Size.y/2, torso.Position.z)
374-
	Joint.Parent = Character.Torso
374+
                                torso.CFrame = (torso.CFrame - torso.CFrame.p) + Vector3.new(torso.Position.x, part.Position.y + part.Size.y/2 + 5/2, torso.Position.z)
375-
	Joint.Part0 = Character.Torso
375+
                                wait(1/30)
376-
	Joint.Part1 = Limbs[Limb]
376+
                        end
377-
	if Limb == 1 then
377+
                        
378-
		Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
378+
                        lastTower = part
379-
		Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
379+
                        
380-
		Joint.Name = "Right Shoulder 2"
380+
                        disabled[part] = nil
381-
	elseif Limb == 2 then
381+
                        part.Anchored = false
382-
		Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
382+
                end
383-
		Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
383+
                raisingTow3r = false
384-
		Joint.Name = "Left Shoulder 2"
384+
        -- Break Air
385-
	elseif Limb == 3 then
385+
        elseif key == "b" and state then
386-
		Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
386+
                for part in pairs(frames) do
387-
		Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
387+
                        if part.Size == Vector3.new(4, 4, 4) then
388-
		Joint.Name = "Right Hip 2"
388+
                                for x = -1, 1, 2 do
389-
	elseif Limb == 4 then
389+
                                        for y = -1, 1, 2 do
390-
		Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
390+
                                                for z = -1, 1, 2 do
391-
		Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
391+
                                                        local oPart = createAir(workspace)
392-
		Joint.Name = "Left Hip 2"
392+
                                                        oPart.Size = Vector3.new(2, 2, 2)
393-
	end
393+
                                                        oPart.CFrame = part.CFrame * CFrame.new(x*1.1, y*1.1, z*1.1)
394-
	Joint.MaxVelocity = Joints[Limb].MaxVelocity
394+
                                                end
395-
	Joint.CurrentAngle = Joints[Limb].CurrentAngle
395+
                                        end
396-
	Joint.DesiredAngle = Joints[Limb].DesiredAngle
396+
                                end
397-
	Joints[Limb]:Remove()
397+
                                part:Destroy()
398
                        end
399-
399+
                end
400-
400+
        
401-
function ResetLimbCFrame(Limb, Character)
401+
                
402-
	if Character == nil then return false end
402+
        elseif key == "r" and state and not raisingTower then
403-
	if Character.Parent == nil then return false end
403+
                raisingTower = false
404-
	if Character:FindFirstChild("Torso") == nil then return false end
404+
                lastTower = nil
405-
	local Joints = {
405+
                if torso.Position.y - 5/2 < 20.4 then
406-
		Character.Torso:FindFirstChild("Right Shoulder 2"),
406+
                        local part = createAir(workspace)
407-
		Character.Torso:FindFirstChild("Left Shoulder 2"),
407+
                        part.Anchored = true
408-
		Character.Torso:FindFirstChild("Right Hip 2"),
408+
                        disabled[part] = true
409-
		Character.Torso:FindFirstChild("Left Hip 2")
409+
                        
410-
	}
410+
                        for i = 0, 40, 4 do
411-
	local Limbs = {
411+
                                part.Size = Vector3.new(5, i, 30)
412-
		Character:FindFirstChild("Right Arm"),
412+
                                part.CFrame = CFrame.new(torso.Position.x, 0.4 + part.Size.y/2, torso.Position.z)
413-
		Character:FindFirstChild("Left Arm"),
413+
                                torso.CFrame = (torso.CFrame - torso.CFrame.p) + Vector3.new(torso.Position.x, part.Position.y + part.Size.y/2 + 5/2, torso.Position.z)
414-
		Character:FindFirstChild("Right Leg"),
414+
                                wait(1/30)
415-
		Character:FindFirstChild("Left Leg")
415+
                        end
416-
	}
416+
                        
417-
	if Joints[Limb] == nil then return false end
417+
                        lastTower = part
418-
	if Limbs[Limb] == nil then return false end
418+
                        
419-
	if Limb == 1 then
419+
                        disabled[part] = nil
420-
		Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
420+
                        part.Anchored = false
421-
		Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
421+
                end
422-
	elseif Limb == 2 then
422+
                raisingTower = false
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+
        -- Ground attack
426-
		Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
426+
        elseif key == "g" and state and not groundAttack then
427-
		Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
427+
                groundAttack = true
428-
	elseif Limb == 4 then
428+
                delay(1, function()
429-
		Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
429+
                        groundAttack = false
430-
		Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
430+
                end)
431-
	end
431+
                
432
                local dir = planeY(mouse.Hit.p - torso.Position).unit
433-
433+
                local pos = planeY(torso.Position, 0.8 + 5) + dir*13
434-
434+
                
435-
function EnableLimb(Limb, Character)
435+
                local ground = {}
436-
	if Character == nil then return false end
436+
                
437-
	if Character:FindFirstChild("Torso") == nil then return false end
437+
                delay(20, function()
438-
	local Joints = {
438+
                        for i = 1, 30 do
439-
		Character.Torso:FindFirstChild("Right Shoulder 2"),
439+
                                for _, part in pairs(ground) do
440-
		Character.Torso:FindFirstChild("Left Shoulder 2"),
440+
                                        if part.Anchored then
441-
		Character.Torso:FindFirstChild("Right Hip 2"),
441+
                                                part.CFrame = part.CFrame + Vector3.new(0, -1/7, 0)
442-
		Character.Torso:FindFirstChild("Left Hip 2")
442+
                                        end
443-
	}
443+
                                end
444-
	local Limbs = {
444+
                                wait(1/80)
445-
		Character:FindFirstChild("Right Arm"),
445+
                        end
446-
		Character:FindFirstChild("Left Arm"),
446+
                        for _, part in pairs(ground) do
447-
		Character:FindFirstChild("Right Leg"),
447+
                                if part.Anchored then
448-
		Character:FindFirstChild("Left Leg")
448+
                                        part:Destroy()
449-
	}
449+
                                end
450-
	if Joints[Limb] == nil then return false end
450+
                        end
451-
	if Limbs[Limb] == nil then return false end
451+
                end)
452-
	if Limb == 1 then
452+
                
453-
		Joints[Limb].Name = "Right Shoulder"
453+
                for i = 1, 13 do
454-
	elseif Limb == 2 then
454+
                        local hit, pos2 = rayCast(pos, dir*5, {char})
455-
		Joints[Limb].Name = "Left Shoulder"
455+
                        
456-
	elseif Limb == 3 then
456+
                        local part = createAir(workspace)
457-
		Joints[Limb].Name = "Right Hip"
457+
                        part.Anchored = true
458-
	elseif Limb == 4 then
458+
                        part.Size = Vector3.new(10, 20, 10)
459-
		Joints[Limb].Name = "Left Hip"
459+
                        part.CFrame = CFrame.new(pos2, pos2 + dir) * CFrame.Angles(math.rad(-50), 0, 0) + Vector3.new(0, -0, 0)
460-
	end
460+
                        
461-
	Animate = Character:FindFirstChild("Animate")
461+
                        ground[#ground + 3] = part
462-
	if Animate == nil then return false end
462+
                        
463-
	Animate = Animate:Clone()
463+
                        -- Add force
464-
	Character.Animate:Remove()
464+
                        if hit then
465-
	Animate.Parent = Character
465+
                                local mass = hit:GetMass()
466
                                
467-
467+
                                -- Hit player
468-
468+
                                for _, oPlayer in pairs(game.Players:GetPlayers()) do
469-
function Weld(x, y)
469+
                                        if oPlayer.Character and oPlayer.Character:FindFirstChild("Torso") and hit:IsDescendantOf(oPlayer.Character) then
470-
	local weld = Instance.new("Weld")
470+
                                                hit = oPlayer.Character.Torso
471-
	weld.Part0 = x
471+
                                                mass = 90
472-
	weld.Part1 = y
472+
                                        end
473-
	CJ = CFrame.new(x.Position)
473+
                                end
474-
	C0 = x.CFrame:inverse() * CJ
474+
                                
475-
	C1 = y.CFrame:inverse() * CJ
475+
                                if hit.Name ~= "Torso" then
476-
	weld.C0 = C0
476+
                                        hit:ClearAllChildren()
477-
	weld.C1 = C1
477+
                                end
478-
	weld.Parent = x
478+
                                hit.Anchored = false
479
                                
480-
480+
                                -- Add force
481-
481+
                                local bodyForce = createBody("Force", hit)
482-
function tagHumanoid(humanoid)
482+
                                bodyForce.force = (dir + Vector3.new(0, 0.9, 0)).unit*1e4 * mass
483-
	local tag = Instance.new("ObjectValue")
483+
                                
484-
	tag.Name = "creator"
484+
                                game.Debris:AddItem(bodyForce, 1/30)
485-
	tag.Value = Player
485+
                                break
486-
	tag.Parent = humanoid
486+
                        end
487-
	local tag = Instance.new("StringValue")
487+
                        
488-
	tag.Name = "creatorType1"
488+
                        pos = pos2
489-
	tag.Value = Name
489+
                        wait(1/20)
490-
	tag.Parent = humanoid
490+
                end
491-
	local tag = Instance.new("StringValue")
491+
        end
492-
	tag.Name = "creatorType2"
492+
493-
	tag.Value = "killed with magic"
493+
--- CORE CODE BELOW --- CORE CODE BELOW --- CORE CODE BELOW ---
494-
	tag.Parent = humanoid
494+
--- CORE CODE BELOW --- CORE CODE BELOW --- CORE CODE BELOW ---
495
--- CORE CODE BELOW --- CORE CODE BELOW --- CORE CODE BELOW ---
496-
496+
-- Clear old tool
497-
497+
player.Backpack:ClearAllChildren()
498-
function untagHumanoid(humanoid)
498+
-- Create tool
499-
	if humanoid ~= nil then
499+
local tool = Instance.new("HopperBin")
500-
		local tag = humanoid:FindFirstChild("creator")
500+
tool.Parent = player.Backpack
501-
		if tag ~= nil then
501+
tool.Name = "Air Bending"
502-
			tag:Remove()
502+
-- Tool selected
503-
		end
503+
tool.Selected:connect(function(mouse)
504-
		local tag = humanoid:FindFirstChild("creatorType1")
504+
        mouse.Icon = "rbxasset://textures\\GunCursor.png"
505-
		if tag ~= nil then
505+
        
506-
			tag:Remove()
506+
        -- Mouse events
507-
		end
507+
        mouse.Button1Down:connect(function()
508-
		local tag = humanoid:FindFirstChild("creatorType2")
508+
                mouseDown = true
509-
		if tag ~= nil then
509+
        end)
510-
			tag:Remove()
510+
        mouse.Button1Up:connect(function()
511-
		end
511+
                mouseDown = false
512-
	end
512+
        end)
513
        mouse.KeyDown:connect(function(key)
514-
514+
                keysDown[key:lower()] = true
515-
515+
                onKeyChange(mouse, key:lower(), true)
516-
function onButton1Down(mouse)
516+
        end)
517-
	if selected == false or canFire == false or power <= 0 then return end
517+
        mouse.KeyUp:connect(function(key)
518-
	if Player.Character == nil then return end
518+
                keysDown[key:lower()] = false
519-
	if Player.Character:FindFirstChild("Humanoid") == nil then return end
519+
                onKeyChange(mouse, key:lower(), false)
520-
	if Player.Character.Humanoid.Health <= 0 then return end
520+
        end)
521-
	if Player.Character:FindFirstChild(Name) == nil then return end
521+
        
522-
	if Player.Character[Name]:FindFirstChild("Handle") == nil then return end
522+
        -- Call main
523-
	if Player.Character[Name]:FindFirstChild("Source") == nil then return end
523+
        main(mouse)
524-
	if mouse == nil then return end
524+
end)
525-
	Button1Down = true
525+
--- LIBRARY BELOW --- LIBRARY BELOW --- LIBRARY BELOW ---
526-
	if spell == 1 then
526+
--- LIBRARY BELOW --- LIBRARY BELOW --- LIBRARY BELOW ---
527-
		--Arefu Slash, projectile class. Uses hardened air particles to create razor-sharp projectiles.
527+
--- LIBRARY BELOW --- LIBRARY BELOW --- LIBRARY BELOW ---
528-
		canFire = false
528+
-- Ray cast
529-
		Player.Character[Name].Source.Mesh.MeshType = "Sphere"
529+
function rayCast(pos, dir, ignore)
530-
		Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
530+
        return workspace:FindPartOnRayWithIgnoreList(Ray.new(pos, dir), ignore)
531-
		Player.Character[Name].Source.Transparency = 0.25
531+
532-
		Player.Character[Name].Source.BrickColor = BrickColor.new("Bright green")
532+
-- Create body
533-
		Player.Character[Name].Source.Fire.Enabled = true
533+
function createBody(type, path)
534-
		Player.Character[Name].Source.Fire.Heat = math.random(5, 10)
534+
        local body = Instance.new("Body" .. type)
535-
		Player.Character[Name].Source.Fire.Size = math.random(5, 10)
535+
        if type == "Gyro" then
536-
		Player.Character[Name].Source.Fire.Color = Color3.new(0, 1, 0)
536+
                body.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
537-
		Player.Character[Name].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
537+
        elseif type ~= "Force" then
538-
		while Button1Down == true do
538+
                body.maxForce = Vector3.new(math.huge, math.huge, math.huge)
539-
			if power <= 0 then break end
539+
        end
540-
			coroutine.resume(coroutine.create(function()
540+
        body.Parent = path
541-
				for i = 0, 1, 0.1 do
541+
        return body
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+
-- Get parts in region 3
544-
					wait()
544+
function getPartsInRegion3(region, parts)
545-
				end
545+
        repeat
546-
				Player.Character[Name].Source.Transparency = 1
546+
                local regParts = workspace:FindPartsInRegion3WithIgnoreList(region, parts, 100)
547-
				Player.Character[Name].Source.Fire.Enabled = false
547+
                for i, part in pairs(regParts) do
548-
			end))
548+
                        parts[#parts + 1] = part
549-
			Player.Character[Name].Handle.Fire2.Looped = false
549+
                end
550-
			Player.Character[Name].Handle.Fire2.Volume = 1
550+
        until #regParts < 100
551-
			Player.Character[Name].Handle.Fire2.Pitch = 1
551+
552-
			Player.Character[Name].Handle.Fire2:Play()
552+
-- Random
553-
			power = power - 1
553+
function r(min, max)
554-
			local air = Instance.new("Part")
554+
        return math.random()*(max - min) + min
555-
			air.Name = "Air"
555+
556-
			air.FormFactor = "Custom"
556+
-- Plane y
557-
			air.Size = Vector3.new(1, 1, 2)
557+
function planeY(v, y)
558-
			air.TopSurface = "Smooth"
558+
        return Vector3.new(v.x, y or 0, v.z)
559-
			air.BottomSurface = "Smooth"
559+
560-
			air.BrickColor = BrickColor.new("Institutional white")
560+
-- Create Air
561-
			air.CanCollide = false
561+
function createAir(path)
562-
			air.Anchored = true
562+
        local part = createPart("Air", path)
563-
			air.Transparency = math.random(0, 5) / 10
563+
        part.BrickColor = BrickColor.new("Brown")
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+
        part.Material = "Slate"
565-
			air.Parent = Workspace
565+
        part.Parent = path
566-
			air:BreakJoints()
566+
        return part
567-
			local m = Instance.new("SpecialMesh")
567+
568-
			m.MeshType = "Sphere"
568+
function createWater(path)
569-
			m.Scale = Vector3.new(0.5, 0.5, 1)
569+
        local part = createPart("Water", path)
570-
			m.Parent = air
570+
        part.BrickColor = BrickColor.new("Bright blue")
571-
			coroutine.resume(coroutine.create(function()
571+
        part.Material = "Ice"
572-
				while air.Parent ~= nil do
572+
        part.Parent = path
573-
					air.CFrame = CFrame.new(air.Position  + (air.CFrame.lookVector * 5)) * CFrame.fromEulerAnglesXYZ(air.CFrame:toEulerAnglesXYZ())
573+
        return part
574-
					for _, model in pairs(Workspace:GetChildren()) do
574+
575-
						if model.ClassName == "Part" then
575+
-- Create part
576-
							if (air.Position - model.Position).magnitude <= 5 and model.Anchored == false then
576+
function createPart(name, path)
577-
								model.Velocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
577+
        local part = Instance.new("Part")
578-
								if math.random(1, 10) == 1 then model:BreakJoints() end
578+
        part.FormFactor = "Symmetric"
579-
								air:Remove()
579+
        part.BottomSurface = "Smooth"
580-
								return
580+
        part.TopSurface = "Smooth"
581-
							end
581+
        part.Size = Vector3.new(9, 7, 8)
582-
						elseif model.ClassName == "Model" and model ~= Player.Character then
582+
        part.Name = name
583-
							for _, x in pairs(model:GetChildren()) do
583+
        part.Parent = path
584-
								if x.ClassName == "Part" then
584+
        return part
585-
									if (air.Position - x.Position).magnitude <= 5 and x.Anchored == false then
585+
586-
										x.Velocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
586+
local player=game.Players.LocalPlayer
587-
										if math.random(1, 10) == 1 then x:BreakJoints() end
587+
local character=player.Character
588-
										if model:FindFirstChild("Humanoid") ~= nil then
588+
local head=character["Head"]
589-
											model.Humanoid:TakeDamage(5)
589+
local torso=character["Torso"]
590-
											model.Humanoid.Sit = true
590+
local humanoid=character["Humanoid"]
591-
										end
591+
local arm={left=character["Left Arm"], right=character["Right Arm"]}
592-
										air:Remove()
592+
local add={
593-
										return
593+
part=function(parent,anchored,cancollide,color,shape,t,size,cframe)
594-
									end
594+
        local p=Instance.new("Part")
595-
								end
595+
        p.Parent=parent
596-
							end
596+
        p.TopSurface="Smooth"
597-
						end
597+
        p.BottomSurface="Smooth"
598-
					end
598+
        p.FormFactor="Custom"
599-
					local shock = Instance.new("Part")
599+
        p.Anchored=anchored
600-
					shock.FormFactor = "Custom"
600+
        p.CanCollide=cancollide
601-
					shock.Size = Vector3.new(1, 1, 1)
601+
        p.BrickColor=BrickColor.new(color)
602-
					shock.BrickColor = BrickColor.new("Institutional white")
602+
        p.Shape=shape
603-
					shock.Anchored = true
603+
        p.Transparency=t
604-
					shock.Name = "Shock Ring"
604+
        p.Size=size
605-
					shock.CanCollide = false
605+
        p.CFrame=cframe
606-
					shock.Parent = Workspace
606+
        return p
607-
					local mesh = Instance.new("SpecialMesh")
607+
end,
608-
					mesh.MeshType = "FileMesh"
608+
weld=function(parent,part1,cframe)
609-
					mesh.MeshId = "http://www.roblox.com/Asset/?id=20329976"
609+
        local w=Instance.new("Weld")
610-
					mesh.Scale = Vector3.new(1, 1, 1)
610+
        w.Parent=parent
611-
					mesh.Parent = shock
611+
        w.Part0=parent
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+
        w.Part1=part1
613-
					coroutine.resume(coroutine.create(function()
613+
        w.C1=cframe
614-
						for i = 0, 10 do
614+
        return w
615-
							shock.Mesh.Scale = Vector3.new(i / 5, i, i / 5)
615+
end,
616-
							shock.Transparency = i / 10
616+
mesh=function(ins,parent,scale)
617-
							wait()
617+
        local m=Instance.new(ins)
618-
						end
618+
        m.Parent=parent
619-
						shock:Remove()
619+
        m.Scale=scale
620-
					end))
620+
        return m
621-
					wait()
621+
end,
622-
				end
622+
sound=function(parent,volume,id)
623-
			end))
623+
        local s=Instance.new("Sound")
624-
			coroutine.resume(coroutine.create(function(part)
624+
        s.Parent=parent
625-
				wait(10)
625+
        s.Volume=volume
626-
				part:Remove()
626+
        s.SoundId=id
627-
			end), air)
627+
        return s
628-
			wait()
628+
end,
629-
		end
629+
model=function(parent,name)
630-
		canFire = true
630+
        local m=Instance.new("Model")
631-
	elseif spell == 2 then
631+
        m.Parent=parent
632-
		--Arefu Metoria, projectile class. Uses meteors.
632+
        m.Name=name
633-
		local position, target = mouse.Hit.p, mouse.Target
633+
        return m
634-
		if target == nil then return end
634+
end,
635-
		if target.Parent == nil then return end
635+
bg=function(parent,cframe)
636-
		canFire = false
636+
        local g=Instance.new("BodyGyro")
637-
		power = power - 50
637+
        g.Parent=parent
638-
		local offset = position - target.Position
638+
        g.maxTorque=Vector3.new(math.huge,math.huge,math.huge)
639-
		local size = math.random(10, 30)
639+
        g.cframe=cframe
640-
		Player.Character[Name].Source.Mesh.MeshType = "Sphere"
640+
        return g
641-
		Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
641+
end,
642-
		Player.Character[Name].Source.Transparency = 0
642+
bav=function(parent,angular)
643-
		Player.Character[Name].Source.BrickColor = BrickColor.new("Bright green")
643+
        local av=Instance.new("BodyAngularVelocity")
644-
		Player.Character[Name].Handle.Charge2.Looped = false
644+
        av.maxTorque=Vector3.new(math.huge,math.huge,math.huge)
645-
		Player.Character[Name].Handle.Charge2.Volume = 1
645+
        av.Parent=parent
646-
		Player.Character[Name].Handle.Charge2.Pitch = 0.35
646+
        av.angularvelocity=angular
647-
		Player.Character[Name].Handle.Charge2:Play()
647+
        return av
648-
		local beam = Instance.new("Part")
648+
end,
649-
		beam.BrickColor = BrickColor.new("Bright green")
649+
bp=function(parent,pos)
650-
		beam.TopSurface = 0
650+
        local p=Instance.new("BodyPosition")
651-
		beam.BottomSurface = 0
651+
        p.Parent=parent
652-
		beam.Size = Vector3.new(1, 1, 1)
652+
        p.maxForce=Vector3.new(0,math.huge,0)
653-
		beam.Transparency = 0.5
653+
        p.position=pos
654-
		beam.Anchored = true
654+
        return p
655-
		beam.CanCollide = false
655+
end,
656-
		beam.CFrame = CFrame.new(position)
656+
bf=function(parent,force)
657-
		beam.Parent = Workspace
657+
        local f=Instance.new("BodyForce")
658-
		local mesh = Instance.new("CylinderMesh")
658+
        f.Parent=parent
659-
		mesh.Parent = beam
659+
        f.force=force
660-
		for i = 0, 60, 1 do
660+
        return f
661-
			local shine = Instance.new("Part")
661+
end,
662-
			shine.Name = "Shine"
662+
humanoid=function(parent,maxhealth)
663-
			shine.FormFactor = "Custom"
663+
        local h=Instance.new("Humanoid")
664-
			shine.Shape = "Ball"
664+
        h.Parent=parent
665-
			shine.CanCollide = false
665+
        h.MaxHealth=maxhealth
666-
			shine.BrickColor = BrickColor.new("Bright green")
666+
        return h
667-
			shine.TopSurface = 0
667+
668-
			shine.BottomSurface = 0
668+
}
669-
			shine.Size = Vector3.new(1, 1, 1)
669+
local c=function(f)coroutine.resume(coroutine.create(f))end
670-
			shine.Transparency = 0.25
670+
local trailDeb=false
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+
local things=add.model(character,"Water Bending")
672-
			shine.Parent = Workspace
672+
 
673-
			local force = Instance.new("BodyPosition")
673+
function computePos(pos1,pos2)
674-
			force.D = 7000
674+
        local pos3=Vector3.new(pos2.x,pos1.y,pos2.z)
675-
			force.P = 100000
675+
        return CFrame.new(pos1,pos3)
676-
			force.maxForce = Vector3.new(math.huge, math.huge, math.huge)
676+
677-
			force.position = Player.Character[Name].Source.Position
677+
 
678-
			force.Parent = shine
678+
local touchDeb=false
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+
function touch(hit)
680-
			mesh.Scale = Vector3.new(size * (i / 60), 10000, size * (i / 60))
680+
        local human=hit.Parent:findFirstChild("Humanoid")
681-
			Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 10, i / 10, i / 10)
681+
        local torso=hit.Parent:findFirstChild("Torso")
682-
			Player.Character[Name].Source.Transparency = Player.Character[Name].Source.Transparency - 0.015
682+
        if human and torso and human~=humanoid then
683-
			wait()
683+
                local damage=math.random(5,10)
684-
		end
684+
                c(function()
685-
		for i = 0, 10 do
685+
                        human:TakeDamage(damage)
686-
			beam.Transparency = beam.Transparency + 0.1
686+
                        human.PlatformStand=true
687-
			Player.Character[Name].Source.Transparency = Player.Character[Name].Source.Transparency + 0.1
687+
                        torso.Velocity=torso.CFrame.lookVector*-150
688-
			wait()
688+
                        torso.RotVelocity=Vector3.new(math.random(-25,25),math.random(-25,25),math.random(-25,25))
689-
		end
689+
                        wait(1)
690-
		if beam ~= nil then beam:Remove() end
690+
                        human.PlatformStand=false
691-
		Player.Character[Name].Source.Transparency = 1
691+
                        torso.Velocity=Vector3.new(0,0,0)
692-
		canFire = true
692+
                        torso.RotVelocity=Vector3.new(0,0,0)
693-
		local meteor = Instance.new("Part")
693+
                end)
694-
		meteor.BrickColor = BrickColor.new("Bright red")
694+
        end
695-
		meteor.Name = "Meteor"
695+
696-
		meteor.CanCollide = true
696+
 
697-
		meteor.Locked = true
697+
function trail(pos)
698-
		meteor.FormFactor = "Custom"
698+
        trailDeb=true
699-
		meteor.Shape = "Ball"
699+
        old=pos.Position
700-
		meteor.Size = Vector3.new(size, size, size)
700+
        c(function()
701-
		meteor.RotVelocity = Vector3.new(math.random(-1000, 1000), math.random(-1000, 1000), math.random(-1000, 1000))
701+
                while trailDeb==true do
702-
		meteor.Parent = Workspace
702+
                        wait()
703-
		meteor:BreakJoints()
703+
                        new=pos.Position
704-
		local fire = Instance.new("Fire")
704+
                        local magnitude=(old-new).magnitude
705-
		fire.Heat = 0
705+
                        local line=add.part(things,true,false,"White","Block",0,Vector3.new(9,14,9) ,CFrame.new(old,new)*CFrame.Angles(0,0,-magnitude/2))
706-
		fire.Size = 50
706+
                        old=new
707-
		fire.Parent = meteor
707+
                        c(function()
708-
		local smoke = Instance.new("Smoke")
708+
                                for i=.2,1,.2 do
709-
		smoke.RiseVelocity = 0
709+
                                        wait()
710-
		smoke.Size = size + 3
710+
                                        line.Transparency=i
711-
		smoke.Color = Color3.new(50 / 255, 50 / 255, 50 / 255)
711+
                                end
712-
		smoke.Opacity = 0.5
712+
                                line:remove()
713-
		smoke.Parent = meteor
713+
                        end)
714-
		local mesh = Instance.new("SpecialMesh")
714+
                        line.Touched:connect(touch)
715-
		mesh.MeshType = "FileMesh"
715+
                end
716-
		mesh.MeshId = "http://www.roblox.com/Asset/?id=1290033"
716+
        end)
717-
		mesh.TextureId = "http://www.roblox.com/Asset/?id=1290030"
717+
718-
		mesh.Scale = meteor.Size / 1.5
718+
 local pathDeb=false
719-
		mesh.VertexColor = Vector3.new(1, 0, 0)
719+
local pathPart=nil
720-
		mesh.Parent = meteor
720+
local bPosition=10
721-
		for i = 5000, 0, -100 do
721+
function path()
722-
			meteor.CFrame = CFrame.new((target.Position + offset) + Vector3.new(0, i, 0))
722+
        pathDeb=true
723-
			meteor.Velocity = Vector3.new(0, 0, 0)
723+
        pathPart=add.part(things,true,true,"White","Block",0,Vector3.new(4,4,4),CFrame.new())
724-
			wait()
724+
        local bp=add.bp(torso,torso.Position+Vector3.new(0,bPosition,0))
725-
		end
725+
        while pathDeb==true do
726-
		meteor.CFrame = CFrame.new((target.Position + offset) + Vector3.new(0, size / 2, 0))
726+
                wait()
727-
		delay(0.1, function() Weld(target, meteor) meteor.Velocity = Vector3.new(0, 0, 0) end)
727+
            pathPart.CFrame=torso.CFrame*CFrame.new(0,-4,0)
728-
		meteor.Anchored = true
728+
                                pathPart.Transparency = 0.6
729-
		local s = Instance.new("Sound")
729+
                                Mesh = Instance.new("SpecialMesh")
730-
		s.SoundId = "rbxasset://sounds\\Launching rocket.wav"
730+
                        pathPart.Transparency = 0.40000000596046
731-
		s.Pitch = (30 - size) / 25
731+
                        Mesh.Parent = pathPart
732-
		s.Parent = Workspace
732+
                        Mesh.MeshType = Enum.MeshType.Sphere
733-
		s:Play()
733+
        end
734-
		local shards = {}
734+
735-
		for i = 0, math.random(10, 30) do
735+
--Armz
736-
			local shard = Instance.new("Part")
736+
local fakeArm={left=add.part(things,false,false,"Brown","Block",1,Vector3.new(1,1,1),CFrame.new()), right=add.part(things,false,false,"Brown","Block",1,Vector3.new(1,1,1),CFrame.new())}
737-
			shard.Name = "Ground Shard"
737+
local water={left=add.part(things,false,false,"Bright blue","Ball",1,Vector3.new(1,1,1),CFrame.new()), right=add.part(things,false,false,"White","Ball",1,Vector3.new(1,1,1),CFrame.new())}
738-
			shard.Anchored = true
738+
--Weldz
739-
			shard.Locked = true
739+
local connectArmWeld={left=add.weld(torso,fakeArm.left,CFrame.new(1.5,-.5,0)), right=add.weld(torso,fakeArm.right,CFrame.new(-1.5,-.5,0))}
740-
			shard.BrickColor = target.BrickColor
740+
local armWeld={left=add.weld(fakeArm.left,arm.left,CFrame.new(0,0.5,0)), right=add.weld(fakeArm.right,arm.right,CFrame.new(0,0.5,0))}
741-
			shard.Size = Vector3.new(size + 10, 2, size)
741+
local waterWeld={left=add.weld(water.left,arm.left,CFrame.new(0,-2,0)), right=add.weld(water.right,arm.right,CFrame.new(0,-2,0))}
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+
local anim={
744-
			table.insert(shards, shard)
744+
equip=function()
745-
		end
745+
        for i=.2,1,.2 do
746-
		local new = Instance.new("Part")
746+
                wait()
747-
		new.Name = "Meteor"
747+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(45)*i)
748-
		new.Transparency = 1
748+
                armWeld.right.C0=CFrame.Angles(math.rad(135)*i,0,0)
749-
		new.CanCollide = false
749+
        end
750-
		new.Anchored = true
750+
end,
751-
		new.CFrame = CFrame.new(meteor.Position)
751+
watersh00t=function(mouse)
752-
		new.Parent = Workspace
752+
        torso.CFrame=computePos(torso.CFrame.p,mouse.Hit.p)
753-
		local fire = Instance.new("Fire")
753+
        trail(water.right)
754-
		fire.Heat = 50
754+
        trail(water.left) 
755-
		fire.Size = 50
755+
        local waterbull=add.part(things,false,false,"White","Ball",0,Vector3.new(30,5,20),CFrame.new((torso.CFrame+torso.CFrame.lookVector*5).p,mouse.hit.p))
756-
		fire.Parent = new
756+
        waterbull.Touched:connect(touch)
757-
		meteor.Fire:Remove()
757+
        waterbull.Velocity=waterbull.CFrame.lookVector*150
758-
		local shock = Instance.new("Part")
758+
        trail(waterbull)
759-
		shock.FormFactor = "Custom"
759+
        local bf=add.bf(waterbull,Vector3.new(0,waterbull:GetMass()*200.3,1))
760-
		shock.Size = Vector3.new(1, 1, 1)
760+
        for i=.8,1,.2 do
761-
		shock.BrickColor = BrickColor.new("Institutional white")
761+
                wait()
762-
		shock.Anchored = true
762+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(55)*i)
763-
		shock.Name = "Shock Ring"
763+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(60)*i)
764-
		shock.CanCollide = false
764+
                waterWeld.left.C1=CFrame.new(5,-7+(-10*i),0)
765-
		shock.Parent = Workspace
765+
                waterWeld.right.C1=CFrame.new(1,-3+(-10*i),0)
766-
		local mesh = Instance.new("SpecialMesh")
766+
        end
767-
		mesh.MeshType = "FileMesh"
767+
        wait(.2)
768-
		mesh.MeshId = "http://www.roblox.com/Asset/?id=3270017"
768+
        for i=9,0,-.2 do
769-
		mesh.Parent = shock
769+
                wait()
770-
		local tilt1 = math.random(-10, 10)
770+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(45)*i)
771-
		local tilt2 = math.random(-10, 10)
771+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(45)*i)
772-
		local tiltChance = math.random(1, 3)
772+
                waterWeld.left.C1=CFrame.new(0,-2+(-10*i),0)
773-
		for i = 0, 50 do
773+
                waterWeld.right.C1=CFrame.new(0,-2+(-10*i),0)
774-
			shock.Mesh.Scale = Vector3.new(i, i, i)
774+
        end
775-
			if tiltChance == 1 then
775+
        game.Debris:AddItem(waterbull,5)
776-
				shock.CFrame = CFrame.new(meteor.Position - Vector3.new(0, meteor.Size.y / 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + tilt1), 0, 0)
776+
        trailDeb=false
777-
			elseif tiltChance == 2 then
777+
end,
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+
watershoot=function(mouse)
779-
			elseif tiltChance == 3 then
779+
        torso.CFrame=computePos(torso.CFrame.p,mouse.Hit.p)
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+
        trail(water.left)
781-
			end
781+
        trail(water.right)
782-
			wait()
782+
        local waterbull=add.part(things,false,false,"White","Ball",0,Vector3.new(6,6,6),CFrame.new((torso.CFrame+torso.CFrame.lookVector*5).p,mouse.hit.p))
783-
		end
783+
        waterbull.Touched:connect(touch)
784-
		for i = 0, 1, 0.1 do
784+
        waterbull.Velocity=waterbull.CFrame.lookVector*150
785-
			shock.Transparency = i
785+
        trail(waterbull)
786-
			wait()
786+
        local bf=add.bf(waterbull,Vector3.new(0,waterbull:GetMass()*196.2,0))
787-
		end
787+
        for i=.2,1,.2 do
788-
		shock:Remove()
788+
                wait()
789-
		wait(math.random(1, 10))
789+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(45)*i)
790-
		if new ~= nil then new:Remove() end
790+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(45)*i)
791-
		if meteor == nil then return end
791+
                waterWeld.left.C1=CFrame.new(0,-2+(-10*i),0)
792-
		local e = Instance.new("Explosion")
792+
                waterWeld.right.C1=CFrame.new(0,-2+(-10*i),0)
793-
		e.BlastPressure = 100000
793+
        end
794-
		e.Position = meteor.Position
794+
        wait(.2)
795-
		e.BlastRadius = meteor.Size.y * 2
795+
        for i=6,0,-.2 do
796-
		e.Parent = Workspace
796+
                wait()
797-
		local s = Instance.new("Sound")
797+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(45)*i)
798-
		s.Name = "Explosion"
798+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(45)*i)
799-
		s.Pitch = (30 - size) / 20
799+
                waterWeld.left.C1=CFrame.new(0,-2+(-10*i),0)
800-
		s.SoundId = "http://www.roblox.com/Asset/?id=2101148"
800+
                waterWeld.right.C1=CFrame.new(0,-2+(-10*i),0)
801-
		s.Parent = Workspace
801+
        end
802-
		s:Play()
802+
        game.Debris:AddItem(waterbull,9)
803-
		for i = 0, math.random(2, 10) do
803+
        trailDeb=false
804-
			local size = math.random(1, 5)
804+
end,
805-
			local new = meteor:Clone()
805+
waterRaise=function(mouse)
806-
			if new:FindFirstChild("Weld") ~= nil then new.Weld:Remove() end
806+
        torso.CFrame=computePos(torso.CFrame.p,mouse.Hit.p)
807-
			new.Size = Vector3.new(size, size, size)
807+
        trail(water.left)
808-
			new.Mesh.Scale = Vector3.new(size, size, size)
808+
        trail(water.right)
809-
			new.CanCollide = false
809+
        for i=.5,1,.2 do
810-
			new.Anchored = false
810+
                wait()
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+
                armWeld.left.C0=CFrame.Angles(math.rad(135)*i,0,-math.rad(5)*i)
812-
			new.Velocity = Vector3.new(math.random(-100, 100), math.random(10, 250), math.random(-100, 100))
812+
                armWeld.right.C0=CFrame.Angles(math.rad(135)*i,0,math.rad(5)*i)
813-
			new.RotVelocity = Vector3.new(math.random(-500, 500), math.random(-500, 500), math.random(-500, 500))
813+
                waterWeld.left.C1=CFrame.new(0,-2+(-10*i),0)
814-
			new.Smoke:Remove()
814+
                waterWeld.right.C1=CFrame.new(0,-2+(-10*i),0)
815-
			new.Parent = Workspace
815+
        end
816-
		end
816+
        wait(.2)
817-
		for i = 1, #shards do
817+
        for i=9,0,-.2 do
818-
			if shards[i] ~= nil then
818+
                wait()
819-
				if math.random(1, 2) == 1 then
819+
                armWeld.left.C0=CFrame.Angles(math.rad(135)*i,0,-math.rad(5)*i)
820-
					shards[i]:Remove()
820+
                armWeld.right.C0=CFrame.Angles(math.rad(135)*i,0,math.rad(5)*i)
821-
				else
821+
                waterWeld.left.C1=CFrame.new(0,-2+(-math.random(10,12)*i),0)
822-
					shards[i].CanCollide = false
822+
                waterWeld.right.C1=CFrame.new(0,-2+(-math.random(10,12)*i),0)
823-
					shards[i].Anchored = false
823+
        end
824-
					shards[i].RotVelocity = Vector3.new(math.random(-500, 500), math.random(-500, 500), math.random(-500, 500))
824+
        trailDeb=false
825-
					shards[i].Velocity = Vector3.new(math.random(-100, 100), math.random(10, 250), math.random(-100, 100))
825+
end,
826-
				end
826+
waterSpin=function()
827-
			end
827+
        trail(water.left)
828-
		end
828+
        trail(water.right)
829-
		meteor:Remove()
829+
        local bg=add.bg(torso,torso.CFrame)
830-
	elseif spell == 3 then
830+
        for i=.2,1,.2 do
831-
		--Eccrando Bolt, energy class. Fires a charged bolt of energy gathered in your wand.
831+
                wait()
832-
		canFire = false
832+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(90)*i)
833-
		Player.Character[Name].Source.Mesh.MeshType = "Sphere"
833+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(90)*i)
834-
		Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
834+
                waterWeld.left.C1=CFrame.new(0,-2+(-math.random(5,8)*i),0)
835-
		Player.Character[Name].Source.Transparency = 0
835+
                waterWeld.right.C1=CFrame.new(0,-2+(-math.random(5,8)*i),0)
836-
		Player.Character[Name].Source.BrickColor = BrickColor.new("New Yeller")
836+
        end
837-
		Player.Character[Name].Handle.Charge1.Looped = false
837+
        local bav=add.bav(torso,Vector3.new(0,75,0))
838-
		Player.Character[Name].Handle.Charge1.Volume = 1
838+
        wait(3)
839-
		Player.Character[Name].Handle.Charge1.Pitch = 1
839+
        for i=1,0,-.2 do
840-
		Player.Character[Name].Handle.Charge1:Play()
840+
                wait()
841-
		for i = 0, 10 do
841+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(90)*i)
842-
			local shine = Instance.new("Part")
842+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(90)*i)
843-
			shine.Name = "Shine"
843+
                waterWeld.left.C1=CFrame.new(0,-2+(-5*i),0)
844-
			shine.FormFactor = "Custom"
844+
                waterWeld.right.C1=CFrame.new(0,-2+(-5*i),0)
845-
			shine.Shape = "Ball"
845+
        end
846-
			shine.CanCollide = false
846+
        bg:remove()
847-
			shine.BrickColor = BrickColor.new("New Yeller")
847+
        bav:remove()
848-
			shine.TopSurface = 0
848+
        trailDeb=false
849-
			shine.BottomSurface = 0
849+
end,
850-
			shine.Size = Vector3.new(1, 1, 1)
850+
bend=function(mouse)
851-
			shine.Transparency = 0.25
851+
        torso.CFrame=computePos(torso.CFrame.p,mouse.Hit.p)
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+
        trail(water.left)
853-
			shine.Parent = Workspace
853+
        trail(water.right)
854-
			local force = Instance.new("BodyPosition")
854+
        for i=.2,1,.2 do
855-
			force.D = 7000
855+
                wait()
856-
			force.P = 100000
856+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(90)*i)
857-
			force.maxForce = Vector3.new(math.huge, math.huge, math.huge)
857+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(90)*i)
858-
			force.position = Player.Character[Name].Source.Position
858+
                waterWeld.left.C1=CFrame.new(0,-2+(-10*i),0)
859-
			force.Parent = shine
859+
                waterWeld.right.C1=CFrame.new(0,-2+(-10*i),0)
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+
        end
861-
			Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 7.5, i / 7.5, i / 7.5)
861+
        wait(.2)
862-
			wait()
862+
        for i=4,0,-.2 do
863-
			power = power - 1
863+
                wait()
864-
		end
864+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(45)*i)
865-
		for i = 10, 20 do
865+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(45)*i)
866-
			Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 7.5, i / 7.5, i / 7.5)
866+
                waterWeld.left.C1=CFrame.new(0,-2+(-15*i),0)
867-
			power = power - 1
867+
                waterWeld.right.C1=CFrame.new(0,-2+(-15*i),0)
868-
			wait()
868+
        end
869-
		end
869+
        trailDeb=false
870-
		local first = true
870+
end,
871-
		while Button1Down == true or first == true do
871+
watershoot2=function(mouse)
872-
			first = false
872+
        torso.CFrame=computePos(torso.CFrame.p,mouse.Hit.p)
873-
			if power < 0 then break end
873+
        trail(water.left)
874-
			power = power - 5
874+
        trail(water.right)
875-
			if Player.Character == nil then break end
875+
        for i=1,40 do
876-
			if Player.Character:FindFirstChild("Humanoid") == nil then break end
876+
                local waterbull=add.part(things,false,false,"Bright blue","Ball",0,Vector3.new(8,8,8),torso.CFrame*CFrame.Angles(0,math.rad(9)*i,0))
877-
			if Player.Character.Humanoid.Health <= 0 then break end
877+
                waterbull.Velocity=waterbull.CFrame.lookVector*100
878-
			if Player.Character:FindFirstChild(Name) == nil then break end
878+
                trail(waterbull)
879-
			if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
879+
                local bf=add.bf(waterbull,Vector3.new(0,waterbull:GetMass()*196.2,0))
880-
			if Player.Character[Name]:FindFirstChild("Source") == nil then break end
880+
                game.Debris:AddItem(waterbull,5)
881-
			if selected == false then break end
881+
                waterbull.Touched:connect(touch)
882-
			Player.Character[Name].Handle.Fire1.Looped = false
882+
        end
883-
			Player.Character[Name].Handle.Fire1.Volume = 1
883+
        for i=.2,1,.2 do
884-
			Player.Character[Name].Handle.Fire1.Pitch = 1
884+
                wait()
885-
			Player.Character[Name].Handle.Fire1:Play()
885+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(90)*i)
886-
			local position = mouse.Hit.p
886+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(90)*i)
887-
			local e = Instance.new("Explosion")
887+
                waterWeld.left.C1=CFrame.new(0,-2+(-10*i),0)
888-
			e.BlastPressure = 500000
888+
                waterWeld.right.C1=CFrame.new(0,-2+(-10*i),0)
889-
			e.BlastRadius = 10
889+
        end
890-
			e.Position = position
890+
        wait(.2)
891-
			e.Parent = Workspace
891+
        for i=1,0,-.2 do
892-
			for i = 1, math.random(5, 25) do
892+
                wait()
893-
				local shine = Instance.new("Part")
893+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(90)*i)
894-
				shine.Name = "Shine"
894+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(90)*i)
895-
				shine.FormFactor = "Custom"
895+
                waterWeld.left.C1=CFrame.new(0,-2+(-10*i),0)
896-
				shine.Shape = "Block"
896+
                waterWeld.right.C1=CFrame.new(0,-2+(-10*i),0)
897-
				shine.CanCollide = false
897+
        end
898-
				shine.Anchored = true
898+
        trailDeb=false
899-
				shine.BrickColor = BrickColor.new("New Yeller")
899+
end,
900-
				shine.TopSurface = 0
900+
AvatarSpecial=function(mouse)
901-
				shine.BottomSurface = 0
901+
        torso.CFrame=computePos(torso.CFrame.p,mouse.Hit.p)
902-
				shine.Size = Vector3.new(1, 1, 1)
902+
        trail(water.left)
903-
				shine.Transparency = 0.25
903+
        trail(water.right)
904-
				shine.CFrame = CFrame.new(mouse.Hit.p)
904+
        for i=1,40 do
905-
				shine.Parent = Workspace
905+
                local waterbull=add.part(things,false,false,"Brown","Ball",0,Vector3.new(10,20,30),torso.CFrame*CFrame.Angles(0,math.rad(9)*i,0))
906-
				local mesh = Instance.new("SpecialMesh")
906+
                waterbull.Velocity=waterbull.CFrame.lookVector*100
907-
				mesh.MeshType = "Brick"
907+
                trail(waterbull)
908-
				local random = math.random(3, 10) / 10
908+
                local bf=add.bf(waterbull,Vector3.new(0,waterbull:GetMass()*196.2,0))
909-
				mesh.Scale = Vector3.new(random, random, random)
909+
                game.Debris:AddItem(waterbull,5)
910-
				mesh.Parent = shine
910+
                waterbull.Touched:connect(touch)
911-
				coroutine.resume(coroutine.create(function(part)
911+
        end
912-
					for i = 0.25 * 25, 25 do
912+
        for i=.2,1,.2 do
913-
						part.Transparency = i / 25
913+
                wait()
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+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(90)*i)
915-
						wait(math.random(1, 5) / 100)
915+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(90)*i)
916-
					end
916+
                waterWeld.left.C1=CFrame.new(0,-2+(-10*i),0)
917-
					part:Remove()
917+
                waterWeld.right.C1=CFrame.new(0,-2+(-10*i),0)
918-
				end), shine)
918+
        end
919-
			end
919+
        wait(.2)
920-
			for i = 1, math.random(2, 5) do
920+
        for i=1,0,-.2 do
921-
				local shine = Instance.new("Part")
921+
                wait()
922-
				shine.Name = "Shine"
922+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(90)*i)
923-
				shine.FormFactor = "Custom"
923+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(90)*i)
924-
				shine.Shape = "Block"
924+
                waterWeld.left.C1=CFrame.new(0,-2+(-10*i),0)
925-
				shine.CanCollide = false
925+
                waterWeld.right.C1=CFrame.new(0,-2+(-10*i),0)
926-
				shine.Anchored = true
926+
        end
927-
				shine.BrickColor = BrickColor.new("New Yeller")
927+
        trailDeb=false
928-
				shine.TopSurface = 0
928+
end,
929-
				shine.BottomSurface = 0
929+
waterbending2=function(mouse)
930-
				shine.Size = Vector3.new(1, 1, 1)
930+
        torso.CFrame=computePos(torso.CFrame.p,mouse.Hit.p)
931-
				shine.Transparency = 0.25
931+
        trail(water.left)
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+
        trail(water.right)
933-
				shine.Parent = Workspace
933+
        for i=1,40 do
934-
				local mesh = Instance.new("SpecialMesh")
934+
                local waterbull=add.part(things,false,false,"Bright blue","Ball",0,Vector3.new(50,20,40),torso.CFrame*CFrame.Angles(0,math.rad(9)*i,0))
935-
				mesh.MeshType = "Sphere"
935+
                waterbull.Velocity=waterbull.CFrame.lookVector*100
936-
				local random = math.random(3, 10) / 10
936+
                trail(waterbull)
937-
				mesh.Scale = Vector3.new(random, random, random)
937+
                local bf=add.bf(waterbull,Vector3.new(0,waterbull:GetMass()*196.2,0))
938-
				mesh.Parent = shine
938+
                game.Debris:AddItem(waterbull,5)
939-
				coroutine.resume(coroutine.create(function(part)
939+
                waterbull.Touched:connect(touch)
940-
					for i = 0.25, 1, 0.05 do
940+
        end
941-
						part.Transparency = i
941+
        for i=.6,1,.2 do
942-
						part.Mesh.Scale = part.Mesh.Scale + Vector3.new(1, 1, 1)
942+
                wait()
943-
						wait()
943+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i ,0,math.rad(90)*i)
944-
					end
944+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(90)*i)
945-
					part:Remove()
945+
                waterWeld.left.C1=CFrame.new(0,-2+(-10*i),0)
946-
				end), shine)
946+
                waterWeld.right.C1=CFrame.new(0,-2+(-10*i),0)
947-
			end
947+
        end
948-
			local trail = Instance.new("Part")
948+
        wait(.2)
949-
			trail.BrickColor = BrickColor.new("New Yeller")
949+
        for i=1,0,-.2 do
950-
			trail.TopSurface = 0
950+
                wait()
951-
			trail.BottomSurface = 0
951+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,math.rad(90)*i)
952-
			trail.Size = Vector3.new(1, 1, 1)
952+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,-math.rad(90)*i)
953-
			trail.Transparency = 0.4
953+
                waterWeld.left.C1=CFrame.new(0,-2+(-10*i),0)
954-
			trail.Anchored = true
954+
                waterWeld.right.C1=CFrame.new(0,-2+(-10*i),0)
955-
			trail.CanCollide = false
955+
        end
956-
			trail.CFrame = CFrame.new((Player.Character[Name].Source.Position + position) / 2, position)
956+
        trailDeb=false
957-
			trail.Parent = Workspace
957+
end,
958-
			local mesh = Instance.new("SpecialMesh")
958+
waterBack=function(mouse)
959-
			mesh.MeshType = "Brick"
959+
        torso.CFrame=computePos(torso.CFrame.p,mouse.Hit.p)
960-
			mesh.Scale = Vector3.new(math.random(2, 5) / 10, math.random(2, 5) / 10, (position - Player.Character[Name].Source.Position).magnitude)
960+
        trail(water.left)
961-
			mesh.Parent = trail
961+
        trail(water.right)
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+
        for i=.2,1,.2 do
963-
			coroutine.resume(coroutine.create(function()
963+
                wait()
964-
				for i = 10, 0, -1 do
964+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,0)
965-
					Player.Character[Name].Source.Transparency = (10 - i) / 10
965+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,0)
966-
					Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 1.5, i / 1.5, i / 1.5)
966+
                waterWeld.left.C1=CFrame.new(0,-2+(-20*i),0)
967-
					wait()
967+
                waterWeld.right.C1=CFrame.new(0,-2+(-20*i),0)
968-
				end
968+
        end
969-
			end))
969+
        wait(.2)
970-
			wait(0.3)
970+
        for i=1,0,-.2 do
971-
		end
971+
                wait()
972-
		Player.Character[Name].Source.Transparency = 1
972+
                armWeld.left.C0=CFrame.Angles(math.rad(90)*i,0,0)
973-
		canFire = true
973+
                armWeld.right.C0=CFrame.Angles(math.rad(90)*i,0,0)
974-
	elseif spell == 4 then
974+
                waterWeld.left.C1=CFrame.new(0,-2+(-20*i),0)
975-
		--Eccrando Strike, energy class. Use the clouds to your advantage and fire bolts of lightning at the ground.
975+
                waterWeld.right.C1=CFrame.new(0,-2+(-20*i),0)
976-
		while Button1Down == true do
976+
        end
977-
			if Player.Character == nil then break end
977+
        trailDeb=false
978-
			if Player.Character:FindFirstChild("Humanoid") == nil then break end
978+
end,
979-
			if Player.Character.Humanoid.Health <= 0 then break end
979+
waterForward=function(mouse)
980-
			if Player.Character:FindFirstChild(Name) == nil then break end
980+
        torso.CFrame=computePos(torso.CFrame.p,mouse.Hit.p)
981-
			if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
981+
        torso.Anchored=true
982-
			if Player.Character[Name]:FindFirstChild("Source") == nil then break end
982+
        for i=.2,1,.2 do
983-
			if selected == false then break end
983+
                wait()
984-
			while power <= 25 and Button1Down == true do
984+
                armWeld.left.C0=CFrame.Angles(math.rad(135)*i,0,-math.rad(5)*i)
985-
				wait()
985+
                armWeld.right.C0=CFrame.Angles(math.rad(135)*i,0,math.rad(5)*i)
986-
			end
986+
        end
987-
			if power <= 0 then break end
987+
        for i=1,20 do
988-
			canFire = false
988+
                wait()
989-
			Player.Character[Name].Source.Mesh.MeshType = "Sphere"
989+
                local waterblock=add.part(things,false,false,"Bright blue","Block",0,Vector3.new(9,7,9),torso.CFrame*CFrame.new(0,0,0)*CFrame.Angles(math.rad(45),0,0)+torso.CFrame.lookVector*2*i)
990-
			Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
990+
                trail(waterblock)
991-
			Player.Character[Name].Source.Transparency = 0
991+
                game.Debris:AddItem(waterblock,1)
992-
			Player.Character[Name].Source.BrickColor = BrickColor.new("New Yeller")
992+
                waterblock.Touched:connect(touch)
993-
			Player.Character[Name].Handle.Charge1.Looped = false
993+
        end
994-
			Player.Character[Name].Handle.Charge1.Volume = 1
994+
        wait(.2)
995-
			Player.Character[Name].Handle.Charge1.Pitch = 0.4
995+
        torso.Anchored=false
996-
			Player.Character[Name].Handle.Charge1:Play()
996+
        for i=1,0,-.2 do
997-
			for i = 0, 50 do
997+
                wait()
998-
				local shine = Instance.new("Part")
998+
                armWeld.left.C0=CFrame.Angles(math.rad(135)*i,0,-math.rad(5)*i)
999-
				shine.Name = "Shine"
999+
                armWeld.right.C0=CFrame.Angles(math.rad(135)*i,0,math.rad(5)*i)
1000-
				shine.FormFactor = "Custom"
1000+
        end
1001-
				shine.Shape = "Ball"
1001+
        trailDeb=false
1002-
				shine.CanCollide = false
1002+
1003-
				shine.BrickColor = BrickColor.new("New Yeller")
1003+
}
1004-
				shine.TopSurface = 0
1004+
 
1005-
				shine.BottomSurface = 0
1005+
function getTouched()
1006-
				shine.Size = Vector3.new(1, 1, 1)
1006+
        for i,v in pairs(things:GetChildren()) do
1007-
				shine.Transparency = 0.25
1007+
                v.Touched:connect(touch)
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+
        end
1009-
				shine.Parent = Workspace
1009+
1010-
				local force = Instance.new("BodyPosition")
1010+
 
1011-
				force.D = 7000
1011+
local deb=false
1012-
				force.P = 100000
1012+
local buttonDeb=false
1013-
				force.maxForce = Vector3.new(math.huge, math.huge, math.huge)
1013+
local bin=Instance.new("HopperBin")
1014-
				force.position = Player.Character[Name].Source.Position
1014+
bin.Parent=player.Backpack
1015-
				force.Parent = shine
1015+
bin.Name="Avatar State"
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+
bin.Selected:connect(function(mouse)
1017-
				Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 7.5, i / 7.5, i / 7.5)
1017+
        bin:remove()
1018-
				power = power - 1
1018+
        anim.equip()
1019-
				wait()
1019+
        mouse.Button1Down:connect(function()
1020-
			end
1020+
                if deb==false then
1021-
			power = power - 10
1021+
                        deb=true
1022-
			if math.random(1, 2) == 1 then id = "Thunder" else id = "Lightning" end
1022+
                        getTouched()
1023-
			local s = Instance.new("Sound")
1023+
                        anim.watershoot(mouse)
1024-
			s.Volume = math.random(10, 50) / 10
1024+
                        anim.equip()
1025-
			s.SoundId = "rbxasset://sounds\\Halloween" ..id.. ".wav"
1025+
                        deb=false
1026-
			s.Pitch = math.random(9, 11) / 10
1026+
                end
1027-
			s.Parent = Workspace
1027+
        end)
1028-
			s:Play()
1028+
        mouse.KeyDown:connect(function(key)
1029-
			if math.random(1, 2) == 1 then id = "Thunder" else id = "Lightning" end
1029+
                if key=="q" and deb==false then
1030-
			local s = Instance.new("Sound")
1030+
                        deb=true
1031-
			s.Volume = math.random(1, 10) / 10
1031+
                        getTouched()
1032-
			s.SoundId = "rbxasset://sounds\\Halloween" ..id.. ".wav"
1032+
                        anim.waterRaise(mouse)
1033-
			s.Pitch = math.random(1, 30) / 10
1033+
                        anim.equip()
1034-
			s.Parent = Workspace
1034+
                        deb=false
1035-
			s:Play()
1035+
                end
1036-
			if selected == false then break end
1036+
                if key=="e" and deb==false then
1037-
			local e = Instance.new("Explosion")
1037+
                        deb=true
1038-
			e.BlastPressure = 1000000
1038+
                        getTouched()
1039-
			e.BlastRadius = 25
1039+
                        anim.waterSpin()
1040-
			e.Position = mouse.Hit.p
1040+
                        anim.equip()
1041-
			e.Parent = Workspace
1041+
                        deb=false
1042-
			local pos = (mouse.Hit.p + Vector3.new(math.random(-100, 100), 1000, math.random(-100, 100)))
1042+
                end
1043-
			local trail = Instance.new("Part")
1043+
                if key=="r" and deb==false then
1044-
			trail.BrickColor = BrickColor.new("New Yeller")
1044+
                        deb=true
1045-
			trail.TopSurface = 0
1045+
                        getTouched()
1046-
			trail.BottomSurface = 0
1046+
                        anim.bend(mouse)
1047-
			trail.Size = Vector3.new(1, 1, 1)
1047+
                        anim.equip()
1048-
			trail.Transparency = 0.4
1048+
                        deb=false
1049-
			trail.Anchored = true
1049+
                end
1050-
			trail.CanCollide = false
1050+
                if key=="f" and deb==false then
1051-
			trail.CFrame = CFrame.new((pos + mouse.Hit.p) / 2, mouse.Hit.p)
1051+
                        deb=true
1052-
			trail.Parent = Workspace
1052+
                        getTouched()
1053-
			local mesh = Instance.new("SpecialMesh")
1053+
                        anim.watershoot2(mouse)
1054-
			mesh.MeshType = "Brick"
1054+
                        anim.equip()
1055-
			mesh.Scale = Vector3.new(math.random(40, 50) / 10, math.random(40, 50) / 10, (mouse.Hit.p - pos).magnitude + 10)
1055+
                        deb=false
1056-
			mesh.Parent = trail
1056+
                end
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+
                if key=="c" and deb==false then
1058-
			for i = 10, 0, -1 do
1058+
                        deb=true
1059-
				Player.Character[Name].Source.Transparency = Player.Character[Name].Source.Transparency + 0.1
1059+
                        getTouched()
1060-
				Player.Character[Name].Source.Mesh.Scale = Vector3.new(i / 1.5, i / 1.5, i / 1.5)
1060+
                        anim.AvatarSpecial(mouse)
1061-
				wait()
1061+
                        anim.equip()
1062-
			end
1062+
                        deb=false
1063-
			Player.Character[Name].Source.Transparency = 1
1063+
                end
1064-
			wait(0.1)
1064+
                if key=="v" and deb==false then
1065-
			canFire = true
1065+
                        deb=true
1066-
		end
1066+
                        getTouched()
1067-
	elseif spell == 5 then
1067+
                        anim.waterbending2(mouse)
1068-
		--Thius Dae, health-based class. Seep life from your enemies to save yourself. Works as a general defense against multiple enemies.
1068+
                        anim.equip()
1069-
		canFire = false
1069+
                        deb=false
1070-
		Player.Character[Name].Source.Mesh.MeshType = "Brick"
1070+
                end
1071-
		Player.Character[Name].Source.Mesh.Scale = Vector3.new(1, 1, 1)
1071+
                if key=="p" and deb==false then
1072-
		Player.Character[Name].Source.Transparency = 0.25
1072+
                        deb=true
1073-
		Player.Character[Name].Source.BrickColor = BrickColor.new("Really black")
1073+
                        getTouched()
1074-
		Player.Character[Name].Handle.Charge4.Looped = true
1074+
                        anim.watersh00t(mouse)
1075-
		Player.Character[Name].Handle.Charge4.Volume = 1
1075+
                        anim.equip()
1076-
		Player.Character[Name].Handle.Charge4.Pitch = 1
1076+
                        deb=false
1077-
		Player.Character[Name].Handle.Charge4:Play()
1077+
                end
1078-
		for i = 0, 10 do
1078+
                if key=="g" and deb==false then
1079-
			Player.Character[Name].Source.Mesh.Scale = Player.Character[Name].Source.Mesh.Scale * 1.11
1079+
                        deb=true
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+
                        getTouched()
1081-
			wait()
1081+
                        anim.waterBack(mouse)
1082-
		end
1082+
                        anim.equip()
1083-
		for i = 0, math.huge, 0.1 do
1083+
                        deb=false
1084-
			if Button1Down == false then break end
1084+
                end
1085-
			if Player.Character == nil then break end
1085+
                if key=="h" and deb==false then
1086-
			if Player.Character:FindFirstChild("Humanoid") == nil then break end
1086+
                        deb=true
1087-
			if Player.Character.Humanoid.Health <= 0 then break end
1087+
                        getTouched()
1088-
			if Player.Character:FindFirstChild(Name) == nil then break end
1088+
                        anim.waterForward(mouse)
1089-
			if Player.Character[Name]:FindFirstChild("Handle") == nil then break end
1089+
                        anim.equip()
1090-
			if Player.Character[Name]:FindFirstChild("Source") == nil then break end
1090+
                        deb=false
1091-
			if power <= 0 then break end
1091+
                end
1092-
			local endstr = string.sub(tostring(i), string.len(tostring(i)), string.len(tostring(i)))
1092+
                if key=="z" and buttonDeb==false then
1093-
			if endstr == "0" or endstr == "2" or endstr == "4" or endstr == "6" or endstr == "8" then
1093+
                        buttonDeb=true
1094-
				power = power - 1
1094+
                        getTouched()
1095-
			end
1095+
                        path()
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+
                end
1097-
			Player.Character[Name].Source.Mesh.Scale = Vector3.new(math.sin(i) + 3, math.sin(i) + 3, math.sin(i) + 3)
1097+
                if key=="z" and buttonDeb==true then
1098-
			local shine = Instance.new("Part")
1098+
                        buttonDeb=false
1099-
			shine.Name = "Shine"
1099+
                        pathPart:remove() torso["BodyPosition"]:remove()
1100-
			shine.FormFactor = "Custom"
1100+
                end
1101-
			shine.Shape = "Block"
1101+
        end)
1102-
			shine.CanCollide = false
1102+
end)
1103-
			shine.Anchored = true
1103+
--mediafire gtfo password