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