View difference between Paste ID: Bj2sxANW and Uz4eqynB
SHOW: | | - or go back to the newest paste.
1
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,game,owner = owner,game
6
local RealPlayer = Player
7
do
8
	print("FE Compatibility code by Mokiros")
9
	local rp = RealPlayer
10
	script.Parent = rp.Character
11
	
12
	--RemoteEvent for communicating
13
	local Event = Instance.new("RemoteEvent")
14
	Event.Name = "UserInput_Event"
15
16
	--Fake event to make stuff like Mouse.KeyDown work
17
	local function fakeEvent()
18
		local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
19
		t.connect = t.Connect
20
		return t
21
	end
22
23
	--Creating fake input objects with fake variables
24
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
25
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
26
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
27
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
28
	end}
29
	--Merged 2 functions into one by checking amount of arguments
30
	CAS.UnbindAction = CAS.BindAction
31
32
	--This function will trigger the events that have been :Connect()'ed
33
	local function te(self,ev,...)
34
		local t = m[ev]
35
		if t and t._fakeEvent then
36
			for _,f in pairs(t.Functions) do
37
				f(...)
38
			end
39
		end
40
	end
41
	m.TrigEvent = te
42
	UIS.TrigEvent = te
43
44
	Event.OnServerEvent:Connect(function(plr,io)
45
	    if plr~=rp then return end
46
		m.Target = io.Target
47
		m.Hit = io.Hit
48
		if not io.isMouse then
49
			local b = io.UserInputState == Enum.UserInputState.Begin
50
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
51
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
52
			end
53
			for _,t in pairs(CAS.Actions) do
54
				for _,k in pairs(t.Keys) do
55
					if k==io.KeyCode then
56
						t.Function(t.Name,io.UserInputState,io)
57
					end
58
				end
59
			end
60
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
61
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
62
	    end
63
	end)
64
	Event.Parent = NLS([==[
65
	local Player = game:GetService("Players").LocalPlayer
66
	local Event = script:WaitForChild("UserInput_Event")
67
68
	local Mouse = Player:GetMouse()
69
	local UIS = game:GetService("UserInputService")
70
	local input = function(io,a)
71
		if a then return end
72
		--Since InputObject is a client-side instance, we create and pass table instead
73
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
74
	end
75
	UIS.InputBegan:Connect(input)
76
	UIS.InputEnded:Connect(input)
77
78
	local h,t
79
	--Give the server mouse data 30 times every second, but only if the values changed
80
	--If player is not moving their mouse, client won't fire events
81
	while wait(1/30) do
82
		if h~=Mouse.Hit or t~=Mouse.Target then
83
			h,t=Mouse.Hit,Mouse.Target
84
			Event:FireServer({isMouse=true,Target=t,Hit=h})
85
		end
86
	end]==],Player.Character)
87
88
	----Sandboxed game object that allows the usage of client-side methods and services
89
	--Real game object
90
	local _rg = game
91
92
	--Metatable for fake service
93
	local fsmt = {
94
		__index = function(self,k)
95
			local s = rawget(self,"_RealService")
96
			if s then return s[k] end
97
		end,
98
		__newindex = function(self,k,v)
99
			local s = rawget(self,"_RealService")
100
			if s then s[k]=v end
101
		end,
102
		__call = function(self,...)
103
			local s = rawget(self,"_RealService")
104
			if s then return s(...) end
105
		end
106
	}
107
	local function FakeService(t,RealService)
108
		t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
109
		return setmetatable(t,fsmt)
110
	end
111
112
	--Fake game object
113
	local g = {
114
		GetService = function(self,s)
115
			return self[s]
116
		end,
117
		Players = FakeService({
118
			LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
119
		},"Players"),
120
		UserInputService = FakeService(UIS,"UserInputService"),
121
		ContextActionService = FakeService(CAS,"ContextActionService"),
122
	}
123
	rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
124
	g.service = g.GetService
125
	
126
	g.RunService = FakeService({
127
		RenderStepped = _rg:GetService("RunService").Heartbeat,
128
		BindToRenderStep = function(self,name,_,fun)
129
			self._btrs[name] = self.Heartbeat:Connect(fun)
130
		end,
131
		UnbindFromRenderStep = function(self,name)
132
			self._btrs[name]:Disconnect()
133
		end,
134
	},"RunService")
135
136
	setmetatable(g,{
137
		__index=function(self,s)
138
			return _rg:GetService(s) or typeof(_rg[s])=="function"
139
			and function(_,...)return _rg[s](_rg,...)end or _rg[s]
140
		end,
141
		__newindex = fsmt.__newindex,
142
		__call = fsmt.__call
143
	})
144
	--Changing owner to fake player object to support owner:GetMouse()
145
	game,owner = g,g.Players.LocalPlayer
146
end
147
148
--Converted with ttyyuu12345's model to script plugin v4
149
function sandbox(var,func)
150
	local env = getfenv(func)
151
	local newenv = setmetatable({},{
152
		__index = function(self,k)
153
			if k=="script" then
154
				return var
155
			else
156
				return env[k]
157
			end
158
		end,
159
	})
160
	setfenv(func,newenv)
161
	return func
162
end
163
164
--//====================================================\\--
165
--||			   CREATED BY SHACKLUSTER
166
--\\====================================================//--
167
168
wait(0.2)
169
170
Player = game:GetService("Players").LocalPlayer
171
PlayerGui = Player.PlayerGui
172
Cam = workspace.CurrentCamera
173
Backpack = Player.Backpack
174
Character = Player.Character
175
Humanoid = Character.Humanoid
176
Mouse = Player:GetMouse()
177
RootPart = Character["HumanoidRootPart"]
178
Torso = Character["Torso"]
179
Head = Character["Head"]
180
RightArm = Character["Right Arm"]
181
LeftArm = Character["Left Arm"]
182
RightLeg = Character["Right Leg"]
183
LeftLeg = Character["Left Leg"]
184
RootJoint = RootPart["RootJoint"]
185
Neck = Torso["Neck"]
186
RightShoulder = Torso["Right Shoulder"]
187
LeftShoulder = Torso["Left Shoulder"]
188
RightHip = Torso["Right Hip"]
189
LeftHip = Torso["Left Hip"]
190
local sick = Instance.new("Sound",Torso)
191
sick.SoundId = "rbxassetid://1472377455"
192
sick.Looped = true
193
sick.Pitch = 1
194
sick.Volume = 1
195
sick:Play()
196
197
IT = Instance.new
198
CF = CFrame.new
199
VT = Vector3.new
200
RAD = math.rad
201
C3 = Color3.new
202
UD2 = UDim2.new
203
BRICKC = BrickColor.new
204
ANGLES = CFrame.Angles
205
EULER = CFrame.fromEulerAnglesXYZ
206
COS = math.cos
207
ACOS = math.acos
208
SIN = math.sin
209
ASIN = math.asin
210
ABS = math.abs
211
MRANDOM = math.random
212
FLOOR = math.floor
213
214
--//=================================\\
215
--|| 	      USEFUL VALUES
216
--\\=================================//
217
218
Animation_Speed = 3
219
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
220
local Speed = 12
221
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
222
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
223
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
224
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
225
local DAMAGEMULTIPLIER = 1
226
local ANIM = "Idle"
227
local ATTACK = false
228
local EQUIPPED = false
229
local HOLD = false
230
local COMBO = 1
231
local Rooted = false
232
local SINE = 0
233
local KEYHOLD = false
234
local CHANGE = 2 / Animation_Speed
235
local WALKINGANIM = false
236
local VALUE1 = false
237
local VALUE2 = false
238
local ROBLOXIDLEANIMATION = IT("Animation")
239
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
240
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
241
--ROBLOXIDLEANIMATION.Parent = Humanoid
242
local WEAPONGUI = IT("ScreenGui", PlayerGui)
243
WEAPONGUI.Name = "Weapon GUI"
244
local Effects = IT("Folder", Character)
245
Effects.Name = "Effects"
246
local ANIMATOR = Humanoid.Animator
247
local ANIMATE = Character.Animate
248
local UNANCHOR = true
249
local WHITELIST = {}
250
local TAUNT = false
251
local OFFSET = 0
252
local FULL = false
253
254
--//=================================\\
255
--\\=================================//
256
257
258
--//=================================\\
259
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
260
--\\=================================//
261
262
ArtificialHB = Instance.new("BindableEvent", script)
263
ArtificialHB.Name = "ArtificialHB"
264
265
script:WaitForChild("ArtificialHB")
266
267
frame = Frame_Speed
268
tf = 0
269
allowframeloss = false
270
tossremainder = false
271
lastframe = tick()
272
script.ArtificialHB:Fire()
273
274
game:GetService("RunService").Heartbeat:connect(function(s, p)
275
	tf = tf + s
276
	if tf >= frame then
277
		if allowframeloss then
278
			script.ArtificialHB:Fire()
279
			lastframe = tick()
280
		else
281
			for i = 1, math.floor(tf / frame) do
282
				script.ArtificialHB:Fire()
283
			end
284
		lastframe = tick()
285
		end
286
		if tossremainder then
287
			tf = 0
288
		else
289
			tf = tf - frame * math.floor(tf / frame)
290
		end
291
	end
292
end)
293
294
--//=================================\\
295
--\\=================================//
296
297
--//=================================\\
298
--|| 	      SOME FUNCTIONS
299
--\\=================================//
300
301
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
302
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
303
end
304
305
function PositiveAngle(NUMBER)
306
	if NUMBER >= 0 then
307
		NUMBER = 0
308
	end
309
	return NUMBER
310
end
311
312
function NegativeAngle(NUMBER)
313
	if NUMBER <= 0 then
314
		NUMBER = 0
315
	end
316
	return NUMBER
317
end
318
319
function Swait(NUMBER)
320
	if NUMBER == 0 or NUMBER == nil then
321
		ArtificialHB.Event:wait()
322
	else
323
		for i = 1, NUMBER do
324
			ArtificialHB.Event:wait()
325
		end
326
	end
327
end
328
329
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
330
	local NEWMESH = IT(MESH)
331
	if MESH == "SpecialMesh" then
332
		NEWMESH.MeshType = MESHTYPE
333
		if MESHID ~= "nil" and MESHID ~= "" then
334
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
335
		end
336
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
337
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
338
		end
339
	end
340
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
341
	NEWMESH.Scale = SCALE
342
	NEWMESH.Parent = PARENT
343
	return NEWMESH
344
end
345
346
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
347
	local NEWPART = IT("Part")
348
	NEWPART.formFactor = FORMFACTOR
349
	NEWPART.Reflectance = REFLECTANCE
350
	NEWPART.Transparency = TRANSPARENCY
351
	NEWPART.CanCollide = false
352
	NEWPART.Locked = true
353
	NEWPART.Anchored = true
354
	if ANCHOR == false then
355
		NEWPART.Anchored = false
356
	end
357
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
358
	NEWPART.Name = NAME
359
	NEWPART.Size = SIZE
360
	NEWPART.Position = Torso.Position
361
	NEWPART.Material = MATERIAL
362
	NEWPART:BreakJoints()
363
	NEWPART.Parent = PARENT
364
	return NEWPART
365
end
366
367
	local function weldBetween(a, b)
368
	    local weldd = Instance.new("ManualWeld")
369
	    weldd.Part0 = a
370
	    weldd.Part1 = b
371
	    weldd.C0 = CFrame.new()
372
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
373
	    weldd.Parent = a
374
	    return weldd
375
	end
376
377
378
function QuaternionFromCFrame(cf)
379
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
380
	local trace = m00 + m11 + m22
381
	if trace > 0 then 
382
		local s = math.sqrt(1 + trace)
383
		local recip = 0.5 / s
384
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
385
	else
386
		local i = 0
387
		if m11 > m00 then
388
			i = 1
389
		end
390
		if m22 > (i == 0 and m00 or m11) then
391
			i = 2
392
		end
393
		if i == 0 then
394
			local s = math.sqrt(m00 - m11 - m22 + 1)
395
			local recip = 0.5 / s
396
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
397
		elseif i == 1 then
398
			local s = math.sqrt(m11 - m22 - m00 + 1)
399
			local recip = 0.5 / s
400
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
401
		elseif i == 2 then
402
			local s = math.sqrt(m22 - m00 - m11 + 1)
403
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
404
		end
405
	end
406
end
407
 
408
function QuaternionToCFrame(px, py, pz, x, y, z, w)
409
	local xs, ys, zs = x + x, y + y, z + z
410
	local wx, wy, wz = w * xs, w * ys, w * zs
411
	local xx = x * xs
412
	local xy = x * ys
413
	local xz = x * zs
414
	local yy = y * ys
415
	local yz = y * zs
416
	local zz = z * zs
417
	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))
418
end
419
 
420
function QuaternionSlerp(a, b, t)
421
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
422
	local startInterp, finishInterp;
423
	if cosTheta >= 0.0001 then
424
		if (1 - cosTheta) > 0.0001 then
425
			local theta = ACOS(cosTheta)
426
			local invSinTheta = 1 / SIN(theta)
427
			startInterp = SIN((1 - t) * theta) * invSinTheta
428
			finishInterp = SIN(t * theta) * invSinTheta
429
		else
430
			startInterp = 1 - t
431
			finishInterp = t
432
		end
433
	else
434
		if (1 + cosTheta) > 0.0001 then
435
			local theta = ACOS(-cosTheta)
436
			local invSinTheta = 1 / SIN(theta)
437
			startInterp = SIN((t - 1) * theta) * invSinTheta
438
			finishInterp = SIN(t * theta) * invSinTheta
439
		else
440
			startInterp = t - 1
441
			finishInterp = t
442
		end
443
	end
444
	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
445
end
446
447
function Clerp(a, b, t)
448
	local qa = {QuaternionFromCFrame(a)}
449
	local qb = {QuaternionFromCFrame(b)}
450
	local ax, ay, az = a.x, a.y, a.z
451
	local bx, by, bz = b.x, b.y, b.z
452
	local _t = 1 - t
453
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
454
end
455
456
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
457
	local frame = IT("Frame")
458
	frame.BackgroundTransparency = TRANSPARENCY
459
	frame.BorderSizePixel = BORDERSIZEPIXEL
460
	frame.Position = POSITION
461
	frame.Size = SIZE
462
	frame.BackgroundColor3 = COLOR
463
	frame.BorderColor3 = BORDERCOLOR
464
	frame.Name = NAME
465
	frame.Parent = PARENT
466
	return frame
467
end
468
469
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
470
	local label = IT("TextLabel")
471
	label.BackgroundTransparency = 1
472
	label.Size = UD2(1, 0, 1, 0)
473
	label.Position = UD2(0, 0, 0, 0)
474
	label.TextColor3 = TEXTCOLOR
475
	label.TextStrokeTransparency = STROKETRANSPARENCY
476
	label.TextTransparency = TRANSPARENCY
477
	label.FontSize = TEXTFONTSIZE
478
	label.Font = TEXTFONT
479
	label.BorderSizePixel = BORDERSIZEPIXEL
480
	label.TextScaled = false
481
	label.Text = TEXT
482
	label.Name = NAME
483
	label.Parent = PARENT
484
	return label
485
end
486
487
function NoOutlines(PART)
488
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
489
end
490
491
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
492
	local NEWWELD = IT(TYPE)
493
	NEWWELD.Part0 = PART0
494
	NEWWELD.Part1 = PART1
495
	NEWWELD.C0 = C0
496
	NEWWELD.C1 = C1
497
	NEWWELD.Parent = PARENT
498
	return NEWWELD
499
end
500
501
local S = IT("Sound")
502
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
503
	local NEWSOUND = nil
504
	coroutine.resume(coroutine.create(function()
505
		NEWSOUND = S:Clone()
506
		NEWSOUND.Parent = PARENT
507
		NEWSOUND.Volume = VOLUME
508
		NEWSOUND.Pitch = PITCH
509
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
510
		NEWSOUND:play()
511
		if DOESLOOP == true then
512
			NEWSOUND.Looped = true
513
		else
514
			repeat wait(1) until NEWSOUND.Playing == false
515
			NEWSOUND:remove()
516
		end
517
	end))
518
	return NEWSOUND
519
end
520
521
function CFrameFromTopBack(at, top, back)
522
	local right = top:Cross(back)
523
	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)
524
end
525
526
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
527
function WACKYEFFECT(Table)
528
	local TYPE = (Table.EffectType or "Sphere")
529
	local SIZE = (Table.Size or VT(1,1,1))
530
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
531
	local TRANSPARENCY = (Table.Transparency or 0)
532
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
533
	local CFRAME = (Table.CFrame or Torso.CFrame)
534
	local MOVEDIRECTION = (Table.MoveToPos or nil)
535
	local ROTATION1 = (Table.RotationX or 0)
536
	local ROTATION2 = (Table.RotationY or 0)
537
	local ROTATION3 = (Table.RotationZ or 0)
538
	local MATERIAL = (Table.Material or "Neon")
539
	local COLOR = (Table.Color or C3(1,1,1))
540
	local TIME = (Table.Time or 45)
541
	local SOUNDID = (Table.SoundID or nil)
542
	local SOUNDPITCH = (Table.SoundPitch or nil)
543
	local SOUNDVOLUME = (Table.SoundVolume or nil)
544
	coroutine.resume(coroutine.create(function()
545
		local PLAYSSOUND = false
546
		local SOUND = nil
547
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
548
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
549
			PLAYSSOUND = true
550
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
551
		end
552
		EFFECT.Color = COLOR
553
		local MSH = nil
554
		if TYPE == "Sphere" then
555
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
556
		elseif TYPE == "Block" then
557
			MSH = IT("BlockMesh",EFFECT)
558
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
559
		elseif TYPE == "Wave" then
560
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
561
		elseif TYPE == "Ring" then
562
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
563
		elseif TYPE == "Slash" then
564
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
565
		elseif TYPE == "Round Slash" then
566
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
567
		elseif TYPE == "Swirl" then
568
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
569
		elseif TYPE == "Skull" then
570
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
571
		elseif TYPE == "Crystal" then
572
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
573
		end
574
		if MSH ~= nil then
575
			local MOVESPEED = nil
576
			if MOVEDIRECTION ~= nil then
577
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
578
			end
579
			local GROWTH = SIZE - ENDSIZE
580
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
581
			if TYPE == "Block" then
582
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
583
			else
584
				EFFECT.CFrame = CFRAME
585
			end
586
			for LOOP = 1, TIME+1 do
587
				Swait()
588
				MSH.Scale = MSH.Scale - GROWTH/TIME
589
				if TYPE == "Wave" then
590
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
591
				end
592
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
593
				if TYPE == "Block" then
594
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
595
				else
596
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
597
				end
598
				if MOVEDIRECTION ~= nil then
599
					local ORI = EFFECT.Orientation
600
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
601
					EFFECT.Orientation = ORI
602
				end
603
			end
604
			if PLAYSSOUND == false then
605
				EFFECT:remove()
606
			else
607
				SOUND.Stopped:Connect(function()
608
					EFFECT:remove()
609
				end)
610
			end
611
		else
612
			if PLAYSSOUND == false then
613
				EFFECT:remove()
614
			else
615
				repeat Swait() until SOUND.Playing == false
616
				EFFECT:remove()
617
			end
618
		end
619
	end))
620
end
621
622
function MakeForm(PART,TYPE)
623
	if TYPE == "Cyl" then
624
		local MSH = IT("CylinderMesh",PART)
625
	elseif TYPE == "Ball" then
626
		local MSH = IT("SpecialMesh",PART)
627
		MSH.MeshType = "Sphere"
628
	elseif TYPE == "Wedge" then
629
		local MSH = IT("SpecialMesh",PART)
630
		MSH.MeshType = "Wedge"
631
	end
632
end
633
634
Debris = game:GetService("Debris")
635
636
function CastProperRay(StartPos, EndPos, Distance, Ignore)
637
	local DIRECTION = CF(StartPos,EndPos).lookVector
638
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
639
end
640
641
local EyeSizes={
642
	NumberSequenceKeypoint.new(0,1,0),
643
	NumberSequenceKeypoint.new(1,0,0)
644
}
645
local EyeTrans={
646
	NumberSequenceKeypoint.new(0,0.8,0),
647
	NumberSequenceKeypoint.new(1,1,0)
648
}
649
local PE=Instance.new("ParticleEmitter",nil)
650
PE.LightEmission=.8
651
PE.Color = ColorSequence.new(BRICKC("Really red").Color)
652
PE.Size=NumberSequence.new(EyeSizes)
653
PE.Transparency=NumberSequence.new(EyeTrans)
654
PE.Lifetime=NumberRange.new(0.35,1.5)
655
PE.Rotation=NumberRange.new(0,360)
656
PE.Rate=999
657
PE.VelocitySpread = 10000
658
PE.Acceleration = Vector3.new(0,0,0)
659
PE.Drag = 5
660
PE.Speed = NumberRange.new(0,0,0)
661
PE.Texture="http://www.roblox.com/asset/?id=1351966707"
662
PE.ZOffset = -0
663
PE.Name = "PE"
664
PE.Enabled = false
665
666
function particles(art)
667
	local PARTICLES = PE:Clone()
668
	PARTICLES.Parent = art
669
end
670
671
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
672
	if FLOOR ~= nil then
673
		coroutine.resume(coroutine.create(function()
674
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
675
			PART.CFrame = CF(POSITION)
676
			for i = 1, 45 do
677
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
678
				RingPiece.Material = FLOOR.Material
679
				RingPiece.Color = FLOOR.Color
680
				RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
681
				Debris:AddItem(RingPiece,SWAIT)
682
			end
683
			PART:remove()
684
		end))
685
	end
686
end
687
688
function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
689
	if FLOOR ~= nil then
690
		for i = 1, AMOUNT do
691
			local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
692
			DEBREE.Material = FLOOR.Material
693
			DEBREE.Color = FLOOR.Color
694
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
695
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
696
			coroutine.resume(coroutine.create(function()
697
				Swait(15)
698
				DEBREE.Parent = workspace
699
				DEBREE.CanCollide = true
700
				Debris:AddItem(DEBREE,SWAIT)
701
			end))
702
		end
703
	end
704
end
705
706
--//=================================\\
707
--||	     WEAPON CREATION
708
--\\=================================//
709
710
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Hood", VT(1,1,1),false)
711
PRT.Color = C3(0,0,0)
712
local HoodWeld = CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.2,0), CF(0, 0, 0))
713
CreateMesh("SpecialMesh", PRT, "FileMesh", "76062497", "", VT(1,1,1)*1.05, VT(0,0,0))
714
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Scarf", VT(1,1,1),false)
715
PRT.Color = C3(0,0,0)
716
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, PRT, CF(0.05,0.4,-0.1) * ANGLES(RAD(-3), RAD(0), RAD(0)), CF(0, 0, 0))
717
CreateMesh("SpecialMesh", PRT, "FileMesh", "99856331", "", VT(1.1,1,1.1), VT(0,0,0))
718
for i = 1, 16 do
719
	local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/16.2, "Dark stone grey", "FaceGradient", VT(1.01,0.65,1.01),false)
720
	FACE.Color = C3(0,0,0)
721
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
722
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.45-(i-1)/25,0), CF(0, 0, 0))
723
end
724
local EYE = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eyeball", VT(0.15,0.15,0.15),false)
725
MakeForm(EYE,"Ball")
726
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0.15,0.26,-0.55), CF(0, 0, 0))
727
local EYE2 = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eyeball", VT(0.15,0.15,0.15),false)
728
MakeForm(EYE2,"Ball")
729
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE2, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
730
local LASTPART = Head
731
for i = 1, 20 do
732
	local MATH = (1-(i/25))
733
	if LASTPART == Head then
734
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
735
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(15), RAD(-15)), CF(0, 0, 0))
736
		LASTPART = Horn
737
		Horn.Color = C3((i*3-3)/255,0,0)
738
	else
739
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
740
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(-0.3), RAD(0)), CF(0, 0, 0))
741
		LASTPART = Horn
742
		Horn.Color = C3((i*3-3)/255,0,0)
743
	end
744
end
745
local LASTPART = Head
746
for i = 1, 20 do
747
	local MATH = (1-(i/25))
748
	if LASTPART == Head then
749
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
750
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(-15), RAD(15)), CF(0, 0, 0))
751
		LASTPART = Horn
752
		Horn.Color = C3((i*3-3)/255,0,0)
753
	else
754
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
755
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(0.3), RAD(0)), CF(0, 0, 0))
756
		LASTPART = Horn
757
		Horn.Color = C3((i*3-3)/255,0,0)
758
	end
759
end
760
local Hair = CreatePart(3, Character, "Fabric", 0, 0, "Gold", "Hair", VT(1,1,1),false)
761
local HairWeld1 = CreateWeldOrSnapOrMotor("Weld", Hair, Head, Hair, CF(0,0.1,-0.25) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
762
CreateMesh("SpecialMesh", Hair, "FileMesh", "873651376", "", VT(0.025, 0.025, 0.02), VT(0,0,0))
763
local Hair = CreatePart(3, Character, "Fabric", 0, 0, "Gold", "Hair", VT(1,1,1),false)
764
local HairWeld2 = CreateWeldOrSnapOrMotor("Weld", Hair, Head, Hair, CF(0,0.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
765
CreateMesh("SpecialMesh", Hair, "FileMesh", "873651376", "", VT(0.03, 0.015, 0.01), VT(0,0,-0.1))
766
767
local BODY = {}
768
769
for _, c in pairs(Character:GetDescendants()) do
770
	if c:IsA("BasePart") and c.Name ~= "Handle" then
771
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
772
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
773
		end
774
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
775
	elseif c:IsA("JointInstance") then
776
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
777
	end
778
end
779
780
for e = 1, #BODY do
781
	if BODY[e] ~= nil then
782
		local STUFF = BODY[e]
783
		local PART = STUFF[1]
784
		local PARENT = STUFF[2]
785
		local MATERIAL = STUFF[3]
786
		local COLOR = STUFF[4]
787
		local TRANSPARENCY = STUFF[5]
788
		if PART.ClassName == "Part" and PART ~= RootPart then
789
			PART.Material = MATERIAL
790
			PART.Color = COLOR
791
			PART.Transparency = TRANSPARENCY
792
		end
793
		PART.AncestryChanged:Connect(function()
794
			PART.Parent = PARENT
795
		end)
796
	end
797
end
798
799
function refit()
800
	Character.Parent = workspace
801
	for e = 1, #BODY do
802
		if BODY[e] ~= nil then
803
			local STUFF = BODY[e]
804
			local PART = STUFF[1]
805
			local PARENT = STUFF[2]
806
			local MATERIAL = STUFF[3]
807
			local COLOR = STUFF[4]
808
			local TRANSPARENCY = STUFF[5]
809
			if PART.ClassName == "Part" and PART ~= RootPart then
810
				PART.Material = MATERIAL
811
				PART.Color = COLOR
812
				PART.Transparency = TRANSPARENCY
813
			end
814
			if PART.Parent ~= PARENT then
815
				Humanoid:remove()
816
				PART.Parent = PARENT
817
				Humanoid = IT("Humanoid",Character)
818
			end
819
		end
820
	end
821
end
822
823
local SKILLTEXTCOLOR = C3(0,0,0)
824
local SKILLFONT = "Antique"
825
local SKILLTEXTSIZE = 7
826
827
Humanoid.Died:connect(function()
828
	refit()
829
end)
830
831
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
832
local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
833
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
834
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.70, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
835
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
836
local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.05, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
837
838
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Whitelist", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 1")
839
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Clear whitelist", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 2")
840
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Smite", SKILLTEXTCOLOR, 8, SKILLFONT, 0, 2, 1, "Text 3")
841
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[X] Meteor Shower", SKILLTEXTCOLOR, 10, SKILLFONT, 0, 2, 1, "Text 4")
842
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[Q] Teleport", SKILLTEXTCOLOR, 10, SKILLFONT, 0, 2, 1, "Text 5")
843
local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[P] Equivalent Pain", SKILLTEXTCOLOR, 12, SKILLFONT, 0, 2, 1, "Text 6")
844
845
function Blink()
846
	coroutine.resume(coroutine.create(function()
847
		if EYE ~= nil then
848
			for i = 1, 5 do
849
				Swait()
850
				EYE.Mesh.Scale = EYE.Mesh.Scale - VT(0,0.2,0)
851
				EYE2.Mesh.Scale = EYE.Mesh.Scale
852
			end
853
			for i = 1, 7 do
854
				Swait()
855
				EYE.Mesh.Scale = EYE.Mesh.Scale + VT(0,0.2,0)
856
				EYE2.Mesh.Scale = EYE.Mesh.Scale
857
			end
858
			EYE.Mesh.Scale = VT(1,1,1)
859
			EYE2.Mesh.Scale = EYE.Mesh.Scale
860
		end
861
	end))
862
end
863
864
--//=================================\\
865
--||	     DAMAGE FUNCTIONS
866
--\\=================================//
867
868
function StatLabel(CFRAME, TEXT, COLOR)
869
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
870
	STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
871
	local BODYGYRO = IT("BodyGyro", STATPART)
872
	game:GetService("Debris"):AddItem(STATPART ,5)
873
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
874
	BILLBOARDGUI.Adornee = STATPART
875
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
876
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
877
	BILLBOARDGUI.AlwaysOnTop = false
878
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
879
	TEXTLABEL.BackgroundTransparency = 1
880
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
881
	TEXTLABEL.Text = TEXT
882
	TEXTLABEL.Font = SKILLFONT
883
	TEXTLABEL.FontSize="Size42"
884
	TEXTLABEL.TextColor3 = COLOR
885
	TEXTLABEL.TextStrokeTransparency = 0
886
	TEXTLABEL.TextScaled = true
887
	TEXTLABEL.TextWrapped = true
888
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
889
		for i = 1, 50 do
890
			Swait()
891
			STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
892
			TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
893
			TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
894
		end
895
		THEPART.Parent = nil
896
	end),STATPART, TEXTLABEL)
897
end
898
899
--//=================================\\
900
--||			DAMAGING
901
--\\=================================//
902
903
function KillChildren(v)
904
	v:BreakJoints()
905
	for _, c in pairs(v:GetChildren()) do
906
		if c:IsA("BasePart") then
907
			if c.Transparency < 1 then
908
				if c:FindFirstChildOfClass("Decal") then
909
					c:FindFirstChildOfClass("Decal"):remove()
910
				end
911
				particles(c)
912
				c.PE.Enabled = true
913
				c.Parent = Effects
914
				c.CanCollide = false
915
				c.Material = "Neon"
916
				c.Color = C3(1,0,0)
917
				c.Transparency = 1
918
				local grav = Instance.new("BodyPosition",c)
919
				grav.P = 20000
920
				grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
921
				grav.position = c.Position + VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5))
922
				grav.Name = "GravityForce"
923
				coroutine.resume(coroutine.create(function()
924
					for i = 1, 20 do
925
						Swait()
926
						c.Transparency = c.Transparency + 1/20
927
					end
928
					c.PE.Enabled = false
929
					Debris:AddItem(c,2)
930
				end))
931
			end
932
		end
933
	end
934
end
935
936
function ApplyAoE(POSITION,RANGE)
937
	local CHILDREN = workspace:GetDescendants()
938
	for index, CHILD in pairs(CHILDREN) do
939
		if CHILD.ClassName == "Model" and CHILD ~= Character then
940
			local LISTED = false
941
			for LIST = 1, #WHITELIST do
942
				if WHITELIST[LIST] ~= nil then
943
					if CHILD.Name == WHITELIST[LIST] then
944
						LISTED = true
945
					end
946
				end
947
			end
948
			if LISTED == false then
949
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
950
				if HUM then
951
					local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
952
					if TORSO then
953
						if (TORSO.Position - POSITION).Magnitude <= RANGE+TORSO.Size.Magnitude then
954
							KillChildren(CHILD)
955
						end
956
					end
957
				end
958
			end
959
		end
960
	end
961
end
962
963
--//=================================\\
964
--||	ATTACK FUNCTIONS AND STUFF
965
--\\=================================//
966
967
function Click()
968
	ATTACK = true
969
	Rooted = false
970
	local HIT = nil
971
	OFFSET = -45
972
	for i=0, 1, 0.1 / Animation_Speed do
973
		Swait()
974
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(45)), 0.15 / Animation_Speed)
975
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
976
	end
977
	OFFSET = 45
978
	local PUNCH = CreatePart(3, Effects, "Granite", 0, 1, "Really black", "Hit", VT(0.7,0.7,0.7),false)
979
	PUNCH.CanCollide = true
980
	CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PUNCH, CF(0,-1,0), CF(0, 0, 0))
981
	TAUNT = true
982
	local TOUCH = PUNCH.Touched:Connect(function(hit)
983
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
984
			HIT = hit.Parent
985
		end
986
	end)
987
	for i=0, 0.3, 0.1 / Animation_Speed do
988
		Swait()
989
		RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.3)
990
		if HIT ~= nil then
991
			break
992
		end
993
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
994
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
995
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-35), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
996
	end
997
	PUNCH:remove()
998
	TOUCH:disconnect()
999
	if HIT ~= nil then
1000
		for _, c in pairs(HIT:GetChildren()) do
1001
			if c:IsA("BasePart") then
1002
				c.Anchored = true
1003
			end
1004
		end
1005
		Rooted = true
1006
		CreateSound(649634100, Torso, 10, 0.8)
1007
		CreateSound(1368573150, RightArm, 3, 1.5)
1008
		for i=0, 0.6, 0.1 / Animation_Speed do
1009
			Swait()
1010
			WACKYEFFECT({EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1011
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(25), RAD(-45)), 0.05 / Animation_Speed)
1012
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1013
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-35), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1014
		end
1015
		for _, c in pairs(HIT:GetChildren()) do
1016
			if c:IsA("BasePart") then
1017
				c.Anchored = false
1018
			end
1019
		end
1020
		KillChildren(HIT)
1021
	end
1022
	OFFSET = 0
1023
	ATTACK = false
1024
	Rooted = false
1025
	TAUNT = false
1026
end
1027
1028
function Whitelist()
1029
	if Mouse.Target ~= nil then
1030
		if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
1031
			if game.Players:FindFirstChild(Mouse.Target.Parent.Name) then
1032
				table.insert(WHITELIST,Mouse.Target.Parent.Name)
1033
			end
1034
		end
1035
	end
1036
end
1037
1038
function Clear_Whitelist()
1039
	if Mouse.Target ~= nil then
1040
		if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
1041
			for LIST = 1, #WHITELIST do
1042
				if WHITELIST[LIST] ~= nil then
1043
					if Mouse.Target.Parent.Name == WHITELIST[LIST] then
1044
						table.remove(WHITELIST,LIST)
1045
						for _, c in pairs(Cam:GetChildren()) do
1046
							if c.Name == Mouse.Target.Parent.Name then
1047
								c:remove()
1048
							end
1049
						end
1050
					end
1051
				end
1052
			end
1053
		end
1054
	end
1055
end
1056
1057
function SpawnSmite(POS)
1058
	local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
1059
	local EMITPOS = HITPOS
1060
	if HITFLOOR ~= nil then
1061
		if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
1062
			HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
1063
			EMITPOS = HITPOS
1064
		elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1065
			HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
1066
			EMITPOS = HITPOS
1067
		end
1068
	end
1069
	if HITFLOOR ~= nil then
1070
		ApplyAoE(EMITPOS,10)
1071
		WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
1072
		WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1073
		WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1074
		for i = 1, 5 do
1075
			local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
1076
			WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
1077
		end
1078
	end
1079
end
1080
1081
function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
1082
	coroutine.resume(coroutine.create(function()
1083
		local METEOR = IT("Model",Effects)
1084
		METEOR.Name = "Meteorite"
1085
		local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
1086
		METEOR.PrimaryPart = CENTER
1087
		local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
1088
		PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1089
		for i = 1, 15 do
1090
			local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really red", "Fire", VT(5.1,1,5.1)*SIZE)
1091
			FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1092
		end
1093
		if ISDEBREE ~= true then
1094
			METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
1095
		else
1096
			METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
1097
		end
1098
		local IMPACT = false
1099
		CreateSound(463593339, CENTER, 10, 0.6)
1100
		if SIZE >= 3.5 then
1101
			for i = 1, MRANDOM(3,7) do
1102
				SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
1103
			end
1104
		end
1105
		for i = 1, 200 do
1106
			Swait()
1107
			local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
1108
			if HITFLOOR == nil then
1109
				local ORI = CENTER.Orientation
1110
				METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
1111
			else
1112
				if HITFLOOR.Anchored == true then
1113
					CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
1114
					CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
1115
				end
1116
				IMPACT = true
1117
				break
1118
			end
1119
		end
1120
		if IMPACT == true then
1121
			WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
1122
			WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
1123
			WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
1124
			ApplyAoE(CENTER.Position,30*SIZE)
1125
		end
1126
		METEOR:remove()
1127
	end))
1128
end
1129
1130
function Smite()
1131
	ATTACK = true
1132
	Rooted = false
1133
	CreateSound(1368573150, RightArm, 3, 1.5)
1134
	for i=0, 0.6, 0.1 / Animation_Speed do
1135
		Swait()
1136
		WACKYEFFECT({TIME = 15, EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1137
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1138
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
1139
	end
1140
	local POWER = 0
1141
	repeat 
1142
		Swait() 
1143
		WACKYEFFECT({EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1144
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1145
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
1146
		POWER = POWER + 0.5 
1147
		if POWER >= 85 then
1148
			POWER = 85
1149
		end
1150
	until KEYHOLD == false
1151
	if POWER < 0.6 then
1152
		SpawnSmite(Mouse.Hit.p)
1153
	else
1154
		if POWER < 15 then
1155
			POWER = 15
1156
		end
1157
		SpawnMeteor(Mouse.Hit.p,POWER/15)
1158
	end
1159
	ATTACK = false
1160
	Rooted = false
1161
end
1162
1163
function Meteor_Shower()
1164
	ATTACK = true
1165
	Rooted = false
1166
	CreateSound(1368573150, RightArm, 3, 0.8)
1167
	CreateSound(649634100, Torso, 10, 0.8)
1168
	for i=0, 1.2, 0.1 / Animation_Speed do
1169
		Swait()
1170
		WACKYEFFECT({TIME = 15, EffectType = "Block", Size = VT(3,3,3)/2, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1171
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1172
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
1173
	end
1174
	local POS = Mouse.Hit.p
1175
	CreateSound(463593339, Effects, 3, 1)
1176
	coroutine.resume(coroutine.create(function()
1177
		for i = 1, 35 do
1178
			wait(MRANDOM(5,150)/100)
1179
			SpawnMeteor(CF(POS) * ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0,MRANDOM(0,1500)/10).p,MRANDOM(10,25)/10)
1180
		end
1181
	end))
1182
	ATTACK = false
1183
	Rooted = false
1184
end
1185
1186
function Taunt()
1187
	ATTACK = true
1188
	Rooted = false
1189
	TAUNT = true
1190
	for i=0, 0.1, 0.1 / Animation_Speed do
1191
		Swait()
1192
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1193
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1194
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1195
	end
1196
	for i=0, 3, 0.1 / Animation_Speed do
1197
		Swait()
1198
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1199
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1200
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(15)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1201
	end
1202
	CreateSound(363808674, Torso, 10, 1.3)
1203
	for i=0, 1, 0.1 / Animation_Speed do
1204
		Swait()
1205
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(120)), 3 / Animation_Speed)
1206
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 3/ Animation_Speed)
1207
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(230), RAD(0), RAD(35)) * LEFTSHOULDERC0, 3 / Animation_Speed)
1208
	end
1209
	WACKYEFFECT({EffectType = "Block", Size = VT(6,6,6), Size2 = VT(15,15,15), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1210
	CreateSound(649634100, Torso, 10, 0.8)
1211
	for i=0, 0.01, 0.1 / Animation_Speed do
1212
		Swait()
1213
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 3 / Animation_Speed)
1214
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
1215
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 3 / Animation_Speed)
1216
	end
1217
	ATTACK = false
1218
	Rooted = false
1219
	TAUNT = false
1220
end
1221
1222
function Teleport()
1223
	ATTACK = true
1224
	Rooted = false
1225
	for i=0, 0.5, 0.1 / Animation_Speed do
1226
		Swait()
1227
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1228
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-25), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
1229
	end
1230
	for e = 1, #BODY do
1231
		if BODY[e] ~= nil then
1232
			local STUFF = BODY[e]
1233
			local PART = STUFF[1]
1234
			if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
1235
				local PRT = PART:Clone()
1236
				PRT.Anchored = true
1237
				PRT.CanCollide = false
1238
				PRT.Material = "Neon"
1239
				PRT.Color = C3(1,0,0)
1240
				PRT.Name = "WarpEffect"
1241
				PRT.Parent = Effects
1242
				PRT.CFrame = PART.CFrame
1243
				PRT:BreakJoints()
1244
				if PRT:FindFirstChildOfClass("Sound") then
1245
					PRT:FindFirstChildOfClass("Sound"):remove()
1246
				end
1247
				if PRT:FindFirstChildOfClass("Decal") then
1248
					PRT:FindFirstChildOfClass("Decal"):remove()
1249
				end
1250
				coroutine.resume(coroutine.create(function()
1251
					for i = 1, 100 do
1252
						Swait()
1253
						PRT.Transparency = PRT.Transparency + 1/100
1254
					end
1255
					PRT:remove()
1256
				end))
1257
			end
1258
		end
1259
	end
1260
	CreateSound(217767125, Torso, 10, 1)
1261
	local POS = RootPart.Orientation
1262
	RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
1263
	RootPart.Orientation = POS
1264
	RootJoint.Parent = RootPart
1265
	for i=0, 0.5, 0.1 / Animation_Speed do
1266
		Swait()
1267
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1268
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-15), RAD(12)) * ANGLES(RAD(175 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
1269
	end
1270
	for i=0, 0.1, 0.1 / Animation_Speed do
1271
		Swait()
1272
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
1273
	end
1274
	ATTACK = false
1275
	Rooted = false
1276
end
1277
1278
function Equivalent_Pain()
1279
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1280
		if HITFLOOR then
1281
		ATTACK = true
1282
		Rooted = true
1283
		FULL = true
1284
		local GYRO = IT("BodyGyro",RootPart)
1285
		GYRO.D = 25
1286
		GYRO.P = 20000
1287
		GYRO.MaxTorque = VT(0,math.huge,0)
1288
		for i=0, 0.3, 0.1 / Animation_Speed do
1289
			GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1290
			Swait()
1291
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(-15)), 1 / Animation_Speed)
1292
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1293
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1294
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-25), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1295
			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(-35)), 1 / Animation_Speed)
1296
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(5)), 1 / Animation_Speed)
1297
		end
1298
		GYRO:remove()
1299
		CreateSound(12222200, RightArm, 10, 1)
1300
		for i=0, 0.4, 0.1 / Animation_Speed do
1301
			Swait()
1302
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
1303
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1304
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1305
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1306
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
1307
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
1308
		end
1309
		CreateSound(289842971, RightArm, 10, 1)
1310
		coroutine.resume(coroutine.create(function()
1311
			local HIT,POS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(Mouse.Hit.p+VT(0,1,0), Mouse.Hit.p-VT(0,1,0))).lookVector, 45, Character)
1312
			local ECHO = POS
1313
			if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
1314
				HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
1315
				ECHO = POS
1316
			elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1317
				HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
1318
				ECHO = POS
1319
			end
1320
			if ECHO.Y == HITPOS.Y then
1321
				local DISTANCE = (HITPOS - ECHO).Magnitude/3
1322
				local CFRAME = CF(HITPOS,ECHO)
1323
				local RANGE = math.ceil(DISTANCE)
1324
				for i = 1, RANGE-1 do
1325
					Swait(3)
1326
					local A = CFRAME*CF(0,0,-i*3)
1327
					ApplyAoE(A.p,4)
1328
					CreateFlyingDebree(HITFLOOR,A,2,VT(2,2,2),2,65)
1329
				end
1330
				local SIZE = 3
1331
				local POS = CFRAME*CF(0,0,-RANGE*3).p
1332
				WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(55,0,55)*SIZE, Size2 = VT(55,15,55)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 0.8, SoundVolume = 10})
1333
				WACKYEFFECT({EffectType = "Sphere", Size = VT(10,250,10)*SIZE, Size2 = VT(20,1000,20)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
1334
				WACKYEFFECT({EffectType = "Sphere", Size = VT(30,150,30)*SIZE, Size2 = VT(50,300,50)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
1335
				for i = 1, 9 do
1336
					WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
1337
				end
1338
				for i = 1, 9 do
1339
					WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
1340
				end
1341
				ApplyAoE(POS,30*SIZE)
1342
				CreateDebreeRing(HITFLOOR,POS,30*SIZE,VT(8,8,8)*SIZE,5)
1343
				CreateDebreeRing(HITFLOOR,POS,50*SIZE,VT(2,2,2)*SIZE,5)
1344
			end
1345
		end))
1346
		for i=0, 0.6, 0.1 / Animation_Speed do
1347
			Swait()
1348
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
1349
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1350
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1351
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1352
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
1353
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
1354
		end
1355
		FULL = false
1356
		ATTACK = false
1357
		Rooted = false
1358
	end
1359
end
1360
1361
--//=================================\\
1362
--||	  ASSIGN THINGS TO KEYS
1363
--\\=================================//
1364
1365
function MouseDown(Mouse)
1366
	if ATTACK == false then
1367
		Click()
1368
	end
1369
end
1370
1371
function MouseUp(Mouse)
1372
HOLD = false
1373
end
1374
1375
function KeyDown(Key)
1376
	if Key ~= "w" and Key ~= "a" and Key ~= "s" and Key ~= "d" then
1377
		KEYHOLD = true
1378
		if Key == "z" and ATTACK == false then
1379
			Whitelist()
1380
		end
1381
	
1382
		if Key == "b" and ATTACK == false then
1383
			Clear_Whitelist()
1384
		end
1385
	
1386
		if Key == "c" and ATTACK == false then
1387
			Smite()
1388
		end
1389
	
1390
		if Key == "x" and ATTACK == false then
1391
			Meteor_Shower()
1392
		end
1393
	
1394
		if Key == "t" and ATTACK == false then
1395
			Taunt()
1396
		end
1397
1398
		if Key == "q" and ATTACK == false then
1399
			Teleport()
1400
		end
1401
1402
		if Key == "p" and ATTACK == false then
1403
			Equivalent_Pain()
1404
		end
1405
	end
1406
end
1407
1408
function KeyUp(Key)
1409
	if Key ~= "w" and Key ~= "a" and Key ~= "s" and Key ~= "d" then
1410
		KEYHOLD = false
1411
	end
1412
end
1413
1414
	Mouse.Button1Down:connect(function(NEWKEY)
1415
		MouseDown(NEWKEY)
1416
	end)
1417
	Mouse.Button1Up:connect(function(NEWKEY)
1418
		MouseUp(NEWKEY)
1419
	end)
1420
	Mouse.KeyDown:connect(function(NEWKEY)
1421
		KeyDown(NEWKEY)
1422
	end)
1423
	Mouse.KeyUp:connect(function(NEWKEY)
1424
		KeyUp(NEWKEY)
1425
	end)
1426
1427
--//=================================\\
1428
--\\=================================//
1429
1430
1431
function unanchor()
1432
	if UNANCHOR == true then
1433
		g = Character:GetChildren()
1434
		for i = 1, #g do
1435
			if g[i].ClassName == "Part" then
1436
				g[i].Anchored = false
1437
			end
1438
		end
1439
	end
1440
end
1441
1442
1443
--//=================================\\
1444
--||	WRAP THE WHOLE SCRIPT UP
1445
--\\=================================//
1446
1447
Humanoid.Changed:connect(function(Jump)
1448
	if Jump == "Jump" and (Disable_Jump == true) then
1449
		Humanoid.Jump = false
1450
	end
1451
end)
1452
1453
local BLINKLOOP = 0
1454
script.Parent = WEAPONGUI
1455
ANIMATE.Parent = nil
1456
1457
while true do
1458
	Swait()
1459
	if Humanoid then
1460
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1461
		IDLEANIMATION:Play()
1462
	end
1463
	SINE = SINE + CHANGE*2
1464
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1465
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1466
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1467
	local WALKSPEEDVALUE = 12 / (Humanoid.WalkSpeed / 16)
1468
	HairWeld1.C1 = Clerp(HairWeld1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0 + 1.5 * SIN(SINE / 12) - 2.5 * COS(SINE / 12)), RAD(4.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1469
	HairWeld2.C1 = Clerp(HairWeld2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0 - 1.5 * SIN(SINE / 12) + 2.5 * COS(SINE / 12)), RAD(-4.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1470
	HoodWeld.C1 = Clerp(HoodWeld.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0 + 0.75 * SIN(SINE / 12) - 1.75 * COS(SINE / 12)), RAD(2.75 * SIN(SINE / 12))), 1 / Animation_Speed)
1471
	if ANIM == "Walk" and TORSOVELOCITY > 1 and FULL == false then
1472
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1473
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * 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)
1474
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.1 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 1 / Animation_Speed)
1475
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.1 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 1 / Animation_Speed)
1476
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) or FULL == true then
1477
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1478
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1479
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1480
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1481
	end
1482
	if FULL == false then
1483
		if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1484
			ANIM = "Jump"
1485
			if ATTACK == false then
1486
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.4 / Animation_Speed)
1487
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(-15), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1488
			end
1489
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1490
			if TAUNT == false then
1491
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1492
			end
1493
			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)
1494
			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)
1495
		elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1496
			ANIM = "Fall"
1497
			if ATTACK == false then
1498
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1499
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1500
			end
1501
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(15), RAD(0), RAD(OFFSET)), 0.2 / Animation_Speed)
1502
			if TAUNT == false then
1503
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1504
			end
1505
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.25, -0.5) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.4 / Animation_Speed)
1506
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
1507
		elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1508
			ANIM = "Idle"
1509
			if ATTACK == false then
1510
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1511
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(-3.5 * COS(SINE / 12)), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1512
			end
1513
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(OFFSET)), 0.8 / Animation_Speed)
1514
			if TAUNT == false then
1515
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1516
			end
1517
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(2.5 * COS(SINE / 12))), 0.8 / Animation_Speed)
1518
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-8), RAD(5), RAD(15-2.5 * COS(SINE / 12))), 0.8 / Animation_Speed)
1519
		elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1520
			ANIM = "Walk"
1521
			if ATTACK == false then
1522
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10 - 2.5 * SIN(SINE / 12)), RAD(5), RAD(0)), 0.15 / Animation_Speed)
1523
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1524
			end
1525
			if TAUNT == false then
1526
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1527
			end
1528
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(OFFSET)), 0.8 / Animation_Speed)
1529
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1530
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1531
		end
1532
	end
1533
	unanchor()
1534
	Humanoid.MaxHealth = "inf"
1535
	Humanoid.Health = "inf"
1536
	if Rooted == false then
1537
		Disable_Jump = false
1538
		Humanoid.WalkSpeed = Speed
1539
	elseif Rooted == true then
1540
		Disable_Jump = true
1541
		Humanoid.WalkSpeed = 0
1542
	end
1543
	sick.Volume = 2
1544
	sick.Pitch = 1
1545
	sick.Playing = true
1546
	sick.Parent = Torso
1547
	Humanoid.Name = MRANDOM(100000000,999999999)
1548
	Humanoid.PlatformStand = false
1549
	for _, c in pairs(Cam:GetChildren()) do
1550
		if game.Players:FindFirstChild(c.Name) == nil and c.ClassName == "BillboardGui" then
1551
			c:remove()
1552
		end
1553
	end
1554
	for LIST = 1, #WHITELIST do
1555
		if WHITELIST[LIST] ~= nil then
1556
			local CHARACTER = workspace:FindFirstChild(WHITELIST[LIST])
1557
			if CHARACTER then
1558
				if Cam:FindFirstChild(WHITELIST[LIST]) == nil then
1559
					local TORSO = CHARACTER:FindFirstChild("Torso") or CHARACTER:FindFirstChild("UpperTorso")
1560
					if TORSO then
1561
						CreateSound(201858045, Cam, 3, 1)	
1562
						local GUI = Instance.new("BillboardGui",Cam)
1563
						GUI.Name = WHITELIST[LIST]
1564
						GUI.Size = UDim2.new(5,0,5,0)
1565
						GUI.Adornee = TORSO
1566
						local GUI2 = IT("ImageLabel",GUI)
1567
						GUI2.BackgroundTransparency = 1
1568
						GUI2.BorderSizePixel = 0
1569
						GUI2.ImageTransparency = 1
1570
						GUI2.Size = UDim2.new(1,0,1,0)
1571
						GUI2.SizeConstraint = "RelativeYY"
1572
						GUI.AlwaysOnTop = true
1573
						GUI2.Image = "http://www.roblox.com/asset/?id=142164463"
1574
					end
1575
				else
1576
					local GUI = Cam:FindFirstChild(WHITELIST[LIST])
1577
					if GUI.ImageLabel.ImageTransparency <= 1 then
1578
						GUI.ImageLabel.ImageTransparency = GUI.ImageLabel.ImageTransparency - 0.03
1579
					end
1580
					local TORSO = CHARACTER:FindFirstChild("Torso") or CHARACTER:FindFirstChild("UpperTorso")
1581
					if TORSO then
1582
						GUI.Adornee = TORSO
1583
					end
1584
				end
1585
			else
1586
				if Cam:FindFirstChild(WHITELIST[LIST]) then
1587
					Cam:FindFirstChild(WHITELIST[LIST]):remove()
1588
				end
1589
			end
1590
		else
1591
			if Cam:FindFirstChild(WHITELIST[LIST]) then
1592
				Cam:FindFirstChild(WHITELIST[LIST]):remove()
1593
			end
1594
			table.remove(WHITELIST,LIST)
1595
		end
1596
	end
1597
	if Character:FindFirstChildOfClass("Accessory") then
1598
		Character:FindFirstChildOfClass("Accessory"):remove()
1599
	elseif Character:FindFirstChildOfClass("Hat") then
1600
		Character:FindFirstChildOfClass("Hat"):remove()
1601
	end
1602
	if Head:FindFirstChild("face") then
1603
		Head.face.Texture = "rbxassetid://403870689"
1604
	end
1605
	BLINKLOOP = BLINKLOOP + 1
1606
	if BLINKLOOP >=650 then
1607
		BLINKLOOP = 0
1608
		Blink()
1609
	end
1610
	Humanoid.DisplayDistanceType = "None"
1611
	Humanoid.PlatformStand = false
1612
	refit()
1613
	for _, c in pairs(Torso:GetChildren()) do
1614
		if c:IsA("JointInstance") or c.ClassName == "Sound" then
1615
		else
1616
			c:remove()
1617
		end
1618
	end
1619
end
1620
1621
--//=================================\\
1622
--\\=================================//
1623
1624
1625
1626
1627
1628
--//====================================================\\--
1629
--||			  		 END OF SCRIPT
1630
--\\====================================================//--