View difference between Paste ID: szSRe9T6 and cZPNQRJb
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
86+
87
            if Type == "function" then
88
                if Index:lower() == "getservice" or Index:lower() == "service" then
89
                    return function (self,Service)
90
                        local FakeServices = {
91
                            ["players"] = function()
92
                                return setmetatable({},{
93
                                    __index = function (self2,Index2)
94
                                        local RealService = RealGame:GetService(Service)
95
                                        local Type2 = type(Index2)
96
                                        if Type2 == "function" then
97
                                            return function (self,...) return RealService[Index2](RealService,...)end
98
                                        else
99
                                            if Index2:lower() == "localplayer" then return Sandbox(owner) end
100
                                            return RealService[Index2]
101
                                        end
102
                                    end;
103
                                    __tostring = function(self) return RealGame:GetService(Service).Name end
104
                                })
105
                            end;
106
                            ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
107
                            ["userinputservice"] = function() return InternalData["UserInputService"] end;
108
                            ["runservice"] = function()
109
                                return setmetatable({},{
110
                                    __index = function(self2,Index2)
111
                                        local RealService = RealGame:GetService(Service)
112
                                        local Type2 = type(Index2)
113
                                        if Type2 == "function" then
114
                                            return function (self,...) return RealService[Index2](RealService,...) end
115
                                        else
116
                                            local RunServices = {
117
                                                ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
118
                                                ["renderstepped"] = function() return RealService["Stepped"] end
119
                                            }
120
                                            if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
121
                                            return RealService[Index2]
122
                                        end
123
                                    end
124
                                })
125
                            end
126
                        }
127
                        if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
128
                        return RealGame:GetService(Service)
129
                    end
130
                end
131
                return function (self,...) return RealGame[Index](RealGame,...) end
132
            else
133
                if game:GetService(Index) then return game:GetService(Index) end
134
                return RealGame[Index]
135
            end
136
        end
137
        return nil
138
    end
139
});Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("running the script noob")
140
141
--//=================================================================\\--
142
--|| CREATED BY SHACKLUSTER | EDITED BY maximum442 AND SHYIME
143
--\\=================================================================//--
144
145
wait(0.2)
146
147
Player = game:GetService("Players").LocalPlayer
148
PlayerGui = Player.PlayerGui
149
Cam = workspace.CurrentCamera
150
Backpack = Player.Backpack
151
Character = Player.Character
152
Humanoid = Character.Humanoid
153
Mouse = Player:GetMouse()
154
RootPart = Character["HumanoidRootPart"]
155
Torso = Character["Torso"]
156
Head = Character["Head"]
157
RightArm = Character["Right Arm"]
158
LeftArm = Character["Left Arm"]
159
RightLeg = Character["Right Leg"]
160
LeftLeg = Character["Left Leg"]
161
RootJoint = RootPart["RootJoint"]
162
Neck = Torso["Neck"]
163
RightShoulder = Torso["Right Shoulder"]
164
LeftShoulder = Torso["Left Shoulder"]
165
RightHip = Torso["Right Hip"]
166
LeftHip = Torso["Left Hip"]
167
SIZE = 1
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 = 20
193
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
194
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
195
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
196
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
197
local DAMAGEMULTIPLIER = 1
198
local ANIM = "Idle"
199
local ATTACK = false
200
local EQUIPPED = false
201
local HOLD = false
202
local COMBO = 1
203
local Rooted = false
204
local SINE = 0
205
local KEYHOLD = false
206
local CHANGE = 2 / Animation_Speed
207
local WALKINGANIM = false
208
local VALUE1 = false
209
local VALUE2 = false
210
local ROBLOXIDLEANIMATION = IT("Animation")
211
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
212
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
213
--ROBLOXIDLEANIMATION.Parent = Humanoid
214
local WEAPONGUI = IT("ScreenGui", PlayerGui)
215
WEAPONGUI.Name = "Weapon GUI"
216
local Effects = IT("Folder", Character)
217
Effects.Name = "Effects"
218
local ANIMATOR = Humanoid.Animator
219
local ANIMATE = Character.Animate
220
local UNANCHOR = true
221
local GHOSTS = {}
222
ANIMATE:remove()
223
Character.Archivable = true
224
script.Parent = WEAPONGUI
225
local GHOSTBASE = Character:Clone()
226
GHOSTBASE.Parent = nil
227
GHOSTBASE.Name = "Shingo"
228
for _, c in pairs(GHOSTBASE:GetChildren()) do
229
	if c.ClassName == "Part" and c.Transparency < 1 then
230
		c.Color = C3(0,0,0)
231
		if c.ClassName == "Accessory" or c.ClassName == "Hat" or c.ClassName == "CharacterMesh" or c.ClassName == "Shirt" or c.ClassName == "Pants" then
232
			c:remove()
233
		end
234
	end
235
end
236
local sick = Instance.new("Sound",Torso)
237
sick.SoundId = "rbxassetid://262950484"
238
sick.Looped = true
239
sick.Pitch = 1
240
sick.Volume = 3
241
sick:Play()
242
local Effects = IT("Folder", Character)
243
Effects.Name = "Effects"
244
Character.Archivable = false
245
246
--//=================================\\
247
--\\=================================//
248
249
local Player = game:service'Players'.LocalPlayer
250
repeat wait() until Player.Character
251
local Character = Player.Character
252
local Char, Plr = Character, Player
253
local Mouse = Player:GetMouse()
254
255
256
257
local Char = Plr.Character
258
local Hum = Char:FindFirstChildOfClass'Humanoid'
259
local RArm = Char["Right Arm"]
260
local LArm = Char["Left Arm"]
261
local RLeg = Char["Right Leg"]
262
local LLeg = Char["Left Leg"]	
263
local Root = Char:FindFirstChild'HumanoidRootPart'
264
local Torso = Char.Torso
265
local Head = Char.Head
266
267
Player = game.Players.LocalPlayer
268
	Character = Player.Character
269
	local txt = Instance.new("BillboardGui", Character)
270
	txt.Adornee = Character.Head
271
	txt.Name = "_status"
272
	txt.Size = UDim2.new(2, 0, 1.2, 0)
273
	txt.StudsOffset = Vector3.new(-9, 8, 0)
274
	local text = Instance.new("TextLabel", txt)
275
	text.Size = UDim2.new(10, 0, 7, 0)
276
	text.FontSize = "Size24"
277
	text.TextScaled = true
278
	text.TextTransparency = 0
279
	text.BackgroundTransparency = 1 
280
	text.TextTransparency = 0
281
	text.TextStrokeTransparency = 0
282
	text.Font = "SciFi"
283
	text.TextStrokeColor3 = Color3.new(170,0,0)
284
        text.Text = ""
285
286
287
288
	local face = Head:FindFirstChild'face'
289
	if(not face)then
290
		NewInstance("Decal",Head,{Name='face',Face=Enum.NormalId.Front,Texture="rbxassetid://1281412824"})
291
	else
292
		face.Texture = "rbxassetid://1281412824"
293
	end
294
295
--//=================================\\
296
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
297
--\\=================================//
298
299
ArtificialHB = Instance.new("BindableEvent", script)
300
ArtificialHB.Name = "ArtificialHB"
301
302
script:WaitForChild("ArtificialHB")
303
304
frame = Frame_Speed
305
tf = 0
306
allowframeloss = false
307
tossremainder = false
308
lastframe = tick()
309
script.ArtificialHB:Fire()
310
311
game:GetService("RunService").Heartbeat:connect(function(s, p)
312
	tf = tf + s
313
	if tf >= frame then
314
		if allowframeloss then
315
			script.ArtificialHB:Fire()
316
			lastframe = tick()
317
		else
318
			for i = 1, math.floor(tf / frame) do
319
				script.ArtificialHB:Fire()
320
			end
321
		lastframe = tick()
322
		end
323
		if tossremainder then
324
			tf = 0
325
		else
326
			tf = tf - frame * math.floor(tf / frame)
327
		end
328
	end
329
end)
330
331
--//=================================\\
332
--\\=================================//
333
Player_Name = game.Players.LocalPlayer.Name
334
Player = game.Players.LocalPlayer
335
	Character = Player.Character
336
	local txt = Instance.new("BillboardGui", Character)
337
	txt.Adornee = Character.Head
338
	txt.Name = "_status"
339
	txt.Size = UDim2.new(2, 0, 1.2, 0)
340
	txt.StudsOffset = Vector3.new(-9, 8, 0)
341
	local text = Instance.new("TextLabel", txt)
342
	text.Size = UDim2.new(10, 0, 7, 0)
343
	text.FontSize = "Size24"
344
	text.TextScaled = true
345
	text.TextTransparency = 0
346
	text.BackgroundTransparency = 1 
347
	text.TextTransparency = 0
348
	text.TextStrokeTransparency = 0
349
	text.Font = "Antique"
350
	text.TextStrokeColor3 = BrickColor.new("Magenta").Color
351
        text.Text = Player_Name.. " The King Of InSaNiTY"
352
353
warn("Edit made by maximum442 and SHYIME")
354
warn("We're still updating it")
355
warn("So if there is some problem contact me(maximum)")
356
warn("Frosty's discord is Frosty#2229")
357
warn("SHYIME's Discord is shimi#9518")
358
--//=================================\\
359
--|| 	      SOME FUNCTIONS
360
--\\=================================//
361
362
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
363
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
364
end
365
366
function PositiveAngle(NUMBER)
367
	if NUMBER >= 0 then
368
		NUMBER = 0
369
	end
370
	return NUMBER
371
end
372
373
function NegativeAngle(NUMBER)
374
	if NUMBER <= 0 then
375
		NUMBER = 0
376
	end
377
	return NUMBER
378
end
379
380
function Swait(NUMBER)
381
	if NUMBER == 0 or NUMBER == nil then
382
		ArtificialHB.Event:wait()
383
	else
384
		for i = 1, NUMBER do
385
			ArtificialHB.Event:wait()
386
		end
387
	end
388
end
389
390
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
391
	local NEWMESH = IT(MESH)
392
	if MESH == "SpecialMesh" then
393
		NEWMESH.MeshType = MESHTYPE
394
		if MESHID ~= "nil" and MESHID ~= "" then
395
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
396
		end
397
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
398
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
399
		end
400
	end
401
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
402
	NEWMESH.Scale = SCALE
403
	NEWMESH.Parent = PARENT
404
	return NEWMESH
405
end
406
407
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
408
	local NEWPART = IT("Part")
409
	NEWPART.formFactor = FORMFACTOR
410
	NEWPART.Reflectance = REFLECTANCE
411
	NEWPART.Transparency = TRANSPARENCY
412
	NEWPART.CanCollide = false
413
	NEWPART.Locked = true
414
	NEWPART.Anchored = true
415
	if ANCHOR == false then
416
		NEWPART.Anchored = false
417
	end
418
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
419
	NEWPART.Name = NAME
420
	NEWPART.Size = SIZE
421
	NEWPART.Position = Torso.Position
422
	NEWPART.Material = MATERIAL
423
	NEWPART:BreakJoints()
424
	NEWPART.Parent = PARENT
425
	return NEWPART
426
end
427
428
	local function weldBetween(a, b)
429
	    local weldd = Instance.new("ManualWeld")
430
	    weldd.Part0 = a
431
	    weldd.Part1 = b
432
	    weldd.C0 = CFrame.new()
433
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
434
	    weldd.Parent = a
435
	    return weldd
436
	end
437
438
439
function QuaternionFromCFrame(cf)
440
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
441
	local trace = m00 + m11 + m22
442
	if trace > 0 then 
443
		local s = math.sqrt(1 + trace)
444
		local recip = 0.5 / s
445
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
446
	else
447
		local i = 0
448
		if m11 > m00 then
449
			i = 1
450
		end
451
		if m22 > (i == 0 and m00 or m11) then
452
			i = 2
453
		end
454
		if i == 0 then
455
			local s = math.sqrt(m00 - m11 - m22 + 1)
456
			local recip = 0.5 / s
457
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
458
		elseif i == 1 then
459
			local s = math.sqrt(m11 - m22 - m00 + 1)
460
			local recip = 0.5 / s
461
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
462
		elseif i == 2 then
463
			local s = math.sqrt(m22 - m00 - m11 + 1)
464
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
465
		end
466
	end
467
end
468
 
469
function QuaternionToCFrame(px, py, pz, x, y, z, w)
470
	local xs, ys, zs = x + x, y + y, z + z
471
	local wx, wy, wz = w * xs, w * ys, w * zs
472
	local xx = x * xs
473
	local xy = x * ys
474
	local xz = x * zs
475
	local yy = y * ys
476
	local yz = y * zs
477
	local zz = z * zs
478
	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))
479
end
480
 
481
function QuaternionSlerp(a, b, t)
482
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
483
	local startInterp, finishInterp;
484
	if cosTheta >= 0.0001 then
485
		if (1 - cosTheta) > 0.0001 then
486
			local theta = ACOS(cosTheta)
487
			local invSinTheta = 1 / SIN(theta)
488
			startInterp = SIN((1 - t) * theta) * invSinTheta
489
			finishInterp = SIN(t * theta) * invSinTheta
490
		else
491
			startInterp = 1 - t
492
			finishInterp = t
493
		end
494
	else
495
		if (1 + cosTheta) > 0.0001 then
496
			local theta = ACOS(-cosTheta)
497
			local invSinTheta = 1 / SIN(theta)
498
			startInterp = SIN((t - 1) * theta) * invSinTheta
499
			finishInterp = SIN(t * theta) * invSinTheta
500
		else
501
			startInterp = t - 1
502
			finishInterp = t
503
		end
504
	end
505
	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
506
end
507
508
function Clerp(a, b, t)
509
	local qa = {QuaternionFromCFrame(a)}
510
	local qb = {QuaternionFromCFrame(b)}
511
	local ax, ay, az = a.x, a.y, a.z
512
	local bx, by, bz = b.x, b.y, b.z
513
	local _t = 1 - t
514
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
515
end
516
517
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
518
	local frame = IT("Frame")
519
	frame.BackgroundTransparency = TRANSPARENCY
520
	frame.BorderSizePixel = BORDERSIZEPIXEL
521
	frame.Position = POSITION
522
	frame.Size = SIZE
523
	frame.BackgroundColor3 = COLOR
524
	frame.BorderColor3 = BORDERCOLOR
525
	frame.Name = NAME
526
	frame.Parent = PARENT
527
	return frame
528
end
529
530
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
531
	local label = IT("TextLabel")
532
	label.BackgroundTransparency = 1
533
	label.Size = UD2(1, 0, 1, 0)
534
	label.Position = UD2(0, 0, 0, 0)
535
	label.TextColor3 = TEXTCOLOR
536
	label.TextStrokeTransparency = STROKETRANSPARENCY
537
	label.TextTransparency = TRANSPARENCY
538
	label.FontSize = TEXTFONTSIZE
539
	label.Font = TEXTFONT
540
	label.BorderSizePixel = BORDERSIZEPIXEL
541
	label.TextScaled = false
542
	label.Text = TEXT
543
	label.Name = NAME
544
	label.Parent = PARENT
545
	return label
546
end
547
548
function NoOutlines(PART)
549
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
550
end
551
552
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
553
	local NEWWELD = IT(TYPE)
554
	NEWWELD.Part0 = PART0
555
	NEWWELD.Part1 = PART1
556
	NEWWELD.C0 = C0
557
	NEWWELD.C1 = C1
558
	NEWWELD.Parent = PARENT
559
	return NEWWELD
560
end
561
562
local S = IT("Sound")
563
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
564
	local NEWSOUND = nil
565
	coroutine.resume(coroutine.create(function()
566
		NEWSOUND = S:Clone()
567
		NEWSOUND.Parent = PARENT
568
		NEWSOUND.Volume = VOLUME
569
		NEWSOUND.Pitch = PITCH
570
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
571
		NEWSOUND:play()
572
		if DOESLOOP == true then
573
			NEWSOUND.Looped = true
574
		else
575
			repeat wait(1) until NEWSOUND.Playing == false
576
			NEWSOUND:remove()
577
		end
578
	end))
579
	return NEWSOUND
580
end
581
582
function CFrameFromTopBack(at, top, back)
583
	local right = top:Cross(back)
584
	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)
585
end
586
587
--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(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
588
function WACKYEFFECT(Table)
589
	local TYPE = (Table.EffectType or "Sphere")
590
	local SIZE = (Table.Size or VT(1,1,1))
591
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
592
	local TRANSPARENCY = (Table.Transparency or 0)
593
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
594
	local CFRAME = (Table.CFrame or Torso.CFrame)
595
	local MOVEDIRECTION = (Table.MoveToPos or nil)
596
	local ROTATION1 = (Table.RotationX or 0)
597
	local ROTATION2 = (Table.RotationY or 0)
598
	local ROTATION3 = (Table.RotationZ or 0)
599
	local MATERIAL = (Table.Material or "Neon")
600
	local COLOR = (Table.Color or C3(0,0,0))
601
	local TIME = (Table.Time or 45)
602
	local SOUNDID = (Table.SoundID or nil)
603
	local SOUNDPITCH = (Table.SoundPitch or nil)
604
	local SOUNDVOLUME = (Table.SoundVolume or nil)
605
	coroutine.resume(coroutine.create(function()
606
		local PLAYSSOUND = false
607
		local SOUND = nil
608
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
609
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
610
			PLAYSSOUND = true
611
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
612
		end
613
		EFFECT.Color = COLOR
614
		local MSH = nil
615
		if TYPE == "Sphere" then
616
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
617
		elseif TYPE == "Block" then
618
			MSH = IT("BlockMesh",EFFECT)
619
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
620
		elseif TYPE == "Wave" then
621
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
622
		elseif TYPE == "Ring" then
623
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
624
		elseif TYPE == "Slash" then
625
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
626
		elseif TYPE == "Round Slash" then
627
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
628
		elseif TYPE == "Swirl" then
629
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
630
		elseif TYPE == "Skull" then
631
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
632
		elseif TYPE == "Crystal" then
633
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
634
		end
635
		if MSH ~= nil then
636
			local MOVESPEED = nil
637
			if MOVEDIRECTION ~= nil then
638
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
639
			end
640
			local GROWTH = SIZE - ENDSIZE
641
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
642
			if TYPE == "Block" then
643
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
644
			else
645
				EFFECT.CFrame = CFRAME
646
			end
647
			for LOOP = 1, TIME+1 do
648
				Swait()
649
				MSH.Scale = MSH.Scale - GROWTH/TIME
650
				if TYPE == "Wave" then
651
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
652
				end
653
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
654
				if TYPE == "Block" then
655
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
656
				else
657
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
658
				end
659
				if MOVEDIRECTION ~= nil then
660
					local ORI = EFFECT.Orientation
661
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
662
					EFFECT.Orientation = ORI
663
				end
664
			end
665
			if PLAYSSOUND == false then
666
				EFFECT:remove()
667
			else
668
				SOUND.Stopped:Connect(function()
669
					EFFECT:remove()
670
				end)
671
			end
672
		else
673
			if PLAYSSOUND == false then
674
				EFFECT:remove()
675
			else
676
				repeat Swait() until SOUND.Playing == false
677
				EFFECT:remove()
678
			end
679
		end
680
	end))
681
end
682
683
function MakeForm(PART,TYPE)
684
	if TYPE == "Cyl" then
685
		local MSH = IT("CylinderMesh",PART)
686
	elseif TYPE == "Ball" then
687
		local MSH = IT("SpecialMesh",PART)
688
		MSH.MeshType = "Sphere"
689
	elseif TYPE == "Wedge" then
690
		local MSH = IT("SpecialMesh",PART)
691
		MSH.MeshType = "Wedge"
692
	end
693
end
694
695
Debris = game:GetService("Debris")
696
697
function CastProperRay(StartPos, EndPos, Distance, Ignore)
698
	local DIRECTION = CF(StartPos,EndPos).lookVector
699
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
700
end
701
702
function Kill(Char)
703
	local NewCharacter = IT("Model",Effects)
704
	NewCharacter.Name = "rekt player"
705
	for _, c in pairs(Char:GetDescendants()) do
706
		if c:IsA("BasePart") and c.Transparency == 0 then
707
			if c.Parent == Char then
708
				getbloody(c,5)
709
			end
710
			c:BreakJoints()
711
			c.Material = "Glass"
712
			c.Color = C3(0,0,0)
713
			c.CanCollide = false
714
			c.Transparency = 0.005
715
			if c:FindFirstChildOfClass("SpecialMesh") then
716
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
717
			end
718
			if c.Name == "Head" then
719
				c:ClearAllChildren()
720
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
721
			end
722
			if c.ClassName == "MeshPart" then
723
				c.TextureID = ""
724
			end
725
			if c:FindFirstChildOfClass("BodyPosition") then
726
				c:FindFirstChildOfClass("BodyPosition"):remove()
727
			end
728
			if c:FindFirstChildOfClass("ParticleEmitter") then
729
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
730
			end
731
			c.Parent = NewCharacter
732
			c.Name = "DeadPart"
733
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
734
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
735
		end
736
	end
737
	Char:remove()
738
	Debris:AddItem(NewCharacter,5)
739
end
740
741
function ApplyAoE(POSITION,RANGE,BRUTAL)
742
	local CHILDREN = workspace:GetDescendants()
743
	for index, CHILD in pairs(CHILDREN) do
744
		if CHILD.ClassName == "Model" and CHILD ~= Character then
745
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
746
			if HUM then
747
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
748
				if TORSO then
749
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
750
						if BRUTAL == true then
751
							Kill(CHILD)
752
						else
753
							CHILD:BreakJoints()
754
						end
755
					end
756
				end
757
			end
758
		end
759
	end
760
end
761
762
function Morning_Star()
763
	ATTACK = true
764
	Rooted = true
765
	for i=0, 1, 0.1 / Animation_Speed do
766
		Swait()
767
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
768
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
769
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
770
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
771
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
772
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
773
	end	
774
	coroutine.resume(coroutine.create(function()
775
		local POS = Mouse.Hit.p
776
		local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Royal purple", "Strike", VT(0,2000,0))
777
		MakeForm(RAY,"Cyl")
778
		local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Royal purple", "Strike", VT(0,0,0))
779
		MakeForm(SPHERE,"Ball")
780
		local SHIELD = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,0,0))
781
		MakeForm(SHIELD,"Ball")
782
		SHIELD.CFrame = CF(POS)
783
		RAY.CFrame = CF(POS)
784
		SPHERE.CFrame = CF(POS)
785
		CreateSound(440145570, SPHERE, 10, 0.8, false)
786
		CreateSound(415700134, SPHERE, 10, 0.8, false)
787
		for i = 1, 200 do
788
			Swait()
789
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*1.2,5+(i),SPHERE.Size.X*1.2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(0), RAD(i), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
790
			RAY.Size = RAY.Size + VT(0.05,0,0.05)
791
			SPHERE.Size = SPHERE.Size + VT(2,2,2)
792
			SHIELD.Size = SPHERE.Size + VT(3,3,3)
793
			ApplyAoE(SPHERE.Position,SPHERE.Size.X/2,true)
794
		end	
795
		for i = 1, 45 do
796
			Swait()
797
			RAY.Transparency = RAY.Transparency + 1/45
798
			SPHERE.Transparency = RAY.Transparency 
799
			SHIELD.Transparency = SPHERE.Transparency + 1/45
800
		end
801
		RAY:remove()
802
		SHIELD:remove()
803
		SPHERE:remove()
804
	end))
805
	for i=0, 1, 0.1 / Animation_Speed do
806
		Swait()
807
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
808
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
809
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(-45), RAD(85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
810
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(45), RAD(-85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
811
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
812
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
813
	end
814
	ATTACK = false
815
	Rooted = false
816
end
817
818
function Prison_Key()
819
	if Mouse.Target ~= nil then
820
		if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
821
			local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
822
			local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
823
			local GYRO = IT("BodyGyro",RootPart)
824
			GYRO.D = 750
825
			GYRO.P = 20000
826
			GYRO.MaxTorque = VT(0,40000000,0)
827
			local grav = Instance.new("BodyPosition",TORSO)
828
			grav.D = 15
829
			grav.P = 20000
830
			grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
831
			grav.position = TORSO.Position
832
			local GYRO2 = IT("BodyGyro",TORSO)
833
			GYRO2.D = 750
834
			GYRO2.P = 20000
835
			GYRO2.MaxTorque = VT(0,40000000,0)
836
			GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
837
			grav.Name = "Jail"
838
			local LOCKPARTS = {}
839
			ATTACK = true
840
			Rooted = false
841
			local LOCK = IT("Model",Effects)
842
			LOCK.Name = "Lock"
843
			local LOCK2 = IT("Model",LOCK)
844
			LOCK2.Name = "Metal"
845
			--CREATE LOCK--
846
				local BASE = CreatePart(3, LOCK, "Glass", 0, 0, "Gray", "Keylock", VT(3, 2.5, 1))
847
				LOCK.PrimaryPart = BASE
848
				BASE.CFrame = CF(TORSO.Position,RootPart.Position)*CF(0,0,-4)
849
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "Gray", "Keylock", VT(3, 1, 3))
850
				PRT.CFrame = BASE.CFrame*CF(0,-1.25,0)*ANGLES(RAD(90),RAD(0),RAD(0))
851
				MakeForm(PRT,"Cyl")
852
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(1, 1, 1))
853
				PRT.Color = C3(0,0,0)
854
				PRT.CFrame = BASE.CFrame*CF(0,0.3,-0.01)*ANGLES(RAD(90),RAD(0),RAD(0))
855
				MakeForm(PRT,"Cyl")
856
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(0.5, 1, 1))
857
				PRT.Color = C3(0,0,0)
858
				PRT.CFrame = BASE.CFrame*CF(0,-0.2,-0.01)
859
				for i = 1, 45 do
860
					local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
861
					PRT.CFrame = BASE.CFrame*CF(0,2,0)*ANGLES(RAD(0),RAD(0),RAD(-90+(360/90*i)))*CF(0,1,0)
862
				end
863
				local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
864
				PRT.CFrame = BASE.CFrame*CF(0,1.5,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0)
865
				LOCK2.PrimaryPart = PRT
866
			---------------
867
			local CHILDREN = LOCK:GetDescendants()
868
			for index, CHILD in pairs(CHILDREN) do
869
				if CHILD:IsA("BasePart") then
870
					CHILD.Transparency = 1
871
				end
872
			end
873
			for i = 1, 75 do
874
				LOCK:SetPrimaryPartCFrame(CF(TORSO.Position,RootPart.Position)*CF(0,0,-4))
875
				Swait()
876
				GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
877
				GYRO.cframe = CF(RootPart.Position,TORSO.Position)
878
				local CHILDREN = LOCK:GetDescendants()
879
				for index, CHILD in pairs(CHILDREN) do
880
					if CHILD:IsA("BasePart") then
881
						CHILD.Transparency = CHILD.Transparency - 1/75
882
					end
883
				end
884
			end
885
			HUM.DisplayDistanceType = "None"
886
			local KEY = IT("Model",Effects)
887
			KEY.Name = "Key"
888
			--CREATE KEY--
889
				local KBASE = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "KeyBase", VT(0.1, 1, 0.1),false)
890
				KEY.PrimaryPart = KBASE
891
				KBASE.CFrame = RightArm.CFrame*CF(0,-2.1,0)*ANGLES(RAD(0),RAD(90),RAD(0))
892
				local WLD = weldBetween(RightArm,KBASE)
893
				for i = 1, 45 do
894
					local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.1, 0.1, 0.1),false)
895
					PRT.CFrame = KBASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD((360/45*i)))*CF(0,0.25,0)
896
					weldBetween(KBASE,PRT)
897
				end
898
				local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.3, 0.1, 0.1),false)
899
				PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.45,0)
900
				weldBetween(KBASE,PRT)
901
				local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.3, 0.1, 0.1),false)
902
				PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.25,0)
903
				weldBetween(KBASE,PRT)
904
			--------------
905
			Rooted = true
906
			Pose("Prepare key",1.5,1.2,false,GYRO,TORSO)
907
			coroutine.resume(coroutine.create(function()
908
				for i = 1, 10 do
909
					Swait()
910
					GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
911
					GYRO.cframe = CF(RootPart.Position,TORSO.Position)
912
				end
913
				CreateSound(1149318312,BASE,5,1,false)
914
				CreateSound(160772554,BASE,3,1,false)
915
				LOCK2:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0))
916
				for i = 1, 4 do
917
					WACKYEFFECT({Time = 35, EffectType = "Crystal", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(1,1.45,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
918
				end
919
				WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1)*25, Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
920
				wait(1)
921
				TORSO.Parent.Parent = LOCK
922
				for i = 1, 75 do
923
					Swait()
924
					local CHILDREN = KEY:GetDescendants()
925
					for index, CHILD in pairs(CHILDREN) do
926
						if CHILD:IsA("BasePart") then
927
							CHILD.Transparency = i/25
928
						end
929
					end
930
					local CHILDREN = LOCK:GetDescendants()
931
					for index, CHILD in pairs(CHILDREN) do
932
						if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
933
							CHILD.Transparency = CHILD.Transparency + 1/75
934
						elseif CHILD.ClassName == "Decal" then
935
							CHILD.Transparency = CHILD.Transparency + 1/75
936
						end
937
					end
938
				end
939
				TORSO.Parent:ClearAllChildren()
940
				KEY:remove()
941
				LOCK:remove()
942
			end))
943
			Pose("Turn key",0.8,1.2,false,GYRO,TORSO)
944
			GYRO:remove()
945
			ATTACK = false
946
			Rooted = false
947
		end
948
	end
949
end
950
951
local HATWELD = nil
952
function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
953
	PLAYMAINANIMINANIM = false
954
	if WhichPose == "Cast1" then
955
		for i=0, Time, 0.1 / Animation_Speed do
956
			Swait()
957
			if Magic == true then
958
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
959
			end
960
			if Gyro ~= nil and Gyro ~= false then
961
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
962
			end
963
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
964
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
965
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
966
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
967
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
968
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
969
		end
970
	elseif WhichPose == "Cast2" then
971
		for i=0, Time, 0.1 / Animation_Speed do
972
			Swait()
973
			if Magic == true then
974
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
975
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
976
			end
977
			if Gyro ~= nil and Gyro ~= false then
978
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
979
			end
980
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
981
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
982
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
983
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
984
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
985
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
986
		end
987
	elseif WhichPose == "RightArmUp" then
988
		for i=0, Time, 0.1 / Animation_Speed do
989
			Swait()
990
			if Magic == true then
991
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
992
			end
993
			if Gyro ~= nil and Gyro ~= false then
994
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
995
			end
996
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
997
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
998
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
999
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
1000
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
1001
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
1002
		end
1003
	elseif WhichPose == "Taunt" then
1004
		for i=0, Time, 0.1 / Animation_Speed do
1005
			Swait()
1006
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
1007
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
1008
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
1009
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
1010
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
1011
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
1012
		end
1013
		HATWELD.Part0 = RightArm
1014
		HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
1015
		CreateSound(221057812,Torso,10,1,false)
1016
		for i=0, Time*2, 0.1 / Animation_Speed do
1017
			Swait()
1018
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
1019
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
1020
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
1021
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
1022
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
1023
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
1024
		end
1025
		for i=0, Time, 0.1 / Animation_Speed do
1026
			Swait()
1027
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
1028
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
1029
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
1030
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
1031
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
1032
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
1033
			HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
1034
		end
1035
		HATWELD.Part0 = Head
1036
		HATWELD.C0 = CF(0,0.35,0)
1037
	elseif WhichPose == "Prepare key" then
1038
		for i=0, Time, 0.1 / Animation_Speed do
1039
			Swait()
1040
			if Gyro ~= nil and Gyro ~= false then
1041
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
1042
			end
1043
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
1044
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
1045
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
1046
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
1047
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
1048
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
1049
		end
1050
	elseif WhichPose == "Turn key" then
1051
		for i=0, Time, 0.1 / Animation_Speed do
1052
			Swait()
1053
			if Gyro ~= nil and Gyro ~= false then
1054
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
1055
			end
1056
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
1057
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
1058
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
1059
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
1060
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
1061
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
1062
		end
1063
	end
1064
	PLAYMAINANIM = true
1065
end
1066
1067
function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH,DOES360)
1068
	if FLOOR ~= nil then
1069
		for i = 1, AMOUNT do
1070
			local DEBREE = CreatePart(3, Effects, "Neon", 0, 0, "Peal", "Debree", BLOCKSIZE, false)
1071
			DEBREE.Material = FLOOR.Material
1072
			DEBREE.Color = FLOOR.Color
1073
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
1074
			if DOES360 == true then
1075
				DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
1076
			else
1077
				DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),STRENGTH,MRANDOM(-STRENGTH,STRENGTH))
1078
			end
1079
			coroutine.resume(coroutine.create(function()
1080
				Swait(15)
1081
				DEBREE.Parent = workspace
1082
				DEBREE.CanCollide = true
1083
				Debris:AddItem(DEBREE,SWAIT)
1084
			end))
1085
		end
1086
	end
1087
end
1088
1089
function SpawnTrail(FROM,TO)
1090
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Pearl", "Arrow", VT(0,0,0))
1091
	MakeForm(TRAIL,"Cyl")
1092
	local DIST = (FROM - TO).Magnitude
1093
	TRAIL.Size = VT(0.1,DIST,0.1)
1094
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
1095
	coroutine.resume(coroutine.create(function()
1096
		for i = 1, 5 do
1097
			Swait()
1098
			TRAIL.Transparency = TRAIL.Transparency + 0.1
1099
		end
1100
		TRAIL:remove()
1101
	end))
1102
end
1103
1104
local Decal = IT("Decal")
1105
function SpawnBulletHole(POSITION)
1106
	local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Magenta", "Bullet hole", VT(0.2,0,0.2))
1107
	local decal = Decal:Clone()
1108
	decal.Parent = O1
1109
	decal.Face = "Top"
1110
	decal.Texture = "http://www.roblox.com/asset/?id=130624105"
1111
	local decal2 = Decal:Clone()
1112
	decal2.Parent = O1
1113
	decal2.Face = "Bottom"
1114
	decal2.Texture = "http://www.roblox.com/asset/?id=130624105"
1115
	O1.CFrame = POSITION*ANGLES(RAD(0),RAD(MRANDOM(-180,180)),RAD(0))
1116
	Debris:AddItem(O1,5)
1117
end
1118
1119
local asd = Instance.new("ParticleEmitter")
1120
asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.5, 0, 0))
1121
asd.LightEmission = .1
1122
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
1123
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 2)})
1124
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
1125
asd.Transparency = bbb
1126
asd.Size = aaa
1127
asd.ZOffset = .9
1128
asd.Acceleration = Vector3.new(0, -15, 0)
1129
asd.LockedToPart = false
1130
asd.EmissionDirection = "Back"
1131
asd.Lifetime = NumberRange.new(1, 2)
1132
asd.Rotation = NumberRange.new(-100, 100)
1133
asd.RotSpeed = NumberRange.new(-100, 100)
1134
asd.Speed = NumberRange.new(10)
1135
asd.Enabled = false
1136
asd.VelocitySpread = 999
1137
1138
function getbloody(victim,amount)
1139
	local PART = IT("Part",Effects)
1140
	PART.Transparency = 1
1141
	PART.Size = victim.Size
1142
	PART.Anchored = true
1143
	PART.CanCollide = false
1144
	PART.CFrame = CF(victim.Position)
1145
	local HITPLAYERSOUNDS = {"356551938","264486467"}
1146
	Debris:AddItem(PART,5)
1147
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1148
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1149
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1150
	local prtcl = asd:Clone()
1151
	prtcl.Parent = PART
1152
	prtcl:Emit(amount*10)
1153
end
1154
1155
function BulletDetection(FROM,TO)
1156
	local AIMHIT,AIMPOS,NORMAL = CastProperRay(FROM,TO,2000,Character)
1157
	coroutine.resume(coroutine.create(function()
1158
		if AIMHIT ~= nil then
1159
			if AIMHIT.Parent ~= Character then
1160
				if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1161
					if AIMHIT.Name ~= "Head" and AIMHIT.Parent.ClassName ~= "Accessory" then
1162
						ApplyDamage(AIMHIT.Parent:FindFirstChildOfClass("Humanoid"),MRANDOM(15,25),AIMHIT)
1163
					elseif AIMHIT.Name == "Head" or AIMHIT.Parent.ClassName == "Accessory" then
1164
						if AIMHIT.Parent.ClassName == "Accessory" then
1165
							if AIMHIT:FindFirstChild("HatAttachment") or AIMHIT:FindFirstChild("FaceFrontAttachment") or AIMHIT:FindFirstChild("HairAttachment") then
1166
								AIMHIT.Parent.Parent:BreakJoints()
1167
								if AIMHIT.Parent.Parent:FindFirstChild("Head") then
1168
									getbloody(AIMHIT.Parent.Parent.Head,15)
1169
									AIMHIT.Parent.Parent.Head:remove()
1170
									StatLabel(AIMHIT.CFrame * CF(0, 0 + (AIMHIT.Size.z - 1), 0), "Headshot!", C3(0,0,0))
1171
								end
1172
							else
1173
								ApplyDamage(AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid"),MRANDOM(25,65),AIMHIT)
1174
							end
1175
						elseif AIMHIT.Name == "Head" then
1176
							getbloody(AIMHIT,15)
1177
							AIMHIT.Parent:BreakJoints()
1178
							AIMHIT:remove()
1179
							StatLabel(AIMHIT.CFrame * CF(0, 0 + (AIMHIT.Size.z - 1), 0), "Headshot!", C3(0,0,0))
1180
						end
1181
					end
1182
				else
1183
					CreateFlyingDebree(AIMHIT,CF(AIMPOS),7,VT(0.1,0.1,0.1),5,35,true)
1184
					SpawnBulletHole(CF(AIMPOS,AIMPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0)))
1185
				end
1186
			end
1187
		end
1188
	end))
1189
	return AIMHIT,AIMPOS,NORMAL
1190
end
1191
1192
1193
function Shatter(Part)
1194
	if Part.Transparency == 0 then
1195
		local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, Part.BrickColor, "OOF", VT(0,0,0))
1196
		Debris:AddItem(SOUNDPART,5)
1197
		CreateSound("84005018", SOUNDPART, 3, MRANDOM(8,12)/10, false)
1198
		local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
1199
		local SIZESET = SIZE/4
1200
		local XOffset = Part.Size.X*1.5/SIZESET
1201
		local YOffset = Part.Size.Y*1.5/SIZESET
1202
		local ZOffset = Part.Size.Z*1.5/SIZESET
1203
		for x = 1, math.ceil(XOffset) do
1204
			for y = 1, math.ceil(YOffset) do
1205
				for z = 1, math.ceil(ZOffset) do
1206
					local SHARD = CreatePart(3, Effects, "Neon", 0, 0, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
1207
					SHARD.CanCollide = true
1208
					SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-x/4),(Part.Size.Y/2-y/4),(Part.Size.Z/2-z/4))
1209
					SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
1210
					Debris:AddItem(SHARD,MRANDOM(10,25)/3)
1211
				end
1212
			end
1213
		end
1214
	end
1215
	Part:remove()
1216
end
1217
1218
function MakeForm(PART,TYPE)
1219
	if TYPE == "Cyl" then
1220
		local MSH = IT("CylinderMesh",PART)
1221
	elseif TYPE == "Ball" then
1222
		local MSH = IT("SpecialMesh",PART)
1223
		MSH.MeshType = "Sphere"
1224
	elseif TYPE == "Wedge" then
1225
		local MSH = IT("SpecialMesh",PART)
1226
		MSH.MeshType = "Wedge"
1227
	end
1228
end
1229
1230
Debris = game:GetService("Debris")
1231
1232
function CastProperRay(StartPos, EndPos, Distance, Ignore)
1233
	local DIRECTION = CF(StartPos,EndPos).lookVector
1234
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
1235
end
1236
1237
function turnto(position)
1238
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1239
end
1240
1241
1242
function MakeForm(PART,TYPE)
1243
	if TYPE == "Cyl" then
1244
		local MSH = IT("CylinderMesh",PART)
1245
	elseif TYPE == "Ball" then
1246
		local MSH = IT("SpecialMesh",PART)
1247
		MSH.MeshType = "Sphere"
1248
	elseif TYPE == "Wedge" then
1249
		local MSH = IT("SpecialMesh",PART)
1250
		MSH.MeshType = "Wedge"
1251
	end
1252
end
1253
1254
Debris = game:GetService("Debris")
1255
1256
function CastProperRay(StartPos, EndPos, Distance, Ignore)
1257
	local DIRECTION = CF(StartPos,EndPos).lookVector
1258
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
1259
end
1260
1261
function turnto(position)
1262
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1263
end
1264
1265
1266
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
1267
	if FLOOR ~= nil then
1268
		coroutine.resume(coroutine.create(function()
1269
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
1270
			PART.CFrame = CF(POSITION)
1271
			for i = 1, 45 do
1272
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
1273
				RingPiece.Material = FLOOR.Material
1274
				RingPiece.Color = FLOOR.Color
1275
				RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
1276
				Debris:AddItem(RingPiece,SWAIT)
1277
			end
1278
			PART:remove()
1279
		end))
1280
	end
1281
end
1282
1283
function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
1284
	if FLOOR ~= nil then
1285
		for i = 1, AMOUNT do
1286
			local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
1287
			DEBREE.Material = FLOOR.Material
1288
			DEBREE.Color = FLOOR.Color
1289
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
1290
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
1291
			coroutine.resume(coroutine.create(function()
1292
				Swait(15)
1293
				DEBREE.Parent = workspace
1294
				DEBREE.CanCollide = true
1295
				Debris:AddItem(DEBREE,SWAIT)
1296
			end))
1297
		end
1298
	end
1299
end
1300
1301
1302
1303
--//=================================\\
1304
--||	     WEAPON CREATION
1305
--\\=================================//
1306
1307
for i = 1, 35 do
1308
	local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Dark stone grey", "FaceGradient", VT(0,0,0),false)
1309
	FACE.Color = C3(0,0,0)
1310
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
1311
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
1312
end
1313
local EYE = CreatePart(3, Character, "Neon", 0, 0, "Royal purple", "Eyeball", VT(0,0,0),false)
1314
MakeForm(EYE,"Ball")
1315
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
1316
local EYE2 = CreatePart(3, Character, "Neon", 0, 0, "Royal purple", "Eyeball", VT(0.25,0.25,0.25),false)
1317
MakeForm(EYE2,"Ball")
1318
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE2, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
1319
local Gun = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Royal purple", "Gun", VT(0, 0, 0),false)
1320
local HandleMesh = CreateMesh("SpecialMesh", Gun, "FileMesh", "430070098", "154987811", VT(0.05,0.05,0.05), VT(0,0, 0))
1321
local Weld = CreateWeldOrSnapOrMotor("Weld", Gun, RightArm, Gun, CF(0, -1.8, -0.2) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
1322
1323
local BODY = {}
1324
1325
for _, c in pairs(Character:GetDescendants()) do
1326
	if c:IsA("BasePart") and c.Name ~= "Handle" then
1327
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
1328
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1329
		end
1330
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
1331
	elseif c:IsA("JointInstance") then
1332
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
1333
	end
1334
end
1335
1336
for e = 1, #BODY do
1337
	if BODY[e] ~= nil then
1338
		local STUFF = BODY[e]
1339
		local PART = STUFF[1]
1340
		local PARENT = STUFF[2]
1341
		local MATERIAL = STUFF[3]
1342
		local COLOR = STUFF[4]
1343
		local TRANSPARENCY = STUFF[5]
1344
		if PART.ClassName == "Part" and PART ~= RootPart then
1345
			PART.Material = MATERIAL
1346
			PART.Color = COLOR
1347
			PART.Transparency = TRANSPARENCY
1348
		end
1349
		PART.AncestryChanged:Connect(function()
1350
			PART.Parent = PARENT
1351
		end)
1352
	end
1353
end
1354
1355
function refit()
1356
	Character.Parent = workspace
1357
	for e = 1, #BODY do
1358
		if BODY[e] ~= nil then
1359
			local STUFF = BODY[e]
1360
			local PART = STUFF[1]
1361
			local PARENT = STUFF[2]
1362
			local MATERIAL = STUFF[3]
1363
			local COLOR = STUFF[4]
1364
			local TRANSPARENCY = STUFF[5]
1365
			if PART.ClassName == "Part" and PART ~= RootPart then
1366
				PART.Material = MATERIAL
1367
				PART.Color = COLOR
1368
				PART.Transparency = TRANSPARENCY
1369
			end
1370
			if PART.Parent ~= PARENT then
1371
				Humanoid:remove()
1372
				PART.Parent = PARENT
1373
				Humanoid = IT("Humanoid",Character)
1374
			end
1375
		end
1376
	end
1377
end
1378
1379
local SKILLTEXTCOLOR = BrickColor.new("Magenta").Color
1380
local SKILLFONT = "SciFi"
1381
local SKILLTEXTSIZE = 7
1382
1383
Humanoid.Died:connect(function()
1384
	refit()
1385
end)
1386
1387
function Blink()
1388
	coroutine.resume(coroutine.create(function()
1389
		if EYE ~= nil then
1390
			for i = 1, 5 do
1391
				Swait()
1392
				EYE.Mesh.Scale = EYE.Mesh.Scale - VT(0,0.2,0)
1393
				EYE2.Mesh.Scale = EYE.Mesh.Scale
1394
			end
1395
			for i = 1, 7 do
1396
				Swait()
1397
				EYE.Mesh.Scale = EYE.Mesh.Scale + VT(0,0.2,0)
1398
				EYE2.Mesh.Scale = EYE.Mesh.Scale
1399
			end
1400
			EYE.Mesh.Scale = VT(1,1,1)
1401
			EYE2.Mesh.Scale = EYE.Mesh.Scale
1402
		end
1403
	end))
1404
end
1405
1406
local AMMO1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.80, 0), UD2(0.07, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Ammo 1 Frame")
1407
local AMMO2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.80, 0), UD2(0.07, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Ammo 2 Frame")
1408
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
1409
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
1410
1411
local SKILL3TEXT = CreateLabel(SKILL1FRAME, "press [Z] to troll people", C3(0,0,0), 7, SKILLFONT, 0, 2, 1, "Text 3")
1412
local SKILL4TEXT = CreateLabel(SKILL2FRAME, "press [X] to pay jason respect", C3(0,0,0), 7, "SciFi", 0, 2, 1, "Text 4")
1413
1414
local AMMOIMAGE2 = IT("ImageLabel",AMMO2FRAME)
1415
AMMOIMAGE2.Size = UD2(1,0,1,0)
1416
AMMOIMAGE2.BackgroundTransparency = 1
1417
AMMOIMAGE2.BorderSizePixel = 0
1418
AMMOIMAGE2.Image = "http://www.roblox.com/asset/?id=923773583"
1419
1420
for i = 1, 35 do
1421
	local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Magenta", "FaceGradient", VT(1.01,0.5,1.01),false)
1422
	FACE.Color = BrickColor.new("Magenta").Color
1423
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
1424
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
1425
end
1426
1427
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.6,0.1,1)/2,false)
1428
MakeForm(Eye,"Ball")
1429
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
1430
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.6,0.1,1)/2,false)
1431
MakeForm(Eye,"Ball")
1432
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
1433
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.1,1,1)/2,false)
1434
MakeForm(Eye,"Ball")
1435
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
1436
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.1,1,1)/2,false)
1437
MakeForm(Eye,"Ball")
1438
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
1439
1440
local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(1.01,0.3,1.01),false)
1441
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BasePart, CF(0, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1442
for i = 1, 3 do
1443
	local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.2,1.02,0.2),false)
1444
	CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0, 0, 0.6-0.3*i) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
1445
	MakeForm(Part,"Cyl")
1446
end
1447
for i = 1, 3 do
1448
	local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.2,1.02,0.2),false)
1449
	CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.6-0.3*i, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(90)), CF(0, 0, 0))
1450
	MakeForm(Part,"Cyl")
1451
end
1452
local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.51,0.6,0.25),false)
1453
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(-0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(90), RAD(180)), CF(0, 0, 0))
1454
MakeForm(Part,"Wedge")
1455
local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.51,0.6,0.25),false)
1456
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(-90), RAD(180)), CF(0, 0, 0))
1457
MakeForm(Part,"Wedge")
1458
local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
1459
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(-0.125/2.3, -0.25, -0.25) * ANGLES(RAD(0), RAD(90), RAD(180)), CF(0, 0, 0))
1460
MakeForm(Part,"Wedge")
1461
local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
1462
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.125/2.3, -0.25, -0.25) * ANGLES(RAD(0), RAD(-90), RAD(180)), CF(0, 0, 0))
1463
MakeForm(Part,"Wedge")
1464
1465
1466
1467
local HAT1 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(2,0.2,2),false)
1468
MakeForm(HAT1,"Cyl")
1469
HATWELD = CreateWeldOrSnapOrMotor("Weld", Head, Head, HAT1, CF(0,0.35,0), CF(0, 0, 0))
1470
local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(2.01,0.15,2.01),false)
1471
BELT.Color = BrickColor.new("Magenta").Color
1472
MakeForm(BELT,"Cyl")
1473
CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, BELT, CF(0,0,0), CF(0, 0, 0))
1474
local HAT2 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(1.3,2.2,1.3),false)
1475
MakeForm(HAT2,"Cyl")
1476
CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, HAT2, CF(0,1.1,0), CF(0, 0, 0))
1477
local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(1.31,0.2,1.31),false)
1478
BELT.Color = BrickColor.new("Magenta").Color
1479
MakeForm(BELT,"Cyl")
1480
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0,0), CF(0, 0, 0))
1481
local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.25,0.25,0.1),false)
1482
MakeForm(GEM,"Ball")
1483
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,-BELT.Size.X/2), CF(0, 0, 0))
1484
local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.25,0.25,0.1),false)
1485
MakeForm(GEM,"Ball")
1486
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,BELT.Size.X/2), CF(0, 0, 0))
1487
local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.1,0.25,0.25),false)
1488
MakeForm(GEM,"Ball")
1489
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(-BELT.Size.X/2,0,0), CF(0, 0, 0))
1490
local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.1,0.25,0.25),false)
1491
MakeForm(GEM,"Ball")
1492
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(BELT.Size.X/2,0,0), CF(0, 0, 0))
1493
          
1494
1495
1496
1497
1498
--//=================================\\
1499
--||	     DAMAGE FUNCTIONS
1500
--\\=================================//
1501
1502
function StatLabel(CFRAME, TEXT, COLOR)
1503
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
1504
	STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
1505
	local BODYGYRO = IT("BodyGyro", STATPART)
1506
	game:GetService("Debris"):AddItem(STATPART ,5)
1507
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
1508
	BILLBOARDGUI.Adornee = STATPART
1509
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
1510
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
1511
	BILLBOARDGUI.AlwaysOnTop = false
1512
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
1513
	TEXTLABEL.BackgroundTransparency = 1
1514
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
1515
	TEXTLABEL.Text = TEXT
1516
	TEXTLABEL.Font = SKILLFONT
1517
	TEXTLABEL.FontSize="Size42"
1518
	TEXTLABEL.TextColor3 = COLOR
1519
	TEXTLABEL.TextStrokeTransparency = 0
1520
	TEXTLABEL.TextScaled = true
1521
	TEXTLABEL.TextWrapped = true
1522
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
1523
		for i = 1, 10 do
1524
			Swait()
1525
			STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
1526
			TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/10)
1527
			TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
1528
		end
1529
		THEPART.Parent = nil
1530
	end),STATPART, TEXTLABEL)
1531
end
1532
1533
--//=================================\\
1534
--||			DAMAGING
1535
--\\=================================//
1536
1537
function ApplyDamage(Humanoid,Damage,TorsoPart)
1538
	local defence = Instance.new("BoolValue",Humanoid.Parent)
1539
	defence.Name = ("HitBy"..Player.Name)
1540
	game:GetService("Debris"):AddItem(defence, 0.001)
1541
	Damage = Damage * DAMAGEMULTIPLIER
1542
	if Humanoid.Health ~= 0 then
1543
		local CritChance = MRANDOM(1,100)
1544
		if Damage > Humanoid.Health then
1545
			Damage = math.ceil(Humanoid.Health)
1546
			if Damage == 0 then
1547
				Damage = 0.1
1548
			end
1549
		end
1550
		Humanoid.Health = Humanoid.Health - Damage
1551
		StatLabel(TorsoPart.CFrame * CF(0, 0 + (TorsoPart.Size.z - 1), 0), Damage, C3(0, 0, 0))
1552
	end
1553
end
1554
1555
function Ghostify(POSITION,RANGE)
1556
	local CHILDREN = workspace:GetDescendants()
1557
	for index, CHILD in pairs(CHILDREN) do
1558
		if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
1559
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1560
			if HUM then
1561
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1562
				if TORSO then
1563
					if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
1564
						local GHOST = GHOSTBASE:Clone()
1565
						GHOST.Parent = Effects
1566
						GHOST.Torso.CFrame = TORSO.CFrame
1567
						table.insert(GHOSTS,GHOST)
1568
						CHILD:remove()
1569
					end
1570
				end
1571
			end
1572
		end
1573
	end
1574
end
1575
1576
--//=================================\\
1577
--||	ATTACK FUNCTIONS AND STUFF
1578
--\\=================================//
1579
1580
function Shell()
1581
    ATTACK = false
1582
    Rooted = false
1583
    local GYRO = IT("BodyGyro",RootPart)
1584
    GYRO.D = 750
1585
    GYRO.P = 20000
1586
    GYRO.MaxTorque = VT(0,40000000,0)
1587
    for i=0, 1, 0.1 / Animation_Speed do
1588
        Swait()
1589
        GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1590
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
1591
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
1592
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0) * ANGLES(RAD(115), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
1593
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
1594
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
1595
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
1596
    end
1597
    GYRO:remove()
1598
    CreateSound(130113322, Gun, 5, 1, false)
1599
    local AIMHIT,AIMPOS,NORMAL = BulletDetection(Gun.Position,Mouse.Hit.p)
1600
    SpawnTrail(Gun.CFrame*CF(1.5,0.5,0).p,AIMPOS)
1601
    WACKYEFFECT({Time = 3, EffectType = "Sphere", Size = VT(1,0.3,0.3), Size2 = VT(1,0,0), Transparency = 0, Transparency2 = 1, CFrame = Gun.CFrame*CF(1.5,0.5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1602
    for i=0, 0.3, 0.1 / Animation_Speed do
1603
        Swait()
1604
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
1605
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
1606
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0.3) * ANGLES(RAD(110), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
1607
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
1608
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
1609
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
1610
    end
1611
    ATTACK = false
1612
    Rooted = false
1613
end
1614
1615
function Taunt()
1616
	ATTACK = true
1617
	Rooted = false
1618
	TAUNT = true
1619
	for i=0, 0.1, 0.1 / Animation_Speed do
1620
		Swait()
1621
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1622
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1623
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1624
	end
1625
	for i=0, 3, 0.1 / Animation_Speed do
1626
		Swait()
1627
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1628
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1629
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(15)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1630
	end
1631
	CreateSound(363808674, Torso, 10, 1.3)
1632
	for i=0, 1, 0.1 / Animation_Speed do
1633
		Swait()
1634
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(120)), 3 / Animation_Speed)
1635
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 3/ Animation_Speed)
1636
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(230), RAD(0), RAD(35)) * LEFTSHOULDERC0, 3 / Animation_Speed)
1637
	end
1638
	WACKYEFFECT({EffectType = "Block", Size = VT(6,6,6), Size2 = VT(15,15,15), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1639
	CreateSound(649634100, Torso, 10, 0.8)
1640
	for i=0, 0.01, 0.1 / Animation_Speed do
1641
		Swait()
1642
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 3 / Animation_Speed)
1643
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
1644
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 3 / Animation_Speed)
1645
	end
1646
	ATTACK = false
1647
	Rooted = false
1648
	TAUNT = false
1649
end
1650
1651
function SinfulShell()
1652
	ATTACK = true
1653
	Rooted = false
1654
	local GYRO = IT("BodyGyro",RootPart)
1655
	GYRO.D = 750
1656
	GYRO.P = 20000
1657
	GYRO.MaxTorque = VT(0,40000000,0)
1658
	for i=0, 1, 0.1 / Animation_Speed do
1659
		Swait()
1660
		GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1661
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
1662
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
1663
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0) * ANGLES(RAD(115), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
1664
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
1665
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
1666
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
1667
	end
1668
	GYRO:remove()
1669
	CreateSound(132456187, Gun, 5, 1, false)
1670
	WACKYEFFECT({Time = 3, EffectType = "Sphere", Size = VT(1,0.3,0.3), Size2 = VT(1,0,0), Transparency = 0, Transparency2 = 1, CFrame = Gun.CFrame*CF(1.5,0.5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1671
	coroutine.resume(coroutine.create(function()
1672
		local Bullet = CreatePart(3, Effects, "SmoothPlastic", 0, 0, "Royal purple", "Sinful bullet", VT(0,0,0))
1673
		CreateMesh("SpecialMesh", Bullet, "FileMesh", "94295100", "", VT(6, 6, 7), VT(0,0, 0))
1674
		Bullet.CFrame = Gun.CFrame*CF(1.5,0.5,0)
1675
		local AIMPOINT = Mouse.Hit.p
1676
		local STARTPOS = Gun.CFrame*CF(1.5,0.5,0).p
1677
		local VECTOR = CF(STARTPOS,AIMPOINT) 
1678
		local IMPACTED = false
1679
		CreateSound(1393698948, Bullet, 10, 1, true)
1680
		for E = 1, 50 do
1681
			if IMPACTED == true then
1682
				break
1683
			end
1684
			local TARGETPOINT = VECTOR*CF(0,0,-E*5)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,1,0).p
1685
			Bullet.CFrame = CF(Bullet.Position,TARGETPOINT)
1686
			for i = 1, 5 do
1687
				Swait()
1688
				WACKYEFFECT({Time = 15, EffectType = "Swirl", Size = VT(1,1,1), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = Bullet.CFrame * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i+E, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1689
				Bullet.CFrame = Bullet.CFrame*CF(0,0,-1)
1690
				local AIMHIT,AIMPOS,NORMAL = Raycast(Bullet.Position,Bullet.CFrame.lookVector,1.3,Character)
1691
				if AIMHIT ~= nil then
1692
					IMPACTED = true
1693
					break
1694
				end
1695
			end
1696
		end
1697
		WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(10,10,10), Size2 = VT(9,9,9), Transparency = 0, Transparency2 = 1, CFrame = Bullet.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 182765513, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 7})
1698
		for i = 1, 7 do
1699
			WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(1,15,1), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = Bullet.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1700
		end
1701
		Ghostify(Bullet.Position,10)
1702
		Bullet:remove()
1703
	end))
1704
	for i=0, 0.3, 0.1 / Animation_Speed do
1705
		Swait()
1706
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
1707
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
1708
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0.3) * ANGLES(RAD(110), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
1709
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
1710
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
1711
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
1712
	end
1713
	ATTACK = false
1714
	Rooted = false
1715
end
1716
1717
1718
1719
1720
function Astral_Hop()
1721
	ATTACK = true
1722
	Rooted = false
1723
	local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
1724
	O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(0),RAD(0))
1725
	local decal = Decal:Clone()
1726
	decal.Parent = O1
1727
	decal.Face = "Top"
1728
	decal.Texture = "http://www.roblox.com/asset/?id=202696571"
1729
	local decal2 = Decal:Clone()
1730
	decal2.Parent = O1
1731
	decal2.Face = "Bottom"
1732
	decal2.Texture = "http://www.roblox.com/asset/?id=202696571"
1733
	local O2 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
1734
	local POS = VT(RootPart.Position.X,Mouse.Hit.p.Y+6,RootPart.Position.Z)
1735
	O2.CFrame = CF(Mouse.Hit.p+VT(0,6,0),POS)*ANGLES(RAD(90),RAD(0),RAD(0))
1736
	local ROOT = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
1737
	ROOT.CFrame = CF(O2.Position,RootPart.Position)
1738
	local decal = Decal:Clone()
1739
	decal.Parent = O2
1740
	decal.Face = "Top"
1741
	decal.Texture = "http://www.roblox.com/asset/?id=202696571"
1742
	local decal2 = Decal:Clone()
1743
	decal2.Parent = O2
1744
	decal2.Face = "Bottom"
1745
	decal2.Texture = "http://www.roblox.com/asset/?id=202696571"
1746
	CreateSound("153613030", O1, 10, 0.7)
1747
	CreateSound("153613030", O2, 10, 0.7)
1748
	for i = 1, 75 do
1749
		Swait()
1750
		O1.Size = O1.Size + VT(0.1,0,0.1)
1751
		O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(i),RAD(0))
1752
		O2.Size = O2.Size + VT(0.1,0,0.1)
1753
		O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
1754
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1755
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1756
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1757
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1758
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1759
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1760
1761
	end
1762
1763
1764
	Rooted = true
1765
	UNANCHOR = false
1766
	RootPart.Anchored = true
1767
	VALUE1 = true
1768
	for i = 1, 15 do
1769
		Swait()
1770
		RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.13)
1771
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1772
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1773
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1774
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1775
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1776
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1777
	end
1778
	RootPart.CFrame = ROOT.CFrame
1779
	ROOT:remove()
1780
	for i = 1, 15 do
1781
		Swait()
1782
		RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.5)
1783
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1784
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1785
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1786
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1787
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1788
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1789
	end
1790
	VALUE1 = false
1791
	coroutine.resume(coroutine.create(function()
1792
		for i = 1, 75 do
1793
			Swait()
1794
			O1.Size = O1.Size - VT(0.1,0,0.1)
1795
			O1.CFrame = O1.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
1796
			O2.Size = O2.Size - VT(0.1,0,0.1)
1797
			O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
1798
		end
1799
		O1:remove()
1800
		O2:remove()
1801
	end))
1802
	UNANCHOR = true
1803
	RootPart.Anchored = false
1804
	ATTACK = false
1805
	Rooted = false
1806
end
1807
1808
1809
function Technobeam()
1810
	ATTACK = true
1811
	Rooted = false
1812
	local GYRO = IT("BodyGyro",RootPart)
1813
	GYRO.D = 100
1814
	GYRO.P = 2000
1815
	GYRO.MaxTorque = VT(0,4000000,0)
1816
	GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1817
	CreateSound("93724183", RightArm, 5, 1, false)
1818
	for i=1, 35 do
1819
		Swait()
1820
		WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
1821
		GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1822
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
1823
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
1824
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1825
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1826
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1827
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1828
	end
1829
	local BEAM = CreatePart(3, Effects, "Neon", 0, 1, "Magenta", "Lazer", VT(0,0,0))
1830
	local LOOP = CreateSound("415700134", RightArm, 5, 1, false)
1831
	local TOCH = BEAM.Touched:Connect(function(hit)
1832
		if hit.Anchored == false and hit.Parent ~= Head and  hit.Parent ~= Character and hit.Parent ~= Effects then
1833
			Shatter(hit)
1834
		end
1835
	end)
1836
	local I = 0
1837
	repeat
1838
		Swait()
1839
		I = I + 1
1840
		if I <= 10 then
1841
			BEAM.Transparency = BEAM.Transparency - 0.1
1842
		end
1843
		local STARTPOS = RightArm.CFrame*CF(0,-4,0).p
1844
		local ENDHIT,ENDPOS = CastProperRay(STARTPOS,Mouse.Hit.p,650,Character)
1845
		local DISTANCE = (STARTPOS - ENDPOS).Magnitude
1846
		BEAM.CFrame = CF(STARTPOS,ENDPOS)*CF(0,0,-DISTANCE/2)*ANGLES(RAD(0),RAD(0),RAD(I*5))
1847
		BEAM.Size = VT(2,2,DISTANCE)
1848
		WACKYEFFECT({Time = 5, EffectType = "Box", Size = VT(1,1,1), Size2 = VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = CF(ENDPOS), MoveToPos = CF(ENDPOS)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,15,0).p, RotationX = MRANDOM(-5,5), RotationY = MRANDOM(-5,5), RotationZ = MRANDOM(-5,5), Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1849
		WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-4,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
1850
		WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = CF(ENDPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
1851
		GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1852
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
1853
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
1854
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1855
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1856
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1857
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1858
		if ENDHIT ~= nil then
1859
			if ENDHIT.Anchored == false and ENDHIT.Parent ~= Effects then
1860
				Shatter(ENDHIT)
1861
			end
1862
		end
1863
	until LOOP.Playing == false
1864
	GYRO:remove()
1865
	BEAM:remove()
1866
	ATTACK = false
1867
	Rooted = false
1868
end
1869
1870
function SpawnSmite(POS)
1871
	local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
1872
	local EMITPOS = HITPOS
1873
	if HITFLOOR ~= nil then
1874
		if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
1875
			HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
1876
			EMITPOS = HITPOS
1877
		elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1878
			HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
1879
			EMITPOS = HITPOS
1880
		end
1881
	end
1882
	if HITFLOOR ~= nil then
1883
		ApplyAoE(EMITPOS,10)
1884
		WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
1885
		WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1886
		WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1887
		for i = 1, 5 do
1888
			local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
1889
			WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
1890
		end
1891
	end
1892
end
1893
1894
function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
1895
	coroutine.resume(coroutine.create(function()
1896
		local METEOR = IT("Model",Effects)
1897
		METEOR.Name = "Meteorite"
1898
		local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Magenta", "MeteorCenter", VT(5,5,5)*SIZE)
1899
		METEOR.PrimaryPart = CENTER
1900
		local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Magenta", "MeteorCenter", VT(5,5,5)*SIZE)
1901
		PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1902
		for i = 1, 15 do
1903
			local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Magenta", "Fire", VT(5.1,1,5.1)*SIZE)
1904
			FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1905
		end
1906
		if ISDEBREE ~= true then
1907
			METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
1908
		else
1909
			METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
1910
		end
1911
		local IMPACT = false
1912
		CreateSound(463593339, CENTER, 10, 0.6)
1913
		if SIZE >= 3.5 then
1914
			for i = 1, MRANDOM(3,7) do
1915
				SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
1916
			end
1917
		end
1918
		for i = 1, 200 do
1919
			Swait()
1920
			local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
1921
			if HITFLOOR == nil then
1922
				local ORI = CENTER.Orientation
1923
				METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
1924
			else
1925
				if HITFLOOR.Anchored == true then
1926
					CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
1927
					CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(6,6,6)*SIZE,5,175)
1928
				end
1929
				IMPACT = true
1930
				break
1931
			end
1932
		end
1933
		if IMPACT == true then
1934
			WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
1935
			WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
1936
			WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
1937
			ApplyAoE(CENTER.Position,30*SIZE)
1938
		end
1939
		METEOR:remove()
1940
	end))
1941
end
1942
1943
function Smite()
1944
	ATTACK = true
1945
	Rooted = false
1946
	CreateSound(1368573150, RightArm, 3, 1.5)
1947
	for i=0, 0.6, 0.1 / Animation_Speed do
1948
		Swait()
1949
		WACKYEFFECT({TIME = 15, EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1950
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1951
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
1952
	end
1953
	local POWER = 0
1954
	repeat 
1955
		Swait() 
1956
		WACKYEFFECT({EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1957
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1958
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
1959
		POWER = POWER + 0.5 
1960
		if POWER >= 85 then
1961
			POWER = 85
1962
		end
1963
	until KEYHOLD == false
1964
	if POWER < 0.6 then
1965
		SpawnSmite(Mouse.Hit.p)
1966
	else
1967
		if POWER < 15 then
1968
			POWER = 15
1969
		end
1970
		SpawnMeteor(Mouse.Hit.p,POWER/15)
1971
	end
1972
	ATTACK = false
1973
	Rooted = false
1974
end
1975
1976
1977
1978
function Corrupted_Explosion()
1979
	ATTACK = true
1980
	Rooted = true
1981
	for i=0, 1, 0.1 / Animation_Speed do
1982
		Swait()
1983
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.6 / Animation_Speed)
1984
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.6 / Animation_Speed)
1985
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1986
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
1987
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1988
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1989
	end
1990
	for i=0, 0.4, 0.1 / Animation_Speed do
1991
		Swait()
1992
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
1993
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
1994
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1995
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1996
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1997
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
1998
	end
1999
	local BEAM = CreatePart(3, Effects, "Neon", 0, 0, "Magenta", "Beam", VT(0,0,0))
2000
	local BEAM2 = CreatePart(3, Effects, "Neon", 0, 0, "Magenta", "Beam", VT(0,0,0))
2001
	MakeForm(BEAM,"Ball")
2002
	MakeForm(BEAM2,"Ball")
2003
	BEAM.CFrame = CF(RootPart.Position)
2004
	BEAM2.CFrame = CF(RootPart.Position)
2005
	CreateSound(EXPLOSIONSOUND,RootPart,10,1,false)
2006
	for i=1, 100 do
2007
		Swait()
2008
		BEAM.Size = BEAM.Size + VT(0.7,8,0.7)
2009
		BEAM2.Size = BEAM2.Size + VT(2,2,2)
2010
		ApplyAoE(BEAM2.Position,BEAM2.Size.Z/2,5,5,15,true)
2011
		BEAM.CFrame = CF(RootPart.Position)
2012
		BEAM2.CFrame = CF(RootPart.Position)
2013
		WACKYEFFECT({TIME = 5+i, EffectType = "Swirl", Size = BEAM2.Size*1.15, Size2 = VT(0,BEAM.Size.Y,0), Transparency = 0.8, Transparency2 = 1, CFrame = BEAM.CFrame * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2014
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
2015
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
2016
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2017
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2018
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
2019
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
2020
	end
2021
	WACKYEFFECT({TIME = 75, EffectType = "Sphere", Size = BEAM.Size, Size2 = VT(0,BEAM.Size.Y,0), Transparency = 0, Transparency2 = 0, CFrame = BEAM.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2022
	WACKYEFFECT({TIME = 75, EffectType = "Sphere", Size = BEAM2.Size, Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.6, CFrame = BEAM2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2023
	BEAM2:remove()
2024
	BEAM:remove()
2025
	ATTACK = false
2026
	Rooted = false
2027
end
2028
2029
2030
2031
--//=================================\\
2032
--||	  ASSIGN THINGS TO KEYS
2033
--\\=================================//
2034
2035
function MouseDown(Mouse)
2036
	if ATTACK == false then
2037
	end
2038
end
2039
2040
function MouseUp(Mouse)
2041
HOLD = false
2042
end
2043
2044
function KeyDown(Key)
2045
	KEYHOLD = true
2046
	if Key == "z" and ATTACK == false then
2047
		Shell()
2048
	end
2049
2050
        if Key == "q" and ATTACK == false then
2051
		Astral_Hop()
2052
	end
2053
2054
        if Key == "e" and ATTACK == false then
2055
		Corrupted_Explosion()
2056
	end
2057
2058
       
2059
2060
        if Key == "b" and ATTACK == false then
2061
			Technobeam()
2062
		end
2063
2064
	if Key == "t" and ATTACK == false then
2065
		Taunt()
2066
	end
2067
2068
2069
2070
        if Key == "c" and ATTACK == false then
2071
			Smite()
2072
		end
2073
2074
2075
	if Key == "x" and ATTACK == false then
2076
		SinfulShell()
2077
    end
2078
2079
    if Key == "f" and ATTACK == false then
2080
		Prison_Key()
2081
	end
2082
2083
    if Key == "g" and ATTACK == false then
2084
		Morning_Star()                                  
2085
    end
2086
end
2087
2088
function KeyUp(Key)
2089
	KEYHOLD = false
2090
end
2091
2092
	Mouse.Button1Down:connect(function(NEWKEY)
2093
		MouseDown(NEWKEY)
2094
	end)
2095
	Mouse.Button1Up:connect(function(NEWKEY)
2096
		MouseUp(NEWKEY)
2097
	end)
2098
	Mouse.KeyDown:connect(function(NEWKEY)
2099
		KeyDown(NEWKEY)
2100
	end)
2101
	Mouse.KeyUp:connect(function(NEWKEY)
2102
		KeyUp(NEWKEY)
2103
	end)
2104
2105
--//=================================\\
2106
--\\=================================//
2107
2108
2109
function unanchor()
2110
	if UNANCHOR == true then
2111
		g = Character:GetChildren()
2112
		for i = 1, #g do
2113
			if g[i].ClassName == "Part" then
2114
				g[i].Anchored = false
2115
			end
2116
		end
2117
	end
2118
end
2119
2120
2121
--//=================================\\
2122
--||	WRAP THE WHOLE SCRIPT UP
2123
--\\=================================//
2124
2125
Humanoid.Changed:connect(function(Jump)
2126
	if Jump == "Jump" and (Disable_Jump == true) then
2127
		Humanoid.Jump = false
2128
	end
2129
end)
2130
2131
local BLINKLOOP = 0
2132
2133
while true do
2134
	Swait()
2135
	script.Parent = WEAPONGUI
2136
	ANIMATE.Parent = nil
2137
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
2138
	    v:Stop();
2139
	end
2140
	Humanoid.JumpPower = 75
2141
	SINE = SINE + CHANGE
2142
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
2143
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
2144
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
2145
	local WALKSPEEDVALUE = 4 / (Humanoid.WalkSpeed / 16)
2146
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
2147
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2148
		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)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2149
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.825 - 0.175 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.1- 0.5 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2150
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.825 + 0.175 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.1+ 0.5 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2151
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
2152
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2153
		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)
2154
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2155
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2156
	end
2157
	if HITFLOOR == nil then
2158
		ANIM = "Midair"
2159
		local JUMPHIT = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5, Character)
2160
		if JUMPHIT ~= nil and TORSOVERTICALVELOCITY < 0 then
2161
			if JUMPHIT.Name == "Head" and JUMPHIT:FindFirstChild("Stomped") == nil then
2162
				local HIT = IT("Folder",JUMPHIT)
2163
				HIT.Name = "Stomped"
2164
				CreateSound(165013277, JUMPHIT, 10, 1, false)
2165
				RootPart.Velocity = VT(0,80,0)
2166
				GoombaStomp(JUMPHIT.Parent)
2167
			elseif JUMPHIT.Parent.ClassName == "Accessory" then
2168
				local HEAD = JUMPHIT.Parent.Parent:FindFirstChild("Head")
2169
				if HEAD then
2170
					if HEAD:FindFirstChild("Stomped") == nil then
2171
						local HIT = IT("Folder",HEAD)
2172
						HIT.Name = "Stomped"
2173
						CreateSound(165013277, HEAD, 10, 1, false)
2174
						RootPart.Velocity = VT(0,80,0)
2175
						GoombaStomp(HEAD.Parent)
2176
					end
2177
				end
2178
			end
2179
		end
2180
		local JUMPHIT = Raycast(RootPart.CFrame*CF(1,0,0).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5, Character)
2181
		if JUMPHIT ~= nil and TORSOVERTICALVELOCITY < 0 then
2182
			if JUMPHIT.Name == "Head" and JUMPHIT:FindFirstChild("Stomped") == nil then
2183
				local HIT = IT("Folder",JUMPHIT)
2184
				HIT.Name = "Stomped"
2185
				CreateSound(165013277, JUMPHIT, 10, 1, false)
2186
				RootPart.Velocity = VT(0,80,0)
2187
				GoombaStomp(JUMPHIT.Parent)
2188
			elseif JUMPHIT.Parent.ClassName == "Accessory" then
2189
				local HEAD = JUMPHIT.Parent.Parent:FindFirstChild("Head")
2190
				if HEAD then
2191
					if HEAD:FindFirstChild("Stomped") == nil then
2192
						local HIT = IT("Folder",HEAD)
2193
						HIT.Name = "Stomped"
2194
						CreateSound(165013277, HEAD, 10, 1, false)
2195
						RootPart.Velocity = VT(0,80,0)
2196
						GoombaStomp(HEAD.Parent)
2197
					end
2198
				end
2199
			end
2200
		end
2201
		local JUMPHIT = Raycast(RootPart.CFrame*CF(-1,0,0).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5, Character)
2202
		if JUMPHIT ~= nil and TORSOVERTICALVELOCITY < 0 then
2203
			if JUMPHIT.Name == "Head" and JUMPHIT:FindFirstChild("Stomped") == nil then
2204
				local HIT = IT("Folder",JUMPHIT)
2205
				HIT.Name = "Stomped"
2206
				CreateSound(165013277, JUMPHIT, 10, 1, false)
2207
				RootPart.Velocity = VT(0,80,0)
2208
				GoombaStomp(JUMPHIT.Parent)
2209
			elseif JUMPHIT.Parent.ClassName == "Accessory" then
2210
				local HEAD = JUMPHIT.Parent.Parent:FindFirstChild("Head")
2211
				if HEAD then
2212
					if HEAD:FindFirstChild("Stomped") == nil then
2213
						local HIT = IT("Folder",HEAD)
2214
						HIT.Name = "Stomped"
2215
						CreateSound(165013277, HEAD, 10, 1, false)
2216
						RootPart.Velocity = VT(0,80,0)
2217
						GoombaStomp(HEAD.Parent)
2218
					end
2219
				end
2220
			end
2221
		end
2222
		if ATTACK == false then
2223
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0+sick.PlaybackLoudness/800) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
2224
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1+sick.PlaybackLoudness/800) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 2 / Animation_Speed)
2225
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, -0.2) * ANGLES(RAD(150), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2226
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2227
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4-sick.PlaybackLoudness/800, -0.7) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
2228
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1-sick.PlaybackLoudness/800, -0.3) * ANGLES(RAD(-25), RAD(-80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
2229
	    end
2230
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
2231
		ANIM = "Idle"
2232
		JUMPED = false
2233
		if ATTACK == false then
2234
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0+sick.PlaybackLoudness/800) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2235
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1+sick.PlaybackLoudness/800) - 1)) * ANGLES(RAD(0), RAD(7.5-30*SIN(sick.PlaybackLoudness/300)), RAD(0 - 25 * SIN(SINE / 15))), 1 / Animation_Speed)
2236
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5+sick.PlaybackLoudness/1200, 0) * ANGLES(RAD(0), RAD(-15), RAD(-2+sick.PlaybackLoudness/45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2237
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.3) * ANGLES(RAD(0), RAD(55), RAD(-12)) * ANGLES(RAD(-45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2238
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1-sick.PlaybackLoudness/800, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2239
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1-sick.PlaybackLoudness/800, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2240
		end
2241
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
2242
		ANIM = "Walk"
2243
		JUMPED = false
2244
		if ATTACK == false then
2245
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1+sick.PlaybackLoudness/800) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
2246
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1+sick.PlaybackLoudness/800) - 1)) * ANGLES(RAD(5 - 2 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(7.5-30*SIN(sick.PlaybackLoudness/300)), RAD(0)), 1 / Animation_Speed)
2247
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5+sick.PlaybackLoudness/1200, 0) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 0.35 / Animation_Speed)
2248
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.3) * ANGLES(RAD(0), RAD(55), RAD(-12)) * ANGLES(RAD(-45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2249
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1-sick.PlaybackLoudness/800, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-3)), 2 / Animation_Speed)
2250
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1-sick.PlaybackLoudness/800, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(3)), 2 / Animation_Speed)
2251
		end
2252
	end
2253
	
2254
	unanchor()
2255
	Humanoid.MaxHealth = "inf"
2256
	Humanoid.Health = "inf"
2257
	if Rooted == false then
2258
		Disable_Jump = false
2259
		Humanoid.WalkSpeed = Speed
2260
	elseif Rooted == true then
2261
		Disable_Jump = true
2262
		Humanoid.WalkSpeed = 0
2263
	end
2264
	sick.SoundId = "rbxassetid://591604546"
2265
	sick.Looped = true
2266
	sick.Pitch = 1
2267
	sick.Volume = 10
2268
	sick.Playing = true
2269
	sick.Parent = Torso
2270
	if Head:FindFirstChild("face") then
2271
		Head.face.Texture = "rbxassetid://142478285"
2272
	end
2273
	BLINKLOOP = BLINKLOOP + 1
2274
	if BLINKLOOP >=650 then
2275
		BLINKLOOP = 0
2276
		Blink()
2277
	end
2278
	if #GHOSTS>0 then
2279
		for e=1,#GHOSTS do
2280
			if GHOSTS[e]~=nil then
2281
				local Thing=GHOSTS[e]
2282
				if Thing~=nil then
2283
					if Thing:FindFirstChild("Head") then
2284
						if Thing:FindFirstChild("Head"):FindFirstChild("face") then
2285
							Thing:FindFirstChild("Head").face.Texture = "rbxassetid://127959433"
2286
						end
2287
						if Thing:FindFirstChild("Head"):FindFirstChildOfClass("Sound") then
2288
							Thing:FindFirstChild("Head"):FindFirstChildOfClass("Sound"):remove()
2289
						end
2290
					end
2291
					local TORSO = Thing:FindFirstChild("Torso")
2292
					if TORSO then
2293
						TORSO.Anchored = false
2294
						local ROOT = Thing.HumanoidRootPart
2295
						local RootJoint1 = ROOT:FindFirstChild("RootJoint")
2296
						local Neck1 = TORSO:FindFirstChild("Neck")
2297
						local RightShoulder1 = TORSO:FindFirstChild("Right Shoulder")
2298
						local LeftShoulder1 = TORSO:FindFirstChild("Left Shoulder")
2299
						local RightHip1 = TORSO:FindFirstChild("Right Hip")
2300
						local LeftHip1 = TORSO:FindFirstChild("Left Hip")
2301
						if ROOT and RootJoint1 then
2302
							local VELOCITY = (ROOT.Velocity * VT(1, 0, 1)).magnitude
2303
							if VELOCITY < 1 then
2304
								RootJoint1.C0 = ROOTC0 * CF(0, 0, 0 + 0.15 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(2.5 * SIN(SINE / 12)))
2305
								Neck1.C0 = NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD( - 2.5 * SIN(SINE / 12)))
2306
								RightShoulder1.C0 = CF(1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 1.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0
2307
								LeftShoulder1.C0 = CF(-1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 1.5 * SIN(SINE / 12))) * LEFTSHOULDERC0
2308
								RightHip1.C0 = CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0))
2309
								LeftHip1.C0 = CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0))
2310
							elseif VELOCITY > 1 then
2311
								RootJoint1.C0 = ROOTC0 * CF(0, 0, 0 + 0.15 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(2.5 * SIN(SINE / 12)))
2312
								Neck1.C0 = NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD( - 2.5 * SIN(SINE / 12)))
2313
								RightShoulder1.C0 = CF(1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 1.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0
2314
								LeftShoulder1.C0 = CF(-1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 1.5 * SIN(SINE / 12))) * LEFTSHOULDERC0
2315
								RightHip1.C0 = CF(1, -1, -0.01) * ANGLES(RAD(-25-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 12)), RAD(0), RAD(0))
2316
								LeftHip1.C0 = CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0))
2317
							end
2318
						end
2319
						local Human = Thing.Humanoid
2320
						if Human then
2321
							Human.HipHeight = 0.3
2322
							for _, c in pairs(Thing:GetChildren()) do
2323
								if c.ClassName == "Part" and c.Transparency < 1 then
2324
									c.Color = C3(0,0,0)
2325
									c.Transparency = 0.65 + 0.15 * COS(SINE / 25)
2326
								elseif c.ClassName == "Accessory" or c.ClassName == "Hat" or c.ClassName == "CharacterMesh" or c.ClassName == "Shirt" or c.ClassName == "Pants" then
2327
									c:remove()
2328
								end
2329
							end
2330
							if Human then
2331
								local IDLEANIMATION = Human:LoadAnimation(ROBLOXIDLEANIMATION)
2332
								IDLEANIMATION:Play()
2333
							end
2334
							local list = game.Workspace:children()
2335
							local torso = nil
2336
							local dist = 50
2337
							local temp = nil
2338
							local human = nil
2339
							local temp2 = nil
2340
							local OwnerInDanger = false
2341
							for x = 1, #list do
2342
								temp2 = list[x]
2343
								if (temp2.className == "Model") and (temp2 ~= Character) and (temp2 ~= Thing) then
2344
									temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
2345
									human = temp2:findFirstChildOfClass("Humanoid")
2346
									if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
2347
										if (temp.Position - Torso.Position).magnitude < 15 then
2348
											OwnerInDanger = true
2349
											newdist = (temp.Position - TORSO.Position).magnitude
2350
											dist = (Torso.Position - temp.Position).magnitude
2351
											Human:MoveTo(temp.Position)
2352
											torso = temp
2353
											if newdist < 7 then
2354
												torso.CFrame = CF(torso.Position,TORSO.Position)*CF(0,0,5)
2355
												CreateSound(814168787, temp, 1, 2, false)
2356
												ApplyDamage(human,MRANDOM(15,35),temp)
2357
												WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,torso.Position)*CF(0,0,-2) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
2358
												WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = torso.CFrame*CF(0,-4*torso.Size.Y/2,0), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
2359
											end
2360
										end
2361
									end
2362
								end
2363
							end
2364
							if OwnerInDanger == false then
2365
								for x = 1, #list do
2366
									temp2 = list[x]
2367
									if (temp2.className == "Model") and (temp2 ~= Character) and (temp2 ~= Thing) then
2368
										temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
2369
										human = temp2:findFirstChildOfClass("Humanoid")
2370
										if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
2371
											if (temp.Position - Torso.Position).magnitude < dist then
2372
												newdist = (temp.Position - TORSO.Position).magnitude
2373
												Human:MoveTo(temp.Position)
2374
												torso = temp
2375
												if newdist < 15 then
2376
													if MRANDOM(1,35) == 1 then
2377
														CreateSound(438665935, temp, 1, 3, false)
2378
														ApplyDamage(human,MRANDOM(2,20),temp)
2379
														WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,torso.Position)*CF(0,0,-2) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
2380
													end
2381
												end
2382
											end
2383
										end
2384
									end
2385
								end
2386
							end
2387
							if torso == nil then
2388
								Human.WalkSpeed = Speed -0.2
2389
								if (Torso.Position - TORSO.Position).magnitude < 12 and (Torso.Position - TORSO.Position).magnitude >= 11 then
2390
									Human:MoveTo(TORSO.Position)
2391
								elseif (Torso.Position - TORSO.Position).magnitude > 15 then
2392
									Human:MoveTo(Torso.Position)
2393
								elseif (Torso.Position - TORSO.Position).magnitude < 11 then
2394
									Human:MoveTo(CF(Torso.Position,TORSO.Position)*CF(0,0,-5).p)
2395
								end
2396
							else
2397
								if OwnerInDanger == false then
2398
									Human.WalkSpeed = Speed*1.2
2399
								else
2400
									Human.WalkSpeed = Speed*5
2401
								end
2402
							end
2403
							if Human.Health == 0 then
2404
								Thing:remove()
2405
								table.remove(GHOSTS,e)
2406
							else
2407
								Human.Health = Human.Health + 0.5
2408
							end
2409
						else
2410
							Thing:remove()
2411
							table.remove(GHOSTS,e)
2412
						end
2413
					else
2414
						Thing:remove()
2415
						table.remove(GHOSTS,e)
2416
					end
2417
				end
2418
			end
2419
		end
2420
	end
2421
	refit()
2422
end
2423
2424
--//=================================\\
2425
--\\=================================//
2426
2427
2428
2429
2430
2431
--//====================================================\\--
2432
--||			  		 END OF THE SCRIPT
2433
--\\====================================================//--