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