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