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