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