View difference between Paste ID: vaRjPFj6 and vZFXnhpc
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||			   CREATED BY SHACKLUSTER
3
--\\====================================================//--
4
5
wait(0.2)
6
-- This script has been converted to FE by iPxter
7
8
9
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
10
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
11
do
12
	print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
13
	script.Parent = Player.Character
14
15
	--RemoteEvent for communicating
16
	local Event = Instance.new("RemoteEvent")
17
	Event.Name = "UserInput_Event"
18
19
	--Fake event to make stuff like Mouse.KeyDown work
20
	local function fakeEvent()
21
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
22
		t.connect = t.Connect
23
		return t
24
	end
25
26
	--Creating fake input objects with fake variables
27
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
28
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
29
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
30
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
31
	end}
32
	--Merged 2 functions into one by checking amount of arguments
33
	CAS.UnbindAction = CAS.BindAction
34
35
	--This function will trigger the events that have been :Connect()'ed
36
	local function te(self,ev,...)
37
		local t = m[ev]
38
		if t and t._fakeEvent and t.Function then
39
			t.Function(...)
40
		end
41
	end
42
	m.TrigEvent = te
43
	UIS.TrigEvent = te
44
45
	Event.OnServerEvent:Connect(function(plr,io)
46
	    if plr~=Player then return end
47
		if io.isMouse then
48
			m.Target = io.Target
49
			m.Hit = io.Hit
50
		else
51
			local b = io.UserInputState == Enum.UserInputState.Begin
52
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
53
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
54
			end
55
			for _,t in pairs(CAS.Actions) do
56
				for _,k in pairs(t.Keys) do
57
					if k==io.KeyCode then
58
						t.Function(t.Name,io.UserInputState,io)
59
					end
60
				end
61
			end
62
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
63
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
64
	    end
65
	end)
66
	Event.Parent = NLS([==[
67
	local Player = game:GetService("Players").LocalPlayer
68
	local Event = script:WaitForChild("UserInput_Event")
69
70
	local UIS = game:GetService("UserInputService")
71
	local input = function(io,a)
72
		if a then return end
73
		--Since InputObject is a client-side instance, we create and pass table instead
74
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
75
	end
76
	UIS.InputBegan:Connect(input)
77
	UIS.InputEnded:Connect(input)
78
79
	local Mouse = Player:GetMouse()
80
	local h,t
81
	--Give the server mouse data 30 times every second, but only if the values changed
82
	--If player is not moving their mouse, client won't fire events
83
	while wait(1/30) do
84
		if h~=Mouse.Hit or t~=Mouse.Target then
85
			h,t=Mouse.Hit,Mouse.Target
86
			Event:FireServer({isMouse=true,Target=t,Hit=h})
87
		end
88
	end]==],Player.Character)
89
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
90
end
91
92
Player = owner
93
PlayerGui = Player.PlayerGui
94
Cam = workspace.CurrentCamera
95
Backpack = Player.Backpack
96
Character = Player.Character
97
Humanoid = Character:FindFirstChildOfClass("Humanoid")
98
RootPart = Character["HumanoidRootPart"]
99
Torso = Character["Torso"]
100
Head = Character["Head"]
101
RightArm = Character["Right Arm"]
102
LeftArm = Character["Left Arm"]
103
RightLeg = Character["Right Leg"]
104
LeftLeg = Character["Left Leg"]
105
RootJoint = RootPart["RootJoint"]
106
Neck = Torso["Neck"]
107
RightShoulder = Torso["Right Shoulder"]
108
LeftShoulder = Torso["Left Shoulder"]
109
RightHip = Torso["Right Hip"]
110
LeftHip = Torso["Left Hip"]
111
112
IT = Instance.new
113
CF = CFrame.new
114
VT = Vector3.new
115
RAD = math.rad
116
C3 = Color3.new
117
UD2 = UDim2.new
118
BRICKC = BrickColor.new
119
ANGLES = CFrame.Angles
120
EULER = CFrame.fromEulerAnglesXYZ
121
COS = math.cos
122
ACOS = math.acos
123
SIN = math.sin
124
ASIN = math.asin
125
ABS = math.abs
126
MRANDOM = math.random
127
FLOOR = math.floor
128
129
--//=================================\\
130
--|| 	      USEFUL VALUES
131
--\\=================================//
132
133
Animation_Speed = 3
134
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
135
local Speed = 25
136
local SIZE = 2
137
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
138
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
139
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
140
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
141
local DAMAGEMULTIPLIER = 1
142
local ANIM = "Idle"
143
local ATTACK = false
144
local EQUIPPED = false
145
local HOLD = false
146
local COMBO = 1
147
local Rooted = false
148
local SINE = 0
149
local KEYHOLD = false
150
local CHANGE = 2 / Animation_Speed
151
local WALKINGANIM = false
152
local VALUE1 = false
153
local VALUE2 = false
154
local ROBLOXIDLEANIMATION = IT("Animation")
155
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
156
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
157
--ROBLOXIDLEANIMATION.Parent = Humanoid
158
local WEAPONGUI = IT("ScreenGui", PlayerGui)
159
WEAPONGUI.Name = "Weapon GUI"
160
local Weapon = IT("Folder")
161
Weapon.Name = "Adds"
162
local Effects = IT("Folder", Weapon)
163
Effects.Name = "Effects"
164
local ANIMATOR = Humanoid.Animator
165
local ANIMATE = Character.Animate
166
local UNANCHOR = true
167
local VOCALS_BASIC = {468972244,468972378,468972711,468972944}
168
local VOCALS_TAUNT = {468973055,468973159}
169
local VOCAL_GROWL = 468971411
170
local VOCALS_ENRAGES = {528589078,528589175,528589274,528589382}
171
local CHARGE = 459523787
172
local ROUGHBLAST = 461105534
173
local WALLSOUND = 424195952
174
local FORCEIDLE = false
175
Character.Archivable = true
176
script.Parent = WEAPONGUI
177
local CLONE = Character:Clone()
178
CLONE.Parent = nil
179
Character.Archivable = false
180
local sick = Instance.new("Sound",Character)
181
local XATTACK = false
182
Humanoid.JumpPower = 200
183
184
--//=================================\\
185
--\\=================================//
186
187
188
--//=================================\\
189
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
190
--\\=================================//
191
192
ArtificialHB = Instance.new("BindableEvent", script)
193
ArtificialHB.Name = "ArtificialHB"
194
195
script:WaitForChild("ArtificialHB")
196
197
frame = Frame_Speed
198
tf = 0
199
allowframeloss = false
200
tossremainder = false
201
lastframe = tick()
202
script.ArtificialHB:Fire()
203
204
game:GetService("RunService").Heartbeat:connect(function(s, p)
205
	tf = tf + s
206
	if tf >= frame then
207
		if allowframeloss then
208
			script.ArtificialHB:Fire()
209
			lastframe = tick()
210
		else
211
			for i = 1, math.floor(tf / frame) do
212
				script.ArtificialHB:Fire()
213
			end
214
		lastframe = tick()
215
		end
216
		if tossremainder then
217
			tf = 0
218
		else
219
			tf = tf - frame * math.floor(tf / frame)
220
		end
221
	end
222
end)
223
224
--//=================================\\
225
--\\=================================//
226
227
--//=================================\\
228
--|| 	      SOME FUNCTIONS
229
--\\=================================//
230
231
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
232
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
233
end
234
235
function PositiveAngle(NUMBER)
236
	if NUMBER >= 0 then
237
		NUMBER = 0
238
	end
239
	return NUMBER
240
end
241
242
function NegativeAngle(NUMBER)
243
	if NUMBER <= 0 then
244
		NUMBER = 0
245
	end
246
	return NUMBER
247
end
248
249
function Swait(NUMBER)
250
	if NUMBER == 0 or NUMBER == nil then
251
		ArtificialHB.Event:wait()
252
	else
253
		for i = 1, NUMBER do
254
			ArtificialHB.Event:wait()
255
		end
256
	end
257
end
258
259
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
260
	local NEWMESH = IT(MESH)
261
	if MESH == "SpecialMesh" then
262
		NEWMESH.MeshType = MESHTYPE
263
		if MESHID ~= "nil" and MESHID ~= "" then
264
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
265
		end
266
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
267
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
268
		end
269
	end
270
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
271
	NEWMESH.Scale = SCALE
272
	NEWMESH.Parent = PARENT
273
	return NEWMESH
274
end
275
276
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
277
	local NEWPART = IT("Part")
278
	NEWPART.formFactor = FORMFACTOR
279
	NEWPART.Reflectance = REFLECTANCE
280
	NEWPART.Transparency = TRANSPARENCY
281
	NEWPART.CanCollide = false
282
	NEWPART.Locked = true
283
	NEWPART.Anchored = true
284
	if ANCHOR == false then
285
		NEWPART.Anchored = false
286
	end
287
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
288
	NEWPART.Name = NAME
289
	NEWPART.Size = SIZE
290
	NEWPART.Position = Torso.Position
291
	NEWPART.Material = MATERIAL
292
	NEWPART:BreakJoints()
293
	NEWPART.Parent = PARENT
294
	return NEWPART
295
end
296
297
	local function weldBetween(a, b)
298
	    local weldd = Instance.new("ManualWeld")
299
	    weldd.Part0 = a
300
	    weldd.Part1 = b
301
	    weldd.C0 = CFrame.new()
302
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
303
	    weldd.Parent = a
304
	    return weldd
305
	end
306
307
308
function QuaternionFromCFrame(cf)
309
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
310
	local trace = m00 + m11 + m22
311
	if trace > 0 then 
312
		local s = math.sqrt(1 + trace)
313
		local recip = 0.5 / s
314
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
315
	else
316
		local i = 0
317
		if m11 > m00 then
318
			i = 1
319
		end
320
		if m22 > (i == 0 and m00 or m11) then
321
			i = 2
322
		end
323
		if i == 0 then
324
			local s = math.sqrt(m00 - m11 - m22 + 1)
325
			local recip = 0.5 / s
326
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
327
		elseif i == 1 then
328
			local s = math.sqrt(m11 - m22 - m00 + 1)
329
			local recip = 0.5 / s
330
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
331
		elseif i == 2 then
332
			local s = math.sqrt(m22 - m00 - m11 + 1)
333
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
334
		end
335
	end
336
end
337
 
338
function QuaternionToCFrame(px, py, pz, x, y, z, w)
339
	local xs, ys, zs = x + x, y + y, z + z
340
	local wx, wy, wz = w * xs, w * ys, w * zs
341
	local xx = x * xs
342
	local xy = x * ys
343
	local xz = x * zs
344
	local yy = y * ys
345
	local yz = y * zs
346
	local zz = z * zs
347
	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))
348
end
349
 
350
function QuaternionSlerp(a, b, t)
351
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
352
	local startInterp, finishInterp;
353
	if cosTheta >= 0.0001 then
354
		if (1 - cosTheta) > 0.0001 then
355
			local theta = ACOS(cosTheta)
356
			local invSinTheta = 1 / SIN(theta)
357
			startInterp = SIN((1 - t) * theta) * invSinTheta
358
			finishInterp = SIN(t * theta) * invSinTheta
359
		else
360
			startInterp = 1 - t
361
			finishInterp = t
362
		end
363
	else
364
		if (1 + cosTheta) > 0.0001 then
365
			local theta = ACOS(-cosTheta)
366
			local invSinTheta = 1 / SIN(theta)
367
			startInterp = SIN((t - 1) * theta) * invSinTheta
368
			finishInterp = SIN(t * theta) * invSinTheta
369
		else
370
			startInterp = t - 1
371
			finishInterp = t
372
		end
373
	end
374
	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
375
end
376
377
function Clerp(a, b, t)
378
	local qa = {QuaternionFromCFrame(a)}
379
	local qb = {QuaternionFromCFrame(b)}
380
	local ax, ay, az = a.x, a.y, a.z
381
	local bx, by, bz = b.x, b.y, b.z
382
	local _t = 1 - t
383
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
384
end
385
386
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
387
	local frame = IT("Frame")
388
	frame.BackgroundTransparency = TRANSPARENCY
389
	frame.BorderSizePixel = BORDERSIZEPIXEL
390
	frame.Position = POSITION
391
	frame.Size = SIZE
392
	frame.BackgroundColor3 = COLOR
393
	frame.BorderColor3 = BORDERCOLOR
394
	frame.Name = NAME
395
	frame.Parent = PARENT
396
	return frame
397
end
398
399
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
400
	local label = IT("TextLabel")
401
	label.BackgroundTransparency = 1
402
	label.Size = UD2(1, 0, 1, 0)
403
	label.Position = UD2(0, 0, 0, 0)
404
	label.TextColor3 = TEXTCOLOR
405
	label.TextStrokeTransparency = STROKETRANSPARENCY
406
	label.TextTransparency = TRANSPARENCY
407
	label.FontSize = TEXTFONTSIZE
408
	label.Font = TEXTFONT
409
	label.BorderSizePixel = BORDERSIZEPIXEL
410
	label.TextScaled = false
411
	label.Text = TEXT
412
	label.Name = NAME
413
	label.Parent = PARENT
414
	return label
415
end
416
417
function NoOutlines(PART)
418
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
419
end
420
421
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
422
	local NEWWELD = IT(TYPE)
423
	NEWWELD.Part0 = PART0
424
	NEWWELD.Part1 = PART1
425
	NEWWELD.C0 = C0
426
	NEWWELD.C1 = C1
427
	NEWWELD.Parent = PARENT
428
	return NEWWELD
429
end
430
431
local S = IT("Sound")
432
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
433
	local NEWSOUND = nil
434
	coroutine.resume(coroutine.create(function()
435
		NEWSOUND = S:Clone()
436
		NEWSOUND.Parent = PARENT
437
		NEWSOUND.Volume = VOLUME
438
		NEWSOUND.Pitch = PITCH
439
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
440
		NEWSOUND:play()
441
		if DOESLOOP == true then
442
			NEWSOUND.Looped = true
443
		else
444
			repeat wait(1) until NEWSOUND.Playing == false
445
			NEWSOUND:remove()
446
		end
447
	end))
448
	return NEWSOUND
449
end
450
451
function CFrameFromTopBack(at, top, back)
452
	local right = top:Cross(back)
453
	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)
454
end
455
456
--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})
457
function WACKYEFFECT(Table)
458
	local TYPE = (Table.EffectType or "Sphere")
459
	local SIZE = (Table.Size or VT(1,1,1))
460
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
461
	local TRANSPARENCY = (Table.Transparency or 0)
462
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
463
	local CFRAME = (Table.CFrame or Torso.CFrame)
464
	local MOVEDIRECTION = (Table.MoveToPos or nil)
465
	local ROTATION1 = (Table.RotationX or 0)
466
	local ROTATION2 = (Table.RotationY or 0)
467
	local ROTATION3 = (Table.RotationZ or 0)
468
	local MATERIAL = (Table.Material or "Neon")
469
	local COLOR = (Table.Color or C3(1,1,1))
470
	local TIME = (Table.Time or 45)
471
	local SOUNDID = (Table.SoundID or nil)
472
	local SOUNDPITCH = (Table.SoundPitch or nil)
473
	local SOUNDVOLUME = (Table.SoundVolume or nil)
474
	coroutine.resume(coroutine.create(function()
475
		local PLAYSSOUND = false
476
		local SOUND = nil
477
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
478
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
479
			PLAYSSOUND = true
480
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
481
		end
482
		EFFECT.Color = COLOR
483
		local MSH = nil
484
		if TYPE == "Sphere" then
485
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
486
		elseif TYPE == "Block" then
487
			MSH = IT("BlockMesh",EFFECT)
488
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
489
		elseif TYPE == "Wave" then
490
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
491
		elseif TYPE == "Ring" then
492
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
493
		elseif TYPE == "Slash" then
494
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
495
		elseif TYPE == "Round Slash" then
496
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
497
		elseif TYPE == "Swirl" then
498
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
499
		elseif TYPE == "Skull" then
500
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
501
		elseif TYPE == "Crystal" then
502
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
503
		end
504
		if MSH ~= nil then
505
			local MOVESPEED = nil
506
			if MOVEDIRECTION ~= nil then
507
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
508
			end
509
			local GROWTH = SIZE - ENDSIZE
510
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
511
			if TYPE == "Block" then
512
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
513
			else
514
				EFFECT.CFrame = CFRAME
515
			end
516
			for LOOP = 1, TIME+1 do
517
				Swait()
518
				MSH.Scale = MSH.Scale - GROWTH/TIME
519
				if TYPE == "Wave" then
520
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
521
				end
522
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
523
				if TYPE == "Block" then
524
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
525
				else
526
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
527
				end
528
				if MOVEDIRECTION ~= nil then
529
					local ORI = EFFECT.Orientation
530
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
531
					EFFECT.Orientation = ORI
532
				end
533
			end
534
			EFFECT.Transparency = 1
535
			if PLAYSSOUND == false then
536
				EFFECT:remove()
537
			else
538
				repeat Swait() until SOUND.Playing == false
539
				EFFECT:remove()
540
			end
541
		else
542
			if PLAYSSOUND == false then
543
				EFFECT:remove()
544
			else
545
				repeat Swait() until SOUND.Playing == false
546
				EFFECT:remove()
547
			end
548
		end
549
	end))
550
end
551
552
function MakeForm(PART,TYPE)
553
	if TYPE == "Cyl" then
554
		local MSH = IT("CylinderMesh",PART)
555
	elseif TYPE == "Ball" then
556
		local MSH = IT("SpecialMesh",PART)
557
		MSH.MeshType = "Sphere"
558
	elseif TYPE == "Wedge" then
559
		local MSH = IT("SpecialMesh",PART)
560
		MSH.MeshType = "Wedge"
561
	end
562
end
563
564
Debris = game:GetService("Debris")
565
566
function CastProperRay(StartPos, EndPos, Distance, Ignore)
567
	local DIRECTION = CF(StartPos,EndPos).lookVector
568
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
569
end
570
571
function turnto(position)
572
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
573
end
574
575
local Particle = IT("ParticleEmitter",nil)
576
Particle.Enabled = false
577
Particle.LightEmission = 0.2
578
Particle.Rate = 150
579
Particle.ZOffset = 1
580
Particle.Rotation = NumberRange.new(-180, 180)
581
582
--ParticleEmitter({Speed = 5, RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false, Color1 = C3(1,1,1), Color2 = C3(1,1,1), Texture = ""})
583
function ParticleEmitter(Table)
584
	local PRTCL = Particle:Clone()
585
	local Color1 = Table.Color1 or C3(1,1,1)
586
	local Color2 = Table.Color2 or C3(1,1,1)
587
	local Speed = Table.Speed or 5
588
	local Drag = Table.Drag or 0
589
	local Size1 = Table.Size1 or 1
590
	local Size2 = Table.Size2 or 5
591
	local Lifetime1 = Table.Lifetime1 or 1
592
	local Lifetime2 = Table.Lifetime2 or 1.5
593
	local Parent = Table.Parent or Torso
594
	local Emit = Table.Emit or 100
595
	local Offset = Table.Offset or 360
596
	local Acel = Table.Acel or VT(0,0,0)
597
	local Enabled = Table.Enabled or false
598
	local Texture = Table.Texture or "281983280"
599
	local RotS = Table.RotSpeed or NumberRange.new(-15, 15)
600
	local Trans1 = Table.Transparency1 or 0
601
	local Trans2 = Table.Transparency2 or 0
602
	PRTCL.Parent = Parent
603
	PRTCL.RotSpeed = RotS
604
	PRTCL.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,Trans1),NumberSequenceKeypoint.new(1,Trans2)})
605
	PRTCL.Texture = "http://www.roblox.com/asset/?id="..Texture
606
	PRTCL.Color = ColorSequence.new(Color1,Color2)
607
	PRTCL.Size = NumberSequence.new(Size1,Size2)
608
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
609
	PRTCL.Speed = NumberRange.new(Speed)
610
	PRTCL.VelocitySpread = Offset
611
	PRTCL.Drag = Drag
612
	PRTCL.Acceleration = Acel
613
	if Enabled == false then
614
		PRTCL:Emit(Emit)
615
		Debris:AddItem(PRTCL,Lifetime2)
616
	else
617
		PRTCL.Enabled = true
618
	end
619
	return PRTCL
620
end
621
622
function AddChildrenToTable(FROM,PARENT,DIST,TABLE)
623
	for _, c in pairs(PARENT:GetDescendants()) do
624
		if c.ClassName == "Model" then
625
			if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then
626
				local HUMANOID = c:FindFirstChildOfClass("Humanoid")
627
				local TORSO = (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso"))
628
				if (TORSO.Position - FROM).Magnitude < DIST then
629
					table.insert(TABLE,c)
630
				end
631
			end
632
		end
633
	end
634
end
635
636
--//=================================\\
637
--||	     WEAPON CREATION
638
--\\=================================//
639
640
local DECAL = IT("Decal",nil)
641
DECAL.Transparency = 1
642
DECAL.Texture = "http://www.roblox.com/asset/?id=99174105"
643
Head:ClearAllChildren()
644
645
Humanoid.Parent = nil
646
RootPart.Size = RootPart.Size*SIZE
647
Torso.Size = Torso.Size*SIZE
648
RightArm.Size = RightArm.Size*SIZE
649
RightLeg.Size = RightLeg.Size*SIZE
650
LeftArm.Size = LeftArm.Size*SIZE
651
LeftLeg.Size = LeftLeg.Size*SIZE
652
RootJoint.C0 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
653
RootJoint.C1 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
654
Neck.C0 = NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1 * SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
655
Neck.C1 = CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180))
656
RightShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
657
LeftShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
658
RightHip.C0 = CF(1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
659
LeftHip.C0 = CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
660
RightHip.C1 = CF(0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
661
LeftHip.C1 = CF(-0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
662
Head.Size = VT(Head.Size.Y,Head.Size.Y,Head.Size.Y)*SIZE
663
RootJoint.Parent = RootPart
664
Neck.Parent = Torso
665
RightShoulder.Parent = Torso
666
LeftShoulder.Parent = Torso
667
RightHip.Parent = Torso
668
LeftHip.Parent = Torso
669
670
CreateMesh("SpecialMesh", Head, "FileMesh", "1532586252", "1532589976", VT(1.75, 1.75, 1.7)*SIZE, VT(0,0.4,0.1)*SIZE)
671
--CreateMesh("SpecialMesh", Head, "FileMesh", "62719736", "1566254101", VT(0.85,0.85,0.85)*SIZE, VT(0,1,-0.4))
672
Humanoid.DisplayDistanceType = "None"
673
local naeeym = IT("BillboardGui",Character)
674
naeeym.AlwaysOnTop = true
675
naeeym.Size = UDim2.new(5,35,2,15)
676
naeeym.StudsOffset = Vector3.new(0,5,0)
677
naeeym.MaxDistance = 75
678
naeeym.Adornee = Character.Head
679
naeeym.Name = "Name"
680
local tecks = IT("TextLabel",naeeym)
681
tecks.BackgroundTransparency = 1
682
tecks.TextScaled = true
683
tecks.BorderSizePixel = 0
684
tecks.Text = "///////////////////"
685
tecks.Font = "Fantasy"
686
tecks.TextSize = 30
687
tecks.TextTransparency = 0.5
688
tecks.TextStrokeTransparency = 0.5
689
tecks.TextColor3 = C3(0,0,0)
690
tecks.TextStrokeColor3 = C3(175/1275, 148/1275, 131/1275)
691
tecks.Size = UDim2.new(1,0,0.5,0)
692
tecks.Parent = naeeym
693
local naeeym2 = IT("BillboardGui",Character)
694
naeeym2.AlwaysOnTop = true
695
naeeym2.Size = UDim2.new(7,35,3,15)
696
naeeym2.StudsOffset = Vector3.new(0,5,0)
697
naeeym2.MaxDistance = 75
698
naeeym2.Adornee = Character.Head
699
naeeym2.Name = "Name2"
700
local tecks2 = IT("TextLabel",naeeym2)
701
tecks2.BackgroundTransparency = 1
702
tecks2.TextScaled = true
703
tecks2.BorderSizePixel = 0
704
tecks2.Text = "Satan"
705
tecks2.Font = "Fantasy"
706
tecks2.TextSize = 30
707
tecks2.TextStrokeTransparency = 0
708
tecks2.TextColor3 = C3(0,0,0)
709
tecks2.TextStrokeColor3 = C3(175/575, 148/675, 131/675)
710
tecks2.Size = UDim2.new(1,0,0.5,0)
711
tecks2.Parent = naeeym2
712
713
local MSG = game.Chat:FilterStringForBroadcast(tecks2.Text,Player)
714
tecks2.Text = MSG
715
716
local MSG = game.Chat:FilterStringForBroadcast(tecks.Text,Player)
717
tecks.Text = MSG
718
719
local RINGFIRE = {}
720
local top = Instance.new("Shirt")
721
top.ShirtTemplate = "rbxassetid://791994658"
722
top.Parent = Character
723
top.Name = "Cloth"
724
local bottom = Instance.new("Pants")
725
bottom.PantsTemplate = "rbxassetid://1029442377"
726
bottom.Parent = Character
727
bottom.Name = "Cloth"
728
local FIRE = IT("Model",Weapon)
729
FIRE.Name = "RingOfFire"
730
local MAIN = CreatePart(3, FIRE, "Neon", 0, 1, "Lavender", "Center", VT(0,0,0))
731
FIRE.PrimaryPart = MAIN
732
for i = 1, 45 do
733
	local PRT = CreatePart(3, FIRE, "Neon", 0, 1, "Lavender", "RingPart", VT(1,1,1))
734
	PRT.CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD((360/45)*i),RAD(0))*CF(0,0,8)
735
	local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0,Speed = 0.2, Acel = VT(8,18,6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 0.8, Parent = PRT, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.5,0,0), Texture = "1523916715"})
736
	PRTCL.LockedToPart = true
737
	PRTCL.Rate = 35
738
	table.insert(RINGFIRE,PRTCL)
739
end
740
local A = IT("Attachment",RightArm)
741
A.Position = VT(0,-1*SIZE,0.1*SIZE)
742
local B = IT("Attachment",LeftArm)
743
B.Position = VT(0,-1*SIZE,0.1*SIZE)
744
local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0,Speed = 1, Acel = VT(0,-1,0), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1.4, Parent = A, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.3,0,0), Texture = "1523916715"})
745
PRTCL.LockedToPart = true
746
PRTCL.Rate = 85
747
table.insert(RINGFIRE,PRTCL)
748
local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0,Speed = 1, Acel = VT(0,-1,0), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1.4, Parent = B, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.3,0,0), Texture = "1523916715"})
749
PRTCL.LockedToPart = true
750
PRTCL.Rate = 85
751
table.insert(RINGFIRE,PRTCL)
752
for _, c in pairs(Character:GetChildren()) do
753
	if c.ClassName == "Part" and c ~= RootPart then
754
		local Face = DECAL:Clone()
755
		Face.Parent = c
756
		Face.Face = "Top"
757
		local Face = DECAL:Clone()
758
		Face.Parent = c
759
		Face.Face = "Left"
760
		local Face = DECAL:Clone()
761
		Face.Parent = c
762
		Face.Face = "Right"
763
		local Face = DECAL:Clone()
764
		Face.Parent = c
765
		Face.Face = "Front"
766
		local Face = DECAL:Clone()
767
		Face.Parent = c
768
		Face.Face = "Back"
769
		local Face = DECAL:Clone()
770
		Face.Parent = c
771
		Face.Face = "Bottom"
772
	end
773
end
774
775
local LASTPART = Head
776
for i = 1, 45 do
777
	local MATH = (1-(i/50))
778
	if LASTPART == Head then
779
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
780
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.15, 1.5, -0.2) * ANGLES(RAD(-75), RAD(15), RAD(-15)), CF(0, 0, 0))
781
		LASTPART = Horn
782
		Horn.Color = C3(0,0,0)
783
		MakeForm(Horn,"Cyl")
784
		local Face = DECAL:Clone()
785
		Face.Parent = Horn
786
		Face.Face = "Top"
787
		local Face = DECAL:Clone()
788
		Face.Parent = Horn
789
		Face.Face = "Left"
790
		local Face = DECAL:Clone()
791
		Face.Parent = Horn
792
		Face.Face = "Right"
793
		local Face = DECAL:Clone()
794
		Face.Parent = Horn
795
		Face.Face = "Front"
796
		local Face = DECAL:Clone()
797
		Face.Parent = Horn
798
		Face.Face = "Back"
799
		local Face = DECAL:Clone()
800
		Face.Parent = Horn
801
		Face.Face = "Bottom"
802
	else
803
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.15,0.25*MATH),false)
804
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(3), RAD(1), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
805
		LASTPART = Horn
806
		Horn.Color = C3(0,0,0)
807
		MakeForm(Horn,"Cyl")
808
		local Face = DECAL:Clone()
809
		Face.Parent = Horn
810
		Face.Face = "Top"
811
		local Face = DECAL:Clone()
812
		Face.Parent = Horn
813
		Face.Face = "Left"
814
		local Face = DECAL:Clone()
815
		Face.Parent = Horn
816
		Face.Face = "Right"
817
		local Face = DECAL:Clone()
818
		Face.Parent = Horn
819
		Face.Face = "Front"
820
		local Face = DECAL:Clone()
821
		Face.Parent = Horn
822
		Face.Face = "Back"
823
		local Face = DECAL:Clone()
824
		Face.Parent = Horn
825
		Face.Face = "Bottom"
826
	end
827
end
828
local LASTPART = Head
829
for i = 1, 45 do
830
	local MATH = (1-(i/50))
831
	if LASTPART == Head then
832
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
833
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.15, 1.5, -0.2) * ANGLES(RAD(-75), RAD(-15), RAD(15)), CF(0, 0, 0))
834
		LASTPART = Horn
835
		Horn.Color = C3(0,0,0)
836
		MakeForm(Horn,"Cyl")
837
		local Face = DECAL:Clone()
838
		Face.Parent = Horn
839
		Face.Face = "Top"
840
		local Face = DECAL:Clone()
841
		Face.Parent = Horn
842
		Face.Face = "Left"
843
		local Face = DECAL:Clone()
844
		Face.Parent = Horn
845
		Face.Face = "Right"
846
		local Face = DECAL:Clone()
847
		Face.Parent = Horn
848
		Face.Face = "Front"
849
		local Face = DECAL:Clone()
850
		Face.Parent = Horn
851
		Face.Face = "Back"
852
		local Face = DECAL:Clone()
853
		Face.Parent = Horn
854
		Face.Face = "Bottom"
855
	else
856
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.15,0.25*MATH),false)
857
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(3), RAD(-1), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
858
		LASTPART = Horn
859
		Horn.Color = C3(0,0,0)
860
		MakeForm(Horn,"Cyl")
861
		local Face = DECAL:Clone()
862
		Face.Parent = Horn
863
		Face.Face = "Top"
864
		local Face = DECAL:Clone()
865
		Face.Parent = Horn
866
		Face.Face = "Left"
867
		local Face = DECAL:Clone()
868
		Face.Parent = Horn
869
		Face.Face = "Right"
870
		local Face = DECAL:Clone()
871
		Face.Parent = Horn
872
		Face.Face = "Front"
873
		local Face = DECAL:Clone()
874
		Face.Parent = Horn
875
		Face.Face = "Back"
876
		local Face = DECAL:Clone()
877
		Face.Parent = Horn
878
		Face.Face = "Bottom"
879
	end
880
end
881
local LASTPART = Head
882
for i = 1, 45 do
883
	local MATH = (1-(i/50))
884
	if LASTPART == Head then
885
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
886
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.25, 1.5, -0.2) * ANGLES(RAD(-45), RAD(15), RAD(-35)), CF(0, 0, 0))
887
		LASTPART = Horn
888
		Horn.Color = C3(0,0,0)
889
		MakeForm(Horn,"Cyl")
890
		local Face = DECAL:Clone()
891
		Face.Parent = Horn
892
		Face.Face = "Top"
893
		local Face = DECAL:Clone()
894
		Face.Parent = Horn
895
		Face.Face = "Left"
896
		local Face = DECAL:Clone()
897
		Face.Parent = Horn
898
		Face.Face = "Right"
899
		local Face = DECAL:Clone()
900
		Face.Parent = Horn
901
		Face.Face = "Front"
902
		local Face = DECAL:Clone()
903
		Face.Parent = Horn
904
		Face.Face = "Back"
905
		local Face = DECAL:Clone()
906
		Face.Parent = Horn
907
		Face.Face = "Bottom"
908
	else
909
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.12,0.25*MATH),false)
910
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(4), RAD(1), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
911
		LASTPART = Horn
912
		Horn.Color = C3(0,0,0)
913
		MakeForm(Horn,"Cyl")
914
		local Face = DECAL:Clone()
915
		Face.Parent = Horn
916
		Face.Face = "Top"
917
		local Face = DECAL:Clone()
918
		Face.Parent = Horn
919
		Face.Face = "Left"
920
		local Face = DECAL:Clone()
921
		Face.Parent = Horn
922
		Face.Face = "Right"
923
		local Face = DECAL:Clone()
924
		Face.Parent = Horn
925
		Face.Face = "Front"
926
		local Face = DECAL:Clone()
927
		Face.Parent = Horn
928
		Face.Face = "Back"
929
		local Face = DECAL:Clone()
930
		Face.Parent = Horn
931
		Face.Face = "Bottom"
932
	end
933
end
934
local LASTPART = Head
935
for i = 1, 45 do
936
	local MATH = (1-(i/50))
937
	if LASTPART == Head then
938
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
939
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.25, 1.5, -0.2) * ANGLES(RAD(-45), RAD(-15), RAD(35)), CF(0, 0, 0))
940
		LASTPART = Horn
941
		Horn.Color = C3(0,0,0)
942
		MakeForm(Horn,"Cyl")
943
		local Face = DECAL:Clone()
944
		Face.Parent = Horn
945
		Face.Face = "Top"
946
		local Face = DECAL:Clone()
947
		Face.Parent = Horn
948
		Face.Face = "Left"
949
		local Face = DECAL:Clone()
950
		Face.Parent = Horn
951
		Face.Face = "Right"
952
		local Face = DECAL:Clone()
953
		Face.Parent = Horn
954
		Face.Face = "Front"
955
		local Face = DECAL:Clone()
956
		Face.Parent = Horn
957
		Face.Face = "Back"
958
		local Face = DECAL:Clone()
959
		Face.Parent = Horn
960
		Face.Face = "Bottom"
961
	else
962
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.12,0.25*MATH),false)
963
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(4), RAD(-1), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
964
		LASTPART = Horn
965
		Horn.Color = C3(0,0,0)
966
		MakeForm(Horn,"Cyl")
967
		local Face = DECAL:Clone()
968
		Face.Parent = Horn
969
		Face.Face = "Top"
970
		local Face = DECAL:Clone()
971
		Face.Parent = Horn
972
		Face.Face = "Left"
973
		local Face = DECAL:Clone()
974
		Face.Parent = Horn
975
		Face.Face = "Right"
976
		local Face = DECAL:Clone()
977
		Face.Parent = Horn
978
		Face.Face = "Front"
979
		local Face = DECAL:Clone()
980
		Face.Parent = Horn
981
		Face.Face = "Back"
982
		local Face = DECAL:Clone()
983
		Face.Parent = Horn
984
		Face.Face = "Bottom"
985
	end
986
end
987
988
local EYE1 = IT("Attachment",Head)
989
EYE1.Position = (VT(0.5, 0.900, -1.195)/2)*SIZE
990
local EYE2 = IT("Attachment",Head)
991
EYE2.Position = (VT(-0.5, 0.900, -1.195)/2)*SIZE
992
local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 0.2, Acel = VT(2,0.5,0.6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 0.15, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1.4, Parent = EYE1, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(1,0,0), Color2 = C3(0.3,0,0), Texture = "1523916715"})
993
PRTCL.LockedToPart = true
994
PRTCL.Rate = 185
995
PRTCL.ZOffset = 0.1
996
table.insert(RINGFIRE,PRTCL)
997
local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 0.2, Acel = VT(-2,0.5,0.6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 0.15, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1.4, Parent = EYE2, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(1,0,0), Color2 = C3(0.3,0,0), Texture = "1523916715"})
998
PRTCL.LockedToPart = true
999
PRTCL.Rate = 185
1000
PRTCL.ZOffset = 0.1
1001
local BODY = {}
1002
table.insert(RINGFIRE,PRTCL)
1003
for _, c in pairs(Character:GetDescendants()) do
1004
	if c:IsA("BasePart") and c.Name ~= "Handle" then
1005
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
1006
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1007
		end
1008
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency,c.Size,c.Name})
1009
	elseif c:IsA("JointInstance") then
1010
		table.insert(BODY,{c,c.Parent,nil,nil,nil,nil,nil})
1011
	end
1012
end
1013
function refit()
1014
	Character.Parent = workspace
1015
	for e = 1, #BODY do
1016
		if BODY[e] ~= nil then
1017
			local STUFF = BODY[e]
1018
			local PART = STUFF[1]
1019
			local PARENT = STUFF[2]
1020
			local MATERIAL = STUFF[3]
1021
			local COLOR = STUFF[4]
1022
			local TRANSPARENCY = STUFF[5]
1023
			--local SIZE = STUFF[6]
1024
			local NAME = STUFF[7]
1025
			if PART.ClassName == "Part" and PART ~= RootPart then
1026
				PART.Material = MATERIAL
1027
				PART.Transparency = TRANSPARENCY
1028
				PART.Name = NAME
1029
			end
1030
			if PART.Parent ~= PARENT then
1031
				Humanoid:remove()
1032
				PART.Parent = PARENT
1033
				Humanoid = IT("Humanoid",Character)
1034
			end
1035
		end
1036
	end
1037
end
1038
1039
for _, c in pairs(Weapon:GetChildren()) do
1040
	if c.ClassName == "Part" then
1041
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1042
	end
1043
end
1044
1045
local SKILLTEXTCOLOR = C3(0,0,0)
1046
local SKILLFONT = "Fantasy"
1047
local SKILLTEXTSIZE = 6
1048
1049
Weapon.Parent = Character
1050
Humanoid.Parent = Character
1051
1052
Humanoid.Died:connect(function()
1053
	refit()
1054
end)
1055
1056
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
1057
local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
1058
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.82, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
1059
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.78, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
1060
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.74, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
1061
1062
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 1")
1063
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 2")
1064
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 3")
1065
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 4")
1066
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 5")
1067
1068
--//=================================\\
1069
--||			DAMAGING
1070
--\\=================================//
1071
1072
function ApplyDamage(Humanoid,Damage,TorsoPart)
1073
	local defence = Instance.new("BoolValue",Humanoid.Parent)
1074
	defence.Name = ("HitBy"..Player.Name)
1075
	game:GetService("Debris"):AddItem(defence, 0.001)
1076
	Damage = Damage * DAMAGEMULTIPLIER
1077
	if Humanoid.Health ~= 0 then
1078
		local CritChance = MRANDOM(1,100)
1079
		if Damage > Humanoid.Health then
1080
			Damage = math.ceil(Humanoid.Health)
1081
			if Damage == 0 then
1082
				Damage = 0.1
1083
			end
1084
		end
1085
		Humanoid.Health = Humanoid.Health - Damage
1086
	end
1087
end
1088
1089
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
1090
	local CHILDREN = workspace:GetDescendants()
1091
	for index, CHILD in pairs(CHILDREN) do
1092
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1093
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1094
			if HUM then
1095
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1096
				if TORSO then
1097
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1098
						if CHILD.Parent == Effects and CHILD:FindFirstChild("RealBody") then
1099
							local BODY = CHILD.RealBody.Value
1100
							if BODY then
1101
								local HUM = BODY:FindFirstChildOfClass("Humanoid")
1102
								if HUM then
1103
									if INSTAKILL == true or (HUM.MaxHealth == math.huge and MAXDMG > 0) then
1104
										BODY:BreakJoints()
1105
									else
1106
										local TORSO = BODY:FindFirstChild("Torso") or BODY:FindFirstChild("UpperTorso")
1107
										if TORSO then
1108
											local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
1109
											local DMG = MRANDOM(MINDMG,MAXDMG)/2
1110
											WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(1,85,1), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = C3(0.3,0,0), SoundID = HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
1111
											ApplyDamage(HUM,DMG,TORSO)
1112
										end
1113
									end
1114
								end
1115
							end
1116
						else
1117
							if INSTAKILL == true or (HUM.MaxHealth == math.huge and MAXDMG > 0) then
1118
								CHILD:BreakJoints()
1119
							else
1120
								local DMG = MRANDOM(MINDMG,MAXDMG)
1121
								ApplyDamage(HUM,DMG,TORSO)
1122
							end
1123
							if FLING > 0 then
1124
								for _, c in pairs(CHILD:GetChildren()) do
1125
									if c:IsA("BasePart") then
1126
										local bv = Instance.new("BodyVelocity") 
1127
										bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1128
										bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
1129
										bv.Parent = c
1130
										Debris:AddItem(bv,0.05)
1131
									end
1132
								end
1133
							end
1134
						end
1135
					end
1136
				end
1137
			end
1138
		end
1139
	end
1140
end
1141
1142
--//=================================\\
1143
--||	ATTACK FUNCTIONS AND STUFF
1144
--\\=================================//
1145
1146
function MissilesOfDespair()
1147
	ATTACK = true
1148
	Rooted = true
1149
	local MAKERING = true
1150
	local RINGGROW = false
1151
	CreateSound(VOCALS_BASIC[MRANDOM(1,#VOCALS_BASIC)], Head, MRANDOM(9,11)/1.5, MRANDOM(9,11)/10, false)
1152
	coroutine.resume(coroutine.create(function()
1153
		repeat
1154
			Swait()
1155
			if ATTACK == false then
1156
				break
1157
			end
1158
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1159
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1160
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1161
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1162
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1163
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1164
		until MAKERING == false
1165
		repeat
1166
			Swait()
1167
			if ATTACK == false then
1168
				break
1169
			end
1170
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1171
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1172
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(43 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1173
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-42 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1174
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1175
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1176
		until RINGGROW == true
1177
	end))
1178
	local FIRERING = IT("Model",Effects)
1179
	FIRERING.Name = "RingOfFire"
1180
	local MAIN = CreatePart(3, FIRERING, "Neon", 0, 1, "Lavender", "Center", VT(0,0,0))
1181
	FIRERING.PrimaryPart = MAIN
1182
	local RINGS = {}
1183
	local EMITTERS = {}
1184
	for i = 1, 45 do
1185
		local PRT = CreatePart(3, FIRERING, "Neon", 0, 1, "Lavender", "RingPart", VT(1,1,1))
1186
		PRT.CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD((360/45)*i),RAD(0))*CF(0,0,0)
1187
		table.insert(RINGS,PRT)
1188
		local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0,Speed = 0.2, Acel = VT(8,18,6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 0.8, Parent = PRT, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.5,0,0), Texture = "1523916715"})
1189
		PRTCL.LockedToPart = true
1190
		PRTCL.Rate = 35
1191
		table.insert(EMITTERS,PRTCL)
1192
	end
1193
	FIRERING:SetPrimaryPartCFrame(RootPart.CFrame*CF(0,3,-3)*ANGLES(RAD(-75),RAD(0),RAD(0)))
1194
	wait(0.5)
1195
	MAKERING = false
1196
	CreateSound(278641993, MAIN, 5, 1.2, false)
1197
	for e = 1, 45 do
1198
		Swait()
1199
		FIRERING:SetPrimaryPartCFrame(RootPart.CFrame*CF(0,3,-3)*ANGLES(RAD(-75),RAD(0),RAD(0)))
1200
		for i = 1, #RINGS do
1201
			RINGS[i].CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD((360/45)*i),RAD(0))*CF(0,0,e/10)
1202
		end
1203
	end
1204
	RINGGROW = true
1205
	wait(0.2)
1206
	for i = 1, 15 do
1207
		wait(0.08)
1208
		coroutine.resume(coroutine.create(function()
1209
			local POS = Mouse.Hit.p
1210
			local MISSILE = CreatePart(3, Effects, "Neon", 0, 1, "Maroon", "Missile", VT(0.5,1,0.5))
1211
			MISSILE.Color = C3(0.2,0,0)
1212
			CreateSound(84005018, MISSILE, 0.2, 1.2, false)
1213
			MakeForm(MISSILE,"Ball")
1214
			MISSILE.CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0,MRANDOM(1,5))
1215
			for i = 1, 10 do
1216
				Swait()
1217
				MISSILE.Transparency = MISSILE.Transparency - 1/15
1218
				MISSILE.CFrame = MISSILE.CFrame * CF(0,0.7,0)
1219
			end
1220
			for i = 1, 5 do
1221
				Swait()
1222
				MISSILE.Transparency = MISSILE.Transparency - 1/15
1223
				MISSILE.CFrame = MISSILE.CFrame * CF(0,0.5,0)
1224
			end
1225
			MISSILE.Size = VT(0.2,0.2,1.5)
1226
			MISSILE.CFrame = CF(MISSILE.Position,POS)
1227
			for i = 1, 150 do
1228
				Swait()
1229
				MISSILE.CFrame = MISSILE.CFrame*CF(0,0,-3)
1230
				local HIT = Raycast(MISSILE.Position, MISSILE.CFrame.lookVector, 4, Character)
1231
				if HIT ~= nil then
1232
					WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = MISSILE.Size, Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = MISSILE.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = MISSILE.Color, SoundID = nil, SoundPitch = 1.3, SoundVolume = 3})
1233
					WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = MISSILE.Size, Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = MISSILE.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = MISSILE.Color, SoundID = nil, SoundPitch = 1.3, SoundVolume = 3})
1234
					WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = MISSILE.Size, Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = MISSILE.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = MISSILE.Color, SoundID = 165970126, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
1235
					for i = 1, 5 do
1236
						WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(35,2,35), Transparency = 0.8, Transparency2 = 1, CFrame = MISSILE.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
1237
					end
1238
					ApplyAoE(MISSILE.Position,15,15,25,35,false)
1239
					break
1240
				end
1241
			end
1242
			MISSILE:remove()
1243
		end))
1244
	end
1245
	for i = 1, #EMITTERS do
1246
		EMITTERS[i].Enabled = false
1247
	end
1248
	Debris:AddItem(FIRERING,3)
1249
	ATTACK = false
1250
	Rooted = false
1251
end
1252
1253
function ShadowRoam()
1254
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
1255
	if HITFLOOR then
1256
		ATTACK = true
1257
		CreateSound(VOCALS_BASIC[MRANDOM(1,#VOCALS_BASIC)], Head, MRANDOM(9,11)/1.5, MRANDOM(9,11)/10, false)
1258
		local BUSY = false
1259
		Rooted = true
1260
		local CLOAKING = false
1261
		local UNCLOAKED = true
1262
		local LOOP = nil
1263
		local FAKESHADOW = IT("Model",Effects)
1264
		FAKESHADOW.Name = "Shadow"
1265
		local POS = RootPart.Position
1266
		local MOUSEHIT = nil
1267
		--
1268
			local TORS = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", Torso.Size)
1269
			TORS.Color = C3(0,0,0)
1270
			TORS.CFrame = RootPart.CFrame*CF(0,-6.85,-0.8) * ANGLES(RAD(90), RAD(180), RAD(0))
1271
			local HED = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", VT(Head.Size.Y,Head.Size.Y,Head.Size.Y))
1272
			HED.Color = C3(0,0,0)
1273
			HED.CFrame = TORS.CFrame*CF(0,-TORS.Size.Y/2-HED.Size.Y/2,0)
1274
			local RARM = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", RightArm.Size)
1275
			RARM.Color = C3(0,0,0)
1276
			RARM.CFrame = TORS.CFrame*CF(TORS.Size.X/2+RARM.Size.X/1.9,-0.3,0) * ANGLES(RAD(0), RAD(0), RAD(-15))
1277
			local LARM = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", RightArm.Size)
1278
			LARM.Color = C3(0,0,0)
1279
			LARM.CFrame = TORS.CFrame*CF(-TORS.Size.X/2-RARM.Size.X/1.9,-0.3,0) * ANGLES(RAD(0), RAD(0), RAD(15))
1280
			local RLEG = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", RightLeg.Size)
1281
			RLEG.Color = C3(0,0,0)
1282
			RLEG.CFrame = TORS.CFrame*CF(TORS.Size.X/2.8,TORS.Size.Y,0) * ANGLES(RAD(0), RAD(0), RAD(-15))
1283
			local LLEG = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", RightLeg.Size)
1284
			LLEG.Color = C3(0,0,0)
1285
			LLEG.CFrame = TORS.CFrame*CF(-TORS.Size.X/2.8,TORS.Size.Y,0) * ANGLES(RAD(0), RAD(0), RAD(15))
1286
		--
1287
		coroutine.resume(coroutine.create(function()
1288
			coroutine.resume(coroutine.create(function()
1289
				while wait() do
1290
					if RootPart.Position.Y > POS.Y then
1291
						BUSY = true
1292
						if MOUSEHIT then
1293
							MOUSEHIT:disconnect()
1294
						end
1295
						for _, c in pairs(Character:GetChildren()) do
1296
							if c.ClassName == "Part" and c ~= RootPart then
1297
								c.Transparency = 0
1298
								for _, q in pairs(c:GetChildren()) do
1299
									if q.ClassName == "Decal" then
1300
										q.Transparency = 0
1301
									end
1302
								end
1303
							end
1304
						end
1305
						for i=0, 1.5, 0.1 / Animation_Speed do
1306
							Swait()
1307
							RootPart.Anchored = true
1308
							UNCLOAKED = false
1309
							RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1310
							Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1311
							RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1312
							LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1313
							RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1314
							LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1315
						end
1316
						coroutine.resume(coroutine.create(function()
1317
							for i = 1, 15 do
1318
								Swait()
1319
								if FAKESHADOW then
1320
									for _, q in pairs(FAKESHADOW:GetChildren()) do
1321
										if q.ClassName == "Part" then
1322
											q.Transparency = q.Transparency + 1/15
1323
										end
1324
									end
1325
								end
1326
							end
1327
							if FAKESHADOW then
1328
								FAKESHADOW:remove()
1329
							end
1330
							FAKESHADOW = nil
1331
						end))
1332
						for i=0, 0.5, 0.1 / Animation_Speed do
1333
							Swait()
1334
							RootPart.Anchored = true
1335
							UNCLOAKED = true
1336
							if LOOP then
1337
								LOOP.Pitch = LOOP.Pitch - 0.2
1338
							end
1339
							RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1340
							Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1341
							RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1342
							LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1343
							RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1344
							LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1345
						end
1346
						LOOP:remove()
1347
						LOOP = nil
1348
						for i = 1, 35 do
1349
							Swait()
1350
							for _, c in pairs(Character:GetChildren()) do
1351
								if c.ClassName == "Part" then
1352
									for _, q in pairs(c:GetChildren()) do
1353
										if q.ClassName == "Decal" then
1354
											q.Transparency = q.Transparency + 1/35
1355
										end
1356
									end
1357
								end
1358
							end
1359
						end
1360
						UNANCHOR = true
1361
						ATTACK = false
1362
						Rooted = false
1363
					end
1364
					if FAKESHADOW then
1365
						TORS.CFrame = RootPart.CFrame*CF(0,-6.85,-0.8) * ANGLES(RAD(90), RAD(180), RAD(0))
1366
						HED.CFrame = TORS.CFrame*CF(0,-TORS.Size.Y/2-HED.Size.Y/2,0)
1367
						RARM.CFrame = TORS.CFrame*CF(TORS.Size.X/2+RARM.Size.X/1.9,-0.3,0) * ANGLES(RAD(0), RAD(0), RAD(-15))
1368
						LARM.CFrame = TORS.CFrame*CF(-TORS.Size.X/2-RARM.Size.X/1.9,-0.3,0) * ANGLES(RAD(0), RAD(0), RAD(15))
1369
						RLEG.CFrame = TORS.CFrame*CF(TORS.Size.X/2.8,TORS.Size.Y,0) * ANGLES(RAD(0), RAD(0), RAD(-15))
1370
						LLEG.CFrame = TORS.CFrame*CF(-TORS.Size.X/2.8,TORS.Size.Y,0) * ANGLES(RAD(0), RAD(0), RAD(15))
1371
					end
1372
					if LOOP ~= nil then
1373
						LOOP.Parent = TORS
1374
					end
1375
					naeeym.Enabled = UNCLOAKED
1376
					naeeym2.Enabled = UNCLOAKED
1377
					for c = 1, #RINGFIRE do
1378
						RINGFIRE[c].Enabled = UNCLOAKED
1379
					end
1380
					if ATTACK == false then
1381
						break
1382
					end
1383
				end
1384
			end))
1385
			repeat
1386
				Swait()
1387
				if ATTACK == false then
1388
					break
1389
				end
1390
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1391
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1392
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1393
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1394
				RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1395
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1396
			until CLOAKING == true
1397
		end))
1398
		wait(0.3)
1399
		for i = 1, 35 do
1400
			Swait()
1401
			for _, c in pairs(Character:GetChildren()) do
1402
				if c.ClassName == "Part" then
1403
					for _, q in pairs(c:GetChildren()) do
1404
						if q.ClassName == "Decal" then
1405
							q.Transparency = q.Transparency - 1/35
1406
						end
1407
					end
1408
				end
1409
			end
1410
		end
1411
		UNANCHOR = false
1412
		RootPart.Anchored = true
1413
		CLOAKING = true
1414
		coroutine.resume(coroutine.create(function()
1415
			for i = 1, 15 do
1416
				Swait()
1417
				for _, q in pairs(FAKESHADOW:GetChildren()) do
1418
					if q.ClassName == "Part" then
1419
						q.Transparency = q.Transparency - 1/15
1420
					end
1421
				end
1422
			end
1423
		end))
1424
		for i=0, 0.2, 0.1 / Animation_Speed do
1425
			Swait()
1426
			RootPart.Anchored = true
1427
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, -2*SIZE) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1428
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1429
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1430
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1431
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1432
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1433
		end
1434
		LOOP = CreateSound(487214658, TORS, 0, 1, true)
1435
		for i=0, 0.6, 0.1 / Animation_Speed do
1436
			Swait()
1437
			RootPart.Anchored = true
1438
			UNCLOAKED = false
1439
			if LOOP then
1440
				LOOP.Volume = LOOP.Volume + 0.1
1441
			end
1442
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, -7*SIZE) * ANGLES(RAD(90), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1443
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1444
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1445
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1446
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1447
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1448
		end
1449
		for _, c in pairs(Character:GetChildren()) do
1450
			if c.ClassName == "Part" then
1451
				c.Transparency = 1
1452
				for _, q in pairs(c:GetChildren()) do
1453
					if q.ClassName == "Decal" then
1454
						q.Transparency = 1
1455
					end
1456
				end
1457
			end
1458
		end
1459
		MOUSEHIT = Mouse.Button1Down:connect(function(NEWKEY)
1460
			local HITFLOOR,HITPOS = Raycast(RootPart.Position-VT(0,2.1*SIZE,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
1461
			if HITFLOOR then
1462
				local POS = HITPOS
1463
				local WORKING = true
1464
				coroutine.resume(coroutine.create(function()
1465
					repeat
1466
						Swait()
1467
						WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(10,0.2,10), Size2 = VT(0,0.5,0), Transparency = 1, Transparency2 = 0, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
1468
					until WORKING == false
1469
				end))
1470
				wait(0.3)
1471
				local SPIKE = CreatePart(3, Effects, "Fabric", 0, 0, "Maroon", "Spike", VT(2,32,2))
1472
				SPIKE.Color = C3(0,0,0)
1473
				local MSH = IT("SpecialMesh",SPIKE)
1474
				MSH.MeshType = "FileMesh"
1475
				MSH.MeshId = "http://www.roblox.com/asset/?id=785967755"
1476
				MSH.Scale = SPIKE.Size/50
1477
				SPIKE.CFrame = CF(POS+VT(0,15,0))
1478
				ApplyAoE(SPIKE.Position,15,35,55,35,false)
1479
				WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,5,0), Size2 = VT(5,1,5), Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 178452241, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
1480
				wait(0.2)
1481
				for i = 1, 16 do
1482
					Swait()
1483
					SPIKE.CFrame = SPIKE.CFrame*CF(0,-2,0)
1484
				end
1485
				SPIKE:remove()
1486
				WORKING = false
1487
			end
1488
		end)
1489
		Mouse.KeyDown:connect(function(NEWKEY)
1490
			if NEWKEY == "b" and BUSY == false then
1491
				BUSY = true
1492
				if MOUSEHIT then
1493
					MOUSEHIT:disconnect()
1494
				end
1495
				for _, c in pairs(Character:GetChildren()) do
1496
					if c.ClassName == "Part" and c ~= RootPart then
1497
						c.Transparency = 0
1498
						for _, q in pairs(c:GetChildren()) do
1499
							if q.ClassName == "Decal" then
1500
								q.Transparency = 0
1501
							end
1502
						end
1503
					end
1504
				end
1505
				for i=0, 1.5, 0.1 / Animation_Speed do
1506
					Swait()
1507
					RootPart.Anchored = true
1508
					UNCLOAKED = false
1509
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1510
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1511
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1512
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1513
					RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1514
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1515
				end
1516
				coroutine.resume(coroutine.create(function()
1517
					for i = 1, 15 do
1518
						Swait()
1519
						for _, q in pairs(FAKESHADOW:GetChildren()) do
1520
							if q.ClassName == "Part" then
1521
								q.Transparency = q.Transparency + 1/15
1522
							end
1523
						end
1524
					end
1525
					FAKESHADOW:remove()
1526
					FAKESHADOW = nil
1527
				end))
1528
				for i=0, 0.5, 0.1 / Animation_Speed do
1529
					Swait()
1530
					RootPart.Anchored = true
1531
					UNCLOAKED = true
1532
					LOOP.Pitch = LOOP.Pitch - 0.2
1533
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1534
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1535
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1536
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1537
					RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1538
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1539
				end
1540
				LOOP:remove()
1541
				LOOP = nil
1542
				for i = 1, 35 do
1543
					Swait()
1544
					for _, c in pairs(Character:GetChildren()) do
1545
						if c.ClassName == "Part" then
1546
							for _, q in pairs(c:GetChildren()) do
1547
								if q.ClassName == "Decal" then
1548
									q.Transparency = q.Transparency + 1/35
1549
								end
1550
							end
1551
						end
1552
					end
1553
				end
1554
				UNANCHOR = true
1555
				ATTACK = false
1556
				Rooted = false
1557
			elseif NEWKEY == "w" and BUSY == false then
1558
				repeat
1559
					Swait()
1560
					local HITFLOOR = Raycast(CF(RootPart.CFrame*CF(0,-2.1*SIZE,0).p,VT(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z))*CF(0,0,-3).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5*SIZE, Character)
1561
					local FLOOR,HITPOS = Raycast(RootPart.Position-VT(0,-2.1*SIZE,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5*SIZE, Character)
1562
					if HITFLOOR then
1563
						WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(4,0.2,4), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
1564
						RootPart.CFrame = CF(RootPart.Position,VT(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z))*CF(0,0,-1)
1565
					end
1566
				until KEYHOLD == false or BUSY == true
1567
			end
1568
		end)
1569
	end
1570
end
1571
1572
function PillarOfDespair()
1573
	ATTACK = true
1574
	Rooted = true
1575
	CreateSound(VOCALS_BASIC[MRANDOM(1,#VOCALS_BASIC)], Head, MRANDOM(9,11)/2.5, MRANDOM(9,11)/10, false)
1576
	FORCEIDLE = true
1577
	for i = 1, 5 do
1578
		Swait()
1579
		for _, c in pairs(Character:GetChildren()) do
1580
			if c.ClassName == "Part" then
1581
				for _, q in pairs(c:GetChildren()) do
1582
					if q.ClassName == "Decal" then
1583
						q.Transparency = q.Transparency - 1/5
1584
					end
1585
				end
1586
			end
1587
		end
1588
	end
1589
	local ORIGINPOS = RootPart.Position
1590
	CreateSound(1447872444, Torso, 10, 1.2, false)
1591
	for c = 1, #RINGFIRE do
1592
		RINGFIRE[c].Enabled = false
1593
	end
1594
	for i = 1, 25 do
1595
		Swait()
1596
		coroutine.resume(coroutine.create(function()
1597
			local POS = RootPart.Position
1598
			WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,50,0), Size2 = VT(15+i,45,15+i), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,2.2*SIZE,0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1599
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,25,0), Size2 = VT(25+i,0,25+i), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,2.2*SIZE,0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1600
			wait(0.3)
1601
			ApplyAoE(POS,25+i,15,25,25,false)
1602
		end))
1603
		RootPart.CFrame = RootPart.CFrame*CF(0,0,5)
1604
	end
1605
	for c = 1, #RINGFIRE do
1606
		RINGFIRE[c].Enabled = true
1607
	end
1608
	FORCEIDLE = false
1609
	local BUILDUP = true
1610
	coroutine.resume(coroutine.create(function()
1611
		for i = 1, 35 do
1612
			Swait()
1613
			for _, c in pairs(Character:GetChildren()) do
1614
				if c.ClassName == "Part" then
1615
					for _, q in pairs(c:GetChildren()) do
1616
						if q.ClassName == "Decal" then
1617
							q.Transparency = q.Transparency + 1/35
1618
						end
1619
					end
1620
				end
1621
			end
1622
		end
1623
	end))
1624
	coroutine.resume(coroutine.create(function()
1625
		repeat
1626
			Swait()
1627
			if ATTACK == false then
1628
				break
1629
			end
1630
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1631
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1632
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1633
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1634
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1635
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1636
		until BUILDUP == false
1637
		repeat
1638
			Swait()
1639
			if ATTACK == false then
1640
				break
1641
			end
1642
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1643
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1644
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(43 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1645
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-42 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1646
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1647
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1648
		until ATTACK == false
1649
	end))
1650
	wait(0.5)
1651
	BUILDUP = false
1652
	coroutine.resume(coroutine.create(function()
1653
		WACKYEFFECT({Time = 50, EffectType = "Sphere", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CF(ORIGINPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = CHARGE, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/1.2})
1654
		for i = 1, 5 do
1655
			WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(25,2,25), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.7, CFrame = CF(ORIGINPOS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 1, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
1656
		end
1657
		wait(1.3)
1658
		for i = 1, 6 do
1659
			WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(85+(i*3),85+(i*3),85+(i*3)), Transparency = 0, Transparency2 = 1, CFrame = CF(ORIGINPOS-VT(0,2,0)) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))*CF(0,25,0), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-15,15), RotationZ = 0, Material = "Neon", Color = C3(i/120,0,0), SoundID = ROUGHBLAST, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 10})
1660
		end
1661
		for i = 1, 25 do
1662
			WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(325,1,325), Transparency = 0.8, Transparency2 = 1, CFrame = CF(ORIGINPOS-VT(0,2,0)) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 1, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
1663
		end
1664
		ApplyAoE(ORIGINPOS,85,35,85,125,false)
1665
	end))
1666
	wait(0.4)
1667
	ATTACK = false
1668
	Rooted = false
1669
end
1670
1671
function InfernoWall()
1672
	CreateSound(VOCALS_BASIC[MRANDOM(1,#VOCALS_BASIC)], Head, MRANDOM(9,11)/1.5, MRANDOM(9,11)/10, false)
1673
	ATTACK = true
1674
	Rooted = true
1675
	local BUILDUP = true
1676
	local WALL = IT("Model",Effects)
1677
	WALL.Name = "Wall of Fire"
1678
	local BASE = CreatePart(3, WALL, "Fabric", 0, 1, "Maroon", "FirePart", VT(0,0,0))
1679
	BASE.CFrame = RootPart.CFrame*CF(0,-2.8*SIZE,8)
1680
	local FIRES = {}
1681
	local BODIES = {}
1682
	local REPEATREMOVE = true
1683
	WALL.PrimaryPart = BASE
1684
	coroutine.resume(coroutine.create(function()
1685
		repeat
1686
			Swait()
1687
			if ATTACK == false then
1688
				break
1689
			end
1690
			turnto(Mouse.Hit.p)
1691
			WALL:SetPrimaryPartCFrame(RootPart.CFrame*CF(0,-2.8*SIZE,8))
1692
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1693
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1694
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1695
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1696
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1697
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1698
		until BUILDUP == false
1699
		repeat
1700
			Swait()
1701
			if ATTACK == false then
1702
				break
1703
			end
1704
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1705
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1706
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(43 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1707
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-42 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1708
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1709
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1710
		until ATTACK == false
1711
	end))
1712
	CreateSound(278641993, BASE, 10, 0.8, false)
1713
	coroutine.resume(coroutine.create(function()
1714
		for i = 1, 45 do
1715
			Swait()
1716
			local PART = CreatePart(3, WALL, "Fabric", 0, 1, "Maroon", "FirePart", VT(2,0,2))
1717
			PART.CFrame = BASE.CFrame * ANGLES(RAD(0), RAD(90+i), RAD(0))*CF(32,0,0)
1718
			local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 0.2, Acel = VT(0,28+(i/5),6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 3, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 2+(i/25), Parent = PART, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.5,0,0), Texture = "1523916715"})
1719
			PRTCL.LockedToPart = true
1720
			PRTCL.Rate = 35
1721
			table.insert(FIRES,PRTCL)
1722
		end
1723
	end))
1724
	coroutine.resume(coroutine.create(function()
1725
		for i = 1, 45 do
1726
			Swait()
1727
			local PART = CreatePart(3, WALL, "Fabric", 0, 1, "Maroon", "FirePart", VT(2,0,2))
1728
			PART.CFrame = BASE.CFrame * ANGLES(RAD(0), RAD(-90-i), RAD(0))*CF(-32,0,0)
1729
			local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 0.2, Acel = VT(0,28+(i/5),6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 3, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 2+(i/25), Parent = PART, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.5,0,0), Texture = "1523916715"})
1730
			PRTCL.LockedToPart = true
1731
			PRTCL.Rate = 35
1732
			table.insert(FIRES,PRTCL)
1733
		end
1734
	end))
1735
	repeat wait() until #WALL:GetChildren() == 91
1736
	wait(0.3)
1737
	BUILDUP = false
1738
	coroutine.resume(coroutine.create(function()
1739
		coroutine.resume(coroutine.create(function()
1740
			repeat
1741
				wait(1)
1742
				for e = 1, #BODIES do
1743
					if BODIES[e] ~= nil and REPEATREMOVE == true then
1744
						local BOD = BODIES[e]
1745
						local TORSO = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
1746
						if TORSO then
1747
						local HITFLOOR,HITPOS = Raycast(TORSO.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*(TORSO.Size.Y/2), workspace)
1748
							WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(5,5,5), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = C3(0.2,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
1749
						end
1750
						for i = 1, 10 do
1751
							for i = 1, #BODIES do
1752
								if (BODIES[i] == BOD and i ~= e) then
1753
									table.remove(BODIES,i)
1754
								end
1755
							end
1756
						end
1757
					end
1758
				end
1759
			until REPEATREMOVE == false
1760
		end))
1761
		CreateSound(WALLSOUND, BASE, 10, 0.8, false)
1762
		for i = 1, 70 do
1763
			Swait()
1764
			AddChildrenToTable(BASE.Position,workspace,32,BODIES)
1765
			WALL:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0,-4))
1766
		end
1767
		for i = 1, #FIRES do
1768
			FIRES[i].Enabled = false
1769
		end
1770
		Debris:AddItem(WALL,5)
1771
		wait(1)
1772
		REPEATREMOVE = false
1773
		for e = 1, #BODIES do
1774
			if BODIES[e] ~= nil then
1775
				Swait()
1776
				local BOD = BODIES[e]
1777
				local TORSO = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
1778
				if TORSO then
1779
					local HUM = BOD:FindFirstChildOfClass("Humanoid")
1780
					if HUM then
1781
						if HUM.Health > 0 then
1782
							local HITFLOOR,HITPOS = Raycast(TORSO.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*(TORSO.Size.Y/2), BOD)
1783
							if HITFLOOR then
1784
								ApplyDamage(HUM,MRANDOM(65,85),TORSO)
1785
								CreateSound(ROUGHBLAST, TORSO, 10, 1.2, false)
1786
								ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 3, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 0.7, Parent = TORSO, Emit = 300, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0.5,0,0), Texture = "1523916715"})
1787
							end
1788
						end
1789
					end
1790
				end
1791
			end
1792
		end
1793
	end))
1794
	wait(1)
1795
	ATTACK = false
1796
	Rooted = false
1797
end
1798
1799
function FormerShadow()
1800
	CreateSound(VOCALS_BASIC[MRANDOM(1,#VOCALS_BASIC)], Head, MRANDOM(9,11)/1.5, MRANDOM(9,11)/10, false)
1801
	XATTACK = true
1802
	ATTACK = true
1803
	Rooted = true
1804
	local BODIES = {}
1805
	local SHADOWS = {}
1806
	local BUILDUP = true
1807
	local DONE = false
1808
	coroutine.resume(coroutine.create(function()
1809
		repeat
1810
			Swait()
1811
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1812
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(-10), RAD(0), RAD(-15)), 1 / Animation_Speed)
1813
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15*SIZE, 0.65*SIZE, -0.75*SIZE) * ANGLES(RAD(15), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1814
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15*SIZE, 0.1*SIZE, -0.75*SIZE) * ANGLES(RAD(-15), RAD(0), RAD(90)) * ANGLES(RAD(25), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1815
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(20), RAD(55), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1816
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(10), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1817
		until DONE == true
1818
	end))
1819
	local MOUSEHIT = Mouse.Button1Down:connect(function(NEWKEY)
1820
		if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
1821
			local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
1822
			local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
1823
			if TORSO and HUM then
1824
				local PASS = true
1825
				for e = 1, #BODIES do
1826
					if BODIES[e] ~= nil then
1827
						if BODIES[e] == Mouse.Target.Parent then
1828
							PASS = false
1829
						end
1830
					end
1831
				end
1832
				if PASS == true then
1833
					table.insert(BODIES,Mouse.Target.Parent)
1834
				end
1835
			end
1836
		end
1837
	end)
1838
	local KEYDOWN = Mouse.KeyDown:connect(function(NEWKEY)
1839
		if NEWKEY == "x" then
1840
			DONE = true
1841
		end
1842
	end)
1843
	repeat wait() until DONE == true or #BODIES == 3
1844
	DONE = true
1845
	MOUSEHIT:disconnect()
1846
	KEYDOWN:disconnect()
1847
	if #BODIES > 0 then
1848
		coroutine.resume(coroutine.create(function()
1849
			repeat
1850
				Swait()
1851
				if ATTACK == false then
1852
					break
1853
				end
1854
				ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = RightArm, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
1855
				ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = LeftArm, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
1856
				ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = RightLeg, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
1857
				ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = LeftLeg, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
1858
				ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = Torso, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
1859
				ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = Head, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
1860
				local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
1861
				WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(0,2,0), Size2 = VT(35,12,35), Transparency = 0.2, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(MRANDOM(0,360)), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-15,15), RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
1862
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1863
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1864
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1865
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1866
				RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1867
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1868
			until BUILDUP == false
1869
		end))
1870
		CreateSound(WALLSOUND, Torso, 10, 0.8, false)
1871
		CreateSound(ROUGHBLAST, Torso, 10, 0.8, false)
1872
		for i = 1, #BODIES do
1873
			if BODIES[i] ~= nil then
1874
				local TORSO = BODIES[i]:FindFirstChild("HumanoidRootPart") or BODIES[i]:FindFirstChild("Torso") or BODIES[i]:FindFirstChild("UpperTorso")
1875
				if TORSO then
1876
					CreateSound(WALLSOUND, TORSO, 10, 1, false)
1877
					ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 3, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = TORSO, Emit = 300, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
1878
				end
1879
			end
1880
		end
1881
		wait(1)
1882
		local SHADOWFADE = false
1883
		for i = 1, #BODIES do
1884
			if BODIES[i] ~= nil then
1885
				local TORSO = BODIES[i]:FindFirstChild("HumanoidRootPart") or BODIES[i]:FindFirstChild("Torso") or BODIES[i]:FindFirstChild("UpperTorso")
1886
				if TORSO then
1887
					local SHADOW = CLONE:Clone()
1888
					SHADOW.Parent = Effects
1889
					SHADOW.HumanoidRootPart.CFrame = TORSO.CFrame*CF(0,6,0)
1890
					--SHADOW.HumanoidRootPart.CFrame = RootPart.CFrame * ANGLES(RAD(0), RAD((360/#SHADOWS)*i), RAD(0))*CF(0,0,15)
1891
					SHADOW.Humanoid.WalkSpeed = 35
1892
					SHADOW.Humanoid.Health = 1
1893
					SHADOW.Humanoid.MaxHealth = 1
1894
					SHADOW.Name = BODIES[i].Name
1895
					for i = 1, 3 do
1896
						for _, c in pairs(SHADOW:GetChildren()) do
1897
							if c.ClassName == "Part" then
1898
								c.Material = "Neon"
1899
								c.Color = C3(0,0,0)
1900
								c.Transparency = 1
1901
								if c.Name == "Head" then
1902
									c:ClearAllChildren()
1903
									local MSH = IT("BlockMesh",c)
1904
									MSH.Scale = VT(0.5,1,1)
1905
								end
1906
							elseif c.ClassName ~= "Part" and c.ClassName ~= "Humanoid" and c.Name ~= "Animate" then
1907
								c:remove()
1908
							end
1909
						end
1910
					end
1911
					local BODY = IT("ObjectValue",SHADOW)
1912
					BODY.Name = "RealBody"
1913
					BODY.Value = BODIES[i]
1914
					table.insert(SHADOWS,SHADOW)
1915
				end
1916
			end
1917
		end
1918
		coroutine.resume(coroutine.create(function()
1919
			local LOOP = 0
1920
			for i = 1, 25 do
1921
				Swait()
1922
				for i = 1, #SHADOWS do
1923
					if SHADOWS[i] ~= nil then
1924
						for _, c in pairs(SHADOWS[i]:GetChildren()) do
1925
							if c.ClassName == "Part" and c.Name ~= "HumanoidRootPart" then
1926
								c.Color = C3(0,0,0)
1927
								c.Transparency = c.Transparency - 1/25
1928
							end
1929
						end
1930
					end
1931
				end
1932
			end
1933
			local KEYDOWN = Mouse.KeyDown:connect(function(NEWKEY)
1934
				if NEWKEY == "x" then
1935
					SHADOWFADE = true
1936
				end
1937
			end)
1938
			repeat
1939
				LOOP = LOOP + 2
1940
				local JUMPIES = {}
1941
				for i = 1, #SHADOWS do
1942
					if SHADOWS[i] ~= nil then
1943
						SHADOWS[i].Humanoid:MoveTo(CF(RootPart.Position) * ANGLES(RAD(0), RAD(((360/#SHADOWS)*i)+LOOP), RAD(0))*CF(0,0,25).p)
1944
						local BODY = SHADOWS[i].RealBody.Value
1945
						if BODY then
1946
							local HUM = BODY:FindFirstChildOfClass("Humanoid")
1947
							if HUM then
1948
								local TRIGGER = HUM.Changed:connect(function(Jump)
1949
									if HUM.Jump == true then
1950
										SHADOWS[i].Humanoid.JumpPower = HUM.JumpPower
1951
										SHADOWS[i].Humanoid.Jump = true
1952
									end
1953
								end)
1954
								table.insert(JUMPIES,TRIGGER)
1955
								if HUM.Health == 0 then
1956
									SHADOWS[i].Humanoid.Health = 0
1957
								end
1958
							end
1959
						end
1960
						if SHADOWS[i].Humanoid.Health == 0 then
1961
							if BODY then
1962
								BODY:BreakJoints()
1963
							end
1964
							SHADOWS[i]:remove()
1965
							table.remove(SHADOWS,i)
1966
						end
1967
					end
1968
				end
1969
				Swait()
1970
				for i = 1, #JUMPIES do
1971
					if JUMPIES[i] ~= nil then
1972
						JUMPIES[i]:disconnect()
1973
					end
1974
				end
1975
			until SHADOWFADE == true or #SHADOWS == 0
1976
			KEYDOWN:disconnect()
1977
			if #SHADOWS > 0 then
1978
				for i = 1, 45 do
1979
					Swait()
1980
					for i = 1, #SHADOWS do
1981
						if SHADOWS[i] ~= nil then
1982
							for _, c in pairs(SHADOWS[i]:GetChildren()) do
1983
								if c.ClassName == "Part" then
1984
									c.Transparency = c.Transparency + 1/45
1985
								end
1986
							end
1987
							SHADOWS[i].Humanoid.WalkSpeed = 12
1988
							SHADOWS[i].Humanoid:MoveTo(CF(RootPart.Position,SHADOWS[i].HumanoidRootPart.Position+VT(0,2,0))*CF(0,0,-5).p)
1989
						end
1990
					end
1991
				end
1992
				for i = 1, #SHADOWS do
1993
					if SHADOWS[i] ~= nil then
1994
						SHADOWS[i]:remove()
1995
					end
1996
				end
1997
			end
1998
			XATTACK = false
1999
		end))
2000
	else
2001
		XATTACK = false
2002
	end
2003
	ATTACK = false
2004
	Rooted = false
2005
end
2006
2007
function Taunt()
2008
	ATTACK = true
2009
	Rooted = true
2010
	local VIOLENCE = 1
2011
	FORCEIDLE = true
2012
	repeat Swait() VIOLENCE = VIOLENCE + 1 until KEYHOLD == false
2013
	FORCEIDLE = false
2014
	if VIOLENCE <= 10 then
2015
		for i=0, 0.2, 0.1 / Animation_Speed do
2016
			Swait()
2017
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
2018
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(-10), RAD(0), RAD(-15)), 1 / Animation_Speed)
2019
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15*SIZE, 0.65*SIZE, -0.75*SIZE) * ANGLES(RAD(15), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2020
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15*SIZE, 0.1*SIZE, -0.75*SIZE) * ANGLES(RAD(-15), RAD(0), RAD(90)) * ANGLES(RAD(25), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2021
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(20), RAD(55), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2022
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(10), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2023
		end
2024
		local TAUNT = CreateSound(VOCALS_TAUNT[MRANDOM(1,#VOCALS_TAUNT)], Head, 10, 1, false)
2025
		repeat
2026
			Swait()
2027
			TAUNT.Parent = Head
2028
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
2029
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(-10-(TAUNT.PlaybackLoudness/55)), RAD(0), RAD(-15)), 1 / Animation_Speed)
2030
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15*SIZE, 0.65*SIZE, -0.75*SIZE) * ANGLES(RAD(15), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2031
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15*SIZE, 0.1*SIZE, -0.75*SIZE) * ANGLES(RAD(-15), RAD(0), RAD(90)) * ANGLES(RAD(25), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2032
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(20), RAD(55), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2033
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(10), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2034
		until TAUNT.Playing == false
2035
	else
2036
		for i=0, 1, 0.1 / Animation_Speed do
2037
			Swait()
2038
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2039
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2040
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(22)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2041
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-22)) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2042
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.01*SIZE) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2043
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.01*SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2044
		end
2045
		local TAUNT = CreateSound(VOCALS_ENRAGES[MRANDOM(1,#VOCALS_ENRAGES)], Head, 10, 1, false)
2046
		repeat Swait() until TAUNT.TimeLength > 0
2047
		repeat
2048
			Swait()
2049
			ApplyAoE(Head.Position,15,0,0,200,false)
2050
			local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
2051
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,2,0), Size2 = VT(15,0,15), Transparency = 1-(TAUNT.PlaybackLoudness/1250), Transparency2 = 1, CFrame = CF(Head.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
2052
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,2,0), Size2 = VT(35,0,35), Transparency = 0.2, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
2053
			TAUNT.Parent = Head
2054
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, -0.2*SIZE, -0.1*SIZE) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
2055
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(-25+MRANDOM(-(TAUNT.PlaybackLoudness/25),(TAUNT.PlaybackLoudness/25))), RAD(MRANDOM(-(TAUNT.PlaybackLoudness/15),(TAUNT.PlaybackLoudness/15))), RAD(MRANDOM(-(TAUNT.PlaybackLoudness/25),(TAUNT.PlaybackLoudness/25)))), 1 / Animation_Speed)
2056
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0.1*SIZE) * ANGLES(RAD(-35), RAD(0), RAD(42)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2057
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0.1*SIZE) * ANGLES(RAD(-35), RAD(0), RAD(-42)) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2058
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.01*SIZE) * ANGLES(RAD(25), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
2059
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.01*SIZE) * ANGLES(RAD(45), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
2060
		until TAUNT.TimePosition > TAUNT.TimeLength - 2
2061
	end
2062
	ATTACK = false
2063
	Rooted = false
2064
end
2065
2066
--//=================================\\
2067
--||	  ASSIGN THINGS TO KEYS
2068
--\\=================================//
2069
2070
function MouseDown(Mouse)
2071
	if ATTACK == false then
2072
	end
2073
end
2074
2075
function MouseUp(Mouse)
2076
HOLD = false
2077
end
2078
2079
function KeyDown(Key)
2080
	KEYHOLD = true
2081
	if Key == "t" and ATTACK == false then
2082
		Taunt()
2083
	end
2084
2085
	if Key == "z" and ATTACK == false then
2086
		MissilesOfDespair()
2087
	end
2088
2089
	if Key == "b" and ATTACK == false and XATTACK == false then
2090
		ShadowRoam()
2091
	end
2092
2093
	if Key == "c" and ATTACK == false then
2094
		PillarOfDespair()
2095
	end
2096
2097
	if Key == "v" and ATTACK == false then
2098
		InfernoWall()
2099
	end
2100
2101
	if Key == "x" and ATTACK == false and XATTACK == false then
2102
		FormerShadow()
2103
	end
2104
end
2105
2106
function KeyUp(Key)
2107
	KEYHOLD = false
2108
end
2109
2110
	Mouse.Button1Down:connect(function(NEWKEY)
2111
		MouseDown(NEWKEY)
2112
	end)
2113
	Mouse.Button1Up:connect(function(NEWKEY)
2114
		MouseUp(NEWKEY)
2115
	end)
2116
	Mouse.KeyDown:connect(function(NEWKEY)
2117
		KeyDown(NEWKEY)
2118
	end)
2119
	Mouse.KeyUp:connect(function(NEWKEY)
2120
		KeyUp(NEWKEY)
2121
	end)
2122
2123
--//=================================\\
2124
--\\=================================//
2125
2126
function unanchor()
2127
	if UNANCHOR == true then
2128
		RootPart.Anchored = false
2129
	end
2130
	g = Character:GetChildren()
2131
	for i = 1, #g do
2132
		if g[i].ClassName == "Part" and g[i] ~= RootPart then
2133
			g[i].Anchored = false
2134
		end
2135
	end
2136
	g = Weapon:GetChildren()
2137
	for i = 1, #g do
2138
		if g[i].ClassName == "Part" then
2139
			g[i].Anchored = false
2140
		end
2141
	end
2142
end
2143
2144
2145
--//=================================\\
2146
--||	WRAP THE WHOLE SCRIPT UP
2147
--\\=================================//
2148
2149
Humanoid.Changed:connect(function(Jump)
2150
	if Jump == "Jump" and (Disable_Jump == true) then
2151
		Humanoid.Jump = false
2152
	end
2153
end)
2154
2155
while true do
2156
	Swait()
2157
	script.Parent = WEAPONGUI
2158
	ANIMATE.Parent = nil
2159
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
2160
	    v:Stop();
2161
	end
2162
	SINE = SINE + CHANGE
2163
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
2164
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
2165
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
2166
	local FLOOR1,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 8*SIZE, Character)
2167
	local FLOOR2,HITPOS2 = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 8*SIZE, Character)
2168
	local WALKSPEEDVALUE = 8 / (Humanoid.WalkSpeed / 16)
2169
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
2170
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2171
		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)
2172
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5*SIZE, 0.875*SIZE - 0.125 * SIN(SINE / WALKSPEEDVALUE)*SIZE - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.7+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2173
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5*SIZE, 0.875*SIZE + 0.125 * SIN(SINE / WALKSPEEDVALUE)*SIZE - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.7+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2174
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
2175
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2176
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2177
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5*SIZE, 1*SIZE, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2178
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5*SIZE, 1*SIZE, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2179
	end
2180
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil and FORCEIDLE == false then
2181
		ANIM = "Jump"
2182
		if ATTACK == false then
2183
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2184
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
2185
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.55*SIZE, 0*SIZE) * ANGLES(RAD(15), RAD(0), RAD(12)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2186
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.55*SIZE, 0*SIZE) * ANGLES(RAD(15), RAD(0), RAD(-12)) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2187
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.3*SIZE, -0.5*SIZE) * ANGLES(RAD(15), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
2188
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.1*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
2189
	    end
2190
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil and FORCEIDLE == false then
2191
		ANIM = "Fall"
2192
		if ATTACK == false then
2193
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
2194
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
2195
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(35), RAD(0), RAD(42)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2196
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(35), RAD(0), RAD(-42)) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2197
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE, -0.5*SIZE) * ANGLES(RAD(15), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 1 / Animation_Speed)
2198
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(-25), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
2199
		end
2200
	elseif (TORSOVELOCITY < 1 and HITFLOOR ~= nil) or FORCEIDLE == true then
2201
		ANIM = "Idle"
2202
		if ATTACK == false or FORCEIDLE == true then
2203
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
2204
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 1 / Animation_Speed)
2205
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(52 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2206
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(35), RAD(0), RAD(-42 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2207
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(20), RAD(55), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2208
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(10), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
2209
		end
2210
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil and FORCEIDLE == false then
2211
		ANIM = "Walk"
2212
		if ATTACK == false then
2213
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, -0.1*SIZE) * ANGLES(RAD(15), RAD(0), RAD(-8*SIN(SINE/WALKSPEEDVALUE))), 1 / Animation_Speed)
2214
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(5), RAD(-2*SIN(SINE/WALKSPEEDVALUE)), RAD(8*SIN(SINE/WALKSPEEDVALUE))), 1/ Animation_Speed)
2215
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE + 0.15 * COS(SINE/WALKSPEEDVALUE*2), 0.1*SIZE-0.3*SIN(SINE/WALKSPEEDVALUE)) * ANGLES(RAD(35), RAD(0), RAD(22 + 3* SIN(SINE/WALKSPEEDVALUE))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2216
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE + 0.15 * COS(SINE/WALKSPEEDVALUE*2), 0.1*SIZE+0.3*SIN(SINE/WALKSPEEDVALUE)) * ANGLES(RAD(35), RAD(0), RAD(-22 - 3* SIN(SINE/WALKSPEEDVALUE))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2217
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE , -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
2218
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
2219
		end
2220
	end
2221
	unanchor()
2222
	Humanoid.MaxHealth = "inf"
2223
	Humanoid.Health = "inf"
2224
	if Rooted == false then
2225
		Disable_Jump = false
2226
		Humanoid.WalkSpeed = Speed
2227
	elseif Rooted == true then
2228
		Disable_Jump = true
2229
		Humanoid.WalkSpeed = 0
2230
	end
2231
	for _, c in pairs(Character:GetChildren()) do
2232
		if c.ClassName == "Part" and c.Name ~= "Eye" then
2233
			c.Material = "Granite"
2234
			if c ~= Head and c ~= Torso and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
2235
				c.Color = C3(175/575, 148/675, 131/675)
2236
			else
2237
				c.Color = C3(0,0,0)
2238
			end
2239
			if c == Head then
2240
				if c:FindFirstChild("face") then
2241
					c.face:remove()
2242
				end
2243
			end
2244
		elseif (c.ClassName == "CharacterMesh" or c.ClassName == "ShirtGraphic" or c.ClassName == "Accessory" or c.Name == "Body Colors") and c.Name ~= "Pressimus" then
2245
			c:remove()
2246
		elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
2247
			c:remove()
2248
		end
2249
	end
2250
	sick.Parent = Character
2251
	sick.SoundId = "rbxassetid://900318768"
2252
	sick.Looped = true
2253
	sick.Pitch = 0.95
2254
	sick.Volume = 2
2255
	sick.Playing = true
2256
	if FLOOR1 ~= nil then
2257
		FIRE:SetPrimaryPartCFrame(CF(HITPOS,HITPOS+NORMAL) * ANGLES(RAD(-90), RAD(0), RAD(0)))
2258
	else
2259
		FIRE:SetPrimaryPartCFrame(CF(HITPOS2))
2260
	end
2261
	SKILL1FRAME.Rotation = MRANDOM(-25,25)/2
2262
	SKILL2FRAME.Rotation = MRANDOM(-25,25)/2
2263
	SKILL3FRAME.Rotation = MRANDOM(-25,25)/2
2264
	SKILL4FRAME.Rotation = MRANDOM(-25,25)/2
2265
	SKILL5FRAME.Rotation = MRANDOM(-25,25)/2
2266
	tecks2.Rotation = MRANDOM(-25,25)/8
2267
	tecks.Rotation = MRANDOM(-25,25)/8
2268
	Humanoid.Name = MRANDOM(1000000,99999999)
2269
	FIRE.Parent = Weapon
2270
	refit()
2271
end
2272
2273
--//=================================\\
2274
--\\=================================//
2275
2276
2277
2278
2279
2280
--//====================================================\\--
2281
--||			  		 END OF SCRIPT
2282
--\\====================================================//--