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