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