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