View difference between Paste ID: e23ETsJf and pHCjiDKH
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
3
local RealPlayer = Player
4
do print("FE Compatibility code by Mokiros");InternalData = {}InternalData.RealOwner = owner;InternalData.RealObjs = {};InternalData.SoundLoudness = {};local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end,__call=function(self,...)local t=rawget(self,"_RealService")if t then return t(...)end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return self[t]end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;x.RunService=v({RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")setmetatable(x,{__index=function(self,t)return r:GetService(t)or typeof(r[t])=="function"and function(m,...)return r[t](r,...)end or r[t]end,__newindex=s.__newindex,__call=s.__call})game,owner=x,x.Players.LocalPlayer
5
	script.Parent = InternalData.RealOwner.Character
6
	local Event = Instance.new("RemoteEvent");Event.Name = "UserInput";InternalData.Event = Event
7
	local function createObject (connections, index)
8
    	local proxy = newproxy (true);local meta = getmetatable (proxy);
9
    	local runbind = function (self, i, ...) connections[i]:Fire (...); end;
10
		while (#connections > 0) do connections[table.remove(connections, 1)] = Instance.new ('BindableEvent');end;
11
    	meta.__index = function (self, i)
12
        	if (i == 'TriggerEvent') then return runbind end;
13
        	return connections[i] and connections[i].Event or index[i];
14
    	end;
15
    	meta.__newindex = index;meta.__metatable = false;return proxy
16
	end;
17
	local Mouse = createObject({"KeyUp","KeyDown","Button1Down","Button1Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
18
	local UserInputService = createObject({"InputBegan","InputEnded"},{})
19
	local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
20
		self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
21
	end};ContextActionService.UnBindAction = ContextActionService.BindAction
22
	Event.OnServerEvent:Connect(function(FiredBy,Input)
23
		if FiredBy ~= InternalData.RealOwner then return end
24
		if Input.MouseEvent then
25
			Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
26
		elseif Input.Sound then
27
			if InternalData.SoundLoudness[Input.Sound] then InternalData.SoundLoudness[Input.Sound] = Input.Loudness end
28
		else
29
			local Begin = Input.UserInputState == Enum.UserInputState.Begin
30
			if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
31
			for _,Action in pairs(ContextActionService.Actions) do
32
				for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
33
			end
34
			Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
35
		end
36
	end)
37
	InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
38
	Event.Parent = NLS([[
39
		local Player = owner;
40
		local Sounds = {};
41
		local Event = script:WaitForChild("UserInput");
42
		local UserInputService = game:GetService("UserInputService");
43
		local Mouse = Player:GetMouse();
44
		local Input = function(Input,gameProcessedEvent)
45
			if gameProcessedEvent then return end
46
			Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
47
		end
48
		Event.OnClientEvent:connect(function(Args)
49
			if Args[1] == "NewSound" then table.insert(Sounds,Args[2]) end
50
		end)
51
		UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
52
		local Hit,Target
53
		while wait(1/30) do
54
			for x,Sound in pairs(Sounds) do
55
				if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end
56
			end
57
			if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
58
				Hit = Mouse.Hit;Target = Mouse.Target;
59
				Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
60
			end
61
		end
62
	]],InternalData.RealOwner.Character)
63
end
64
InternalData.NewOwner = setmetatable({},{
65
	__index = function (self,Index)
66
			local Type = type(InternalData.RealOwner[Index])
67
			if Type == "function" then
68
				if Index:lower() == "getmouse" or Index:lower() == "mouse" then
69
				return function (self)return InternalData["Mouse"] end
70
				end
71
			return function (self,...)return InternalData.RealOwner[Index](InternalData.RealOwner,...) end
72
		elseif Index == "FakePlayer" then
73
			return true
74
		end
75
		return InternalData.RealOwner[Index]
76
	end;
77
	__tostring = function(self) return tostring(InternalData.RealOwner) end
78
})
79
--LoadLibrary("RbxUtility").Create
80
InternalData.LoadLibrary = LoadLibrary;LoadLibrary = function(Library)
81
	if Library == "RbxUtility" then
82
		return setmetatable({},{
83
			__tostring = function() return "RbxUtility" end;
84
			__index = function(self, Index)
85
				if Index:lower() == "create" then
86
					return function(Type)
87
						return function(Data)
88
							Data = Data or {}
89
							local Inst = Instance.new(Type)
90
							for x,y in pairs(Data) do
91
								if InternalData.RealObjs[y] then y = InternalData.RealObjs[y] end
92
								if y == owner then y = InternalData.RealOwner end
93
								Inst[x] = y
94
							end
95
							return Inst
96
						end
97
					end
98
				end
99
				return InternalData.LoadLibrary(Library)[Index]
100
			end
101
		})
102
	end
103
	return InternalData.LoadLibrary(Library)
104
end
105
InternalData.RealInstance = Instance;Instance = setmetatable({},{
106
	__index = function (self,Index)
107
		if Index:lower() == 'new' then
108
			return function (Type, Parent)
109
				if Parent == owner then Parent = InternalData.RealOwner end
110
				if InternalData.RealObjs[Parent] then Parent = InternalData.RealObjs[Parent] end
111
				local Real = InternalData.RealInstance.new(Type,Parent)
112
				if not Type then return end
113
				if Type == "BillboardGui" then
114
					local ToReturn = setmetatable({},{
115
						__index = function (self,Index)
116
							if type(Real[Index]) == "function" then
117
								if Index:lower() == "clone" then
118
									return function (self)
119
										local Real = Real:Clone()
120
										local ToReturn = setmetatable({RealObject = Real},{
121
											__index = function (self,Index)
122
												if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
123
												return Real[Index]
124
											end;
125
											__newindex = function (self,Index,Value)
126
												if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
127
												if Value == owner then Value = InternalData.RealOwner end
128
												Real[Index] = Value
129
											end;
130
											__tostring = function(self) return tostring(Real) end;
131
										})
132
										InternalData.RealObjs[ToReturn] = Real;return ToReturn;
133
									end
134
								end
135
								return function (self,...) return Real[Index](Real,...)end
136
							end
137
							return Real[Index]
138
						end;
139
						__newindex = function (self,Index,Value)
140
							if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
141
							if Value == owner then Value = InternalData.RealOwner end
142
							Real[Index] = Value
143
						end;
144
						__tostring = function(self) return tostring(Real) end;
145
					})
146
					InternalData.RealObjs[ToReturn] = Real;return ToReturn;
147
				elseif Type:lower() == "sound" then
148
					Real.Parent = owner.Character;
149
					local ToReturn = setmetatable({RealObject = Real},{
150
						__index = function (self,Index)
151
							if Index:lower() == "playbackloudness" then
152
								return InternalData.SoundLoudness[Real] or 0
153
							elseif type(Real[Index]) == "function" then
154
								if Index:lower() == "clone" then
155
									return function (self)
156
										local Real = Real:Clone()
157
										local ToReturn = setmetatable({},{
158
											__index = function (self,Index)
159
												if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
160
												return Real[Index]
161
											end;
162
											__newindex = function (self,Index,Value)
163
												if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
164
												if Value == owner then Value = InternalData.RealOwner end
165
												Real[Index] = Value
166
											end;
167
											__tostring = function(self) return tostring(Real) end;
168
										})
169
										InternalData.RealObjs[ToReturn] = Real;return ToReturn;
170
									end
171
								end
172
								return function (self,...) return Real[Index](Real,...)end
173
							end
174
							return Real[Index]
175
						end;
176
						__newindex = function (self,Index,Value)
177
							if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
178
							if Value == owner then Value = InternalData.RealOwner end
179
							Real[Index] = Value
180
						end;
181
						__tostring = function(self) return tostring(Real) end;
182
					})
183
					InternalData.RealObjs[ToReturn] = Real;InternalData.SoundLoudness[Real] = 0;repeat wait() until InternalData.Event.Parent InternalData.Event:FireClient(InternalData.RealOwner,{"NewSound",Real}) return ToReturn;
184
				else
185
					local ToReturn = setmetatable({RealObject = Real},{
186
						__index = function (self,Index)
187
							if type(Real[Index]) == "function" then
188
								if Index:lower() == "clone" then
189
									return function (self)
190
										local Real = Real:Clone()
191
										local ToReturn = setmetatable({},{
192
											__index = function (self,Index)
193
												if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
194
												return Real[Index]
195
											end;
196
											__newindex = function (self,Index,Value)
197
												if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
198
												if Value == owner then Value = InternalData.RealOwner end
199
												Real[Index] = Value
200
											end;
201
											__tostring = function(self) return tostring(Real) end;
202
										})
203
										InternalData.RealObjs[ToReturn] = Real;return ToReturn;
204
									end
205
								end
206
								return function (self,...) return Real[Index](Real,...)end
207
							end
208
							return Real[Index]
209
						end;
210
						__newindex = function (self,Index,Value)
211
							if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
212
							if Value == owner then Value = InternalData.RealOwner end
213
							Real[Index] = Value
214
						end;
215
						__tostring = function(self) return tostring(Real) end;
216
					})
217
					InternalData.RealObjs[ToReturn] = Real;return ToReturn;
218
				end
219
			end
220
		end
221
		return InternalData.RealInstance[Index]
222
	end;
223
	__tostring = function(self) return tostring(InternalData.RealInstance) end;
224
});
225
InternalData.RealGame = game;game = setmetatable({},{
226
	__index = function (self,Index)
227
		if InternalData.RealGame[Index] then
228
			local Type = type(InternalData.RealGame[Index])
229
			if Type == "function" then
230
				if Index:lower() == "getservice" or Index:lower() == "service" then
231
					return function (self,Service)
232
						local FakeServices = {
233
							["players"] = function()
234
								return setmetatable({},{
235
									__index = function (self2,Index2)
236
										local RealService = InternalData.RealGame:GetService(Service)
237
										local Type2 = type(RealService[Index2])
238
										if Type2 == "function" then
239
											return function (self,...) return RealService[Index2](RealService,...)end
240
										else
241
											if Index2:lower() == "localplayer" then return InternalData.NewOwner end
242
											return RealService[Index2]
243
										end
244
									end;
245
									__tostring = function(self) return tostring(InternalData.RealGame:GetService(Service)) end
246
								})
247
							end;
248
							["contextactionservice"] = function() return InternalData["ContextActionService"] end;
249
							["userinputservice"] = function() return InternalData["UserInputService"] end;
250
							["debris"] = function()
251
								return setmetatable({},{
252
									__index = function(self2,Index2)
253
										local RealService = InternalData.RealGame:GetService(Service)
254
										local Type2 = type(RealService[Index2])
255
										if Type2 == "function" then
256
											if Index2:lower() == "additem" then
257
												return function (self,Item,Time)
258
													if InternalData.RealObjs[Item] then Item = InternalData.RealObjs[Item] end
259
													return RealService:AddItem(Item,Time)
260
												end
261
											end
262
											return function (self,...) return RealService[Index2](RealService,...) end
263
										end
264
										return RealService[Index2]
265
									end;
266
									__tostring = function(self) return tostring(InternalData.RealGame:GetService("Debris")) end
267
								})
268
							end;
269
							["runservice"] = function()
270
								return setmetatable({},{
271
									__index = function(self2,Index2)
272
										local RealService = InternalData.RealGame:GetService(Service)
273
										local Type2 = type(RealService[Index2])
274
										if Type2 == "function" then
275
											return function (self,...) return RealService[Index2](RealService,...) end
276
										else
277
											local RunServices = {
278
												["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return InternalData.RealGame:GetService("RunService").Stepped:Connect(Function) end end;
279
												["renderstepped"] = function() return RealService["Stepped"] end
280
											}
281
											if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
282
											return RealService[Index2]
283
										end
284
									end;
285
									__tostring = function(self) return tostring(InternalData.RealGame:GetService("RunService")) end
286
								})
287
							end
288
						}
289
						if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
290
						return InternalData.RealGame:GetService(Service)
291
					end
292
				end
293
				return function (self,...) return InternalData.RealGame[Index](InternalData.RealGame,...) end
294
			else
295
				if game:GetService(Index) then return game:GetService(Index) end
296
				return InternalData.RealGame[Index]
297
			end
298
		end
299
		return nil
300
	end;
301
	__tostring = function(self) return tostring(InternalData.game) end
302
});Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete!")
303
304
--[[
305
    abyssal sword
306
        LOCALSCRIPT
307
        
308
        keys:
309
                e = energy brick
310
                c = smash
311
                f = fall
312
                l = lightning
313
                click = slash
314
                right click = lasers
315
]]
316
 
317
me = game.Players.LocalPlayer
318
 
319
local user = me.Character
320
 
321
local tool = Instance.new("Tool", me.Backpack)
322
tool.Name = "Abyssal Sword"
323
 
324
local handle = Instance.new("Part", tool)
325
handle.formFactor = "Custom"
326
handle.CanCollide = false
327
handle.Name = "Handle"
328
handle.TopSurface = "Smooth"
329
handle.BottomSurface = "Smooth"
330
handle.Size = Vector3.new(0.3, 1, 0.3)
331
handle.Rotation = Vector3.new(90, 0, 0)
332
 
333
handle.Touched:connect(function(h)
334
    if not h:IsDescendantOf(me.Character) then
335
        for _, a in pairs(h.Parent:GetChildren()) do
336
                        if a:IsA("Humanoid") then
337
                                a.Health = a.Health - 20
338
                        end
339
        end
340
    end
341
end)
342
 
343
tool.GripPos = Vector3.new(0, 0, -2)
344
tool.GripForward = Vector3.new(-1, 0, 0)
345
tool.GripRight = Vector3.new(0, 1, 0)
346
tool.GripUp = Vector3.new(0, 0, 1.5)
347
 
348
local fp = Instance.new("Part", tool)
349
fp.FormFactor = "Custom"
350
fp.Transparency = 1
351
fp.Size = Vector3.new(0.25, 0.25, 0.25)
352
 
353
local fire = Instance.new("Fire", fp)
354
fire.Color = Color3.new(0, 0, 0)
355
fire.SecondaryColor = Color3.new(255, 0, 0)
356
fire.Size = 3
357
fire.Heat = 0
358
 
359
local derp = Instance.new("SpecialMesh", handle)
360
derp.MeshId = "http://www.roblox.com/asset/?id=61357428"
361
derp.TextureId = "http://www.roblox.com/asset/?id=61357495 "
362
derp.Scale = Vector3.new(2, 2, 2.5)
363
 
364
dist = 1.5
365
defdist = 1.5
366
upos = 0
367
yrot = 90
368
mode = 1
369
fdist = 2
370
updist = 0
371
 
372
RS = me.Character.Torso["Right Shoulder"]
373
LS = me.Character.Torso["Left Shoulder"]
374
 
375
RSAnim = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
376
LSAnim = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
377
 
378
local keys = {}
379
 
380
coroutine.wrap(function()
381
    while true do
382
        for i = 1, 40 do
383
            dist = dist + 0.02
384
                        defdist = defdist + 0.02
385
            wait()
386
        end
387
        
388
        for i = 1, 40 do
389
            dist = dist - 0.02
390
                        defdist = defdist - 0.02
391
            wait()
392
        end
393
    end
394
end)()
395
 
396
for i = 1, 6 do
397
    local pr = Instance.new("Part", tool)
398
    pr.FormFactor = "Custom"
399
    pr.TopSurface = "Smooth"
400
    pr.BottomSurface = "Smooth"
401
    pr.Name = "derpp"
402
    pr.Transparency = 0
403
    pr.Anchored = true
404
    pr.CanCollide = false
405
    
406
    pr.Touched:connect(function(h)
407
        if not h:IsDescendantOf(me.Character) then
408
            if h.Parent:FindFirstChild("Humanoid") then
409
                h.Parent.Humanoid:TakeDamage(10)
410
            end
411
        end
412
    end)
413
    if i == 1 or i == 3 or i == 5 then
414
        pr.BrickColor = BrickColor.new("Really black")
415
    
416
    else
417
        pr.BrickColor = BrickColor.new("Dusty Rose")
418
    end
419
    
420
    pr.CanCollide = false
421
    pr.Size = Vector3.new(0.5, 0.5, 0.5)
422
    coroutine.wrap(function()
423
        while true do
424
            for r = 1, 90 do
425
                if mode == 1 then
426
                    pr.CFrame = fp.CFrame * CFrame.Angles(0, math.rad((r*4)+((360/6)*i)), math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist)
427
                
428
                elseif mode == 2 then
429
                    pr.CFrame = (fp.CFrame * CFrame.new(2, 0, 0)) * CFrame.Angles(math.rad((r*4)+((360/6)*i)), 0, math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist)
430
                                        
431
                                elseif mode == 3 then
432
                                        pr.CFrame = me.Character["EnergyBrick"].CFrame * CFrame.Angles(0, 0, math.rad((r*4)+((360/6)*i))) * CFrame.new(0, dist, 0)
433
                end
434
                wait()
435
            end
436
        end
437
    end)()
438
end
439
 
440
tool.Equipped:connect(function(m)
441
    local w = Instance.new("Weld", handle)
442
    w.Part0 = handle
443
    w.Part1 = fp
444
    w.C0 = CFrame.new(0, 0, 0.75)
445
 
446
    m.Button1Down:connect(function()
447
        down = true
448
        wait()
449
        
450
        for i = 1,6 do
451
            me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(-i*4))
452
            wait()
453
        end
454
        
455
        for i = 1, 6 do
456
            me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(i*4))
457
            wait()
458
        end
459
    end)
460
 
461
    m.Button1Up:connect(function()
462
        down = false
463
    end)
464
    
465
    m.Button2Down:connect(function()
466
        mode = 2
467
        fire.Size = 6
468
        wait(0.5)
469
        for _, a in pairs(tool:GetChildren()) do
470
            if a.Name == "derpp" then
471
                coroutine.wrap(function()
472
                    local ray = Ray.new(a.CFrame.p, (m.Hit.p-a.CFrame.p).unit*300)
473
                        
474
                    local hit, pos = game.Workspace:FindPartOnRay(ray, me.Character)
475
                        
476
                    local h = hit
477
                                        if h then
478
                                                for _, a in pairs(h.Parent:GetChildren()) do
479
                                                        if a:IsA("Humanoid") then
480
                                                                a.Health = a.Health - 20
481
                                                        end
482
                                                end
483
                                        end
484
                        
485
                    local dis = (pos-a.CFrame.p).magnitude
486
                        
487
                    local beam = Instance.new("Part", user)
488
                    beam.TopSurface = "Smooth"
489
                    beam.BottomSurface = "Smooth"
490
                    beam.FormFactor = "Custom"
491
                    beam.Size = Vector3.new(1, 1, dis)
492
                    beam.Anchored = true
493
                    beam.BrickColor = BrickColor.new("Really black")
494
                    beam.CanCollide = false
495
                    beam.Transparency = 0.3
496
                    coroutine.wrap(function()
497
                        for d = 1, 10 do
498
                            beam.Size = beam.Size - Vector3.new(0.1, 0.1, 0)
499
                            beam.CFrame = CFrame.new(pos, a.CFrame.p) * CFrame.new(0, 0, -dis/2)
500
                            wait()
501
                        end
502
                    end)()
503
                    wait(0.5)
504
                    beam:Remove()
505
                end)()
506
            end
507
        end
508
    
509
        wait(0.5)
510
        mode = 1
511
    end)
512
    
513
    m.Button2Up:connect(function(k)
514
        fire.Size = 3
515
    end)
516
        
517
        m.KeyDown:connect(function(key)
518
                if key:lower() == "e" then
519
                        me.Character.Animate.Disabled = true
520
                        wait(1)
521
                        RS.C0 = RSAnim
522
                        LS.C0 = LSAnim
523
                        for _, a in pairs(tool:GetChildren()) do
524
                                if a.Name ~= "derpp" then
525
                                        a.Transparency = 1
526
                                end
527
                        end
528
                        fire.Enabled = false
529
                        
530
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(30), 0, 0)
531
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30), 0, 0)
532
                        
533
                        coroutine.wrap(function()
534
                                for d = 1, 30 do
535
                                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad((30-(d))), 0, 0)
536
                                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30-(d)), 0, 0)
537
                                        wait()
538
                                end
539
                        end)()
540
                        
541
                        local ball = Instance.new("Part", me.Character)
542
                        ball.Name = "EnergyBrick"
543
                        ball.TopSurface = "Smooth"
544
                        ball.BottomSurface = "Smooth"
545
                        ball.CanCollide = false
546
                        ball.Transparency = 0.4
547
                        ball.BrickColor = BrickColor.new("Really black")
548
                        ball.Anchored = true
549
                        ball.Size = Vector3.new(1, 1, 1)
550
                        ball.FormFactor = "Custom"
551
                        ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, 0, fdist)
552
                        ball.Touched:connect(function(h)
553
                                if not h:IsDescendantOf(me.Character) then
554
                                        if h:IsA("Part") and not h.Name:lower():find("base") then
555
                                                h:Destroy()
556
                                        end
557
                                end
558
                        end)
559
                        local f = Instance.new("Fire", ball)
560
                        f.Size = 3
561
                        f.Color = Color3.new(0, 0, 0)
562
                        f.SecondaryColor = Color3.new(0, 0, 255)
563
                        wait()
564
                        mode = 3
565
                        
566
                        for d = 1, 40 do
567
                                f.Size = f.Size + 0.25
568
                                fdist = fdist + 0.05
569
                                dist = dist + 0.05
570
                                updist = updist + 0.025
571
                                ball.Size = ball.Size + Vector3.new(0.1, 0.1, 0.1)
572
                                ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, updist, fdist)
573
                                wait()
574
                        end
575
                        
576
                        local scf = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0)
577
                        me.Character.Animate.Disabled = false
578
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
579
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
580
                        for _, a in pairs(tool:GetChildren()) do
581
                                a.Transparency = 0
582
                        end
583
                        fp.Transparency = 1
584
                        mode = 1
585
                        dist = defdist
586
                        updist = 0
587
                        fire.Enabled = true
588
                        for i = 1, 150 do
589
                                ball.CFrame = scf * CFrame.new(0, 0, fdist+(i*2)) * CFrame.Angles(0, 0, math.rad(i*3))
590
                                local b2 = ball:Clone()
591
                                b2.Fire:Destroy()
592
                                b2.Parent = me.Character
593
                                b2.CFrame = ball.CFrame * CFrame.Angles(0, 0, math.rad(i*3))
594
                            b2.Touched:connect(function(h)
595
                                    if not h:IsDescendantOf(me.Character) then
596
                                                if h:IsA("Part") and not h.Name:lower():find("base") then
597
                                                        h:Destroy()
598
                                                end
599
                                    end
600
                            end)
601
                                coroutine.wrap(function()
602
                                        wait(1)
603
                                        for i = 1, 20 do
604
                                                b2.Transparency = b2.Transparency + 0.05
605
                                                wait()
606
                                        end
607
                                        b2:Destroy()
608
                                end)()
609
                                wait()
610
                        end
611
                        
612
                        ball:Destroy()
613
                        fdist = 2
614
                        
615
                elseif key:lower() == "f" then
616
                        me.Character.Animate.Disabled = true
617
                        wait(1)
618
                        RS.C0 = RSAnim
619
                        LS.C0 = LSAnim
620
                        for i = 1, 11 do
621
                                LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(-90), 0) * CFrame.Angles(math.rad(i*2), 0, 0)
622
                                RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(90), 0) * CFrame.Angles(math.rad(i*2), 0, 0)
623
                                wait()
624
                        end
625
                        
626
                        local bp = Instance.new("BodyPosition", me.Character.Torso)
627
                        bp.maxForce = Vector3.new(0, 9999, 0)
628
                        coroutine.wrap(function()
629
                                for rs = 1, 10 do
630
                                        bp.position = me.Character.Head.Position + Vector3.new(0, 4, 0)
631
                                        wait()
632
                                end
633
                        end)()
634
                        
635
                        for an = 1, 30 do
636
                                LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0)
637
                                RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0)
638
                                wait()
639
                        end
640
                        wait(0.5)
641
                        bp:Remove()
642
                        for an = 1, 7 do
643
                                LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0)
644
                                RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0)
645
                                wait()
646
                        end
647
                        wait(0.25)
648
                        local ex = Instance.new("Part", me.Character)
649
                        ex.Size = Vector3.new(1, 1, 1)
650
                        ex.Transparency = 0.4
651
                        ex.BrickColor = BrickColor.new("Deep orange")
652
                        
653
                        local msh = Instance.new("SpecialMesh", ex)
654
                        msh.MeshType = "FileMesh"
655
                        msh.MeshId = "http://www.roblox.com/asset/?id=1323306"
656
                        msh.Scale = Vector3.new(0.5, 0.5, 0.5)
657
                        
658
                        ex.Position = handle.Position
659
                        ex.Anchored = true
660
                        
661
                        for i = 1, 20 do
662
                                msh.Scale = msh.Scale + Vector3.new(3, 3, 3)
663
                                for _, a in pairs(game.Players:GetChildren()) do
664
                                        if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then
665
                                                for _, b in pairs(a.Character:GetChildren()) do
666
                                                        if b:IsA("Humanoid") then
667
                                                                b.Health = b.Health - 10
668
                                                        end
669
                                                end
670
                                        end
671
                                end
672
                                wait()
673
                        end
674
                        
675
                        for i = 1, 12 do
676
                                ex.Transparency = ex.Transparency + 0.05
677
                                wait()
678
                        end
679
                        ex:Remove()
680
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
681
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
682
                        wait()
683
                        me.Character.Animate.Disabled = false
684
                        
685
                elseif key:lower() == "l" then
686
                        me.Character.Animate.Disabled = true
687
                        wait(1)
688
                        RS.C0 = RSAnim
689
                        LS.C0 = LSAnim
690
                        for i = 1, 60 do
691
                                LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(-90), 0, -math.rad(i))
692
                                RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0)  * CFrame.Angles(math.rad(-90), 0, math.rad(i))
693
                                wait()
694
                        end
695
                        
696
                        local beam = Instance.new("Part", me.Character)
697
                        beam.Size = Vector3.new(5, 300, 5)
698
                        beam.CanCollide = false
699
                        beam.CFrame = me.Character.Torso.CFrame * CFrame.new(0, (300/2)-2, 0)
700
                        beam.TopSurface = "Smooth"
701
                        beam.BottomSurface = "Smooth"
702
                        beam.BrickColor = BrickColor.new("New Yeller")
703
                        beam.Anchored = true
704
                        beam.Transparency = 0.3
705
                        wait(0.4)
706
                        for e = 1, 14 do
707
                                beam.Transparency = beam.Transparency + 0.05
708
                                wait()
709
                        end
710
                        beam:Remove()
711
                        local m = Instance.new("ForceField", me.Character)
712
                        for i = 1, 40 do
713
                                d1 = math.random(-200, 200)
714
                                d2 = math.random(-200, 200)
715
                                local ltn = Instance.new("Part", game.Workspace)
716
                                ltn.Size = Vector3.new(3, 300, 3)
717
                                ltn.CanCollide = false
718
                                ltn.CFrame = CFrame.new(d1, 0, d2) * CFrame.new(0, 300/2, 0)
719
                                ltn.TopSurface = "Smooth"
720
                                ltn.BottomSurface = "Smooth"
721
                                ltn.BrickColor = BrickColor.new("Deep blue")
722
                                ltn.Anchored = true
723
                                ltn.Transparency = 0.3
724
                                local ex = Instance.new("Explosion")
725
                                ex.Position = Vector3.new(d1, 0.5, d2)
726
                                ex.BlastRadius = 10
727
                                wait()
728
                                ex.Parent = game.Workspace
729
                                game.Lighting.Ambient = Color3.new(1, 1, 1)
730
                                wait(0.125)
731
                                ltn:Destroy()
732
                                game.Lighting.Ambient = Color3.new(0.5, 0.5, 0.5)
733
                        end
734
                        m:Remove()
735
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
736
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
737
                        wait()
738
                        me.Character.Animate.Disabled = false
739
                        
740
                elseif key:lower() == "c" then
741
                    me.Character.Animate.Disabled = true
742
                    wait(1)
743
                        RS.C0 = RSAnim
744
                        LS.C0 = LSAnim
745
                    for _, a in pairs(tool:GetChildren()) do
746
                        a.Transparency = 1
747
                    end
748
                    fire.Enabled = false
749
                    
750
                    local s = Instance.new("Part", me.Character)
751
                    s.Transparency = 0
752
                    s.Name = "StrikeSword"
753
                    
754
                    local w = Instance.new("Weld", s)
755
                    w.Part0 = me.Character["Right Arm"]
756
                    w.Part1 = s
757
                    w.C0 = CFrame.new(0, -1, -2) * CFrame.Angles(math.rad(180), 0, 0)
758
                    
759
                    local derpe = Instance.new("SpecialMesh", s)
760
                    derpe.MeshType = "FileMesh"
761
            derpe.MeshId = "http://www.roblox.com/asset/?id=61357428"
762
            derpe.TextureId = "http://www.roblox.com/asset/?id=61357495"
763
            derpe.Scale = Vector3.new(2, 2, 2.5)
764
                    for i = 1, 35 do
765
                LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(-90), 0) * CFrame.Angles(math.rad(i+20), 0, 0)
766
                RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(90), 0) * CFrame.Angles(math.rad(i+20), 0, 0)
767
                wait()
768
            end
769
            
770
            wait(1)
771
            
772
            for i = 1, 30 do
773
                derpe.Scale = derpe.Scale + Vector3.new(0.2, 0.2, 0.2)
774
                w.C0 = CFrame.new(0, -1, -2-i/3) * CFrame.Angles(math.rad(180), 0, 0)
775
                wait()
776
            end
777
            
778
            wait(0.125)
779
            
780
            for i = 1, 17 do
781
                LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(-90), 0)
782
                RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(90), 0)
783
                wait()
784
            end
785
            wait(0.125)
786
            local ex = Instance.new("Part", me.Character)
787
                        ex.Size = Vector3.new(1, 1, 1)
788
                        ex.Transparency = 0.4
789
                        ex.BrickColor = BrickColor.new("Deep orange")
790
                        
791
                        local msh = Instance.new("SpecialMesh", ex)
792
                        msh.MeshType = "FileMesh"
793
                        msh.MeshId = "http://www.roblox.com/asset/?id=1323306"
794
                        msh.Scale = Vector3.new(0.5, 0.5, 0.5)
795
                        
796
                        ex.Position = s.Position
797
                        ex.Anchored = true
798
                        
799
                        coroutine.wrap(function()
800
                            s:Destroy()
801
                            for _, a in pairs(tool:GetChildren()) do
802
                                a.Transparency = 0
803
                        end
804
                        fp.Transparency = 1
805
                        fire.Enabled = true
806
                        me.Character.Animate.Disabled = false
807
                    end)()
808
                        
809
                        for i = 1, 20 do
810
                                msh.Scale = msh.Scale + Vector3.new(3, 3, 3)
811
                                for _, a in pairs(game.Players:GetChildren()) do
812
                                        if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then
813
                                                for _, b in pairs(a.Character:GetChildren()) do
814
                                                        if b:IsA("Humanoid") then
815
                                                                b.Health = b.Health - 10
816
                                                        end
817
                                                end
818
                                        end
819
                                end
820
                                wait()
821
                        end
822
                        
823
                        for i = 1, 12 do
824
                                ex.Transparency = ex.Transparency + 0.05
825
                                wait()
826
                        end
827
                end
828
    end)
829
 
830
    me.Character.Humanoid.Died:connect(function()
831
        local ex = Instance.new("Explosion")
832
        ex.Position = handle.Position
833
        ex.BlastRadius = 100
834
        ex.BlastPressure = 1e6
835
        wait()
836
        ex.Parent = game.Workspace
837
    end)
838
end)
839
 
840
tool.Unequipped:connect(function()
841
end)
842
 --[[
843
    abyssal sword
844
        LOCALSCRIPT
845
        
846
        keys:
847
                e = energy brick
848
                c = smash
849
                f = fall
850
                l = lightning
851
                click = slash
852
                right click = lasers
853
]]
854
 
855
me = game.Players.LocalPlayer
856
 
857
local user = me.Character
858
 
859
local tool = Instance.new("Tool", me.Backpack)
860
tool.Name = "Abyssal Sword"
861
 
862
local handle = Instance.new("Part", tool)
863
handle.formFactor = "Custom"
864
handle.CanCollide = false
865
handle.Name = "Handle"
866
handle.TopSurface = "Smooth"
867
handle.BottomSurface = "Smooth"
868
handle.Size = Vector3.new(0.3, 1, 0.3)
869
handle.Rotation = Vector3.new(90, 0, 0)
870
 
871
handle.Touched:connect(function(h)
872
    if not h:IsDescendantOf(me.Character) then
873
        for _, a in pairs(h.Parent:GetChildren()) do
874
                        if a:IsA("Humanoid") then
875
                                a.Health = a.Health - 20
876
                        end
877
        end
878
    end
879
end)
880
 
881
tool.GripPos = Vector3.new(0, 0, -2)
882
tool.GripForward = Vector3.new(-1, 0, 0)
883
tool.GripRight = Vector3.new(0, 1, 0)
884
tool.GripUp = Vector3.new(0, 0, 1.5)
885
 
886
local fp = Instance.new("Part", tool)
887
fp.FormFactor = "Custom"
888
fp.Transparency = 1
889
fp.Size = Vector3.new(0.25, 0.25, 0.25)
890
 
891
local fire = Instance.new("Fire", fp)
892
fire.Color = Color3.new(0, 0, 0)
893
fire.SecondaryColor = Color3.new(255, 0, 0)
894
fire.Size = 3
895
fire.Heat = 0
896
 
897
local derp = Instance.new("SpecialMesh", handle)
898
derp.MeshId = "http://www.roblox.com/asset/?id=61357428"
899
derp.TextureId = "http://www.roblox.com/asset/?id=61357495 "
900
derp.Scale = Vector3.new(2, 2, 2.5)
901
 
902
dist = 1.5
903
defdist = 1.5
904
upos = 0
905
yrot = 90
906
mode = 1
907
fdist = 2
908
updist = 0
909
 
910
RS = me.Character.Torso["Right Shoulder"]
911
LS = me.Character.Torso["Left Shoulder"]
912
 
913
RSAnim = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
914
LSAnim = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
915
 
916
local keys = {}
917
 
918
coroutine.wrap(function()
919
    while true do
920
        for i = 1, 40 do
921
            dist = dist + 0.02
922
                        defdist = defdist + 0.02
923
            wait()
924
        end
925
        
926
        for i = 1, 40 do
927
            dist = dist - 0.02
928
                        defdist = defdist - 0.02
929
            wait()
930
        end
931
    end
932
end)()
933
 
934
for i = 1, 6 do
935
    local pr = Instance.new("Part", tool)
936
    pr.FormFactor = "Custom"
937
    pr.TopSurface = "Smooth"
938
    pr.BottomSurface = "Smooth"
939
    pr.Name = "derpp"
940
    pr.Transparency = 0
941
    pr.Anchored = true
942
    pr.CanCollide = false
943
    
944
    pr.Touched:connect(function(h)
945
        if not h:IsDescendantOf(me.Character) then
946
            if h.Parent:FindFirstChild("Humanoid") then
947
                h.Parent.Humanoid:TakeDamage(10)
948
            end
949
        end
950
    end)
951
    if i == 1 or i == 3 or i == 5 then
952
        pr.BrickColor = BrickColor.new("Really black")
953
    
954
    else
955
        pr.BrickColor = BrickColor.new("Dusty Rose")
956
    end
957
    
958
    pr.CanCollide = false
959
    pr.Size = Vector3.new(0.5, 0.5, 0.5)
960
    coroutine.wrap(function()
961
        while true do
962
            for r = 1, 90 do
963
                if mode == 1 then
964
                    pr.CFrame = fp.CFrame * CFrame.Angles(0, math.rad((r*4)+((360/6)*i)), math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist)
965
                
966
                elseif mode == 2 then
967
                    pr.CFrame = (fp.CFrame * CFrame.new(2, 0, 0)) * CFrame.Angles(math.rad((r*4)+((360/6)*i)), 0, math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist)
968
                                        
969
                                elseif mode == 3 then
970
                                        pr.CFrame = me.Character["EnergyBrick"].CFrame * CFrame.Angles(0, 0, math.rad((r*4)+((360/6)*i))) * CFrame.new(0, dist, 0)
971
                end
972
                wait()
973
            end
974
        end
975
    end)()
976
end
977
 
978
tool.Equipped:connect(function(m)
979
    local w = Instance.new("Weld", handle)
980
    w.Part0 = handle
981
    w.Part1 = fp
982
    w.C0 = CFrame.new(0, 0, 0.75)
983
 
984
    m.Button1Down:connect(function()
985
        down = true
986
        wait()
987
        
988
        for i = 1,6 do
989
            me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(-i*4))
990
            wait()
991
        end
992
        
993
        for i = 1, 6 do
994
            me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(i*4))
995
            wait()
996
        end
997
    end)
998
 
999
    m.Button1Up:connect(function()
1000
        down = false
1001
    end)
1002
    
1003
    m.Button2Down:connect(function()
1004
        mode = 2
1005
        fire.Size = 6
1006
        wait(0.5)
1007
        for _, a in pairs(tool:GetChildren()) do
1008
            if a.Name == "derpp" then
1009
                coroutine.wrap(function()
1010
                    local ray = Ray.new(a.CFrame.p, (m.Hit.p-a.CFrame.p).unit*300)
1011
                        
1012
                    local hit, pos = game.Workspace:FindPartOnRay(ray, me.Character)
1013
                        
1014
                    local h = hit
1015
                                        if h then
1016
                                                for _, a in pairs(h.Parent:GetChildren()) do
1017
                                                        if a:IsA("Humanoid") then
1018
                                                                a.Health = a.Health - 20
1019
                                                        end
1020
                                                end
1021
                                        end
1022
                        
1023
                    local dis = (pos-a.CFrame.p).magnitude
1024
                        
1025
                    local beam = Instance.new("Part", user)
1026
                    beam.TopSurface = "Smooth"
1027
                    beam.BottomSurface = "Smooth"
1028
                    beam.FormFactor = "Custom"
1029
                    beam.Size = Vector3.new(1, 1, dis)
1030
                    beam.Anchored = true
1031
                    beam.BrickColor = BrickColor.new("Really black")
1032
                    beam.CanCollide = false
1033
                    beam.Transparency = 0.3
1034
                    coroutine.wrap(function()
1035
                        for d = 1, 10 do
1036
                            beam.Size = beam.Size - Vector3.new(0.1, 0.1, 0)
1037
                            beam.CFrame = CFrame.new(pos, a.CFrame.p) * CFrame.new(0, 0, -dis/2)
1038
                            wait()
1039
                        end
1040
                    end)()
1041
                    wait(0.5)
1042
                    beam:Remove()
1043
                end)()
1044
            end
1045
        end
1046
    
1047
        wait(0.5)
1048
        mode = 1
1049
    end)
1050
    
1051
    m.Button2Up:connect(function(k)
1052
        fire.Size = 3
1053
    end)
1054
        
1055
        m.KeyDown:connect(function(key)
1056
                if key:lower() == "e" then
1057
                        me.Character.Animate.Disabled = true
1058
                        wait(1)
1059
                        RS.C0 = RSAnim
1060
                        LS.C0 = LSAnim
1061
                        for _, a in pairs(tool:GetChildren()) do
1062
                                if a.Name ~= "derpp" then
1063
                                        a.Transparency = 1
1064
                                end
1065
                        end
1066
                        fire.Enabled = false
1067
                        
1068
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(30), 0, 0)
1069
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30), 0, 0)
1070
                        
1071
                        coroutine.wrap(function()
1072
                                for d = 1, 30 do
1073
                                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad((30-(d))), 0, 0)
1074
                                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30-(d)), 0, 0)
1075
                                        wait()
1076
                                end
1077
                        end)()
1078
                        
1079
                        local ball = Instance.new("Part", me.Character)
1080
                        ball.Name = "EnergyBrick"
1081
                        ball.TopSurface = "Smooth"
1082
                        ball.BottomSurface = "Smooth"
1083
                        ball.CanCollide = false
1084
                        ball.Transparency = 0.4
1085
                        ball.BrickColor = BrickColor.new("Really black")
1086
                        ball.Anchored = true
1087
                        ball.Size = Vector3.new(1, 1, 1)
1088
                        ball.FormFactor = "Custom"
1089
                        ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, 0, fdist)
1090
                        ball.Touched:connect(function(h)
1091
                                if not h:IsDescendantOf(me.Character) then
1092
                                        if h:IsA("Part") and not h.Name:lower():find("base") then
1093
                                                h:Destroy()
1094
                                        end
1095
                                end
1096
                        end)
1097
                        local f = Instance.new("Fire", ball)
1098
                        f.Size = 3
1099
                        f.Color = Color3.new(0, 0, 0)
1100
                        f.SecondaryColor = Color3.new(0, 0, 255)
1101
                        wait()
1102
                        mode = 3
1103
                        
1104
                        for d = 1, 40 do
1105
                                f.Size = f.Size + 0.25
1106
                                fdist = fdist + 0.05
1107
                                dist = dist + 0.05
1108
                                updist = updist + 0.025
1109
                                ball.Size = ball.Size + Vector3.new(0.1, 0.1, 0.1)
1110
                                ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, updist, fdist)
1111
                                wait()
1112
                        end
1113
                        
1114
                        local scf = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0)
1115
                        me.Character.Animate.Disabled = false
1116
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
1117
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
1118
                        for _, a in pairs(tool:GetChildren()) do
1119
                                a.Transparency = 0
1120
                        end
1121
                        fp.Transparency = 1
1122
                        mode = 1
1123
                        dist = defdist
1124
                        updist = 0
1125
                        fire.Enabled = true
1126
                        for i = 1, 150 do
1127
                                ball.CFrame = scf * CFrame.new(0, 0, fdist+(i*2)) * CFrame.Angles(0, 0, math.rad(i*3))
1128
                                local b2 = ball:Clone()
1129
                                b2.Fire:Destroy()
1130
                                b2.Parent = me.Character
1131
                                b2.CFrame = ball.CFrame * CFrame.Angles(0, 0, math.rad(i*3))
1132
                            b2.Touched:connect(function(h)
1133
                                    if not h:IsDescendantOf(me.Character) then
1134
                                                if h:IsA("Part") and not h.Name:lower():find("base") then
1135
                                                        h:Destroy()
1136
                                                end
1137
                                    end
1138
                            end)
1139
                                coroutine.wrap(function()
1140
                                        wait(1)
1141
                                        for i = 1, 20 do
1142
                                                b2.Transparency = b2.Transparency + 0.05
1143
                                                wait()
1144
                                        end
1145
                                        b2:Destroy()
1146
                                end)()
1147
                                wait()
1148
                        end
1149
                        
1150
                        ball:Destroy()
1151
                        fdist = 2
1152
                        
1153
                elseif key:lower() == "f" then
1154
                        me.Character.Animate.Disabled = true
1155
                        wait(1)
1156
                        RS.C0 = RSAnim
1157
                        LS.C0 = LSAnim
1158
                        for i = 1, 11 do
1159
                                LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(-90), 0) * CFrame.Angles(math.rad(i*2), 0, 0)
1160
                                RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(90), 0) * CFrame.Angles(math.rad(i*2), 0, 0)
1161
                                wait()
1162
                        end
1163
                        
1164
                        local bp = Instance.new("BodyPosition", me.Character.Torso)
1165
                        bp.maxForce = Vector3.new(0, 9999, 0)
1166
                        coroutine.wrap(function()
1167
                                for rs = 1, 10 do
1168
                                        bp.position = me.Character.Head.Position + Vector3.new(0, 4, 0)
1169
                                        wait()
1170
                                end
1171
                        end)()
1172
                        
1173
                        for an = 1, 30 do
1174
                                LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0)
1175
                                RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0)
1176
                                wait()
1177
                        end
1178
                        wait(0.5)
1179
                        bp:Remove()
1180
                        for an = 1, 7 do
1181
                                LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0)
1182
                                RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0)
1183
                                wait()
1184
                        end
1185
                        wait(0.25)
1186
                        local ex = Instance.new("Part", me.Character)
1187
                        ex.Size = Vector3.new(1, 1, 1)
1188
                        ex.Transparency = 0.4
1189
                        ex.BrickColor = BrickColor.new("Deep orange")
1190
                        
1191
                        local msh = Instance.new("SpecialMesh", ex)
1192
                        msh.MeshType = "FileMesh"
1193
                        msh.MeshId = "http://www.roblox.com/asset/?id=1323306"
1194
                        msh.Scale = Vector3.new(0.5, 0.5, 0.5)
1195
                        
1196
                        ex.Position = handle.Position
1197
                        ex.Anchored = true
1198
                        
1199
                        for i = 1, 20 do
1200
                                msh.Scale = msh.Scale + Vector3.new(3, 3, 3)
1201
                                for _, a in pairs(game.Players:GetChildren()) do
1202
                                        if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then
1203
                                                for _, b in pairs(a.Character:GetChildren()) do
1204
                                                        if b:IsA("Humanoid") then
1205
                                                                b.Health = b.Health - 10
1206
                                                        end
1207
                                                end
1208
                                        end
1209
                                end
1210
                                wait()
1211
                        end
1212
                        
1213
                        for i = 1, 12 do
1214
                                ex.Transparency = ex.Transparency + 0.05
1215
                                wait()
1216
                        end
1217
                        ex:Remove()
1218
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
1219
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
1220
                        wait()
1221
                        me.Character.Animate.Disabled = false
1222
                        
1223
                elseif key:lower() == "l" then
1224
                        me.Character.Animate.Disabled = true
1225
                        wait(1)
1226
                        RS.C0 = RSAnim
1227
                        LS.C0 = LSAnim
1228
                        for i = 1, 60 do
1229
                                LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(-90), 0, -math.rad(i))
1230
                                RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0)  * CFrame.Angles(math.rad(-90), 0, math.rad(i))
1231
                                wait()
1232
                        end
1233
                        
1234
                        local beam = Instance.new("Part", me.Character)
1235
                        beam.Size = Vector3.new(5, 300, 5)
1236
                        beam.CanCollide = false
1237
                        beam.CFrame = me.Character.Torso.CFrame * CFrame.new(0, (300/2)-2, 0)
1238
                        beam.TopSurface = "Smooth"
1239
                        beam.BottomSurface = "Smooth"
1240
                        beam.BrickColor = BrickColor.new("New Yeller")
1241
                        beam.Anchored = true
1242
                        beam.Transparency = 0.3
1243
                        wait(0.4)
1244
                        for e = 1, 14 do
1245
                                beam.Transparency = beam.Transparency + 0.05
1246
                                wait()
1247
                        end
1248
                        beam:Remove()
1249
                        local m = Instance.new("ForceField", me.Character)
1250
                        for i = 1, 40 do
1251
                                d1 = math.random(-200, 200)
1252
                                d2 = math.random(-200, 200)
1253
                                local ltn = Instance.new("Part", game.Workspace)
1254
                                ltn.Size = Vector3.new(3, 300, 3)
1255
                                ltn.CanCollide = false
1256
                                ltn.CFrame = CFrame.new(d1, 0, d2) * CFrame.new(0, 300/2, 0)
1257
                                ltn.TopSurface = "Smooth"
1258
                                ltn.BottomSurface = "Smooth"
1259
                                ltn.BrickColor = BrickColor.new("Deep blue")
1260
                                ltn.Anchored = true
1261
                                ltn.Transparency = 0.3
1262
                                local ex = Instance.new("Explosion")
1263
                                ex.Position = Vector3.new(d1, 0.5, d2)
1264
                                ex.BlastRadius = 10
1265
                                wait()
1266
                                ex.Parent = game.Workspace
1267
                                game.Lighting.Ambient = Color3.new(1, 1, 1)
1268
                                wait(0.125)
1269
                                ltn:Destroy()
1270
                                game.Lighting.Ambient = Color3.new(0.5, 0.5, 0.5)
1271
                        end
1272
                        m:Remove()
1273
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
1274
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
1275
                        wait()
1276
                        me.Character.Animate.Disabled = false
1277
                        
1278
                elseif key:lower() == "c" then
1279
                    me.Character.Animate.Disabled = true
1280
                    wait(1)
1281
                        RS.C0 = RSAnim
1282
                        LS.C0 = LSAnim
1283
                    for _, a in pairs(tool:GetChildren()) do
1284
                        a.Transparency = 1
1285
                    end
1286
                    fire.Enabled = false
1287
                    
1288
                    local s = Instance.new("Part", me.Character)
1289
                    s.Transparency = 0
1290
                    s.Name = "StrikeSword"
1291
                    
1292
                    local w = Instance.new("Weld", s)
1293
                    w.Part0 = me.Character["Right Arm"]
1294
                    w.Part1 = s
1295
                    w.C0 = CFrame.new(0, -1, -2) * CFrame.Angles(math.rad(180), 0, 0)
1296
                    
1297
                    local derpe = Instance.new("SpecialMesh", s)
1298
                    derpe.MeshType = "FileMesh"
1299
            derpe.MeshId = "http://www.roblox.com/asset/?id=61357428"
1300
            derpe.TextureId = "http://www.roblox.com/asset/?id=61357495"
1301
            derpe.Scale = Vector3.new(2, 2, 2.5)
1302
                    for i = 1, 35 do
1303
                LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(-90), 0) * CFrame.Angles(math.rad(i+20), 0, 0)
1304
                RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(90), 0) * CFrame.Angles(math.rad(i+20), 0, 0)
1305
                wait()
1306
            end
1307
            
1308
            wait(1)
1309
            
1310
            for i = 1, 30 do
1311
                derpe.Scale = derpe.Scale + Vector3.new(0.2, 0.2, 0.2)
1312
                w.C0 = CFrame.new(0, -1, -2-i/3) * CFrame.Angles(math.rad(180), 0, 0)
1313
                wait()
1314
            end
1315
            
1316
            wait(0.125)
1317
            
1318
            for i = 1, 17 do
1319
                LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(-90), 0)
1320
                RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(90), 0)
1321
                wait()
1322
            end
1323
            wait(0.125)
1324
            local ex = Instance.new("Part", me.Character)
1325
                        ex.Size = Vector3.new(1, 1, 1)
1326
                        ex.Transparency = 0.4
1327
                        ex.BrickColor = BrickColor.new("Deep orange")
1328
                        
1329
                        local msh = Instance.new("SpecialMesh", ex)
1330
                        msh.MeshType = "FileMesh"
1331
                        msh.MeshId = "http://www.roblox.com/asset/?id=1323306"
1332
                        msh.Scale = Vector3.new(0.5, 0.5, 0.5)
1333
                        
1334
                        ex.Position = s.Position
1335
                        ex.Anchored = true
1336
                        
1337
                        coroutine.wrap(function()
1338
                            s:Destroy()
1339
                            for _, a in pairs(tool:GetChildren()) do
1340
                                a.Transparency = 0
1341
                        end
1342
                        fp.Transparency = 1
1343
                        fire.Enabled = true
1344
                        me.Character.Animate.Disabled = false
1345
                    end)()
1346
                        
1347
                        for i = 1, 20 do
1348
                                msh.Scale = msh.Scale + Vector3.new(3, 3, 3)
1349
                                for _, a in pairs(game.Players:GetChildren()) do
1350
                                        if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then
1351
                                                for _, b in pairs(a.Character:GetChildren()) do
1352
                                                        if b:IsA("Humanoid") then
1353
                                                                b.Health = b.Health - 10
1354
                                                        end
1355
                                                end
1356
                                        end
1357
                                end
1358
                                wait()
1359
                        end
1360
                        
1361
                        for i = 1, 12 do
1362
                                ex.Transparency = ex.Transparency + 0.05
1363
                                wait()
1364
                        end
1365
                end
1366
    end)
1367
 
1368
    me.Character.Humanoid.Died:connect(function()
1369
        local ex = Instance.new("Explosion")
1370
        ex.Position = handle.Position
1371
        ex.BlastRadius = 100
1372
        ex.BlastPressure = 1e6
1373
        wait()
1374
        ex.Parent = game.Workspace
1375
    end)
1376
end)
1377
 
1378
tool.Unequipped:connect(function()
1379
end)
1380
 --[[
1381
    abyssal sword
1382
        LOCALSCRIPT
1383
        
1384
        keys:
1385
                e = energy brick
1386
                c = smash
1387
                f = fall
1388
                l = lightning
1389
                click = slash
1390
                right click = lasers
1391
]]
1392
 
1393
me = game.Players.LocalPlayer
1394
 
1395
local user = me.Character
1396
 
1397
local tool = Instance.new("Tool", me.Backpack)
1398
tool.Name = "Abyssal Sword"
1399
 
1400
local handle = Instance.new("Part", tool)
1401
handle.formFactor = "Custom"
1402
handle.CanCollide = false
1403
handle.Name = "Handle"
1404
handle.TopSurface = "Smooth"
1405
handle.BottomSurface = "Smooth"
1406
handle.Size = Vector3.new(0.3, 1, 0.3)
1407
handle.Rotation = Vector3.new(90, 0, 0)
1408
 
1409
handle.Touched:connect(function(h)
1410
    if not h:IsDescendantOf(me.Character) then
1411
        for _, a in pairs(h.Parent:GetChildren()) do
1412
                        if a:IsA("Humanoid") then
1413
                                a.Health = a.Health - 20
1414
                        end
1415
        end
1416
    end
1417
end)
1418
 
1419
tool.GripPos = Vector3.new(0, 0, -2)
1420
tool.GripForward = Vector3.new(-1, 0, 0)
1421
tool.GripRight = Vector3.new(0, 1, 0)
1422
tool.GripUp = Vector3.new(0, 0, 1.5)
1423
 
1424
local fp = Instance.new("Part", tool)
1425
fp.FormFactor = "Custom"
1426
fp.Transparency = 1
1427
fp.Size = Vector3.new(0.25, 0.25, 0.25)
1428
 
1429
local fire = Instance.new("Fire", fp)
1430
fire.Color = Color3.new(0, 0, 0)
1431
fire.SecondaryColor = Color3.new(255, 0, 0)
1432
fire.Size = 3
1433
fire.Heat = 0
1434
 
1435
local derp = Instance.new("SpecialMesh", handle)
1436
derp.MeshId = "http://www.roblox.com/asset/?id=61357428"
1437
derp.TextureId = "http://www.roblox.com/asset/?id=61357495 "
1438
derp.Scale = Vector3.new(2, 2, 2.5)
1439
 
1440
dist = 1.5
1441
defdist = 1.5
1442
upos = 0
1443
yrot = 90
1444
mode = 1
1445
fdist = 2
1446
updist = 0
1447
 
1448
RS = me.Character.Torso["Right Shoulder"]
1449
LS = me.Character.Torso["Left Shoulder"]
1450
 
1451
RSAnim = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
1452
LSAnim = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
1453
 
1454
local keys = {}
1455
 
1456
coroutine.wrap(function()
1457
    while true do
1458
        for i = 1, 40 do
1459
            dist = dist + 0.02
1460
                        defdist = defdist + 0.02
1461
            wait()
1462
        end
1463
        
1464
        for i = 1, 40 do
1465
            dist = dist - 0.02
1466
                        defdist = defdist - 0.02
1467
            wait()
1468
        end
1469
    end
1470
end)()
1471
 
1472
for i = 1, 6 do
1473
    local pr = Instance.new("Part", tool)
1474
    pr.FormFactor = "Custom"
1475
    pr.TopSurface = "Smooth"
1476
    pr.BottomSurface = "Smooth"
1477
    pr.Name = "derpp"
1478
    pr.Transparency = 0
1479
    pr.Anchored = true
1480
    pr.CanCollide = false
1481
    
1482
    pr.Touched:connect(function(h)
1483
        if not h:IsDescendantOf(me.Character) then
1484
            if h.Parent:FindFirstChild("Humanoid") then
1485
                h.Parent.Humanoid:TakeDamage(10)
1486
            end
1487
        end
1488
    end)
1489
    if i == 1 or i == 3 or i == 5 then
1490
        pr.BrickColor = BrickColor.new("Really black")
1491
    
1492
    else
1493
        pr.BrickColor = BrickColor.new("Dusty Rose")
1494
    end
1495
    
1496
    pr.CanCollide = false
1497
    pr.Size = Vector3.new(0.5, 0.5, 0.5)
1498
    coroutine.wrap(function()
1499
        while true do
1500
            for r = 1, 90 do
1501
                if mode == 1 then
1502
                    pr.CFrame = fp.CFrame * CFrame.Angles(0, math.rad((r*4)+((360/6)*i)), math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist)
1503
                
1504
                elseif mode == 2 then
1505
                    pr.CFrame = (fp.CFrame * CFrame.new(2, 0, 0)) * CFrame.Angles(math.rad((r*4)+((360/6)*i)), 0, math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist)
1506
                                        
1507
                                elseif mode == 3 then
1508
                                        pr.CFrame = me.Character["EnergyBrick"].CFrame * CFrame.Angles(0, 0, math.rad((r*4)+((360/6)*i))) * CFrame.new(0, dist, 0)
1509
                end
1510
                wait()
1511
            end
1512
        end
1513
    end)()
1514
end
1515
 
1516
tool.Equipped:connect(function(m)
1517
    local w = Instance.new("Weld", handle)
1518
    w.Part0 = handle
1519
    w.Part1 = fp
1520
    w.C0 = CFrame.new(0, 0, 0.75)
1521
 
1522
    m.Button1Down:connect(function()
1523
        down = true
1524
        wait()
1525
        
1526
        for i = 1,6 do
1527
            me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(-i*4))
1528
            wait()
1529
        end
1530
        
1531
        for i = 1, 6 do
1532
            me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(i*4))
1533
            wait()
1534
        end
1535
    end)
1536
 
1537
    m.Button1Up:connect(function()
1538
        down = false
1539
    end)
1540
    
1541
    m.Button2Down:connect(function()
1542
        mode = 2
1543
        fire.Size = 6
1544
        wait(0.5)
1545
        for _, a in pairs(tool:GetChildren()) do
1546
            if a.Name == "derpp" then
1547
                coroutine.wrap(function()
1548
                    local ray = Ray.new(a.CFrame.p, (m.Hit.p-a.CFrame.p).unit*300)
1549
                        
1550
                    local hit, pos = game.Workspace:FindPartOnRay(ray, me.Character)
1551
                        
1552
                    local h = hit
1553
                                        if h then
1554
                                                for _, a in pairs(h.Parent:GetChildren()) do
1555
                                                        if a:IsA("Humanoid") then
1556
                                                                a.Health = a.Health - 20
1557
                                                        end
1558
                                                end
1559
                                        end
1560
                        
1561
                    local dis = (pos-a.CFrame.p).magnitude
1562
                        
1563
                    local beam = Instance.new("Part", user)
1564
                    beam.TopSurface = "Smooth"
1565
                    beam.BottomSurface = "Smooth"
1566
                    beam.FormFactor = "Custom"
1567
                    beam.Size = Vector3.new(1, 1, dis)
1568
                    beam.Anchored = true
1569
                    beam.BrickColor = BrickColor.new("Really black")
1570
                    beam.CanCollide = false
1571
                    beam.Transparency = 0.3
1572
                    coroutine.wrap(function()
1573
                        for d = 1, 10 do
1574
                            beam.Size = beam.Size - Vector3.new(0.1, 0.1, 0)
1575
                            beam.CFrame = CFrame.new(pos, a.CFrame.p) * CFrame.new(0, 0, -dis/2)
1576
                            wait()
1577
                        end
1578
                    end)()
1579
                    wait(0.5)
1580
                    beam:Remove()
1581
                end)()
1582
            end
1583
        end
1584
    
1585
        wait(0.5)
1586
        mode = 1
1587
    end)
1588
    
1589
    m.Button2Up:connect(function(k)
1590
        fire.Size = 3
1591
    end)
1592
        
1593
        m.KeyDown:connect(function(key)
1594
                if key:lower() == "e" then
1595
                        me.Character.Animate.Disabled = true
1596
                        wait(1)
1597
                        RS.C0 = RSAnim
1598
                        LS.C0 = LSAnim
1599
                        for _, a in pairs(tool:GetChildren()) do
1600
                                if a.Name ~= "derpp" then
1601
                                        a.Transparency = 1
1602
                                end
1603
                        end
1604
                        fire.Enabled = false
1605
                        
1606
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(30), 0, 0)
1607
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30), 0, 0)
1608
                        
1609
                        coroutine.wrap(function()
1610
                                for d = 1, 30 do
1611
                                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad((30-(d))), 0, 0)
1612
                                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30-(d)), 0, 0)
1613
                                        wait()
1614
                                end
1615
                        end)()
1616
                        
1617
                        local ball = Instance.new("Part", me.Character)
1618
                        ball.Name = "EnergyBrick"
1619
                        ball.TopSurface = "Smooth"
1620
                        ball.BottomSurface = "Smooth"
1621
                        ball.CanCollide = false
1622
                        ball.Transparency = 0.4
1623
                        ball.BrickColor = BrickColor.new("Really black")
1624
                        ball.Anchored = true
1625
                        ball.Size = Vector3.new(1, 1, 1)
1626
                        ball.FormFactor = "Custom"
1627
                        ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, 0, fdist)
1628
                        ball.Touched:connect(function(h)
1629
                                if not h:IsDescendantOf(me.Character) then
1630
                                        if h:IsA("Part") and not h.Name:lower():find("base") then
1631
                                                h:Destroy()
1632
                                        end
1633
                                end
1634
                        end)
1635
                        local f = Instance.new("Fire", ball)
1636
                        f.Size = 3
1637
                        f.Color = Color3.new(0, 0, 0)
1638
                        f.SecondaryColor = Color3.new(0, 0, 255)
1639
                        wait()
1640
                        mode = 3
1641
                        
1642
                        for d = 1, 40 do
1643
                                f.Size = f.Size + 0.25
1644
                                fdist = fdist + 0.05
1645
                                dist = dist + 0.05
1646
                                updist = updist + 0.025
1647
                                ball.Size = ball.Size + Vector3.new(0.1, 0.1, 0.1)
1648
                                ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, updist, fdist)
1649
                                wait()
1650
                        end
1651
                        
1652
                        local scf = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0)
1653
                        me.Character.Animate.Disabled = false
1654
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
1655
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
1656
                        for _, a in pairs(tool:GetChildren()) do
1657
                                a.Transparency = 0
1658
                        end
1659
                        fp.Transparency = 1
1660
                        mode = 1
1661
                        dist = defdist
1662
                        updist = 0
1663
                        fire.Enabled = true
1664
                        for i = 1, 150 do
1665
                                ball.CFrame = scf * CFrame.new(0, 0, fdist+(i*2)) * CFrame.Angles(0, 0, math.rad(i*3))
1666
                                local b2 = ball:Clone()
1667
                                b2.Fire:Destroy()
1668
                                b2.Parent = me.Character
1669
                                b2.CFrame = ball.CFrame * CFrame.Angles(0, 0, math.rad(i*3))
1670
                            b2.Touched:connect(function(h)
1671
                                    if not h:IsDescendantOf(me.Character) then
1672
                                                if h:IsA("Part") and not h.Name:lower():find("base") then
1673
                                                        h:Destroy()
1674
                                                end
1675
                                    end
1676
                            end)
1677
                                coroutine.wrap(function()
1678
                                        wait(1)
1679
                                        for i = 1, 20 do
1680
                                                b2.Transparency = b2.Transparency + 0.05
1681
                                                wait()
1682
                                        end
1683
                                        b2:Destroy()
1684
                                end)()
1685
                                wait()
1686
                        end
1687
                        
1688
                        ball:Destroy()
1689
                        fdist = 2
1690
                        
1691
                elseif key:lower() == "f" then
1692
                        me.Character.Animate.Disabled = true
1693
                        wait(1)
1694
                        RS.C0 = RSAnim
1695
                        LS.C0 = LSAnim
1696
                        for i = 1, 11 do
1697
                                LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(-90), 0) * CFrame.Angles(math.rad(i*2), 0, 0)
1698
                                RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(90), 0) * CFrame.Angles(math.rad(i*2), 0, 0)
1699
                                wait()
1700
                        end
1701
                        
1702
                        local bp = Instance.new("BodyPosition", me.Character.Torso)
1703
                        bp.maxForce = Vector3.new(0, 9999, 0)
1704
                        coroutine.wrap(function()
1705
                                for rs = 1, 10 do
1706
                                        bp.position = me.Character.Head.Position + Vector3.new(0, 4, 0)
1707
                                        wait()
1708
                                end
1709
                        end)()
1710
                        
1711
                        for an = 1, 30 do
1712
                                LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0)
1713
                                RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0)
1714
                                wait()
1715
                        end
1716
                        wait(0.5)
1717
                        bp:Remove()
1718
                        for an = 1, 7 do
1719
                                LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0)
1720
                                RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0)
1721
                                wait()
1722
                        end
1723
                        wait(0.25)
1724
                        local ex = Instance.new("Part", me.Character)
1725
                        ex.Size = Vector3.new(1, 1, 1)
1726
                        ex.Transparency = 0.4
1727
                        ex.BrickColor = BrickColor.new("Deep orange")
1728
                        
1729
                        local msh = Instance.new("SpecialMesh", ex)
1730
                        msh.MeshType = "FileMesh"
1731
                        msh.MeshId = "http://www.roblox.com/asset/?id=1323306"
1732
                        msh.Scale = Vector3.new(0.5, 0.5, 0.5)
1733
                        
1734
                        ex.Position = handle.Position
1735
                        ex.Anchored = true
1736
                        
1737
                        for i = 1, 20 do
1738
                                msh.Scale = msh.Scale + Vector3.new(3, 3, 3)
1739
                                for _, a in pairs(game.Players:GetChildren()) do
1740
                                        if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then
1741
                                                for _, b in pairs(a.Character:GetChildren()) do
1742
                                                        if b:IsA("Humanoid") then
1743
                                                                b.Health = b.Health - 10
1744
                                                        end
1745
                                                end
1746
                                        end
1747
                                end
1748
                                wait()
1749
                        end
1750
                        
1751
                        for i = 1, 12 do
1752
                                ex.Transparency = ex.Transparency + 0.05
1753
                                wait()
1754
                        end
1755
                        ex:Remove()
1756
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
1757
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
1758
                        wait()
1759
                        me.Character.Animate.Disabled = false
1760
                        
1761
                elseif key:lower() == "l" then
1762
                        me.Character.Animate.Disabled = true
1763
                        wait(1)
1764
                        RS.C0 = RSAnim
1765
                        LS.C0 = LSAnim
1766
                        for i = 1, 60 do
1767
                                LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(-90), 0, -math.rad(i))
1768
                                RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0)  * CFrame.Angles(math.rad(-90), 0, math.rad(i))
1769
                                wait()
1770
                        end
1771
                        
1772
                        local beam = Instance.new("Part", me.Character)
1773
                        beam.Size = Vector3.new(5, 300, 5)
1774
                        beam.CanCollide = false
1775
                        beam.CFrame = me.Character.Torso.CFrame * CFrame.new(0, (300/2)-2, 0)
1776
                        beam.TopSurface = "Smooth"
1777
                        beam.BottomSurface = "Smooth"
1778
                        beam.BrickColor = BrickColor.new("New Yeller")
1779
                        beam.Anchored = true
1780
                        beam.Transparency = 0.3
1781
                        wait(0.4)
1782
                        for e = 1, 14 do
1783
                                beam.Transparency = beam.Transparency + 0.05
1784
                                wait()
1785
                        end
1786
                        beam:Remove()
1787
                        local m = Instance.new("ForceField", me.Character)
1788
                        for i = 1, 40 do
1789
                                d1 = math.random(-200, 200)
1790
                                d2 = math.random(-200, 200)
1791
                                local ltn = Instance.new("Part", game.Workspace)
1792
                                ltn.Size = Vector3.new(3, 300, 3)
1793
                                ltn.CanCollide = false
1794
                                ltn.CFrame = CFrame.new(d1, 0, d2) * CFrame.new(0, 300/2, 0)
1795
                                ltn.TopSurface = "Smooth"
1796
                                ltn.BottomSurface = "Smooth"
1797
                                ltn.BrickColor = BrickColor.new("Deep blue")
1798
                                ltn.Anchored = true
1799
                                ltn.Transparency = 0.3
1800
                                local ex = Instance.new("Explosion")
1801
                                ex.Position = Vector3.new(d1, 0.5, d2)
1802
                                ex.BlastRadius = 10
1803
                                wait()
1804
                                ex.Parent = game.Workspace
1805
                                game.Lighting.Ambient = Color3.new(1, 1, 1)
1806
                                wait(0.125)
1807
                                ltn:Destroy()
1808
                                game.Lighting.Ambient = Color3.new(0.5, 0.5, 0.5)
1809
                        end
1810
                        m:Remove()
1811
                        LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
1812
                        RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
1813
                        wait()
1814
                        me.Character.Animate.Disabled = false
1815
                        
1816
                elseif key:lower() == "c" then
1817
                    me.Character.Animate.Disabled = true
1818
                    wait(1)
1819
                        RS.C0 = RSAnim
1820
                        LS.C0 = LSAnim
1821
                    for _, a in pairs(tool:GetChildren()) do
1822
                        a.Transparency = 1
1823
                    end
1824
                    fire.Enabled = false
1825
                    
1826
                    local s = Instance.new("Part", me.Character)
1827
                    s.Transparency = 0
1828
                    s.Name = "StrikeSword"
1829
                    
1830
                    local w = Instance.new("Weld", s)
1831
                    w.Part0 = me.Character["Right Arm"]
1832
                    w.Part1 = s
1833
                    w.C0 = CFrame.new(0, -1, -2) * CFrame.Angles(math.rad(180), 0, 0)
1834
                    
1835
                    local derpe = Instance.new("SpecialMesh", s)
1836
                    derpe.MeshType = "FileMesh"
1837
            derpe.MeshId = "http://www.roblox.com/asset/?id=61357428"
1838
            derpe.TextureId = "http://www.roblox.com/asset/?id=61357495"
1839
            derpe.Scale = Vector3.new(2, 2, 2.5)
1840
                    for i = 1, 35 do
1841
                LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(-90), 0) * CFrame.Angles(math.rad(i+20), 0, 0)
1842
                RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(90), 0) * CFrame.Angles(math.rad(i+20), 0, 0)
1843
                wait()
1844
            end
1845
            
1846
            wait(1)
1847
            
1848
            for i = 1, 30 do
1849
                derpe.Scale = derpe.Scale + Vector3.new(0.2, 0.2, 0.2)
1850
                w.C0 = CFrame.new(0, -1, -2-i/3) * CFrame.Angles(math.rad(180), 0, 0)
1851
                wait()
1852
            end
1853
            
1854
            wait(0.125)
1855
            
1856
            for i = 1, 17 do
1857
                LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(-90), 0)
1858
                RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(90), 0)
1859
                wait()
1860
            end
1861
            wait(0.125)
1862
            local ex = Instance.new("Part", me.Character)
1863
                        ex.Size = Vector3.new(1, 1, 1)
1864
                        ex.Transparency = 0.4
1865
                        ex.BrickColor = BrickColor.new("Deep orange")
1866
                        
1867
                        local msh = Instance.new("SpecialMesh", ex)
1868
                        msh.MeshType = "FileMesh"
1869
                        msh.MeshId = "http://www.roblox.com/asset/?id=1323306"
1870
                        msh.Scale = Vector3.new(0.5, 0.5, 0.5)
1871
                        
1872
                        ex.Position = s.Position
1873
                        ex.Anchored = true
1874
                        
1875
                        coroutine.wrap(function()
1876
                            s:Destroy()
1877
                            for _, a in pairs(tool:GetChildren()) do
1878
                                a.Transparency = 0
1879
                        end
1880
                        fp.Transparency = 1
1881
                        fire.Enabled = true
1882
                        me.Character.Animate.Disabled = false
1883
                    end)()
1884
                        
1885
                        for i = 1, 20 do
1886
                                msh.Scale = msh.Scale + Vector3.new(3, 3, 3)
1887
                                for _, a in pairs(game.Players:GetChildren()) do
1888
                                        if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then
1889
                                                for _, b in pairs(a.Character:GetChildren()) do
1890
                                                        if b:IsA("Humanoid") then
1891
                                                                b.Health = b.Health - 10
1892
                                                        end
1893
                                                end
1894
                                        end
1895
                                end
1896
                                wait()
1897
                        end
1898
                        
1899
                        for i = 1, 12 do
1900
                                ex.Transparency = ex.Transparency + 0.05
1901
                                wait()
1902
                        end
1903
                end
1904
    end)
1905
 
1906
    me.Character.Humanoid.Died:connect(function()
1907
        local ex = Instance.new("Explosion")
1908
        ex.Position = handle.Position
1909
        ex.BlastRadius = 100
1910
        ex.BlastPressure = 1e6
1911
        wait()
1912
        ex.Parent = game.Workspace
1913
    end)
1914
end)
1915
 
1916
tool.Unequipped:connect(function()
1917
end)