View difference between Paste ID: TPHm4Ltw and H97NDwgD
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility: by WaverlyCole");InternalData = {}
2
do
3
local kan = Instance.new("Sound") kan.Volume = 6 kan.SoundId = "rbxassetid://784470524" kan.Looped = true kan.Parent = owner.Character.Torso kan:Play()
4
5
    script.Parent = owner.Character
6
    local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
7
    local function NewFakeEvent()
8
        local Bind = Instance.new("BindableEvent")
9
        local Fake;Fake = {Connections = {},
10
        fakeEvent=true;
11
        Connect=function(self,Func)
12
            Bind.Event:connect(Func)
13
            self.Connections[Bind] = true
14
            return setmetatable({Connected = true},{
15
            __index = function (self,Index)
16
                if Index:lower() == "disconnect" then
17
                    return function() Fake.Connections[Bind] = false;self.Connected = false end
18
                end
19
                return Fake[Index]
20
            end;
21
            __tostring = function() return "Connection" end;
22
        })
23
        end}
24
        Fake.connect = Fake.Connect;return Fake;
25
    end
26
    local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
27
    local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
28
    local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
29
        self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
30
    end};ContextActionService.UnBindAction = ContextActionService.BindAction
31
    local function TriggerEvent(self,Event,...)
32
        local Trigger = Mouse[Event]
33
        if Trigger and Trigger.fakeEvent and Trigger.Connections then
34
            for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end
35
        end
36
    end
37
    Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent
38
    Event.OnServerEvent:Connect(function(FiredBy,Input)
39
        if FiredBy.Name ~= owner.Name then return end
40
        if Input.MouseEvent then
41
            Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
42
        else
43
            local Begin = Input.UserInputState == Enum.UserInputState.Begin
44
            if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end
45
            for _,Action in pairs(ContextActionService.Actions) do
46
                for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
47
            end
48
            Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
49
            UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
50
        end
51
    end)
52
    InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
53
    Event.Parent = NLS([[
54
        local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse()
55
        local Input = function(Input,gameProcessedEvent)
56
            if gameProcessedEvent then return end
57
            Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
58
        end
59
        UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
60
        local Hit,Target
61
        while wait(1/30) do
62
            if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
63
                Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
64
            end
65
        end
66
    ]],owner.Character)
67
end
68
RealGame = game;game = setmetatable({},{
69
    __index = function (self,Index)
70
        local Sandbox = function (Thing)
71
            if Thing:IsA("Player") then
72
                local RealPlayer = Thing
73
                return setmetatable({},{
74
                    __index = function (self,Index)
75
                        local Type = type(RealPlayer[Index])
76
                        if Type == "function" then
77
                            if Index:lower() == "getmouse" or Index:lower() == "mouse" then
78
                                return function (self)return InternalData["Mouse"] end
79
                            end
80
                            return function (self,...)return RealPlayer[Index](RealPlayer,...) end
81
                        end
82
                        return RealPlayer[Index]
83
                    end;
84
                    __tostring = function(self) return RealPlayer.Name end
85
                })
86
            end
87
        end
88
        if RealGame[Index] then
89
            local Type = type(RealGame[Index])
90
            if Type == "function" then
91
                if Index:lower() == "getservice" or Index:lower() == "service" then
92
                    return function (self,Service)
93
                        local FakeServices = {
94
                            ["players"] = function()
95
                                return setmetatable({},{
96
                                    __index = function (self2,Index2)
97
                                        local RealService = RealGame:GetService(Service)
98
                                        local Type2 = type(Index2)
99
                                        if Type2 == "function" then
100
                                            return function (self,...) return RealService[Index2](RealService,...)end
101
                                        else
102
                                            if Index2:lower() == "localplayer" then return Sandbox(owner) end
103
                                            return RealService[Index2]
104
                                        end
105
                                    end;
106
                                    __tostring = function(self) return RealGame:GetService(Service).Name end
107
                                })
108
                            end;
109
                            ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
110
                            ["userinputservice"] = function() return InternalData["UserInputService"] end;
111
                            ["runservice"] = function()
112
                                return setmetatable({},{
113
                                    __index = function(self2,Index2)
114
                                        local RealService = RealGame:GetService(Service)
115
                                        local Type2 = type(Index2)
116
                                        if Type2 == "function" then
117
                                            return function (self,...) return RealService[Index2](RealService,...) end
118
                                        else
119
                                            local RunServices = {
120
                                                ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
121
                                                ["renderstepped"] = function() return RealService["Stepped"] end
122
                                            }
123
                                            if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
124
                                            return RealService[Index2]
125
                                        end
126
                                    end
127
                                })
128
                            end
129
                        }
130
                        if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
131
                        return RealGame:GetService(Service)
132
                    end
133
                end
134
                return function (self,...) return RealGame[Index](RealGame,...) end
135
            else
136
                if game:GetService(Index) then return game:GetService(Index) end
137
                return RealGame[Index]
138
            end
139
        end
140
        return nil
141
    end
142
});Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...")
143
 
144
--[[KillerDarkness0105's/Codex's Sonic script]]--
145
146
147
148
wait(0.07)
149
Player=game:GetService("Players").LocalPlayer
150
Character=Player.Character
151
PlayerGui=Player.PlayerGui
152
Backpack=Player.Backpack
153
Torso=Character.Torso
154
Head=Character.Head
155
Humanoid=Character.Humanoid
156
LeftArm=Character["Left Arm"]
157
LeftLeg=Character["Left Leg"]
158
RightArm=Character["Right Arm"]
159
RightLeg=Character["Right Leg"]
160
LS=Torso["Left Shoulder"]
161
LH=Torso["Left Hip"]
162
RS=Torso["Right Shoulder"]
163
RH=Torso["Right Hip"]
164
Face = Head.face
165
Neck=Torso.Neck
166
it=Instance.new
167
attacktype=1
168
attacktype2=1
169
vt=Vector3.new
170
cf=CFrame.new
171
cn=CFrame.new
172
euler=CFrame.fromEulerAnglesXYZ
173
angles=CFrame.Angles
174
combo = 0
175
necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
176
necko2=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
177
LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0)
178
LHC1=cf(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0)
179
RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0)
180
RHC1=cf(0.5,1,0,0,0,1,0,1,0,-1,-0,-0)
181
RootPart=Character.HumanoidRootPart
182
RootJoint=RootPart.RootJoint
183
RootCF=euler(-1.57,0,3.14)
184
attack = false
185
attackdebounce = false
186
trispeed=.2
187
attackmode='none'
188
local idle=0
189
local Anim="Idle"
190
stance = false
191
local ff = 2
192
noleg = false
193
evadecooldown = false
194
Humanoid.Animator.Parent = nil
195
equip = false
196
local Effects = {}
197
 attackspeed = 0.14 
198
 df = false
199
 Swing = 1
200
local sine = 0
201
local change = 1
202
local val = 0
203
local speed = 0
204
local rs = game:GetService("RunService").RenderStepped
205
cam = workspace.CurrentCamera
206
local RbxUtility = LoadLibrary("RbxUtility")
207
local Create = RbxUtility.Create
208
deb = game:GetService("Debris")
209
Face.Transparency = 0
210
--Face.Texture = "rbxassetid://176217905" --176217905
211
Humanoid.WalkSpeed = 64
212
local freefall = 0
213
Head.Running.SoundId = "rbxassetid://758199523"
214
Head.Running.Volume = 2
215
local boost = false
216
Humanoid.JumpPower = 88
217
local musicnum = 1
218
    
219
     local spd = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).magnitude + 10
220
local dir = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).unit
221
 local GravPoint = RootPart.Velocity.y
222
 local NV = Vector3.new(0,0,0)
223
print("Move list")
224
print("---------")
225
print("Shift = Boost")
226
print("Ctrl = Mach Speed Boost")
227
print("Q = Left QuickStep, E  = Right QuickStep")
228
print("C = Slide, in air to stomp")
229
print("Jump Then Hold B near a wall to wallrun")
230
print("M to change music, if you're standing still you'll do a special animation!")
231
print("Space near a wall to walljump, away from a wall homing attack")
232
		music = Instance.new("Sound",PlayerGui)
233
		music.Volume = 1
234
		music.TimePosition = 0
235
		music.Pitch = 1
236
		music.SoundId = "rbxassetid://1251555494"
237
		music.Looped = true
238
		music:Play()
239
		
240
241
		boostsound = Instance.new("Sound",PlayerGui)
242
		boostsound.Volume = .6
243
		boostsound.TimePosition = 0
244
		boostsound.Pitch = 1
245
		boostsound.SoundId = "rbxassetid://924922553"
246
		boostsound.Looped = false
247
248
249
250
		stompsound = Instance.new("Sound",PlayerGui)
251
		stompsound.Volume = 2
252
		stompsound.TimePosition = 0
253
		stompsound.Pitch = 1
254
		stompsound.SoundId = "rbxassetid://1295424184"
255
		stompsound.Looped = false
256
257
258
259
			       so = function(id,par,vol,pit)
260
		coroutine.resume(coroutine.create(function()
261
		local sou = Instance.new("Sound",par or workspace)
262
		sou.Volume=vol
263
		sou.Pitch=pit or 1
264
		sou.SoundId=id
265
		sou:play()
266
		game:GetService("Debris"):AddItem(sou,8)
267
		end))
268
		end
269
		
270
		--save shoulders
271
		RSH, LSH=nil, nil
272
		--welds
273
		RW, LW=Instance.new("Weld"), Instance.new("Weld")
274
		RW.Name="Right Shoulder" LW.Name="Left Shoulder"
275
		LH=Torso["Left Hip"]
276
		RH=Torso["Right Hip"]
277
		TorsoColor=Torso.BrickColor
278
		function NoOutline(Part)
279
		Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
280
		end
281
		player=Player
282
		ch=Character
283
		RSH=ch.Torso["Right Shoulder"]
284
		LSH=ch.Torso["Left Shoulder"]
285
		--
286
		RSH.Parent=nil
287
		LSH.Parent=nil
288
		--
289
		RW.Name="Right Shoulder"
290
		RW.Part0=ch.Torso
291
		RW.C0=cf(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
292
		RW.C1=cf(0, 0.5, 0)
293
		RW.Part1=ch["Right Arm"]
294
		RW.Parent=ch.Torso
295
		--
296
		LW.Name="Left Shoulder"
297
		LW.Part0=ch.Torso
298
		LW.C0=cf(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
299
		LW.C1=cf(0, 0.5, 0)
300
		LW.Part1=ch["Left Arm"]
301
		LW.Parent=ch.Torso
302
		 
303
		 
304
		newWeld = function(wp0, wp1, wc0x, wc0y, wc0z)
305
		    local wld = Instance.new("Weld", wp1)
306
		    wld.Part0 = wp0
307
		    wld.Part1 = wp1
308
		    wld.C0 = CFrame.new(wc0x, wc0y, wc0z)
309
		end
310
		 local rs = game:GetService("RunService").RenderStepped
311
		 
312
		newWeld(RootPart, Torso, 0, -1, 0)
313
		Torso.Weld.C1 = CFrame.new(0, -1, 0)
314
		newWeld(Torso, LeftLeg, -0.5, -1, 0)
315
		LeftLeg.Weld.C1 = CFrame.new(0, 1, 0)
316
		newWeld(Torso, RightLeg, 0.5, -1, 0)
317
		RightLeg.Weld.C1 = CFrame.new(0, 1, 0)
318
		
319
		    Player=game:GetService('Players').LocalPlayer
320
		    Character=Player.Character
321
		    mouse=Player:GetMouse()
322
		    m=Instance.new('Model',Character)
323
		 
324
		 
325
		    local function weldBetween(a, b)
326
		        local weldd = Instance.new("ManualWeld")
327
		        weldd.Part0 = a
328
		        weldd.Part1 = b
329
		        weldd.C0 = CFrame.new()
330
		        weldd.C1 = b.CFrame:inverse() * a.CFrame
331
		        weldd.Parent = a
332
		        return weldd
333
		    end
334
		   
335
		    ArtificialHB = Instance.new("BindableEvent", script)
336
		ArtificialHB.Name = "Heartbeat"
337
		 
338
		script:WaitForChild("Heartbeat")
339
		 
340
		frame = 1 / 80
341
		tf = 0
342
		allowframeloss = false
343
		tossremainder = false
344
		lastframe = tick()
345
		script.Heartbeat:Fire()
346
		game:GetService("RunService").Heartbeat:connect(function(s, p)
347
		    tf = tf + s
348
		    if tf >= frame then
349
		        if allowframeloss then
350
		            script.Heartbeat:Fire()
351
		            lastframe = tick()
352
		        else
353
		            for i = 1, math.floor(tf / frame) do
354
		                script.Heartbeat:Fire()
355
		            end
356
		            lastframe = tick()
357
		        end
358
		        if tossremainder then
359
		            tf = 0
360
		        else
361
		            tf = tf - frame * math.floor(tf / frame)
362
		        end
363
		    end
364
		end)
365
		 
366
--[[]
367
		function swait(num)
368
		    if num == 0 or num == nil then
369
		        ArtificialHB.Event:wait()
370
		    else
371
		        for i = 0, num do
372
		            ArtificialHB.Event:wait()
373
		        end
374
		    end
375
	end
376
377
	]]
378
	
379
380
381
382
	function swait(num)
383
	if num == 0 or num == nil then
384
		game:service("RunService").Stepped:wait()
385
	else
386
		for i = 0, num do
387
			game:service("RunService").Stepped:wait()
388
		end
389
	end
390
end
391
392
		function RemoveOutlines(part)
393
		    part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
394
		end
395
		   
396
		
397
		part = function(formfactor, parent, reflectance, transparency, brickcolor, name, size)
398
		  local fp = it("Part")
399
		  fp.formFactor = formfactor
400
		  fp.Parent = parent
401
		  fp.Reflectance = reflectance
402
		  fp.Transparency = transparency
403
		  fp.CanCollide = false
404
		  fp.Locked = true
405
		  fp.BrickColor = brickcolor
406
		  fp.Name = name
407
		  fp.Size = size
408
		  fp.Position = Torso.Position
409
		  NoOutline(fp)
410
		  if fp.BrickColor == BrickColor.new("Dark indigo") then
411
		    fp.Material = "Neon"
412
		  else
413
		    if fp.BrickColor == BrickColor.new("Really black") then
414
		      fp.BrickColor = BrickColor.new("Really black")
415
		      fp.Material = "Metal"
416
		    else
417
		      fp.Material = "Neon"
418
		    end
419
		  end
420
		  fp:BreakJoints()
421
		  return fp
422
		end
423
		
424
		mesh = function(Mesh, part, meshtype, meshid, offset, scale)
425
		  local mesh = it(Mesh)
426
		  mesh.Parent = part
427
		  if Mesh == "SpecialMesh" then
428
		    mesh.MeshType = meshtype
429
		    mesh.MeshId = meshid
430
		  end
431
		  mesh.Offset = offset
432
		  mesh.Scale = scale
433
		  return mesh
434
		end
435
		
436
		weld = function(parent, part0, part1, c0)
437
		  local weld = it("Weld")
438
		  weld.Parent = parent
439
		  weld.Part0 = part0
440
		  weld.Part1 = part1
441
		  weld.C0 = c0
442
		  return weld
443
		end
444
		
445
		F1 = Instance.new("Folder", Character)
446
		F1.Name = "Effects Folder"
447
		F2 = Instance.new("Folder", F1)
448
		F2.Name = "Effects"
449
		Triangle = function(a, b, c)
450
		end
451
		
452
		MagicBlock = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
453
		  local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
454
		  prt.Anchored = true
455
		  prt.CanCollide = false
456
		  prt.CFrame = cframe
457
		  prt.Name = "prt"
458
		  msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
459
		  game:GetService("Debris"):AddItem(prt, 5)
460
		  table.insert(Effects, {prt, "Block1", delay, x3, y3, z3})
461
		end
462
		
463
		
464
		
465
		MagicCircle = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
466
		  local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
467
		  prt.Anchored = true
468
		  prt.CanCollide = false
469
		  prt.CFrame = cframe
470
		  prt.Name = "prt"
471
		  local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
472
		  game:GetService("Debris"):AddItem(prt, 5)
473
		  table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3})
474
		end
475
		
476
		MagicWave = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
477
		  local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
478
		  prt.Anchored = true
479
		  prt.CFrame = cframe
480
		  local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=20329976", vt(0, 0, 0), vt(x1, y1, z1))
481
		  game:GetService("Debris"):AddItem(prt, 5)
482
		  table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3})
483
		end
484
		
485
		MagicCylinder = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
486
		  local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt(0.2, 0.2, 0.2))
487
		  prt.Anchored = true
488
		  prt.CFrame = cframe
489
		  msh = mesh("SpecialMesh", prt, "Head", "", vt(0, 0, 0), vt(x1, y1, z1))
490
		  game:GetService("Debris"):AddItem(prt, 5)
491
		  Effects[#Effects + 1] = {prt, "Cylinder", delay, x3, y3, z3}
492
		end
493
		
494
		MagicCylinder2 = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
495
		  local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt(0.2, 0.2, 0.2))
496
		  prt.Anchored = true
497
		  prt.CFrame = cframe
498
		  msh = mesh("CylinderMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
499
		  game:GetService("Debris"):AddItem(prt, 5)
500
		  Effects[#Effects + 1] = {prt, "Cylinder", delay, x3, y3, z3}
501
		end
502
		
503
		MagicBlood = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
504
		  local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
505
		  prt.Anchored = true
506
		  prt.CFrame = cframe
507
		  local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
508
		  game:GetService("Debris"):AddItem(prt, 5)
509
		  table.insert(Effects, {prt, "Blood", delay, x3, y3, z3})
510
		end
511
		
512
		ElecEffect = function(cff, x, y, z)
513
		  local prt = part(3, F2, 0, 0, BrickColor.new("Dark indigo"), "Part", vt(1, 1, 1))
514
		  prt.Anchored = true
515
		  prt.CFrame = cff * cf(math.random(-x, x), math.random(-y, y), math.random(-z, z))
516
		  prt.CFrame = cf(prt.Position)
517
		  game:GetService("Debris"):AddItem(prt, 2)
518
		  xval = math.random() / 2
519
		  yval = math.random() / 2
520
		  zval = math.random() / 2
521
		  msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(xval, yval, zval))
522
		  Effects[#Effects + 1] = {prt, "Elec", 0.1, x, y, z, xval, yval, zval}
523
		end
524
		
525
		function FindNearestTorso(Position, Distance, SinglePlayer)
526
			if SinglePlayer then
527
				return (SinglePlayer.Torso.CFrame.p - Position).magnitude < Distance
528
			end
529
			local List = {}
530
			for i, v in pairs(workspace:GetChildren()) do
531
				if v:IsA("Model") then
532
					if v:findFirstChild("Torso") then
533
						if v ~= Character then
534
							if (v.Torso.Position - Position).magnitude <= Distance then
535
								table.insert(List, v)
536
							end 
537
						end 
538
					end 
539
				end 
540
			end
541
			return List
542
		end
543
		
544
		
545
		function CreatePart(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
546
	local Part = Create("Part"){
547
		Parent = Parent,
548
		Reflectance = Reflectance,
549
		Transparency = Transparency,
550
		CanCollide = false,
551
		Locked = true,
552
		BrickColor = BrickColor.new(tostring(BColor)),
553
		Name = Name,
554
		Size = Size,
555
		Material = Material,
556
	}
557
	RemoveOutlines(Part)
558
	return Part
559
end
560
	
561
function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
562
	local Msh = Create(Mesh){
563
		Parent = Part,
564
		Offset = OffSet,
565
		Scale = Scale,
566
	}
567
	if Mesh == "SpecialMesh" then
568
		Msh.MeshType = MeshType
569
		Msh.MeshId = MeshId
570
	end
571
	return Msh
572
end
573
		
574
		
575
		
576
function BlockEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
577
	local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
578
	prt.Anchored = true
579
	prt.CFrame = cframe
580
	local msh = CreateMesh("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
581
	game:GetService("Debris"):AddItem(prt, 10)
582
	if Type == 1 or Type == nil then
583
		table.insert(Effects, {
584
			prt,
585
			"Block1",
586
			delay,
587
			x3,
588
			y3,
589
			z3,
590
			msh
591
		})
592
	elseif Type == 2 then
593
		table.insert(Effects, {
594
			prt,
595
			"Block2",
596
			delay,
597
			x3,
598
			y3,
599
			z3,
600
			msh
601
		})
602
	end
603
end
604
605
function SphereEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
606
	local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
607
	prt.Anchored = true
608
	prt.CFrame = cframe
609
	local msh = CreateMesh("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
610
	game:GetService("Debris"):AddItem(prt, 10)
611
	table.insert(Effects, {
612
		prt,
613
		"Cylinder",
614
		delay,
615
		x3,
616
		y3,
617
		z3,
618
		msh
619
	})
620
end
621
622
function RingEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay,material)
623
local prt=CreatePart(workspace,material,0,0,brickcolor,"Effect",vt(.5,.5,.5))--part(3,workspace,"SmoothPlastic",0,0,brickcolor,"Effect",vt(0.5,0.5,0.5))
624
prt.Anchored=true
625
prt.CFrame=cframe
626
msh=CreateMesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=3270017",vt(0,0,0),vt(x1,y1,z1))
627
game:GetService("Debris"):AddItem(prt,2)
628
coroutine.resume(coroutine.create(function(Part,Mesh,num) 
629
for i=0,1,delay do
630
swait()
631
Part.Transparency=i
632
Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
633
end
634
Part.Parent=nil
635
end),prt,msh,(math.random(0,1)+math.random())/5)
636
end
637
638
function CylinderEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
639
	local prt = CreatePart(workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
640
	prt.Anchored = true
641
	prt.CFrame = cframe
642
	local msh = CreateMesh("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
643
	game:GetService("Debris"):AddItem(prt, 10)
644
	table.insert(Effects, {
645
		prt,
646
		"Cylinder",
647
		delay,
648
		x3,
649
		y3,
650
		z3,
651
		msh
652
	})
653
end
654
655
function WaveEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
656
	local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
657
	prt.Anchored = true
658
	prt.CFrame = cframe
659
	local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
660
	game:GetService("Debris"):AddItem(prt, 10)
661
	table.insert(Effects, {
662
		prt,
663
		"Cylinder",
664
		delay,
665
		x3,
666
		y3,
667
		z3,
668
		msh
669
	})
670
end
671
672
function SpecialEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
673
	local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
674
	prt.Anchored = true
675
	prt.CFrame = cframe
676
	local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://24388358", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
677
	game:GetService("Debris"):AddItem(prt, 10)
678
	table.insert(Effects, {
679
		prt,
680
		"Cylinder",
681
		delay,
682
		x3,
683
		y3,
684
		z3,
685
		msh
686
	})
687
end
688
689
690
function MoonEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
691
	local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
692
	prt.Anchored = true
693
	prt.CFrame = cframe
694
	local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://259403370", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
695
	game:GetService("Debris"):AddItem(prt, 10)
696
	table.insert(Effects, {
697
		prt,
698
		"Cylinder",
699
		delay,
700
		x3,
701
		y3,
702
		z3,
703
		msh
704
	})
705
end
706
707
function HeadEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
708
	local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
709
	prt.Anchored = true
710
	prt.CFrame = cframe
711
	local msh = CreateMesh("SpecialMesh", prt, "Head", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
712
	game:GetService("Debris"):AddItem(prt, 10)
713
	table.insert(Effects, {
714
		prt,
715
		"Cylinder",
716
		delay,
717
		x3,
718
		y3,
719
		z3,
720
		msh
721
	})
722
end
723
724
function BreakEffect(brickcolor, cframe, x1, y1, z1)
725
	local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
726
	prt.Anchored = true
727
	prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
728
	local msh = CreateMesh("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
729
	local num = math.random(10, 50) / 1000
730
	game:GetService("Debris"):AddItem(prt, 10)
731
	table.insert(Effects, {
732
		prt,
733
		"Shatter",
734
		num,
735
		prt.CFrame,
736
		math.random() - math.random(),
737
		0,
738
		math.random(50, 100) / 100
739
	})
740
end
741
		
742
		local lerp = function(a, b, t)
743
	return a * (1 - t) + b * t
744
end
745
		
746
		function clerp(a,b,t)
747
		local qa = {QuaternionFromCFrame(a)}
748
		local qb = {QuaternionFromCFrame(b)}
749
		local ax, ay, az = a.x, a.y, a.z
750
		local bx, by, bz = b.x, b.y, b.z
751
		local _t = 1-t
752
		return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
753
		end
754
		 
755
		function QuaternionFromCFrame(cf)
756
		local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
757
		local trace = m00 + m11 + m22
758
		if trace > 0 then
759
		local s = math.sqrt(1 + trace)
760
		local recip = 0.5/s
761
		return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
762
		else
763
		local i = 0
764
		if m11 > m00 then
765
		i = 1
766
		end
767
		if m22 > (i == 0 and m00 or m11) then
768
		i = 2
769
		end
770
		if i == 0 then
771
		local s = math.sqrt(m00-m11-m22+1)
772
		local recip = 0.5/s
773
		return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
774
		elseif i == 1 then
775
		local s = math.sqrt(m11-m22-m00+1)
776
		local recip = 0.5/s
777
		return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
778
		elseif i == 2 then
779
		local s = math.sqrt(m22-m00-m11+1)
780
		local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
781
		end
782
		end
783
		end
784
		
785
786
		function QuaternionToCFrame(px, py, pz, x, y, z, w)
787
		local xs, ys, zs = x + x, y + y, z + z
788
		local wx, wy, wz = w*xs, w*ys, w*zs
789
		local xx = x*xs
790
		local xy = x*ys
791
		local xz = x*zs
792
		local yy = y*ys
793
		local yz = y*zs
794
		local zz = z*zs
795
		return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
796
		end
797
		function QuaternionSlerp(a, b, t)
798
		local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
799
		local startInterp, finishInterp;
800
		if cosTheta >= 0.0001 then
801
		if (1 - cosTheta) > 0.0001 then
802
		local theta = math.acos(cosTheta)
803
		local invSinTheta = 1/math.sin(theta)
804
		startInterp = math.sin((1-t)*theta)*invSinTheta
805
		finishInterp = math.sin(t*theta)*invSinTheta  
806
		else
807
		startInterp = 1-t
808
		finishInterp = t
809
		end
810
		else
811
		if (1+cosTheta) > 0.0001 then
812
		local theta = math.acos(-cosTheta)
813
		local invSinTheta = 1/math.sin(theta)
814
		startInterp = math.sin((t-1)*theta)*invSinTheta
815
		finishInterp = math.sin(t*theta)*invSinTheta
816
		else
817
		startInterp = t-1
818
		finishInterp = t
819
		end
820
		end
821
		return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
822
		end
823
		 
824
		function weld5(part0, part1, c0, c1)
825
		    weeld=Instance.new("Weld", part0)
826
		    weeld.Part0=part0
827
		    weeld.Part1=part1
828
		    weeld.C0=c0
829
		    weeld.C1=c1
830
		    return weeld
831
		end
832
		 
833
		--Example: Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.4)
834
		 
835
		function rayCast(Pos, Dir, Max, Ignore)  -- Origin Position , Direction, MaxDistance , IgnoreDescendants
836
		return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
837
	end
838
	
839
	
840
	
841
842
843
844
Character.Humanoid.MaxHealth = 120
845
Character.Humanoid.Health = 120
846
 
847
 local f = 0
848
 local b = Instance.new("BlurEffect",cam)
849
local    c = Instance.new('PointLight', Torso)
850
c.Range = 16
851
c.Color = Color3.new(0, 1,1)
852
c.Brightness = 1.5
853
 game:GetService("RunService"):BindToRenderStep("W0tT", 0, function()
854
855
b.Size = b.Size - 4
856
if boost == true then
857
c.Enabled = true
858
    cam.FieldOfView = lerp(cam.FieldOfView, 110, 0.5)
859
   -- cam.FieldOfView = 110
860
    freefall = 0
861
    Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,3),0.25)
862
 SphereEffect(BrickColor.new("Cyan"),RightLeg.CFrame*CFrame.new(0,-1,0)*angles(math.random(-180,180),math.random(-180,180),math.random(-180,180)),1.4,12,1.4,2.8,26,2.8,0.07)
863
  SphereEffect(BrickColor.new("Cyan"),LeftLeg.CFrame*CFrame.new(0,-1,0)*angles(math.random(-180,180),math.random(-180,180),math.random(-180,180)),1.4,12,1.4,2.8,26,2.8,0.07)
864
  if hitfloor ~= nil and Anim ~= "runIdle" then
865
  SpecialEffect(BrickColor.new("Cyan"),RootPart.CFrame*CFrame.new(0,-3.4,.78) ,2,2,2, 1.5,1.5,1.5,.09)
866
  end
867
end
868
if boost == false then
869
    cam.FieldOfView = lerp(cam.FieldOfView, 70, 0.076)
870
    --cam.FieldOfView = 70
871
    c.Enabled = false
872
end
873
end)
874
875
876
877
						 mouse.KeyDown:connect(function(key)
878
    if string.byte(key) == 48 then
879
        b.Size = 40
880
		Swing = 2
881
		freefall = 0
882
		
883
coroutine.resume(coroutine.create(function()
884
    for i = 0,1,0.1 do
885
        swait()
886
        Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8)),0.24)
887
end
888
end))
889
        Humanoid.WalkSpeed = 180
890
        RootPart.Velocity = RootPart.CFrame.lookVector*150
891
        RingEffect(BrickColor.new("Cyan"), RootPart.CFrame*CFrame.new(0,0,-9.2) , 1, 1, 1, 8, 8, 8, 0.14,"Neon") 
892
        boost = true
893
        boostsound:Play()
894
end
895
end)
896
897
mouse.KeyUp:connect(function(key)
898
    if string.byte(key) == 48 then
899
		Swing = 1
900
        Humanoid.WalkSpeed = 64
901
        boost = false
902
        boostsound:Stop()
903
904
end
905
end)
906
907
908
909
910
						 mouse.KeyDown:connect(function(key)
911
    if string.byte(key) == 50 then
912
        b.Size = 40
913
        freefall = 0
914
		Swing = 2
915
		
916
coroutine.resume(coroutine.create(function()
917
    for i = 0,1,0.1 do
918
        swait()
919
        Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(math.random(-0.35*2.8,0.35*2.8),math.random(-0.35*2.8,0.35*2.8),math.random(-0.35*2.8,0.35*2.8)),0.48)
920
end
921
end))
922
		
923
        Humanoid.WalkSpeed = 320
924
        RootPart.Velocity = RootPart.CFrame.lookVector*550
925
        RingEffect(BrickColor.new("Cyan"), RootPart.CFrame*CFrame.new(0,0,-9.2) , 1, 1, 1, 18, 18, 18, 0.14,"Neon") 
926
        RingEffect(BrickColor.new("White"), RootPart.CFrame*CFrame.new(0,0,-11.2) , 1, 1, 1, 18, 18, 18, 0.14,"Neon") 
927
        RingEffect(BrickColor.new("Cyan"), RootPart.CFrame*CFrame.new(0,0,-13.2) , 1, 1, 1, 18, 18, 18, 0.14,"Neon") 
928
        boost = true
929
        boostsound:Play()
930
end
931
end)
932
933
mouse.KeyUp:connect(function(key)
934
    if string.byte(key) == 50 then
935
		Swing = 1
936
        Humanoid.WalkSpeed = 64
937
        boost = false
938
        boostsound:Stop()
939
940
end
941
end)
942
943
944
local lastwall = nil
945
local jumped = false
946
947
948
949
		 
950
		 
951
		 
952
		 local vwall = false
953
		 
954
		 		 mouse.KeyDown:connect(function(key)
955
		     if key == 'b' and hitfloor == nil and attack == false then
956
	vrun()
957
end
958
 end)
959
 
960
 
961
 function vrun()
962
     		 	local ray = Ray.new(
963
		RootPart.CFrame.p, RootPart.CFrame.lookVector *2.5
964
	)
965
	local hit, position, normal = workspace:FindPartOnRay(ray, character)
966
	
967
	if hit then
968
	    if hit.Parent.Parent ~= Character and hit.Parent ~= Character and hit.Name ~= "prt" and hit.CanCollide == true then
969
	    vwall = true
970
	        local NV = Vector3.new(0,0,0)
971
	             local spd = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).magnitude + 10
972
local dir = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).unit
973
 local GravPoint = RootPart.Velocity.y
974
		local velo = Instance.new("BodyVelocity",Torso)
975
		velo.MaxForce = Vector3.new(400000,400000,400000)
976
977
		attack = true
978
while vwall == true and ray and hit do
979
swait()
980
change = 0.84+ Humanoid.WalkSpeed/132
981
if Humanoid.WalkSpeed > 40 and Humanoid.WalkSpeed < 70 then
982
velo.Velocity =  Vector3.new(0,40,0)
983
end
984
if Humanoid.WalkSpeed > 70 and Humanoid.WalkSpeed < 200 then
985
		velo.Velocity =  Vector3.new(0,80,0)
986
		end
987
		if Humanoid.WalkSpeed > 200 then
988
		velo.Velocity =  Vector3.new(0,130,0)
989
		end
990
		 ray = Ray.new(
991
		RootPart.CFrame.p, RootPart.CFrame.lookVector *2.5
992
	)
993
	hit, position, normal = workspace:FindPartOnRay(ray, character)
994
		Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1-0.52*math.cos(sine/2), .6) * angles(math.rad(96), math.rad(0), math.rad(0)+ RootPart.RotVelocity.Y / 26), .1)
995
		Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-11+20*math.sin(sine/2)),math.rad(0),math.rad(0+5*math.sin(sine/4)) + RootPart.RotVelocity.Y / 13),.1)
996
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0.1) * angles(math.rad(-90-7*math.sin(sine/4))+ RootPart.RotVelocity.Y / -34, math.rad(0), math.rad(15+2*math.sin(sine/4))- RootPart.RotVelocity.Y / 34),.15)
997
		LW.C0=clerp(LW.C0,cf(-1.5,0.5,0.1)*angles(math.rad(-90-7*math.sin(sine/4))+ RootPart.RotVelocity.Y / 34,math.rad(0),math.rad(-15+2*math.sin(sine/4))+ RootPart.RotVelocity.Y / -34),.15)
998
		LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.28*math.cos(sine/4), 0-0.32*math.cos(sine/4)) * CFrame.Angles(math.rad(0+104*math.sin(sine/4)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)+ RootPart.RotVelocity.Y / -54), 0.3+ Humanoid.WalkSpeed/272)
999
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1-0.28*math.cos(sine/4),0+0.32*math.cos(sine/4)) * CFrame.Angles(math.rad(0-104*math.sin(sine/4)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)- RootPart.RotVelocity.Y / 54), 0.3+ Humanoid.WalkSpeed/272)
1000
end
1001
		velo:Destroy()
1002
		wait(0.07)
1003
1004
if vwall == false then
1005
1006
 RootPart.Velocity = -RootPart.CFrame.lookVector*68 + Vector3.new(0,86,0)
1007
1008
--[[]
1009
		for i = 0,5,0.2 do
1010
rs:wait()
1011
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -0.79, 0) * CFrame.Angles(math.rad(0+100*i), math.rad(0), math.rad(0)), 0.2)
1012
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(20),math.rad(0),math.rad(0)),.2)
1013
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(180), math.rad(-60), math.rad(40)),.2)
1014
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(180), math.rad(60), math.rad(-40)),.2)
1015
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.2)
1016
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.2)
1017
end
1018
]]
1019
1020
1021
for i = 0,4,0.1 do
1022
swait()
1023
Humanoid.CameraOffset = Vector3.new(0,0,0)
1024
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0+260*i), math.rad(0), math.rad(0)), 0.6)
1025
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(70),math.rad(0),math.rad(0)),.1)
1026
RW.C0 = clerp(RW.C0, CFrame.new(.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-90)), 0.1)
1027
LW.C0 = clerp(LW.C0, CFrame.new(-.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.1)
1028
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
1029
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
1030
end
1031
1032
 		attack = false
1033
1034
1035
end
1036
1037
1038
		if vwall == true then
1039
 RootPart.Velocity = RootPart.CFrame.lookVector*38 + Vector3.new(0,86,0)
1040
1041
--[[]
1042
		for i = 0,5,0.2 do
1043
rs:wait()
1044
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -0.79, 0) * CFrame.Angles(math.rad(0+100*i), math.rad(0), math.rad(0)), 0.2)
1045
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(20),math.rad(0),math.rad(0)),.2)
1046
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(180), math.rad(-60), math.rad(40)),.2)
1047
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(180), math.rad(60), math.rad(-40)),.2)
1048
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.2)
1049
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.2)
1050
end
1051
]]
1052
1053
1054
for i = 0,4,0.15 do
1055
swait()
1056
Humanoid.CameraOffset = Vector3.new(0,0,0)
1057
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0-260*i), math.rad(0), math.rad(0)), 0.6)
1058
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(70),math.rad(0),math.rad(0)),.1)
1059
RW.C0 = clerp(RW.C0, CFrame.new(.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-90)), 0.1)
1060
LW.C0 = clerp(LW.C0, CFrame.new(-.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.1)
1061
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
1062
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
1063
end
1064
1065
 		attack = false
1066
1067
end
1068
1069
1070
end
1071
end
1072
end
1073
 
1074
 
1075
1076
 
1077
 	 mouse.KeyUp:connect(function(key)
1078
		     if key == 'b' and vwall == true then
1079
	         vwall = false
1080
	         end
1081
	         end)
1082
		 
1083
1084
1085
		 
1086
		 
1087
function Ldash()
1088
    
1089
    
1090
1091
evadecooldown = true
1092
attack = true
1093
k = math.random(1,2) 
1094
if k == 1 then
1095
so("http://www.roblox.com/asset/?id=807766310", Head, 2.5, 1)
1096
else
1097
 so("http://www.roblox.com/asset/?id=807768137", Head, 2.5, 1)
1098
 end
1099
 
1100
 
1101
 
1102
1103
1104
 --+173.8*i
1105
for i = 0,.7,0.1 do
1106
swait()
1107
Head.Velocity = Head.CFrame.rightVector * -135
1108
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(32)), 0.2)
1109
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(0),math.rad(-9),math.rad(-14)),.2)
1110
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -0.2) * angles(math.rad(27), math.rad(0), math.rad(30)),.2)
1111
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(30), math.rad(0), math.rad(30)),.2)
1112
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(12)), 0.2)
1113
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(8)), 0.2)
1114
end
1115
1116
attack = false
1117
wait(0.08)
1118
evadecooldown = false
1119
 
1120
 
1121
end
1122
1123
1124
1125
1126
1127
function Rdash()
1128
    
1129
    
1130
1131
evadecooldown = true
1132
attack = true
1133
k = math.random(1,2) 
1134
if k == 1 then
1135
so("http://www.roblox.com/asset/?id=807766310", Head, 2.5, 1)
1136
else
1137
 so("http://www.roblox.com/asset/?id=807768137", Head, 2.5, 1)
1138
 end
1139
 
1140
 
1141
 
1142
 
1143
1144
 --+173.8*i
1145
for i = 0,.7,0.1 do
1146
swait()
1147
Head.Velocity = Head.CFrame.rightVector * 135
1148
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-32)), 0.2)
1149
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(0),math.rad(9),math.rad(14)),.2)
1150
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(30), math.rad(0), math.rad(-30)),.2)
1151
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, -0.2) * angles(math.rad(27), math.rad(0), math.rad(-30)),.2)
1152
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-8)), 0.2)
1153
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-12)), 0.2)
1154
end
1155
1156
attack = false
1157
wait(0.08)
1158
evadecooldown = false
1159
 
1160
 
1161
end
1162
local sliding = false
1163
1164
1165
function Slide()
1166
    
1167
     local spd = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).magnitude + 10
1168
     spd = spd + 30
1169
local dir = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).unit
1170
 local GravPoint = RootPart.Velocity.y
1171
 if spd > 40 and hitfloor ~= nil then
1172
noleg = true
1173
1174
attack = true
1175
k = math.random(1,2) 
1176
if k == 1 then
1177
so("http://www.roblox.com/asset/?id=807766310", Head, 2.5, 1)
1178
else
1179
 so("http://www.roblox.com/asset/?id=807768137", Head, 2.5, 1)
1180
 end
1181
 
1182
 
1183
 
1184
1185
 
1186
 
1187
 
1188
1189
 
1190
 
1191
 local NV = Vector3.new(0,0,0)
1192
local bv = Instance.new("BodyVelocity", Torso)
1193
bv.maxForce = Vector3.new(1/0,1/0,1/0)
1194
bv.velocity = dir*spd
1195
	        local bg = Instance.new("BodyGyro", Torso)
1196
bg.maxTorque = Vector3.new(1/0,1/0,1/0)
1197
bg.cframe = CFrame.new(NV, dir) * CFrame.Angles(math.pi/2.2,0.24,0)
1198
Head.Running.SoundId = "rbxassetid://1295468446"
1199
Head.Running.TimePosition = 0
1200
1201
Humanoid.PlatformStand = true
1202
while spd > 2 and hitfloor ~= nil and sliding == true do
1203
swait()
1204
spd = spd - 0.95
1205
bv.velocity = dir*spd + Vector3.new(0,0,0)
1206
bg.cframe = CFrame.new(NV, dir) * CFrame.Angles(math.pi/2.2,0.24,0)
1207
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -2.3, 0) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(12)), 0.2)
1208
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(34),math.rad(0),math.rad(12)),.2)
1209
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(110), math.rad(0), math.rad(70)),.2)
1210
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, -0.2) * angles(math.rad(0), math.rad(0), math.rad(-60)),.2)
1211
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.2)
1212
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -0.56, -0.2) * CFrame.Angles(math.rad(-24), math.rad(0), math.rad(0)), 0.2)
1213
end
1214
bv:Destroy()
1215
bg:Destroy()
1216
Head.Running.SoundId = "rbxassetid://758199523"
1217
Head.Running.TimePosition = 0
1218
Humanoid.PlatformStand = false
1219
attack = false
1220
sliding = false
1221
wait(0.05)
1222
evadecooldown = false
1223
 
1224
 
1225
end
1226
end
1227
1228
function land()
1229
    attack = true
1230
   RootPart.Velocity = Vector3.new(0,0,0)
1231
    WaveEffect(BrickColor.new("Cyan"), RootPart.CFrame*CFrame.new(0,-1,0) , 1, 1, 1, 3, 0.8, 3, 0.06) 
1232
     so("http://www.roblox.com/asset/?id=1295424585", Torso, 3.5, 1)
1233
1234
coroutine.resume(coroutine.create(function()
1235
    for i = 0,1,0.1 do
1236
        swait()
1237
        Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(math.random(-0.55*2.8,0.55*2.8),math.random(-0.55*2.8,0.55*2.8),math.random(-0.55*2.8,0.55*2.8)),0.44)
1238
        Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -2, 0) * CFrame.Angles(math.rad(-16), math.rad(0), math.rad(0)), 0.5)
1239
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(7),math.rad(0),math.rad(0)),.5)
1240
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(87)),.5)
1241
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, -0) * angles(math.rad(0), math.rad(0), math.rad(-87)),.5)
1242
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, 0, -0.5) * CFrame.Angles(math.rad(16), math.rad(0), math.rad(0)), 0.5)
1243
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1.14, 0.2) * CFrame.Angles(math.rad(-17), math.rad(0), math.rad(0)), 0.5)
1244
       
1245
end
1246
attack = false
1247
1248
1249
end))
1250
1251
1252
1253
end
1254
1255
1256
1257
1258
function stomp()
1259
    attack = true
1260
    stompsound:Play()
1261
    
1262
   while hitfloor == nil do 
1263
       swait()
1264
       b.Size = 12
1265
        WaveEffect(BrickColor.new("Cyan"), LeftLeg.CFrame*CFrame.new(0,-2.4,0) , 1, 1, 1, 0.8, 0.8, 0.8, 0.14) 
1266
       RootPart.Velocity = Vector3.new(0,RootPart.Velocity.y/1.6,0) +Vector3.new(0,-150,0)
1267
			       Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
1268
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0.2) * CFrame.Angles(math.rad(0+4*math.sin(sine/1.3)), math.rad(0), math.rad(0)),0.07)
1269
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.65, 0) * angles(math.rad(0), math.rad(0), math.rad(140+12*math.cos(sine/1.3))), 0.07)
1270
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.65, 0) * angles(math.rad(0), math.rad(0), math.rad(-140+12*math.cos(sine/1.3))), 0.07)
1271
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(60+7*math.sin(sine/1.3)),math.rad(0),math.rad(0)),0.07)
1272
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.17*math.cos(sine/1.3), -0.13) * CFrame.Angles(math.rad(0+4*math.cos(sine/1.3)), math.rad(3), math.rad(0)), 0.1)
1273
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, .27+0.17*math.cos(sine/1.3), -0.56) * CFrame.Angles(math.rad(-12+4*math.cos(sine/1.3)), math.rad(0), math.rad(0)), 0.1)
1274
1275
end
1276
 stompsound:Stop()
1277
land()
1278
1279
1280
end
1281-
function changemusic()
1281+
1282-
    musicnum = musicnum + 1
1282+
1283-
    music.TimePosition = 0
1283+
1284-
    local osix = false
1284+
1285-
    local spd = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).magnitude
1285+
1286-
    if musicnum > 14 then
1286+
1287-
        musicnum = 1
1287+
1288
end
1289-
    if musicnum == 1 then
1289+
1290-
        music.SoundId = "rbxassetid://179029173"
1290+
1291
RootPart.Velocity = Vector3.new(0,102,0)
1292-
    if musicnum == 2 then
1292+
1293-
        music.SoundId = "rbxassetid://146443855"
1293+
1294
for i = 0,7,0.1 do
1295-
        if musicnum == 3 then
1295+
1296-
           music.SoundId = "rbxassetid://1342408291" 
1296+
1297
Humanoid.CameraOffset = Vector3.new(0,0,0)
1298-
          if musicnum == 4 then
1298+
1299-
            music.SoundId = "rbxassetid://201219416"  
1299+
1300
RW.C0 = clerp(RW.C0, CFrame.new(.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-90)), 0.1)
1301-
        if musicnum == 5 then
1301+
1302-
music.SoundId = "rbxassetid://1390472571" 
1302+
1303
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
1304-
        if musicnum == 6 then
1304+
1305-
            osix = true
1305+
1306-
music.SoundId = "rbxassetid://249974783" 
1306+
1307
MoonEffect(BrickColor.new("Cyan"), RootPart.CFrame*CFrame.new(0,0,0) , 1, 1, 1, 8, 8, 8, 0.06) 
1308-
if musicnum == 7 then
1308+
1309-
    music.SoundId = "rbxassetid://1851880603"
1309+
1310
osix = false
1311-
if musicnum == 8 then
1311+
1312-
 music.SoundId = "rbxassetid://412034984"
1312+
1313
1314-
if musicnum == 9 then
1314+
1315-
   music.SoundId = "rbxassetid://536915629"
1315+
1316
    swait()
1317-
if musicnum == 10 then
1317+
1318-
music.SoundId = "rbxassetid://1200005861"
1318+
1319
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1+0.1*i, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.21)
1320-
if musicnum == 11 then
1320+
1321-
    music.SoundId = "rbxassetid://1055930631"
1321+
1322
LW.C0 = clerp(LW.C0, CFrame.new(-1.0-0.12*i, 0.5, -0.4+0.05*i) * angles(math.rad(20+13*i), math.rad(0), math.rad(20-13*i)), 0.21)
1323-
if musicnum == 12 then
1323+
1324-
    music.SoundId = "rbxassetid://300269553"
1324+
1325
end
1326-
if musicnum == 13 then
1326+
1327-
    music.SoundId = "rbxassetid://199897052"
1327+
1328
end
1329-
if musicnum == 14 then
1329+
1330-
  music.SoundId = "rbxassetid://638115895"  
1330+
1331
  mouse.KeyDown:connect(function(key)
1332
if key == 'q' and attack == false and evadecooldown == false then
1333
Ldash()
1334
end
1335
end)
1336
 
1337
 
1338
 
1339
   mouse.KeyDown:connect(function(key)
1340
if key == 'e' and attack == false and evadecooldown == false then
1341
Rdash()
1342
end
1343
end)
1344
1345
   mouse.KeyDown:connect(function(key)
1346
if key == 'c' and attack == false and evadecooldown == false and hitfloor ~= nil then
1347
     sliding = true
1348
Slide()
1349
end
1350
end)
1351
1352
   mouse.KeyDown:connect(function(key)
1353
if key == 'c' and attack == false and hitfloor == nil then
1354
     stomp()
1355
end
1356
end)
1357
1358
1359
local walljump = false
1360
1361
1362
function walljumpp()
1363
    	local ray = Ray.new(
1364
		Torso.CFrame.p, RootPart.CFrame.lookVector *5
1365
	)
1366
	local hit, position, normal = workspace:FindPartOnRay(ray, character)
1367
	
1368
	if hit then
1369
	    if  hit.Parent.Parent ~= Character and hit.Parent ~= Character then
1370
	    local dir = Vector3.new(RootPart.Velocity.x,0,RootPart.Velocity.z).unit
1371
	    GravPoint = 0
1372
 	    freefall = 0
1373
	    walljump = true 
1374
	    Humanoid.AutoRotate = false
1375
		local velo = Instance.new("BodyVelocity",Torso)
1376
		velo.MaxForce = Vector3.new(400000,400000,400000)
1377
		--game.Debris:AddItem(velo,0.1)
1378
		attack = true
1379
while hitfloor == nil and walljump == true and ray and hit  do
1380
swait()
1381
freefall = 0
1382
GravPoint = GravPoint - 0.36
1383
		 ray = Ray.new(
1384
		RootPart.CFrame.p, RootPart.CFrame.lookVector *2.5
1385
	)
1386
	hit, position, normal = workspace:FindPartOnRay(ray, character)
1387
velo.Velocity = vt(0,GravPoint,0)
1388
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0.9) * CFrame.Angles(math.rad(5), math.rad(90), math.rad(8)), 0.2)
1389
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(7),math.rad(0),math.rad(86)),.2)
1390
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(120)),.2)
1391
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-60)),.2)
1392
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-6), math.rad(14), math.rad(-12)), 0.2)
1393
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(23)), 0.2)
1394
end
1395
if walljump == false then
1396
    k = math.random(1,3) 
1397
if k == 1 then
1398
so("http://www.roblox.com/asset/?id=800121776", Head, 2.5, 1)
1399
else if k == 2 then
1400
 so("http://www.roblox.com/asset/?id=804889329", Head, 2.5, 1)
1401
else if k == 3 then
1402
     so("http://www.roblox.com/asset/?id=804907617", Head, 2.5, 1)
1403
     end
1404
     end
1405
end
1406
 
1407
    velo:Destroy()
1408
        attack = false
1409
    coroutine.resume(coroutine.create(function()
1410
    for i = 0,1,0.1 do
1411
        swait()
1412
Humanoid.CameraOffset = Vector3.new(0,0,0)
1413
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0+260*i), math.rad(0), math.rad(0)), 0.6)
1414
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(70),math.rad(0),math.rad(0)),.1)
1415
RW.C0 = clerp(RW.C0, CFrame.new(.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-90)), 0.1)
1416
LW.C0 = clerp(LW.C0, CFrame.new(-.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.1)
1417
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
1418
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
1419
end
1420
end))
1421
    
1422
    Humanoid.AutoRotate = true
1423
    RootPart.Velocity = RootPart.CFrame.lookVector * -137 + Vector3.new(0,136,0)
1424
    wait(0.07)
1425
     RootPart.CFrame = CFrame.new(RootPart.CFrame.p,-RootPart.CFrame.lookVector)
1426
end
1427
if walljump == true then
1428
 		attack = false
1429
walljump = false
1430
Humanoid.AutoRotate = true
1431
velo:Destroy()
1432
end
1433
end
1434
end
1435
end
1436
1437
    
1438
    local homed = nil
1439
    function home()
1440
        if walljump ~= true then
1441
        		    	for i, v in pairs(FindNearestTorso(Torso.CFrame.p, 80)) do
1442
				if v:FindFirstChild('Head') then
1443
					Grabbed = true
1444
					homed = v
1445
				end
1446
			end
1447
    
1448
    if homed ~= nil and homed:FindFirstChildOfClass("Humanoid").Health > 1 and walljump == false then
1449
        					    so("http://www.roblox.com/asset/?id=162460823", Head, 1, .8)
1450
        					    	   local SBall = Instance.new("Part",Character)
1451
	SBall.Name = "Homing Ball"
1452
	SBall.CanCollide = false
1453
	SBall.Anchored = false
1454
	SBall.Transparency = 0.64
1455
	SBall.CFrame = CFrame.new(RootPart.CFrame.p)
1456
	SBall.BrickColor = BrickColor.new("Toothpaste")
1457
	SBall.Size = Vector3.new(1,1,1)
1458
	SBall.Material = "Neon"
1459
	SBallweld = Instance.new("Weld")
1460
SBallweld.Parent = SBall
1461
SBallweld.Part0 = RootPart
1462
SBallweld.Part1 = SBall
1463
SBallweld.C1 = CFrame.new(0, 1, 0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
1464
        SBallweld.Part0 = RootPart
1465
	local SBallmesh = Instance.new("SpecialMesh",SBall)
1466
	SBallmesh.MeshType = "Sphere"
1467
	SBallmesh.Scale = Vector3.new(6,6,6)
1468
        	trail = Instance.new("Trail", Character)
1469
a2 = Instance.new("Attachment", Torso) a2.Position = Vector3.new(0,2,0)
1470
a3 = Instance.new("Attachment", Torso)a3.Position = Vector3.new(0,-2.5,0)
1471
trail.Texture = "rbxassetid://0"
1472
trail.Attachment0 = a2
1473
trail.Attachment1 = a3
1474
trail.Lifetime  =  0.353
1475
trail.MinLength = 0.03
1476
trail.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(1,1,1)})
1477
trail.Color = ColorSequence.new(Color3.new(0,1,1), Color3.new(0, 0,0))
1478
trail.LightEmission = 4.8
1479
trail.TextureLength = 0.034
1480
        trail.Enabled = true
1481
 attack = true
1482
	local position = Instance.new("BodyPosition",Torso)
1483
	position.P = 68350
1484
	position.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1485
	
1486
        while homed ~= nil and (homed.Torso.Position-RootPart.Position).magnitude > 8 do
1487
        swait()
1488
        SBall.CFrame = CFrame.new(RootPart.CFrame.p)
1489
    Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0+420*math.abs(sine/3.2)), math.rad(0), math.rad(0)), 0.6)
1490
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(70),math.rad(0),math.rad(0)),.1)
1491
RW.C0 = clerp(RW.C0, CFrame.new(.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-90)), 0.1)
1492
LW.C0 = clerp(LW.C0, CFrame.new(-.7, -0.22, -0.5) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.1)
1493
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
1494
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.34, -0.7) * CFrame.Angles(math.rad(-25), math.rad(0), math.rad(0)), 0.1)
1495
    position.Position = homed.Torso.Position + Vector3.new(0,2,0) 
1496
end
1497
		local bodvol=Instance.new("BodyVelocity")
1498
bodvol.velocity= RootPart.CFrame.lookVector*240 + Vector3.new(0,30,0)
1499
bodvol.P= 35200
1500
bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003)
1501
bodvol.Parent=homed.Head
1502
game:GetService("Debris"):AddItem(bodvol, 0.2)
1503
homed:FindFirstChildOfClass("Humanoid"):TakeDamage(math.random(10,30))
1504
1505
position:Destroy()
1506
trail.Enabled = false
1507
SBall:Destroy()
1508
RootPart.Velocity = Vector3.new(0,93.5,0)
1509
    coroutine.resume(coroutine.create(function()
1510
for i = 0,5,0.26 do
1511
    swait()
1512
Humanoid.CameraOffset = Vector3.new(0,0,0)
1513
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1+0.1*i, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.21)
1514
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(22-2*i),math.rad(0),math.rad(0)),.21)
1515
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5+0.09*i, 0) * angles(math.rad(20-6*i), math.rad(0), math.rad(90+13*i)), 0.21)
1516
LW.C0 = clerp(LW.C0, CFrame.new(-1.0-0.12*i, 0.5, -0.4+0.05*i) * angles(math.rad(20+13*i), math.rad(0), math.rad(20-13*i)), 0.21)
1517
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(45+6*i), math.rad(0), math.rad(-22-4*i)), 0.21)
1518
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(45+6*i), math.rad(0), math.rad(22+4*i)), 0.21)
1519
end
1520
homed = nil
1521
attack = false
1522
end))
1523
1524
end
1525
    
1526
end
1527
1528
1529
end
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
    
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
    
1553
		 		 mouse.KeyDown:connect(function(key)
1554
		 		     wait(0.16)
1555
		     if string.byte(key) == 32 and hitfloor == nil and attack == false and walljump == false and Humanoid.Jump == true then
1556
		 walljumpp()
1557
	 end
1558
	 		     if string.byte(key) == 32 and hitfloor == nil and attack == false and walljump == false and Humanoid.Jump == true then
1559
		 home()
1560
	 end
1561
	 
1562
if string.byte(key) == 32 and hitfloor == nil and attack == true and walljump == true then
1563
walljump = false
1564
end
1565
	 end)
1566
		 
1567
1568
1569
1570
   mouse.KeyDown:connect(function(key)
1571
if key == 'm' and attack == false then
1572
changemusic()
1573
end
1574
end)
1575
1576
1577
1578
1579
1580
1581
   mouse.KeyUp:connect(function(key)
1582
       wait(0.05)
1583
if key == 'c' and sliding == true then
1584
     sliding = false
1585
end
1586
end)
1587
local look = 0
1588
1589
1590
1591
				while true do
1592
    swait()
1593
sine = sine + change
1594
--speed = speed + music.PlaybackLoudness/90
1595
local torvel=(RootPart.Velocity*Vector3.new(1,0,1)).magnitude
1596
local velderp=RootPart.Velocity.y
1597
hitfloor,posfloor=rayCast(RootPart.Position,(CFrame.new(RootPart.Position,RootPart.Position - Vector3.new(0,1,0))).lookVector,4,Character)
1598
	
1599
    local TiltVelocity = CFrame.new(RootPart.CFrame:vectorToObjectSpace(RootPart.Velocity))
1600
1601
local rlegray = Ray.new(RightLeg.Position+Vector3.new(0,0.54,0),Vector3.new(0, -1.75, 0))
1602
local rlegpart, rlegendPoint = workspace:FindPartOnRay(rlegray, Character)
1603
1604
local llegray = Ray.new(LeftLeg.Position+Vector3.new(0,0.54,0),Vector3.new(0, -1.75, 0))
1605
local llegpart, llegendPoint = workspace:FindPartOnRay(llegray, Character)
1606
1607
    	local waterthing = Ray.new(RootPart.CFrame.p,Vector3.new(0,-1,0))
1608
	local start, position = workspace:FindPartOnRay(waterthing, character)
1609
	
1610
	if start ~= nil and start.Material == "Water" then
1611
	
1612
    RootPart.Velocity = RootPart.Velocity + Vector3.new(0,6,0)
1613
    
1614
    end
1615
1616
Head.Running.Pitch = 0.76 + Humanoid.WalkSpeed/124
1617
if torvel<1  and Swing == 2 then
1618
    boost = false
1619
elseif torvel>1   and Swing == 2 then
1620
    boost = true
1621
    freefall = 0
1622
end
1623
if hitfloor ~= nil and freefall < 150 then
1624
    freefall = 0
1625
end
1626
if freefall > 150 and hitfloor ~= nil then
1627
land()
1628
freefall = 0
1629
end
1630
1631
1632
1633
1634
1635
1636
1637
		if RootPart.Velocity.y > 1 and hitfloor==nil then
1638
Anim="Jump"
1639
1640
1641
1642
1643
1644
if attack==false then
1645
change = 1
1646
look = 0
1647
			       Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
1648
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(4), math.rad(0), math.rad(0)), 0.07)
1649
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-10+2.05*math.cos(sine/5)),math.rad(0),math.rad(0)),0.07)
1650
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20+2.05*math.cos(sine/5)), math.rad(-10), math.rad(50-2.05*math.cos(sine/5))), 0.07)
1651
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20+2.05*math.cos(sine/5)), math.rad(-10), math.rad(-50+2.05*math.cos(sine/5))), 0.07)
1652
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1, -0.6) * CFrame.Angles(math.rad(-25+3.05*math.cos(sine/5)), math.rad(-3), math.rad(0)), 0.1)
1653
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -.47, -0.7) * CFrame.Angles(math.rad(-12+3.05*math.cos(sine/5)), math.rad(0), math.rad(0)), 0.1)
1654
end
1655
1656
elseif RootPart.Velocity.y < -1 and freefall <150 and hitfloor==nil then
1657
Anim="Fall"
1658
change = 1
1659
freefall = freefall +0.77
1660
1661
1662
if attack==false then
1663
			       Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
1664
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0.2) * CFrame.Angles(math.rad(7+4*math.sin(sine/1.3)), math.rad(0), math.rad(0)),0.07)
1665
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.65, 0) * angles(math.rad(0), math.rad(0), math.rad(140+12*math.cos(sine/1.3))), 0.07)
1666
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.65, 0) * angles(math.rad(0), math.rad(0), math.rad(-140+12*math.cos(sine/1.3))), 0.07)
1667
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(40+7*math.sin(sine/1.3)),math.rad(0),math.rad(0)),0.07)
1668
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.17*math.cos(sine/1.3), -0.13) * CFrame.Angles(math.rad(18+7*math.cos(sine/1.3)), math.rad(3), math.rad(0)), 0.1)
1669
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -.37+0.17*math.cos(sine/1.3), -0.2) * CFrame.Angles(math.rad(32+7*math.cos(sine/1.3)), math.rad(0), math.rad(0)), 0.1)
1670
end
1671
1672
1673
1674
elseif RootPart.Velocity.y < -1 and freefall > 150 and hitfloor==nil then
1675
Anim="FreeFall"
1676
change = 1
1677
1678
1679
if attack==false then
1680
			       Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
1681
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1, 0.2) * CFrame.Angles(math.rad(-90+3*math.sin(sine/1.3)), math.rad(0), math.rad(0)),0.07)
1682
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(14+12*math.cos(sine/1.3)), math.rad(0), math.rad(110)), 0.07)
1683
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(14+12*math.cos(sine/1.3)), math.rad(0), math.rad(-110)), 0.07)
1684
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-12+7*math.sin(sine/1.3)),math.rad(0),math.rad(0)),0.07)
1685
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.17*math.cos(sine/1.3),0.2) * CFrame.Angles(math.rad(-12+4*math.cos(sine/1.3)), math.rad(3), math.rad(-46)), 0.1)
1686
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1+0.17*math.cos(sine/1.3), 0.2) * CFrame.Angles(math.rad(-12+4*math.cos(sine/1.3)), math.rad(0), math.rad(46)), 0.1)
1687
end
1688
1689
elseif torvel<1 and hitfloor~=nil then
1690
Anim="Idle"
1691
change = 1
1692
if attack==false and equip == false then
1693
  
1694
			       Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
1695
Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1-0.04*math.cos(sine/40), -0) * CFrame.Angles(math.rad(0-0.81*math.cos(sine/40)), math.rad(-40), math.rad(0)), 0.1)
1696
Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(0+2.6*math.sin(sine/40)),math.rad(0),math.rad(40)),0.1)
1697
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.55+0.04*math.sin(sine/40), 0-0.04*math.cos(sine/40)) * angles(math.rad(-2+1.3*math.cos(sine/40)), math.rad(0+4*math.sin(sine/40)), math.rad(6.3+2.2*math.cos(sine/40))),0.1)
1698
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.55+0.04*math.sin(sine/40), 0-0.04*math.cos(sine/40)) * angles(math.rad(2+1.3*math.cos(sine/40)), math.rad(0-4*math.sin(sine/40)), math.rad(-6.3-2.2*math.cos(sine/40))),0.1)
1699
LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, llegendPoint.Y-LeftLeg.Position.Y+0.04*math.cos(sine/40), 0) * CFrame.Angles(math.rad(0+0.81*math.cos(sine/40)), math.rad(18+0.81*math.cos(sine/40)), math.rad(-2-0.81*math.cos(sine/40))),0.1)
1700
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.57, rlegendPoint.Y-RightLeg.Position.Y+0.04*math.cos(sine/40), 0)  * CFrame.Angles(math.rad(0+0.81*math.cos(sine/40)), math.rad(-2+0.81*math.cos(sine/40)), math.rad(3-0.81*math.cos(sine/40))),0.1)
1701
end
1702
1703
1704
	
1705
elseif torvel>1.5 and torvel<70 and hitfloor~=nil then
1706
Anim="Walk"
1707
change = 0.84+ Character.Humanoid.WalkSpeed/132
1708
look = 0
1709
if attack==false and equip == false then
1710
					       Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.02)
1711
		Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1-0.52*math.cos(sine/2), -.8) * angles(math.rad(-26), math.rad(0), math.rad(0)+ RootPart.RotVelocity.Y / 26), .1)
1712
		Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-11+20*math.sin(sine/2)),math.rad(0),math.rad(0+5*math.sin(sine/4)) + RootPart.RotVelocity.Y / 13),.1)
1713
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0.1) * angles(math.rad(-60-7*math.sin(sine/4))+ RootPart.RotVelocity.Y / -34, math.rad(0), math.rad(15+2*math.sin(sine/4))- RootPart.RotVelocity.Y / 34),.15)
1714
		LW.C0=clerp(LW.C0,cf(-1.5,0.5,0.1)*angles(math.rad(-60-7*math.sin(sine/4))+ RootPart.RotVelocity.Y / 34,math.rad(0),math.rad(-15+2*math.sin(sine/4))+ RootPart.RotVelocity.Y / -34),.15)
1715
		LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.28*math.cos(sine/4), 0-0.32*math.cos(sine/4)) * CFrame.Angles(math.rad(0+104*math.sin(sine/4)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)+ RootPart.RotVelocity.Y / -54), 0.3)
1716
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1-0.28*math.cos(sine/4),0+0.32*math.cos(sine/4)) * CFrame.Angles(math.rad(0-104*math.sin(sine/4)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)- RootPart.RotVelocity.Y / 54), 0.3)
1717
end
1718
1719
1720
		elseif torvel>=70 and torvel<200 and hitfloor~=nil then
1721
		Anim="Run"
1722
		change = 0.84+ Character.Humanoid.WalkSpeed/142
1723
		if attack==false and equip == false then
1724
					       Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.02)
1725
		Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1-0.52*math.cos(sine/1.5), -.8) * angles(math.rad(-37), math.rad(0), math.rad(0)+ RootPart.RotVelocity.Y / 26), .1)
1726
		Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-11+25*math.sin(sine/1.5)),math.rad(0),math.rad(0+5*math.sin(sine/3)) + RootPart.RotVelocity.Y / 13),.1)
1727
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0.3) * angles(math.rad(-72-8*math.sin(sine/1.5))+ RootPart.RotVelocity.Y / -34, math.rad(0), math.rad(1+0*math.cos(sine/3))- RootPart.RotVelocity.Y / 34),.25)
1728
		LW.C0=clerp(LW.C0,cf(-1.5,0.5,0.3)*angles(math.rad(-72-8*math.sin(sine/1.5))+ RootPart.RotVelocity.Y / 34,math.rad(0),math.rad(-1+0*math.cos(sine/3))+ RootPart.RotVelocity.Y / -34),.25)
1729
		LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.32*math.cos(sine/3), 0-0.42*math.cos(sine/3)) * CFrame.Angles(math.rad(0+134*math.sin(sine/3)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)+ RootPart.RotVelocity.Y / -54), 0.44)
1730
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1-0.32*math.cos(sine/3),0+0.42*math.cos(sine/3)) * CFrame.Angles(math.rad(0-134*math.sin(sine/3)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)- RootPart.RotVelocity.Y / 54), 0.44)
1731
		end
1732
		
1733
		--[[
1734
		if attack==false then
1735
		LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1-0.4*math.cos(sine/5.5)/2, 0 *math.sin(sine/6.6)/2) * CFrame.Angles(math.rad(0) + -math.sin(sine/5.5)/1.2, math.rad(0), 0), .8)
1736
		RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1+0.4*math.cos(sine/5.5)/2,0 *-math.sin(sine/6.6)/2) * CFrame.Angles(math.rad(0) + math.sin(sine/5.5)/1.2, math.rad(0), 0), .8)
1737
		end
1738
		]]
1739
		if attack==true and noleg == false then
1740
		LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1-0.24*math.cos(sine/5), 0.+0.24*math.cos(sine/5)) * CFrame.Angles(math.rad(0-74*math.sin(sine/5)), math.rad(0), math.rad(0)), 0.3)
1741
		   RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1+0.24*math.cos(sine/5),0.-0.24*math.cos(sine/5)) * CFrame.Angles(math.rad(0+74*math.sin(sine/5)), math.rad(0), math.rad(0)), 0.3)
1742
		end
1743
		
1744
		
1745
		
1746
				elseif torvel>=200 and hitfloor~=nil then
1747
		Anim="MachRun"
1748
		change = 0.84+ Character.Humanoid.WalkSpeed/182
1749
		if attack==false and equip == false then
1750
					       Humanoid.CameraOffset = Humanoid.CameraOffset:lerp(Vector3.new(0,0,0),0.02)
1751
		Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, -1-0.52*math.cos(sine/1), -3.8) * angles(math.rad(-44), math.rad(0), math.rad(0)+ RootPart.RotVelocity.Y / 26), .2)
1752
		Torso.Neck.C0 = clerp(Torso.Neck.C0,necko *angles(math.rad(-11+25*math.sin(sine/1)),math.rad(0),math.rad(0+5*math.sin(sine/2)) + RootPart.RotVelocity.Y / 13),.2)
1753
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0.5) * angles(math.rad(-78-12*math.sin(sine/1))+ RootPart.RotVelocity.Y / -34, math.rad(0), math.rad(-24+0*math.cos(sine/2))- RootPart.RotVelocity.Y / 34),.35)
1754
		LW.C0=clerp(LW.C0,cf(-1.5,0.5,0.5)*angles(math.rad(-78-12*math.sin(sine/1))+ RootPart.RotVelocity.Y / 34,math.rad(0),math.rad(24+0*math.cos(sine/2))+ RootPart.RotVelocity.Y / -34),.35)
1755
		LeftLeg.Weld.C0 = clerp(LeftLeg.Weld.C0, CFrame.new(-0.5, -1+0.42*math.cos(sine/2), 0-0.62*math.cos(sine/2)) * CFrame.Angles(math.rad(0+134*math.sin(sine/2)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)+ RootPart.RotVelocity.Y / -54), 0.52)
1756
RightLeg.Weld.C0 = clerp(RightLeg.Weld.C0, CFrame.new(0.5, -1-0.42*math.cos(sine/2),0+0.62*math.cos(sine/2)) * CFrame.Angles(math.rad(0-134*math.sin(sine/2)), math.rad(0)+ RootPart.RotVelocity.Y / 42, math.rad(0)- RootPart.RotVelocity.Y / 54), 0.52)
1757
		end
1758
		
1759
		
1760
1761
end
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
 if 0 < #Effects then
1772
      for e = 1, #Effects do
1773
        if Effects[e] ~= nil then
1774
          local Thing = Effects[e]
1775
          if Thing ~= nil then
1776
            local Part = Thing[1]
1777
            local Mode = Thing[2]
1778
            local Delay = Thing[3]
1779
            local IncX = Thing[4]
1780
            local IncY = Thing[5]
1781
            local IncZ = Thing[6]
1782
            if Thing[1].Transparency <= 1 then
1783
              if Thing[2] == "Block1" then
1784
                Thing[1].CFrame = Thing[1].CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1785
                Mesh = Thing[1]:FindFirstChild("Mesh")
1786
                if not Mesh then
1787
                  Mesh = Instance.new("BlockMesh")
1788
                end
1789
                Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
1790
                Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1791
              elseif Thing[2] == "Cylinder" then
1792
                  Mesh = Thing[1]:FindFirstChild("Mesh")
1793
                  if not Mesh then
1794
                    Mesh = Instance.new("BlockMesh")
1795
                  end
1796
                  Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
1797
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1798
                elseif Thing[2] == "Blood" then
1799
                    Mesh = Thing[1]:FindFirstChild("Mesh")
1800
                    if not Mesh then
1801
                      Mesh = Instance.new("BlockMesh")
1802
                    end
1803
                    Thing[1].CFrame = Thing[1].CFrame * cf(0, 0.5, 0)
1804
                    Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
1805
                    Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1806
                  elseif Thing[2] == "Elec" then
1807
                      Mesh = Thing[1]:FindFirstChild("Mesh")
1808
                      if not Mesh then
1809
                        Mesh = Instance.new("BlockMesh")
1810
                      end
1811
                      Mesh.Scale = Mesh.Scale + vt(Thing[7], Thing[8], Thing[9])
1812
                      Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1813
                    elseif Thing[2] == "Disappear" then
1814
                        Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1815
                      end
1816
            else
1817
              Part.Parent = nil
1818
              game:GetService("Debris"):AddItem(Part, 0)
1819
              table.remove(Effects, e)
1820
            end
1821
          end
1822
        end
1823
      end
1824
    end
1825
1826
end