View difference between Paste ID: eyW1ex22 and TdJCMT9t
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
3
do
4
	print("Fixed by kilcrafter (crift_games1)")
5
	script.Parent = Player.Character
6
7
	--RemoteEvent for communicating
8
	local Event = Instance.new("RemoteEvent")
9
	Event.Name = "UserInput_Event"
10
11
	--Fake event to make stuff like Mouse.KeyDown work
12
	local function fakeEvent()
13
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
14
		t.connect = t.Connect
15-
local Player = game.Players.localPlayer
15+
		return t
16
	end
17
18
	--Creating fake input objects with fake variables
19
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
20
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
21
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
22
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
23
	end}
24
	--Merged 2 functions into one by checking amount of arguments
25
	CAS.UnbindAction = CAS.BindAction
26
27
	--This function will trigger the events that have been :Connect()'ed
28
	local function te(self,ev,...)
29
		local t = m[ev]
30-
Player = game.Players.LocalPlayer
30+
		if t and t._fakeEvent and t.Function then
31
			t.Function(...)
32
		end
33
	end
34
	m.TrigEvent = te
35
	UIS.TrigEvent = te
36
37
	Event.OnServerEvent:Connect(function(plr,io)
38
	    if plr~=Player then return end
39
		if io.isMouse then
40
			m.Target = io.Target
41
			m.Hit = io.Hit
42
		else
43
			local b = io.UserInputState == Enum.UserInputState.Begin
44
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
45
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
46
			end
47
			for _,t in pairs(CAS.Actions) do
48
				for _,k in pairs(t.Keys) do
49
					if k==io.KeyCode then
50
						t.Function(t.Name,io.UserInputState,io)
51
					end
52
				end
53
			end
54
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
55
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
56
	    end
57
	end)
58
	Event.Parent = NLS([==[
59
	local Player = game:GetService("Players").LocalPlayer
60
	local Event = script:WaitForChild("UserInput_Event")
61
62
	local UIS = game:GetService("UserInputService")
63
	local input = function(io,a)
64
		if a then return end
65
		--Since InputObject is a client-side instance, we create and pass table instead
66
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
67
	end
68
	UIS.InputBegan:Connect(input)
69
	UIS.InputEnded:Connect(input)
70
71
	local Mouse = Player:GetMouse()
72
	local h,t
73
	--Give the server mouse data 30 times every second, but only if the values changed
74
	--If player is not moving their mouse, client won't fire events
75
	while wait(1/30) do
76
		if h~=Mouse.Hit or t~=Mouse.Target then
77
			h,t=Mouse.Hit,Mouse.Target
78
			Event:FireServer({isMouse=true,Target=t,Hit=h})
79
		end
80
	end]==],Player.Character)
81
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
82
end
83
84
--Thanks to someone they name i will not say is this being traded around.--
85
--If they read this, fuck you.--
86
87
--Anyways Enjoy.--
88
--//====================================================\\--
89
--||    CREATED BY SHACKLUSTER THE EDIT BY XDAVODIOX    ||
90
--\\====================================================//--
91
92
93
--Well that text under this tet is nothing anymore.--
94
--You are a fucking faggot if you leaked this bitch.--
95
96
wait(0.3)
97
98
local Player = owner
99
local Character = Player.Character
100
local Humanoid = Character.Humanoid
101
local LeftArm = Character["Left Arm"]
102
local RightArm = Character["Right Arm"]
103
local LeftLeg = Character["Left Leg"]
104
local RightLeg = Character["Right Leg"]
105
local Head = Character.Head
106
local Torso = Character.Torso
107
local RootPart = Character.HumanoidRootPart
108
local RootJoint = RootPart.RootJoint
109
local txt = Instance.new("BillboardGui", Character)
110
local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
111
local velocity = RootPart.Velocity.y
112
CV = "Maroon"
113
Player = owner
114
char = Player.Character
115
warn("Edit by XDavodioX")
116
local txt = Instance.new("BillboardGui", Character)
117
txt.Adornee = Character.Head
118
txt.Name = "_status"
119
txt.Size = UDim2.new(2, 0, 1.2, 0)
120
txt.StudsOffset = Vector3.new(-9, 8, 0)
121
local text = Instance.new("TextLabel", txt)
122
text.Size = UDim2.new(10, 0, 7, 0)
123
text.FontSize = "Size24"
124
text.TextScaled = true
125
text.TextTransparency = 0
126
text.BackgroundTransparency = 1
127
text.TextTransparency = 0
128
text.TextStrokeTransparency = 1
129
text.Font = "Code"
130
v = Instance.new("Part")
131
v.Name = "ColorBrick"
132
v.Parent = Player.Character
133
v.FormFactor = "Symmetric"
134
v.Anchored = true
135
v.CanCollide = false
136
v.BottomSurface = "Smooth"
137
v.TopSurface = "Smooth"
138
v.Size = Vector3.new(10, 5, 3)
139
v.Transparency = 1
140
v.CFrame = Character.Torso.CFrame
141
v.BrickColor = BrickColor.new(CV)
142
v.Transparency = 1
143-
plr=Game.Players.LocalPlayer
143+
144
local cR=255
145
local cG=0
146
local cB=0
147
local flg5=1 local omgidk=1
148
local add=15
149
game:GetService("RunService"):BindToRenderStep("Ghost",1,function()
150
	if omgidk>10000 then omgidk=0 end
151
	omgidk=omgidk+1
152
	if cR>=255 then flg5=1 end
153
	if cG>=255 then flg5=2 end
154
	if cB>=255 then flg5=3 end
155
	if flg5==1 then cR=cR-add cG=cG+add end
156
	if flg5==2 then cG=cG-add cB=cB+add end
157
	if flg5==3 then cB=cB-add cR=cR+add end
158
	color=Color3.fromRGB(cR,cG,cB)
159
	text.TextColor3 = color
160
end)
161
v.Shape = "Block"
162
text.Text = Player.Name..", The Rainbow Puncher"
163
function MagnitudeDamage(Part, Magnitude, MinimumDamage, MaximumDamage, KnockBack, Type, HitSound, HitPitch)
164
	for _, c in pairs(workspace:children()) do
165
		local hum = c:findFirstChild("Humanoid")
166
		if hum ~= nil then
167
			local head = hit
168
			if head ~= nil then
169
				local targ = head.Position - Part.Position
170
				local mag = targ.magnitude
171
				if Magnitude >= mag and c.Name ~= Player.Name then
172
					CFuncs.Sound.Create("324867021", head, 1, 1)
173
					Damage(head, head, MinimumDamage, MaximumDamage, KnockBack, Type, RootPart, 0.1, HitSound, HitPitch)
174
				end
175
			end
176
		end
177
	end
178
end
179
180
Parts={}
181
function GetDiscoColor(hue)
182
    local section = hue % 1 * 3
183
    local secondary = 0.5 * math.pi * (section % 1)
184
    if section < 1 then
185
        return Vector3.new(1, 1 - math.cos(secondary), 1 - math.sin(secondary))
186
    elseif section < 2 then
187
        return Vector3.new(1 - math.sin(secondary), 1, 1 - math.cos(secondary))
188
    else
189
        return Vector3.new(1 - math.cos(secondary), 1 - math.sin(secondary), 1)
190
    end
191
end
192
Part = function(x,y,z,color,tr,cc,an,parent)
193
    local p = Instance.new('Part',parent or Weapon)
194
    p.formFactor = 'Custom'
195-
Player = game:GetService("Players").LocalPlayer
195+
196
    p.BrickColor = BrickColor.new(color)
197
    p.CanCollide = cc
198
    p.Transparency = tr
199
    p.Anchored = an
200
    p.TopSurface,p.BottomSurface = 0,0
201-
Mouse = Player:GetMouse()
201+
202
    table.insert(Parts,p)
203
    return p
204
end
205
Weld = function(p0,p1)
206
    local w = Instance.new('Motor',p0)
207
    w.Part0 = p0
208
    w.Part1 = p1
209
    return w 
210
end
211
Mesh = function(par,num,x,y,z)
212
    local msh = 0
213
    if num == 1 then
214
        msh = Instance.new("SpecialMesh",par)
215
        msh.MeshId='rbxasset://fonts/torso.mesh'
216
        msh.TextureId='rbxasset://25701026'
217
    end
218
    if num == 2 then
219
        msh = Instance.new("SpecialMesh",par)
220
        msh.MeshId='rbxasset://fonts/head.mesh'
221
        msh.TextureId='rbxassetid://25701026'
222
    end
223
    msh.Scale = Vector3.new(x,y,z)
224
    return msh
225
end
226
plr=owner
227
char=plr.Character
228
for _,v in pairs(char:GetChildren()) do
229
    if v.ClassName=="Part" then
230
        v.Transparency=1
231
    elseif v.ClassName=="Hat" then
232
        v.Handle.Mesh.TextureId='rbxassetid://25701026'
233
        table.insert(Parts,v.Handle)
234
    end
235
end
236
t=Part(1,1,1,'',0,false,false,char)
237
Mesh(t,1,1,1,1)
238
Weld(char.Torso,t)
239
a=Part(1,1,1,'',0,false,false,char)
240
Mesh(a,1,.5,1,1)
241
Weld(char['Right Arm'],a)
242
a=Part(1,1,1,'',0,false,false,char)
243
Mesh(a,1,.5,1,1)
244
Weld(char['Left Arm'],a)
245
l=Part(1,1,1,'',0,false,false,char)
246
Mesh(l,1,.5,1,1)
247
Weld(char['Right Leg'],l)
248
l=Part(1,1,1,'',0,false,false,char)
249
Mesh(l,1,.5,1,1)
250
Weld(char['Left Leg'],l)
251
h=Part(1,1,1,'',0,false,false,char)
252
Mesh(h,2,1,1,1)
253
Weld(char.Head,h)
254
Spawn(function()
255
    while(coroutine.yield())do
256
        for i=1,#Parts do
257
            Parts[i].Mesh.VertexColor=GetDiscoColor(tick()*.8)--vertex 4 lyfe
258
        end
259
    end;
260
end);
261
262
char.Head.face:Destroy()
263
264
for i,v in pairs(char:GetChildren()) do
265
	if v.ClassName == "Accessory" then
266
		v:Remove()
267
	elseif v.ClassName == "Shirt" then
268
		v:Remove()
269
	elseif v.ClassName == "Pants" then
270
		v:Remove()
271
	elseif v.ClassName == "ShirtGraphic" then
272
		v:Remove()
273
		end		
274
end
275
276
wait(0.3)
277
278
Player = owner
279
PlayerGui = Player.PlayerGui
280
Cam = workspace.CurrentCamera
281
Backpack = Player.Backpack
282
Character = Player.Character
283
Humanoid = Character.Humanoid
284
RootPart = Character["HumanoidRootPart"]
285
Torso = Character["Torso"]
286
Head = Character["Head"]
287
RightArm = Character["Right Arm"]
288
LeftArm = Character["Left Arm"]
289
RightLeg = Character["Right Leg"]
290
LeftLeg = Character["Left Leg"]
291
RootJoint = RootPart["RootJoint"]
292
Neck = Torso["Neck"]
293
RightShoulder = Torso["Right Shoulder"]
294
LeftShoulder = Torso["Left Shoulder"]
295
RightHip = Torso["Right Hip"]
296
LeftHip = Torso["Left Hip"]
297
local sick = Instance.new("Sound",Character)
298
sick.SoundId = "rbxassetid://198584962"
299
sick.Looped = true
300
sick.Pitch = 1
301
sick.Volume = 86783
302
sick:Play()
303
304
IT = Instance.new
305
CF = CFrame.new
306
VT = Vector3.new
307
RAD = math.rad
308
C3 = Color3.new
309
UD2 = UDim2.new
310
BRICKC = BrickColor.new
311
ANGLES = CFrame.Angles
312
EULER = CFrame.fromEulerAnglesXYZ
313
COS = math.cos
314
ACOS = math.acos
315
SIN = math.sin
316
ASIN = math.asin
317
ABS = math.abs
318
MRANDOM = math.random
319
FLOOR = math.floor
320
321
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
322
	local NEWMESH = IT(MESH)
323
	if MESH == "SpecialMesh" then
324
		NEWMESH.MeshType = MESHTYPE
325
		if MESHID ~= "nil" and MESHID ~= "" then
326
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
327
		end
328
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
329
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
330
		end
331
	end
332
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
333
	NEWMESH.Scale = SCALE
334
	NEWMESH.Parent = PARENT
335
	return NEWMESH
336
end
337
338
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
339
	local NEWPART = IT("Part")
340
	NEWPART.formFactor = FORMFACTOR
341
	NEWPART.Reflectance = REFLECTANCE
342
	NEWPART.Transparency = TRANSPARENCY
343
	NEWPART.CanCollide = false
344
	NEWPART.Locked = true
345
	NEWPART.Anchored = true
346
	if ANCHOR == false then
347
		NEWPART.Anchored = false
348
	end
349
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
350
	NEWPART.Name = NAME
351
	NEWPART.Size = SIZE
352
	NEWPART.Position = Torso.Position
353
	NEWPART.Material = MATERIAL
354
	NEWPART:BreakJoints()
355
	NEWPART.Parent = PARENT
356
	return NEWPART
357
end
358
359
360
function CreatePart1(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, NAME, SIZE, ANCHOR)
361
	local NEWPART = IT("Part")
362
	NEWPART.formFactor = FORMFACTOR
363
	NEWPART.Reflectance = REFLECTANCE
364
	NEWPART.Transparency = TRANSPARENCY
365
	NEWPART.CanCollide = false
366
	NEWPART.Locked = true
367
	NEWPART.Anchored = true
368
	if ANCHOR == false then
369
		NEWPART.Anchored = false
370
	end
371
	NEWPART.Name = NAME
372
	NEWPART.Size = SIZE
373
	NEWPART.Position = Torso.Position
374
	NEWPART.Material = MATERIAL
375
	NEWPART:BreakJoints()
376
	NEWPART.Parent = PARENT
377
	return NEWPART
378
end
379
380
--//=================================\\
381
--||		  CUSTOMIZATION
382
--\\=================================//
383
384
Player_Size = 1 --Size of the player.
385
Animation_Speed = 6
386
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
387
388
local Speed = 500
389
local Effects2 = {}
390
391
local Rainbow = { --This is the main color set. Try to use more than just a few, make it fade in order as well
392
"Crimson", 
393
"Bright red", 
394
"Neon orange", 
395
"Deep orange", 
396
"Bright yellow", 
397
"New Yeller", 
398
"Br. yellowish green", 
399
"Lime green", 
400
"Sea green", 
401
"Bright bluish green",
402
"Bright blue", 
403
"Lavender",
404
"Royal purple",
405
"Eggplant",
406
"Hot pink"
407
}
408
409
--//=================================\\
410
--|| 	  END OF CUSTOMIZATION
411
--\\=================================//
412
413
	local function weldBetween(a, b)
414
	    local weldd = Instance.new("ManualWeld")
415
	    weldd.Part0 = a
416
	    weldd.Part1 = b
417
	    weldd.C0 = CFrame.new()
418
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
419
	    weldd.Parent = a
420
	    return weldd
421
	end
422
423
--//=================================\\
424
--|| 	      USEFUL VALUES
425
--\\=================================//
426
427
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
428
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
429
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
430
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
431
local CHANGEDEFENSE = 0
432
local CHANGEDAMAGE = 0
433
local CHANGEMOVEMENT = 0
434
local ANIM = "Idle"
435
local ATTACK = false
436
local EQUIPPED = false
437
local HOLD = false
438
local COMBO = 1
439
local Rooted = false
440
local SINE = 0
441
local KEYHOLD = false
442
local CHANGE = 2 / Animation_Speed
443
local WALKINGANIM = false
444
local WALK = 0
445
local VALUE1 = false
446
local VALUE2 = false
447
local ROBLOXIDLEANIMATION = IT("Animation")
448
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
449
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
450
--ROBLOXIDLEANIMATION.Parent = Humanoid
451
local WEAPONGUI = IT("ScreenGui", PlayerGui)
452
WEAPONGUI.Name = "Weapon GUI"
453
local Weapon = IT("Model")
454
Weapon.Name = "Adds"
455
local HITFLOOR = nil
456
local Effects = IT("Folder", Weapon)
457
Effects.Name = "Effects"
458
local ANIMATOR = Humanoid.Animator
459
local ANIMATE = Character.Animate
460
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
461
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
462
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
463
local HITBLOCKSOUNDS = {"199148933", "199148947"}
464
local UNANCHOR = true
465
466
rainbowNumber = 1
467
468
local SKILLTEXTCOLOR = BrickColor.new(Rainbow[rainbowNumber]).Color
469
470
--//=================================\\
471
--\\=================================//
472
473
474
475
476
--//=================================\\
477
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
478
--\\=================================//
479
480
ArtificialHB = Instance.new("BindableEvent", script)
481
ArtificialHB.Name = "ArtificialHB"
482
483
script:WaitForChild("ArtificialHB")
484
485
frame = Frame_Speed
486
tf = 0
487
allowframeloss = false
488
tossremainder = false
489
lastframe = tick()
490
script.ArtificialHB:Fire()
491
492
game:GetService("RunService").Heartbeat:connect(function(s, p)
493
	tf = tf + s
494
	if tf >= frame then
495
		if allowframeloss then
496
			script.ArtificialHB:Fire()
497
			lastframe = tick()
498
		else
499
			for i = 1, math.floor(tf / frame) do
500
				script.ArtificialHB:Fire()
501
			end
502
		lastframe = tick()
503
		end
504
		if tossremainder then
505
			tf = 0
506
		else
507
			tf = tf - frame * math.floor(tf / frame)
508
		end
509
	end
510
end)
511
512
--//=================================\\
513
--\\=================================//
514
515
516
517
--//=================================\\
518
--|| 	      SOME FUNCTIONS
519
--\\=================================//
520
521
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
522
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
523
end
524
525
function PositiveAngle(NUMBER)
526
	if NUMBER >= 0 then
527
		NUMBER = 0
528
	end
529
	return NUMBER
530
end
531
532
function NegativeAngle(NUMBER)
533
	if NUMBER <= 0 then
534
		NUMBER = 0
535
	end
536
	return NUMBER
537
end
538
539
function Swait(NUMBER)
540
	if NUMBER == 0 or NUMBER == nil then
541
		ArtificialHB.Event:wait()
542
	else
543
		for i = 1, NUMBER do
544
			ArtificialHB.Event:wait()
545
		end
546
	end
547
end
548
549
function QuaternionFromCFrame(cf)
550
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
551
	local trace = m00 + m11 + m22
552
	if trace > 0 then 
553
		local s = math.sqrt(1 + trace)
554
		local recip = 0.5 / s
555
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
556
	else
557
		local i = 0
558
		if m11 > m00 then
559
			i = 1
560
		end
561
		if m22 > (i == 0 and m00 or m11) then
562
			i = 2
563
		end
564
		if i == 0 then
565
			local s = math.sqrt(m00 - m11 - m22 + 1)
566
			local recip = 0.5 / s
567
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
568
		elseif i == 1 then
569
			local s = math.sqrt(m11 - m22 - m00 + 1)
570
			local recip = 0.5 / s
571
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
572
		elseif i == 2 then
573
			local s = math.sqrt(m22 - m00 - m11 + 1)
574
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
575
		end
576
	end
577
end
578
 
579
function QuaternionToCFrame(px, py, pz, x, y, z, w)
580
	local xs, ys, zs = x + x, y + y, z + z
581
	local wx, wy, wz = w * xs, w * ys, w * zs
582
	local xx = x * xs
583
	local xy = x * ys
584
	local xz = x * zs
585
	local yy = y * ys
586
	local yz = y * zs
587
	local zz = z * zs
588
	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))
589
end
590
 
591
function QuaternionSlerp(a, b, t)
592
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
593
	local startInterp, finishInterp;
594
	if cosTheta >= 0.0001 then
595
		if (1 - cosTheta) > 0.0001 then
596
			local theta = ACOS(cosTheta)
597
			local invSinTheta = 1 / SIN(theta)
598
			startInterp = SIN((1 - t) * theta) * invSinTheta
599
			finishInterp = SIN(t * theta) * invSinTheta
600
		else
601
			startInterp = 1 - t
602
			finishInterp = t
603
		end
604
	else
605
		if (1 + cosTheta) > 0.0001 then
606
			local theta = ACOS(-cosTheta)
607
			local invSinTheta = 1 / SIN(theta)
608
			startInterp = SIN((t - 1) * theta) * invSinTheta
609
			finishInterp = SIN(t * theta) * invSinTheta
610
		else
611
			startInterp = t - 1
612
			finishInterp = t
613
		end
614
	end
615
	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
616
end
617
618
function Clerp(a, b, t)
619
	local qa = {QuaternionFromCFrame(a)}
620
	local qb = {QuaternionFromCFrame(b)}
621
	local ax, ay, az = a.x, a.y, a.z
622
	local bx, by, bz = b.x, b.y, b.z
623
	local _t = 1 - t
624
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
625
end
626
627
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
628
	local frame = IT("Frame")
629
	frame.BackgroundTransparency = TRANSPARENCY
630
	frame.BorderSizePixel = BORDERSIZEPIXEL
631
	frame.Position = POSITION
632
	frame.Size = SIZE
633
	frame.BackgroundColor3 = COLOR
634
	frame.BorderColor3 = BORDERCOLOR
635
	frame.Name = NAME
636
	frame.Parent = PARENT
637
	return frame
638
end
639
640
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
641
	local label = IT("TextLabel")
642
	label.BackgroundTransparency = 1
643
	label.Size = UD2(1, 0, 1, 0)
644
	label.Position = UD2(0, 0, 0, 0)
645
	label.TextColor3 = TEXTCOLOR
646
	label.TextStrokeTransparency = STROKETRANSPARENCY
647
	label.TextTransparency = TRANSPARENCY
648
	label.FontSize = TEXTFONTSIZE
649
	label.Font = TEXTFONT
650
	label.BorderSizePixel = BORDERSIZEPIXEL
651
	label.TextScaled = false
652
	label.Text = TEXT
653
	label.Name = NAME
654
	label.Parent = PARENT
655
	return label
656
end
657
658
function NoOutlines(PART)
659
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
660
end
661
662
663
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
664
	local NEWWELD = IT(TYPE)
665
	NEWWELD.Part0 = PART0
666
	NEWWELD.Part1 = PART1
667
	NEWWELD.C0 = C0
668
	NEWWELD.C1 = C1
669
	NEWWELD.Parent = PARENT
670
	return NEWWELD
671
end
672
673
function CreateSound(ID, PARENT, VOLUME, PITCH)
674
	local NEWSOUND = nil
675
	coroutine.resume(coroutine.create(function()
676
		NEWSOUND = IT("Sound", PARENT)
677
		NEWSOUND.Volume = VOLUME
678
		NEWSOUND.Pitch = PITCH
679
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
680
		Swait()
681
		NEWSOUND:play()
682
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
683
	end))
684
	return NEWSOUND
685
end
686
687
function CFrameFromTopBack(at, top, back)
688
	local right = top:Cross(back)
689
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
690
end
691
692
function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
693
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC("Maroon"), "Effect", VT(0,0,0))
694
	local mesh = IT("SpecialMesh",wave)
695
	mesh.MeshType = "FileMesh"
696
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
697
	mesh.Scale = SIZE
698
	mesh.Offset = VT(0,0,-SIZE.X/8)
699
	wave.CFrame = CFRAME
700
	coroutine.resume(coroutine.create(function(PART)
701
		for i = 1, WAIT do
702
			Swait()
703
			mesh.Scale = mesh.Scale + GROW
704
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
705
			if DOESROT == true then
706
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
707
			end
708
			wave.Transparency = wave.Transparency + (0.5/WAIT)
709
			if wave.Transparency > 0.99 then
710
				wave:remove()
711
			end
712
		end
713
	end))
714
end
715
716
function CreateWave2(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
717
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC("Maroon"), "Effect", VT(0,0,0))
718
	local mesh = IT("SpecialMesh",wave)
719
	mesh.MeshType = "FileMesh"
720
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
721
	mesh.Scale = SIZE
722
	--mesh.Offset = VT(0,0,-SIZE.X/8)
723
	wave.CFrame = CFRAME
724
	coroutine.resume(coroutine.create(function(PART)
725
		for i = 1, WAIT do
726
			Swait()
727
			mesh.Scale = mesh.Scale + GROW
728
			--mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
729
			if DOESROT == true then
730
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
731
			end
732
			wave.Transparency = wave.Transparency + (0.5/WAIT)
733
			if wave.Transparency > 0.99 then
734
				wave:remove()
735
			end
736
		end
737
	end))
738
end
739
740
function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
741
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC("Maroon"), "Effect", VT(0,0,0))
742
	local mesh = IT("SpecialMesh",wave)
743
	mesh.MeshType = "FileMesh"
744
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
745
	mesh.Scale = SIZE
746
	wave.CFrame = CFRAME
747
	coroutine.resume(coroutine.create(function(PART)
748
		for i = 1, WAIT do
749
			Swait()
750
			mesh.Scale = mesh.Scale + GROW
751
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
752
			if DOESROT == true then
753
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
754
			end
755
			wave.Transparency = wave.Transparency + (0.5/WAIT)
756
			if wave.Transparency > 0.99 then
757
				wave:remove()
758
			end
759
		end
760
	end))
761
end
762
763
764
function Slice(SIZE,WAIT,CFRAME,COLOR,GROW)
765
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC("Maroon"), "Effect", VT(1,1,1), true)
766
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
767
	wave.CFrame = CFRAME
768
	coroutine.resume(coroutine.create(function(PART)
769
		for i = 1, WAIT do
770
			Swait()
771
			mesh.Scale = mesh.Scale * GROW
772
			wave.Transparency = wave.Transparency + (0.5/WAIT)
773
			if wave.Transparency > 0.99 then
774
				wave:remove()
775
			end
776
		end
777
	end))
778
end
779
780
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
781
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Maroon"), "Effect", VT(1,1,1), true)
782
	local mesh = IT("SpecialMesh",wave)
783
	mesh.MeshType = "Sphere"
784
	mesh.Scale = SIZE
785
	mesh.Offset = VT(0,0,0)
786
	wave.CFrame = CFRAME
787
	coroutine.resume(coroutine.create(function(PART)
788
		for i = 1, WAIT do
789
			Swait()
790
			mesh.Scale = mesh.Scale + GROW
791
			wave.Transparency = wave.Transparency + (1/WAIT)
792
			if wave.Transparency > 0.99 then
793
				wave:remove()
794
			end
795
		end
796
	end))
797
end
798
799
function MakeForm(PART,TYPE)
800
	if TYPE == "Cyl" then
801
		local MSH = IT("CylinderMesh",PART)
802
	elseif TYPE == "Ball" then
803
		local MSH = IT("SpecialMesh",PART)
804
		MSH.MeshType = "Sphere"
805
	elseif TYPE == "Wedge" then
806
		local MSH = IT("SpecialMesh",PART)
807
		MSH.MeshType = "Wedge"
808
	end
809
end
810
811
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
812
	if FLOOR ~= nil then
813
		coroutine.resume(coroutine.create(function()
814
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
815
			PART.CFrame = CF(POSITION)
816
			for i = 1, 45 do
817
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
818
				RingPiece.Material = FLOOR.Material
819
				RingPiece.Color = FLOOR.Color
820
				RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE*4, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
821
				Debris:AddItem(RingPiece,SWAIT/100)
822
			end
823
			PART:remove()
824
		end))
825
	end
826
end
827
828
function CheckTableForString(Table, String)
829
	for i, v in pairs(Table) do
830
		if string.find(string.lower(String), string.lower(v)) then
831
			return true
832
		end
833
	end
834
	return false
835
end
836
837
function CheckIntangible(Hit)
838
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
839
	if Hit and Hit.Parent then
840
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
841
			return true
842
		end
843
	end
844
	return false
845
end
846
847
Debris = game:GetService("Debris")
848
849
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
850
	local Direction = CFrame.new(StartPos, Vec).lookVector
851
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
852
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
853
	if RayHit and CheckIntangible(RayHit) then
854
		if DelayIfHit then
855
			wait()
856
		end
857
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
858
	end
859
	return RayHit, RayPos, RayNormal
860
end
861
862
function turnto(position)
863
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
864
end
865
866
--//=================================\\
867
--||	     WEAPON CREATION
868
--\\=================================//
869
local FIST = CreatePart1(3, Weapon, "Neon", 0, 0, "Neon Gauntlet Part1", VT(1.01*Player_Size,1.4*Player_Size,1.01*Player_Size),false)
870
Light = Instance.new("PointLight",FIST)
871
Light.Brightness = 0.85
872
touchCounter = 0
873
local cR=255
874
local cG=0
875
local cB=0
876
local flg5=1 local omgidk=1
877
local add=7.5
878
game:GetService("RunService"):BindToRenderStep("Ghost",1,function()
879
	if omgidk>10000 then omgidk=0 end
880
	omgidk=omgidk+1
881
	if cR>=255 then flg5=1 end
882
	if cG>=255 then flg5=2 end
883
	if cB>=255 then flg5=3 end
884
	if flg5==1 then cR=cR-add cG=cG+add end
885
	if flg5==2 then cG=cG-add cB=cB+add end
886
	if flg5==3 then cB=cB-add cR=cR+add end
887
	color=Color3.fromRGB(cR,cG,cB)
888
	Light.Color = color
889
end)
890
local weld = CreateWeldOrSnapOrMotor("Weld", FIST, RightArm, FIST, CF(0 * Player_Size, -0.25 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
891
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Gauntlet Part", VT(1.2*Player_Size,0.3*Player_Size,1.2*Player_Size),false)
892
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.6 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
893
894
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
895
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
896
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
897
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.2 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
898
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
899
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.3 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
900
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
901
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
902
903
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,1.1*Player_Size),false)
904
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, -0.35 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
905
local part = CreatePart(3, Weapon, "Neon", 0, 0, "Maroon", "Neon Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,1*Player_Size),false)
906
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.05 * Player_Size, -0.375 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
907
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,0.3*Player_Size),false)
908
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.1 * Player_Size, -0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
909
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,0.3*Player_Size),false)
910
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.1 * Player_Size, -0.4 * Player_Size, 0.33 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
911
local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,0.3*Player_Size),false)
912
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.1 * Player_Size, -0.4 * Player_Size, -0.33 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
913
touchCounter = 0
914
local cR=255
915
local cG=0
916
local cB=0
917
local flg5=1 local omgidk=1
918
local add=7.5
919
game:GetService("RunService"):BindToRenderStep("Ghost",1,function()
920
	if omgidk>10000 then omgidk=0 end
921
	omgidk=omgidk+1
922
	if cR>=255 then flg5=1 end
923
	if cG>=255 then flg5=2 end
924
	if cB>=255 then flg5=3 end
925
	if flg5==1 then cR=cR-add cG=cG+add end
926
	if flg5==2 then cG=cG-add cB=cB+add end
927
	if flg5==3 then cB=cB-add cR=cR+add end
928
	color=Color3.fromRGB(cR,cG,cB)
929
	local d = Weapon:FindFirstChild("Neon Gauntlet Part")
930
	if d then
931
		d.Color = color
932
	end
933
	local d = Weapon:FindFirstChild("Neon Gauntlet Part1")
934
	if d then
935
		d.Color = color
936
	end
937
end)
938
for _, c in pairs(Weapon:GetChildren()) do
939
	if c.ClassName == "Part" then
940
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
941
	end
942
end
943
944
Weapon.Parent = Character
945
946
local BODY = {}
947
948
for _, c in pairs(Character:GetChildren()) do
949
	if c.ClassName == "Part" then
950
		table.insert(BODY,{c,Character})
951
		for _, q in pairs(c:GetChildren()) do
952
			if q.ClassName == "Motor6D" or q.ClassName == "Weld" or q.ClassName == "ManualWeld" then
953
				table.insert(BODY,{q,c})
954
			end
955
		end
956
	end
957
end
958
959
function refit()
960
	Character.Parent = workspace
961
	for e = 1, #BODY do
962
		if BODY[e] ~= nil then
963
			local STUFF = BODY[e]
964
			local PART = STUFF[1]
965
			local PARENT = STUFF[2]
966
			PART.Parent = PARENT
967
		end
968
	end
969
end
970
971
Humanoid.HealthChanged:connect(function()
972
	Humanoid.Parent = nil
973
	Humanoid.MaxHealth = "inf"
974
	Humanoid.Health = "inf"
975
	refit()
976
	Humanoid.Parent = Character
977
end)
978
979
Humanoid.Died:connect(function()
980
	Humanoid.Parent = nil
981
	Humanoid.MaxHealth = "inf"
982
	Humanoid.Health = "inf"
983
	refit()
984
	Humanoid.Parent = Character
985
end)
986
987
Humanoid.Died:connect(function()
988
	ATTACK = true
989
end)
990
991
function onTouched(brick)
992
    local humn = brick.Parent:FindFirstChildOfClass("Humanoid")
993
    if humn then
994
       humn.Health = -1
995
    end
996
end
997
998
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.13, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
999
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.60, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
1000
local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
1001
local SKILL4FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.7, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
1002
local SKILL5FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.60, 0, 0.130, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame") 
1003
local SKILL6FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.13, 0, 0.130, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame") 
1004
local SKILL7FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.01, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 7 Frame")
1005
1006
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[E] Ultra Punch", SKILLTEXTCOLOR, 7, "SciFi", 0, 2, 1, "Text 1")
1007
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[F] Punish", SKILLTEXTCOLOR, 7, "SciFi", 0, 2, 1, "Text 2")
1008
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Dash", SKILLTEXTCOLOR, 7, "SciFi", 0, 2, 1, "Text 3")
1009
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[Q] Ultimate Punch", SKILLTEXTCOLOR, 6, "SciFi", 0, 2, 1, "Text4")
1010
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[G] R.I.P World", SKILLTEXTCOLOR, 6, "SciFi", 0, 2, 1, "Text5")
1011
local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[R] Destruction", SKILLTEXTCOLOR, 6, "SciFi", 0, 2, 1, "Text6")
1012
local SKILL7TEXT = CreateLabel(SKILL7FRAME, "[T] Apocalypse", SKILLTEXTCOLOR, 7, "SciFi", 0, 2, 1, "Text7")
1013
1014
--//=================================\\
1015
--||	     DAMAGE FUNCTIONS
1016
--\\=================================//
1017
1018
function onTouched(Torso)
1019
    local humn = brick.Parent:FindFirstChildOfClass("Humanoid")
1020
    if humn then
1021
       humn.Health = -1
1022
    end
1023
end
1024
1025
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
1026
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
1027
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
1028
	local BODYGYRO = IT("BodyGyro", STATPART)
1029
	local BODYPOSITION = IT("BodyPosition", STATPART)
1030
	BODYPOSITION.P = 2000
1031
	BODYPOSITION.D = 100
1032
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
1033
	BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
1034
	game:GetService("Debris"):AddItem(STATPART ,5)
1035
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
1036
	BILLBOARDGUI.Adornee = STATPART
1037
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
1038
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
1039
	BILLBOARDGUI.AlwaysOnTop = false
1040
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
1041
	TEXTLABEL.BackgroundTransparency = 1
1042
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
1043
	TEXTLABEL.Text = TEXT
1044
	TEXTLABEL.Font = "SciFi"
1045
	TEXTLABEL.FontSize="Size42"
1046
	TEXTLABEL.TextColor3 = COLOR
1047
	TEXTLABEL.TextStrokeTransparency = 1
1048
	TEXTLABEL.TextScaled = true
1049
	TEXTLABEL.TextWrapped = true
1050
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
1051
		if LABELTYPE == "Normal" then
1052
			for i = 1, 30 do
1053
				Swait()
1054
				STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
1055
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
1056
			end
1057
		elseif LABELTYPE == "Debuff" then
1058
			for i = 1, 30 do
1059
				Swait()
1060
				STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
1061
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
1062
			end
1063
		elseif LABELTYPE == "Shock" then
1064
			local ORIGIN = STATPART.Position
1065
			for i = 1, 30 do
1066
				Swait()
1067
				STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
1068
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
1069
			end
1070
		end
1071
		THEPART.Parent = nil
1072
	end),STATPART, BODYPOSITION, TEXTLABEL)
1073
end
1074
1075
--//=================================\\
1076
--||			DAMAGING
1077
--\\=================================//
1078
1079
function killnearest(position,range,maxstrength,direction)
1080
	for i,v in ipairs(workspace:GetChildren()) do
1081
	local body = v:GetChildren()
1082
		for part = 1, #body do
1083
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1084
				if(body[part].Position - position).Magnitude < range then
1085
					if v.ClassName == "Model" then
1086
						--v:BreakJoints()
1087
					end
1088
					local POS = position
1089
					coroutine.resume(coroutine.create(function()
1090
						body[part].Anchored = true
1091
						body[part].Parent = Effects
1092
						body[part].CanCollide = true
1093
						local SIZE = body[part].Size
1094
						body[part].Material = "Neon"
1095
						CreateSound("952306739", body[part], 2, MRANDOM(7, 12) / 10)
1096
						for i = 1, 75 do
1097
							Swait()
1098
							body[part].Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
1099
							body[part].Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
1100
						end
1101
						coroutine.resume(coroutine.create(function()
1102
							while true do
1103
								Swait()
1104
								body[part].Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
1105
								body[part].Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
1106
							end
1107
						end))
1108
						body[part].Anchored = false
1109
						body[part].Velocity = direction.lookVector*maxstrength
1110
					end))
1111
				end
1112
			end
1113
		end
1114
		if v.ClassName == "Part" then
1115
			if v.Anchored == false and (v.Position - position).Magnitude < range then
1116
				local POS = position
1117
				coroutine.resume(coroutine.create(function()
1118
					v.Anchored = true
1119
					v.Parent = Effects
1120
					local SIZE = v.Size
1121
					v.Material = "Neon"
1122
					CreateSound("952306739", v, 2, MRANDOM(7, 12) / 10)
1123
					for i = 1, 75 do
1124
						Swait()
1125
						v.Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
1126
						v.Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
1127
					end
1128
					coroutine.resume(coroutine.create(function()
1129
						while true do
1130
							Swait()
1131
							v.Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
1132
							v.Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
1133
						end
1134
					end))
1135
					v.Anchored = false
1136
					v.Velocity = direction.lookVector*maxstrength
1137
				end))
1138
			end
1139
		end
1140
	end
1141
end
1142
1143
--//=================================\\
1144
--||	ATTACK FUNCTIONS AND STUFF
1145
--\\=================================//
1146
1147
function AttackTemplate()
1148
	ATTACK = true
1149
	Rooted = false
1150
	for i=0, 1, 0.1 / Animation_Speed do
1151
		Swait()
1152
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1153
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1154
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1155
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1156
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1157
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1158
	end
1159
	ATTACK = false
1160
	Rooted = false
1161
end
1162
1163
function UltraPunch()
1164
	ATTACK = true
1165
	Rooted = false
1166
	local SPEED = Speed
1167
	Speed = 8
1168
	CreateSound("214876666", RightArm, 7.5, 0.8)
1169
	for i=0, 0, 0.1 / Animation_Speed do
1170
		Swait()
1171
		turnto(Mouse.Hit.p)
1172
		MagicSphere(VT(1,1,1),15,RightArm.CFrame * CF(MRANDOM(-3,3),MRANDOM(-3,3),MRANDOM(-3,3)),"Maroon",VT(-1/15,-1/15,-1/15))
1173
		MagicSphere(VT(2,2,2),15,RightArm.CFrame * CF(MRANDOM(-3,3),MRANDOM(-3,3),MRANDOM(-3,3)),"Maroon",VT(-2/15,-2/15,-2/15))
1174
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-85)), 0.15 / Animation_Speed)
1175
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(85)), 0.2 / Animation_Speed)
1176
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90+(MRANDOM(-45,45)/10)), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
1177
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-85)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1178
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1179
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1180
	end
1181
	for i=0, 0, 0.1 / Animation_Speed do
1182
		Swait()
1183
		turnto(Mouse.Hit.p)
1184
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(65)), 1 / Animation_Speed)
1185
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 1 / Animation_Speed)
1186
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1187
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1188
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1189
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1190
	end
1191
	local PART = CreatePart(3, Effects, "Neon", 0, 0.8, "Maroon", "Punch", VT(50,50,50),false)
1192
	PART.CFrame = RootPart.CFrame * CF(0,0,-25)
1193
	PART.Shape = "Ball"
1194
	local bv = Instance.new("BodyVelocity") 
1195
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1196
	bv.velocity = RootPart.CFrame.lookVector*600
1197
	bv.Parent = PART
1198
	bv.Name = "PROJECTILEVELOCITY"
1199
	CreateWave(VT(1,5,1),55,RootPart.CFrame * CF(0,0,-6)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,-1,"Maroon",VT(2.5,0.2,2.5))
1200
	CreateWave(VT(1,5,1),55,RootPart.CFrame * CF(0,0,-6)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,1,"Maroon",VT(3,0.2,3))
1201
	CreateSwirl(VT(3,5,3),75,RootPart.CFrame * CF(0,0,-15)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,-1,"Maroon",VT(2,0.6,2))
1202
	CreateSwirl(VT(3,5,3),75,RootPart.CFrame * CF(0,0,-15)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,1,"Maroon",VT(2.2,0.6,2.2))
1203
	CreateSound("414517163", Effects, 3.5, MRANDOM(7, 12) / 10)
1204
	coroutine.resume(coroutine.create(function()
1205
		for i = 1, 11 do
1206
			Swait()
1207
			PART.Transparency = PART.Transparency + 0.2/10
1208
			PART.Size = PART.Size + VT(5,5,5)
1209
			killnearest(PART.Position,PART.Size.Y/2+15,100,RootPart.CFrame)
1210
		end
1211
		PART:Destroy()
1212
	end))
1213
	for i=0, 0, 0.1 / Animation_Speed do
1214
		Swait()
1215
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(15), RAD(0), RAD(95)), 2 / Animation_Speed)
1216
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 3 / Animation_Speed)
1217
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
1218
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-70), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 3 / Animation_Speed)
1219
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 3 / Animation_Speed)
1220
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 3 / Animation_Speed)
1221
	end
1222
	Speed = SPEED
1223
	ATTACK = false
1224
	Rooted = false
1225
end
1226
1227
function Punish()
1228
	Animation_Speed = 1
1229
	ATTACK = true
1230
	Rooted = false
1231
	local HASGRABBED = false
1232
	local WELD = nil
1233
	local TORS = nil
1234
	local hitting = FIST.Touched:connect(function(hit) 
1235
		if hit.Parent:FindFirstChild("Humanoid") then
1236
			if hit.Parent.Humanoid.Health ~= 0 then
1237
				UNANCHOR = false
1238
				TORS = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
1239
				TORS.Anchored = true
1240
				TORS.CFrame = RightArm.CFrame * CF(0,-1.15,0) * ANGLES(RAD(90), RAD(0), RAD(0))
1241
           		WELD = weldBetween(RightArm,TORS)
1242
				HASGRABBED = true
1243
				Rooted = true
1244
			end
1245
		end
1246
	end)
1247
	for i=0, 2, 0.1 / Animation_Speed do
1248
		Swait()
1249
		if HASGRABBED == true then
1250
			break
1251
		end
1252
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 2 / Animation_Speed)
1253
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 2 / Animation_Speed)
1254
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1255
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1256
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
1257
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
1258
	end
1259
	hitting:disconnect()
1260
	if HASGRABBED == true then
1261
		TORS.Anchored = false
1262
        RootPart.Anchored = true
1263
		for i=0, 1.6, 0.1 / Animation_Speed do
1264
			Swait()
1265
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.2) * ANGLES(RAD(65), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1266
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1267
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1268
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1269
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1270
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.3, -1) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1271
		end
1272
		CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Pearl",VT(0.5,0.3,0.5))
1273
		CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),true,2,"Pearl",VT(0.6,0.3,0.6))
1274
		local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, "Maroon", "Sound", VT(0,0,0))
1275
		SOUNDPART.CFrame = RootPart.CFrame
1276
		Debris:AddItem(SOUNDPART,5)
1277
		CreateSound("357202073", SOUNDPART, 0, 1)
1278
		for i = 1, 16 do
1279
			Slice(0.1,65,CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(-180,180)), RAD(90)),"Pearl", 1 + MRANDOM(1,30)/15)
1280
		end
1281
		for i=0, 1.6, 0.1 / Animation_Speed do
1282
			Swait()
1283
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 50000000) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1284
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1285
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1286
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1287
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1288
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1289
		end
1290
		for i=0, 0.4, 0.1 / Animation_Speed do
1291
			Swait()
1292
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), 3 / Animation_Speed)
1293
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 3 / Animation_Speed)
1294
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
1295
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 3 / Animation_Speed)
1296
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1297
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1298
		end
1299
		if HITFLOOR ~= nil then
1300
			CreateDebreeRing(HITFLOOR,CF(RootPart.Position)*CF(0,-3,0).p,15,VT(7,7,7),85)
1301
		end
1302
		CreateSound("414517163", Effects, 3.5, MRANDOM(7, 12) / 10)
1303
		WELD:remove()
1304
		for i = 1, 26 do
1305
			Swait()
1306
			killnearest(RootPart.Position,45,100,Torso.CFrame)
1307
			CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),true,5,"Pearl",VT(0.3,3,0.3))
1308
			CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Maroon",VT(1,0.4,1))
1309
			CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),true,5,"Maroon",VT(2.3,0.3,2.3))
1310
			Slice(0.1,65,CF(RootPart.Position) * ANGLES(RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180))),"Pearl", 1 + MRANDOM(1,30)/5)
1311
			Slice(0.1,65,CF(RightArm.CFrame*CF(0,-1,0).p) * ANGLES(RAD(MRANDOM(-20,20)), RAD(MRANDOM(-180,180)), RAD(MRANDOM(-20,20))),"Maroon", 1 + MRANDOM(1,30)/15)
1312
		end
1313
	end
1314
	UNANCHOR = true
1315
	ATTACK = false
1316
	Rooted = false
1317
	Animation_Speed = 8
1318
end
1319
1320
function Dash()
1321
	local ORIGIN = RootPart.Position
1322
	CreateWave2(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Pearl",VT(0.2,3,0.4))
1323
	CreateWave2(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Pearl",VT(0.2,3.1,0.6))
1324
	local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, "Maroon", "Sound", VT(0,0,0))
1325
	SOUNDPART.CFrame = RootPart.CFrame
1326
	Debris:AddItem(SOUNDPART,5)
1327
	CreateSound("357202032", SOUNDPART, 0, 1)
1328
	RootPart.CFrame = CF(Mouse.Hit.p+VT(0,3,0),VT(ORIGIN.X,Mouse.Hit.p.Y,ORIGIN.Z))
1329
	Swait()
1330
	CreateWave2(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Pearl",VT(0.2,3,0.4))
1331
	CreateWave2(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Pearl",VT(0.2,3.1,0.6))
1332
	local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, "Maroon", "Sound", VT(0,0,0))
1333
	SOUNDPART.CFrame = RootPart.CFrame
1334
	Debris:AddItem(SOUNDPART,5)
1335
	CreateSound("1295446488", SOUNDPART, 2.5, 1)
1336
		for i=0, 0.5, 0.1 / Animation_Speed do
1337
			Swait()
1338
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1339
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1340
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(190), RAD(-175)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1341
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1342
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1343
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1344
		end
1345
		ATTACK = false
1346
		Rooted = false
1347
	end
1348
function Begoner9000()
1349
	ATTACK = true
1350
	Rooted = true
1351
	CreateSound("255679384", RightArm, 8, 1)
1352
	for i=0, 0, 0.1 / Animation_Speed do
1353
		Swait()
1354
		turnto(Mouse.Hit.p)
1355
		CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),true,2,"Maroon",VT(0.2,0,0.2))
1356
		Slice(0.1,65,RightArm.CFrame*CF(0,-1,0) * ANGLES(RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180))),"Maroon", 1.1)
1357
		MagicSphere(VT(0.2,0.2,0.2),15,CF(RightArm.CFrame*CF(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5)).p,RightArm.Position),"New Yeller",VT(0.001,0.001,1),0)
1358
		MagicSphere(VT(0.2,0.2,0.2),15,CF(RightArm.CFrame*CF(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5)).p,RightArm.Position),"Maroon",VT(0.001,0.001,2),0)
1359
		MagicSphere(VT(1,1,1),15,RightArm.CFrame * CF(MRANDOM(-3,3),MRANDOM(-3,3),MRANDOM(-3,3)),"Maroon",VT(-1/15,-1/15,-1/15))
1360
		MagicSphere(VT(2,2,2),15,RightArm.CFrame * CF(MRANDOM(-3,3),MRANDOM(-3,3),MRANDOM(-3,3)),"Maroon",VT(-2/15,-2/15,-2/15))
1361
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-85)), 0.15 / Animation_Speed)
1362
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(85)), 0.2 / Animation_Speed)
1363
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90+(MRANDOM(-45,45)/10)), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
1364
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-85)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1365
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1366
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1367
	end
1368
	for i=0, 0, 0.1 / Animation_Speed do
1369
		Swait()
1370
		turnto(Mouse.Hit.p)
1371
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(65)), 1 / Animation_Speed)
1372
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 1 / Animation_Speed)
1373
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1374
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1375
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1376
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1377
	end
1378
	MagicSphere(VT(4,4,4),100,RootPart.CFrame * CF(0,0,-6),"Maroon",VT(-0.04,-0.04,-0.04))
1379
	MagicSphere(VT(3.5,3.5,3.5),100,RootPart.CFrame * CF(0,0,-6),"Really black",VT(-0.035,-0.035,-0.035))
1380
	coroutine.resume(coroutine.create(function()
1381
		Swait(0.01)
1382
		for i = 1, 2 do
1383
			MagicSphere(VT(150,150,150),75,RootPart.CFrame * CF(0,0,-72*i),"Maroon",VT(-150/(150-(15*i)),-150/(150-(15*i)),-150/(150-(15*i))))
1384
			CreateWave(VT(1,5,1),55,RootPart.CFrame * CF(0,0,-6*i)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,-1,"Maroon",VT(4.5*i,0.2,4.5*i))
1385
			CreateSwirl(VT(3,5,3),75,RootPart.CFrame * CF(0,0,-15*i)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,-1,"Maroon",VT(4*i,0.6,4*i))
1386
		end
1387
		killnearest(RootPart.CFrame * CF(0,0,-500).p,500,1000,RootPart.CFrame)
1388
		for i = 1, 3 do
1389
			CreateSound("414517163", Effects, 3.5, 0.8)
1390
			CreateSound("414517163", Effects, 3.5, 0.8)
1391
		end
1392
		coroutine.resume(coroutine.create(function()
1393
			for i = 1, 3 do
1394
				Swait()
1395
				for i = 1, 1 do
1396
					Slice(0.1,65,CF(RootPart.Position) * ANGLES(RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180))),"Pearl", 1 + MRANDOM(1,30)/5)
1397
				end
1398
				for i = 1, 2 do
1399
					Slice(0.1,65,CF(RootPart.Position) * ANGLES(RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180))),"Maroon", 1 + MRANDOM(1,30)/3)
1400
				end
1401
			end
1402
		end))
1403
	end))
1404
	for i=0, 0, 0.1 / Animation_Speed do
1405
		Swait()
1406
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(15), RAD(0), RAD(95)), 2 / Animation_Speed)
1407
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 3 / Animation_Speed)
1408
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
1409
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-70), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 3 / Animation_Speed)
1410
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 3 / Animation_Speed)
1411
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 3 / Animation_Speed)
1412
	end
1413
	ATTACK = false
1414
	Rooted = false
1415
end
1416
1417
--//=================================\\
1418
--||	  ASSIGN THINGS TO KEYS
1419
--\\=================================//
1420
1421
function MouseDown(Mouse)
1422
	if ATTACK == false then
1423
	end
1424
end
1425
1426
function MouseUp(Mouse)
1427
HOLD = false
1428
end
1429
1430
function KeyDown(Key)
1431
	KEYHOLD = true
1432
	if Key == "e" and ATTACK == false then
1433
		UltraPunch()
1434
	end
1435
1436
	if Key == "f" and ATTACK == false then
1437
		Punish()
1438
	end
1439
1440
	if Key == "c" and ATTACK == false then
1441
		Dash()
1442
	end
1443
1444
	if Key == "q" and ATTACK == false then
1445
		Begoner9000()()
1446
	end
1447
1448
	if Key == "t" and ATTACK == false then
1449
		Begoner9000()
1450
wait(0.43)
1451
		Begoner9000()
1452
wait(0.43)
1453
		Begoner9000()
1454
wait(0.43)
1455
		Begoner9000()
1456
wait(0.43)
1457
		Begoner9000()
1458
wait(0.43)
1459
		Begoner9000()
1460
wait(0.43)
1461
		Begoner9000()
1462
wait(0.43)
1463
		Begoner9000()
1464
wait(0.43)
1465
		Begoner9000()
1466
wait(0.43)
1467
		Begoner9000()
1468
	end
1469
1470
	if Key == "g" and ATTACK == false then
1471
		Begoner9000()
1472
		UltraPunch()
1473
wait(0.0001)
1474
		Begoner9000()
1475
		UltraPunch()
1476
wait(0.0001)
1477
		Begoner9000()
1478
		UltraPunch()
1479
wait(0.0001)
1480
		Begoner9000()
1481
		UltraPunch()
1482
wait(0.0001)
1483
		Begoner9000()
1484
		UltraPunch()
1485
wait(0.0001)
1486
		Begoner9000()
1487
		UltraPunch()
1488
wait(0.0001)
1489
		Begoner9000()
1490
		UltraPunch()
1491
wait(0.0001)
1492
		Begoner9000()
1493
		UltraPunch()
1494
wait(0.0001)
1495
		Begoner9000()
1496
		UltraPunch()
1497
wait(0.0001)
1498
		Begoner9000()
1499
		UltraPunch()
1500
wait(0.0001)
1501
		Begoner9000()
1502
		UltraPunch()
1503
wait(0.0001)
1504
		Begoner9000()
1505
		UltraPunch()
1506
wait(0.0001)
1507
		Begoner9000()
1508
		UltraPunch()
1509
wait(0.0001)
1510
		Begoner9000()
1511
		UltraPunch()
1512
wait(0.0001)
1513
		Begoner9000()
1514
		UltraPunch()
1515
wait(0.0001)
1516
		Begoner9000()
1517
		UltraPunch()
1518
wait(0.0001)
1519
		Begoner9000()
1520
		UltraPunch()
1521
wait(0.0001)
1522
		Begoner9000()
1523
		UltraPunch()
1524
wait(0.0001)
1525
		Begoner9000()
1526
		UltraPunch()
1527
wait(0.0001)
1528
		Begoner9000()
1529
		UltraPunch()
1530
wait(0.0001)
1531
		Begoner9000()
1532
		UltraPunch()
1533
wait(0.0001)
1534
		Begoner9000()
1535
		UltraPunch()
1536
wait(0.0001)
1537
		Begoner9000()
1538
		UltraPunch()
1539
wait(0.0001)
1540
		Begoner9000()
1541
		UltraPunch()
1542
wait(0.0001)
1543
		Begoner9000()
1544
		UltraPunch()
1545
wait(0.0001)
1546
		Begoner9000()
1547
		UltraPunch()
1548
wait(0.0001)
1549
		Begoner9000()
1550
		UltraPunch()
1551
wait(0.0001)
1552
		Begoner9000()
1553
		UltraPunch()
1554
wait(0.0001)
1555
		Begoner9000()
1556
		UltraPunch()
1557
wait(0.0001)
1558
		Begoner9000()
1559
		UltraPunch()
1560
wait(0.0001)
1561
		Begoner9000()
1562
		UltraPunch()
1563
wait(0.0001)
1564
		Begoner9000()
1565
		UltraPunch()
1566
wait(0.0001)
1567
		Begoner9000()
1568
		UltraPunch()
1569
wait(0.0001)
1570
		Begoner9000()
1571
		UltraPunch()
1572
wait(0.0001)
1573
		Begoner9000()
1574
		UltraPunch()
1575
wait(0.0001)
1576
		Begoner9000()
1577
		UltraPunch()
1578
wait(0.0001)
1579
		Begoner9000()
1580
		UltraPunch()
1581
wait(0.0001)
1582
		Begoner9000()
1583
		UltraPunch()
1584
wait(0.0001)
1585
		Begoner9000()
1586
		UltraPunch()
1587
wait(0.0001)
1588
		Begoner9000()
1589
		UltraPunch()
1590
wait(0.0001)
1591
		Begoner9000()
1592
		UltraPunch()
1593
wait(0.0001)
1594
		Begoner9000()
1595
		UltraPunch()
1596
wait(0.0001)
1597
		Begoner9000()
1598
		UltraPunch()
1599
wait(0.0001)
1600
		Begoner9000()
1601
		UltraPunch()
1602
wait(0.0001)
1603
		Begoner9000()
1604
		UltraPunch()
1605
wait(0.0001)
1606
		Begoner9000()
1607
		UltraPunch()
1608
wait(0.0001)
1609
		Begoner9000()
1610
		UltraPunch()
1611
wait(0.0001)
1612
		Begoner9000()
1613
		UltraPunch()
1614
wait(0.0001)
1615
		Begoner9000()
1616
		UltraPunch()
1617
wait(0.0001)
1618
		Begoner9000()
1619
		UltraPunch()
1620
wait(0.0001)
1621
		Begoner9000()
1622
		UltraPunch()
1623
wait(0.0001)
1624
		Begoner9000()
1625
		UltraPunch()
1626
wait(0.0001)
1627
		Begoner9000()
1628
		UltraPunch()
1629
wait(0.0001)
1630
		Begoner9000()
1631
		UltraPunch()
1632
wait(0.0001)
1633
		Begoner9000()
1634
		UltraPunch()
1635
wait(0.0001)
1636
		Begoner9000()
1637
		UltraPunch()
1638
wait(0.0001)
1639
		Begoner9000()
1640
		UltraPunch()
1641
wait(0.0001)
1642
		Begoner9000()
1643
		UltraPunch()
1644
wait(0.0001)
1645
		Begoner9000()
1646
		UltraPunch()
1647
wait(0.0001)
1648
		Begoner9000()
1649
		UltraPunch()
1650
wait(0.0001)
1651
		Begoner9000()
1652
		UltraPunch()
1653
wait(0.0001)
1654
		Begoner9000()
1655
		UltraPunch()
1656
wait(0.0001)
1657
		Begoner9000()
1658
		UltraPunch()
1659
wait(0.0001)
1660
		Begoner9000()
1661
		UltraPunch()
1662
wait(0.0001)
1663
		Begoner9000()
1664
		UltraPunch()
1665
wait(0.0001)
1666
		Begoner9000()
1667
		UltraPunch()
1668
wait(0.0001)
1669
		Begoner9000()
1670
		UltraPunch()
1671
wait(0.0001)
1672
		Begoner9000()
1673
		UltraPunch()
1674
wait(0.0001)
1675
		Begoner9000()
1676
		UltraPunch()
1677
wait(0.0001)
1678
		Begoner9000()
1679
		UltraPunch()
1680
wait(0.0001)
1681
		Begoner9000()
1682
		UltraPunch()
1683
wait(0.0001)
1684
		Begoner9000()
1685
		UltraPunch()
1686
wait(0.0001)
1687
		Begoner9000()
1688
		UltraPunch()
1689
wait(0.0001)
1690
		Begoner9000()
1691
		UltraPunch()
1692
wait(0.0001)
1693
		Begoner9000()
1694
		UltraPunch()
1695
wait(0.0001)
1696
		Begoner9000()
1697
		UltraPunch()
1698
wait(0.0001)
1699
		Begoner9000()
1700
		UltraPunch()
1701
wait(0.0001)
1702
		Begoner9000()
1703
		UltraPunch()
1704
wait(0.0001)
1705
		Begoner9000()
1706
		UltraPunch()
1707
wait(0.0001)
1708
		Begoner9000()
1709
		UltraPunch()
1710
wait(0.0001)
1711
		Begoner9000()
1712
		UltraPunch()
1713
wait(0.0001)
1714
		Begoner9000()
1715
		UltraPunch()
1716
wait(0.0001)
1717
		Begoner9000()
1718
		UltraPunch()
1719
wait(0.0001)
1720
		Begoner9000()
1721
		UltraPunch()
1722
wait(0.0001)
1723
		Begoner9000()
1724
		UltraPunch()
1725
wait(0.0001)
1726
		Begoner9000()
1727
		UltraPunch()
1728
wait(0.0001)
1729
		Begoner9000()
1730
		UltraPunch()
1731
wait(0.0001)
1732
		Begoner9000()
1733
		UltraPunch()
1734
wait(0.0001)
1735
		Begoner9000()
1736
		UltraPunch()
1737
wait(0.0001)
1738
		Begoner9000()
1739
		UltraPunch()
1740
wait(0.0001)
1741
		Begoner9000()
1742
		UltraPunch()
1743
wait(0.0001)
1744
		Begoner9000()
1745
		UltraPunch()
1746
wait(0.0001)
1747
		Begoner9000()
1748
		UltraPunch()
1749
wait(0.0001)
1750
		Begoner9000()
1751
		UltraPunch()
1752
wait(0.0001)
1753
		Begoner9000()
1754
		UltraPunch()
1755
wait(0.0001)
1756
		Begoner9000()
1757
		UltraPunch()
1758
wait(0.0001)
1759
		Begoner9000()
1760
		UltraPunch()
1761
wait(0.0001)
1762
		Begoner9000()
1763
		UltraPunch()
1764
wait(0.0001)
1765
		Begoner9000()
1766
		UltraPunch()
1767
wait(0.0001)
1768
		Begoner9000()
1769
		UltraPunch()
1770
	end
1771
1772
	if Key == "r" and ATTACK == false then
1773
		UltraPunch()
1774
wait(0.0002)
1775
		UltraPunch()
1776
wait(0.0002)
1777
		UltraPunch()
1778
wait(0.0002)
1779
		UltraPunch()
1780
wait(0.0002)
1781
		UltraPunch()
1782
wait(0.0002)
1783
		UltraPunch()
1784
wait(0.0002)
1785
		UltraPunch()
1786
wait(0.0002)
1787
		UltraPunch()
1788
wait(0.0002)
1789
		UltraPunch()
1790
wait(0.0002)
1791
		UltraPunch()
1792
wait(0.0002)
1793
		UltraPunch()
1794
wait(0.0002)
1795
		UltraPunch()
1796
wait(0.0002)
1797
		UltraPunch()
1798
wait(0.0002)
1799
		UltraPunch()
1800
wait(0.0002)
1801
		UltraPunch()
1802
wait(0.0002)
1803
		UltraPunch()
1804
wait(0.0002)
1805
		UltraPunch()
1806
wait(0.0002)
1807
		UltraPunch()
1808
wait(0.0002)
1809
		UltraPunch()
1810
wait(0.0002)
1811
		UltraPunch()
1812
wait(0.0002)
1813
		UltraPunch()
1814
wait(0.0002)
1815
		UltraPunch()
1816
	end
1817
1818
	if Key == "p" and ATTACK == false then
1819
		if Speed == 16 then
1820
			Speed = 150
1821
		elseif Speed == 150 then
1822
			Speed = 16
1823
		end
1824
	end
1825
end
1826
1827
function KeyUp(Key)
1828
	KEYHOLD = false
1829
end
1830
1831
	Mouse.Button1Down:connect(function(NEWKEY)
1832
		MouseDown(NEWKEY)
1833
	end)
1834
	Mouse.Button1Up:connect(function(NEWKEY)
1835
		MouseUp(NEWKEY)
1836
	end)
1837
	Mouse.KeyDown:connect(function(NEWKEY)
1838
		KeyDown(NEWKEY)
1839
	end)
1840
	Mouse.KeyUp:connect(function(NEWKEY)
1841
		KeyUp(NEWKEY)
1842
	end)
1843
1844
--//=================================\\
1845
--\\=================================//
1846
1847
1848
function unanchor()
1849
	if UNANCHOR == true then
1850
		g = Character:GetChildren()
1851
		for i = 1, #g do
1852
			if g[i].ClassName == "Part" then
1853
				g[i].Anchored = false
1854
			end
1855
		end
1856
	end
1857
end
1858
1859
1860
--//=================================\\
1861
--||	WRAP THE WHOLE SCRIPT UP
1862
--\\=================================//
1863
1864
Humanoid.Changed:connect(function(Jump)
1865
	if Jump == "Jump" and (Disable_Jump == true) then
1866
		Humanoid.Jump = false
1867
	end
1868
end)
1869
1870
while true do
1871
	Swait()
1872
	ANIMATE.Parent = nil
1873
	local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1874
	IDLEANIMATION:Play()
1875
	SINE = SINE + CHANGE
1876
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1877
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1878
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1879
	HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1880
	local WALKSPEEDVALUE = 0
1881
	if Speed < 35 then
1882
		WALKSPEEDVALUE = 48
1883
	else
1884
		WALKSPEEDVALUE = 48
1885
	end
1886
	if ANIM == "Walk" and TORSOVELOCITY > 1 and Rooted == false then
1887
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (1) / Animation_Speed)
1888
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1889
		if Speed < 35 then
1890
			RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(56 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (WALKSPEEDVALUE) / Animation_Speed)
1891
			LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(56 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (WALKSPEEDVALUE) / Animation_Speed)
1892
		else
1893
			RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(80 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (WALKSPEEDVALUE) / Animation_Speed)
1894
			LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(80 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (WALKSPEEDVALUE) / Animation_Speed)
1895
		end
1896
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) or Rooted == true then
1897
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1898
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1899
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1900
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1901
	end
1902
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1903
		ANIM = "Jump"
1904
		if ATTACK == false then
1905
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1906
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1907
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1908
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1909
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1910
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1911
	    end
1912
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1913
		ANIM = "Fall"
1914
		if ATTACK == false then
1915
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1916
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1917
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1918
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1919
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1920
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1921
		end
1922
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1923
		ANIM = "Idle"
1924
		if ATTACK == false then
1925
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1926
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1927
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1928
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1929
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1930
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1931
		end
1932
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil and Rooted == false then
1933
		ANIM = "Walk"
1934
		WALK = WALK + 1 / Animation_Speed
1935
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1936
			WALK = 0
1937
			if WALKINGANIM == true then
1938
				WALKINGANIM = false
1939
			elseif WALKINGANIM == false then
1940
				WALKINGANIM = true
1941
			end
1942
		end
1943
		--RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1944
		--LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1945
		if ATTACK == false then
1946
			if Speed < 35 then
1947
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1948
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1949
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1950
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1951
				RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1952
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1953
			else
1954
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1955
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1956
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-30 * COS(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1957
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-80 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-30 * COS(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1958
				RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1959
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1960
			end
1961
		end
1962
	end
1963
	unanchor()
1964
	Humanoid.MaxHealth = "inf"
1965
	Humanoid.Health = "inf"
1966
	if Rooted == false then
1967
		Disable_Jump = false
1968
		Humanoid.WalkSpeed = Speed
1969
	elseif Rooted == true then
1970
		Disable_Jump = true
1971
		Humanoid.WalkSpeed = 0
1972
	end
1973
	local MATHS = {"0","1"}
1974
	Humanoid.Name = MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]
1975
	Humanoid.PlatformStand = false
1976
end
1977
1978
1979
--//====================================================\\--
1980
--||			  		 END OF SCRIPT
1981
--\\====================================================//--