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