View difference between Paste ID: JDJt9kMe and DPqZgVcC
SHOW: | | - or go back to the newest paste.
1-
-- FE template created by MintyLatios (V3rm) aka Drahazar (ROBLOX)
1+
2-
local username = "TameDoNotClick"
2+
3
--//====================================================\\--
4-
if(script:FindFirstChild'Owner')then
4+
5-
	repeat wait() until script.Owner.Value
5+
6
7-
function GetPlr(user)
7+
8-
	for _,v in next, game:service'Players':players() do
8+
9-
		if(v.Name==user)then
9+
10-
			return v
10+
11
Cam = workspace.CurrentCamera
12-
	end	
12+
13-
	return nil
13+
14
Humanoid = Character.Humanoid
15
Mouse = Player:GetMouse()
16-
local Player = (script:FindFirstChild'Owner' and script:FindFirstChild'Owner'.Value or GetPlr(username))
16+
17
Torso = Character["Torso"]
18-
	function swait(dur)
18+
19-
		if(dur == 0 or typeof(dur) ~= 'number')then
19+
20-
			AHB.Event:wait()
20+
21
RightLeg = Character["Right Leg"]
22-
			for i = 1, dur*FPS do
22+
23-
				AHB.Event:wait()
23+
24
Neck = Torso["Neck"]
25
RightShoulder = Torso["Right Shoulder"]
26
LeftShoulder = Torso["Left Shoulder"]
27-
	
27+
28-
	local oPlayer = Player
28+
29-
	local Player = oPlayer
29+
30-
	
30+
31-
	local loudnesses={}
31+
32-
	script.Parent = Player.Character
32+
33-
	local CoAS = {Actions={}}
33+
34-
	local Event = Instance.new("RemoteEvent")
34+
35-
	Event.Name = "UserInputEvent"
35+
36-
	Event.Parent = Player.Character
36+
37-
	local Func = Instance.new("RemoteFunction")
37+
38-
	Func.Name = "GetClientProperty"
38+
39-
	Func.Parent = Player.Character
39+
40-
	local fakeEvent = function()
40+
41-
		local t = {_fakeEvent=true,Waited={},Connected={}}
41+
42-
		t.Connect = function(self,f)
42+
43-
			local ft={}
43+
44-
			ft={Disconnected=false;disconnect=function(s) if(self.Function==ft)then self.Function=nil end s.Disconnected=true end}
44+
45-
			ft.Disconnect=ft.disconnect
45+
46-
				
46+
47-
			ft.Func=function(...)
47+
48-
				for id,_ in next, t.Waited do 
48+
49-
					t.Waited[id] = true 
49+
50-
				end 
50+
51-
				return f(...)
51+
52-
			end; 
52+
53-
			
53+
54-
			table.insert(self.Connected,ft)
54+
55-
			return ft;
55+
56
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
57-
		t.connect = t.Connect
57+
58-
		t.Wait = function() 
58+
59-
			local guid = GUID:new(25)
59+
60-
			local waitingId = guid:Get()
60+
61-
			t.Waited[waitingId]=false
61+
62-
			repeat swait() until t.Waited[waitingId]==true  
62+
63-
			t.Waited[waitingId]=nil;
63+
64-
			guid:Trash()
64+
65
local Rooted = false
66-
		t.wait = t.Wait
66+
67-
		return t
67+
68
local CHANGE = 2 / Animation_Speed
69-
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
69+
70-
	local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
70+
71-
	local Run = {RenderStepped=fakeEvent()}
71+
72-
	
72+
73-
	function CoAS:BindAction(name,fun,touch,...)
73+
74-
		CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
74+
75
--ROBLOXIDLEANIMATION.Parent = Humanoid
76-
	function CoAS:UnbindAction(name)
76+
77-
		CoAS.Actions[name] = nil
77+
78
local Effects = IT("Folder", Character)
79-
	local function te(self,ev,...)
79+
80-
		local t = self[ev]
80+
81-
		if t and t._fakeEvent and t.Connected then
81+
82-
			for i,v in next, t.Connected do
82+
83-
				if(v.Func and not v.Disconnected)then
83+
84-
					v.Func(...)
84+
85
local SPINSPEED = 1
86-
					t.Connected[i]=nil
86+
87
--//=================================\\
88
--\\=================================//
89
90
91-
	m.TrigEvent = te
91+
92-
	UsIS.TrigEvent = te
92+
93-
	Run.TrigEvent = te
93+
94-
	Event.OnServerEvent:Connect(function(plr,io)
94+
95-
	    if plr~=Player then return end
95+
96-
		--[[table.foreach(io,print)
96+
97-
		print'---']]
97+
98-
		if io.Mouse then
98+
99-
			m.Target = io.Target
99+
100-
			m.Hit = io.Hit
100+
101-
		elseif io.KeyEvent then
101+
102-
			m:TrigEvent('Key'..io.KeyEvent,io.Key)
102+
103-
		elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
103+
104-
	        if io.UserInputState == Enum.UserInputState.Begin then
104+
105-
				m:TrigEvent("Button1Down")
105+
106
107-
				m:TrigEvent("Button1Up")
107+
108
	tf = tf + s
109
	if tf >= frame then
110-
		if(not io.KeyEvent and not io.Mouse)then
110+
111-
			
111+
112-
			for n,t in pairs(CoAS.Actions) do
112+
113-
				for _,k in pairs(t.Keys) do
113+
114-
					if k==io.KeyCode then
114+
115-
						t.Function(t.Name,io.UserInputState,io)
115+
116
			end
117
		lastframe = tick()
118
		end
119-
	        if io.UserInputState == Enum.UserInputState.Begin then
119+
120-
				UsIS:TrigEvent("InputBegan",io,false)
120+
121
		else
122-
				UsIS:TrigEvent("InputEnded",io,false)
122+
123-
	        end
123+
124-
	    end
124+
125
end)
126-
		
126+
127-
	Func.OnServerInvoke = function(plr,inst,play)
127+
128-
		if plr~=Player then return end
128+
129-
		if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
129+
130-
			loudnesses[inst]=play	
130+
131
--|| 	      SOME FUNCTIONS
132
--\\=================================//
133-
	
133+
134-
	function GetClientProperty(inst,prop)
134+
135-
		if(prop == 'PlaybackLoudness' and loudnesses[inst])then 
135+
136-
			return loudnesses[inst] 
136+
137-
		elseif(prop == 'PlaybackLoudness')then
137+
138-
			return Func:InvokeClient(Player,'RegSound',inst)
138+
139
	if NUMBER >= 0 then
140-
		return Func:InvokeClient(Player,inst,prop)
140+
141
	end
142-
	local oldGame = game;
142+
143-
	function GetFakePlayer()
143+
144-
							local oldPlayer = Player;
144+
145-
	local fakePlayer = newproxy(true)
145+
146-
	getmetatable(fakePlayer).__index = function(s,i)
146+
147-
		if(i == 'GetMouse')then
147+
148-
			return function() return m; end
148+
149
	return NUMBER
150-
		return Player[i]
150+
151
152-
	getmetatable(fakePlayer).__newindex = function(s,i,v)
152+
153-
		Player[i]=v
153+
154
		ArtificialHB.Event:wait()
155-
	getmetatable(fakePlayer).__call=function(self,...)
155+
156-
		if(self == fakePlayer)then self = Player end
156+
157-
		local wh = {...}
157+
158-
		local name = table.remove(wh,1)
158+
159-
		for i,v in next, wh do
159+
160-
			wh[i]=v
160+
161
162-
		if(name == 'GetMouse')then
162+
163-
			return m;
163+
164
	if MESH == "SpecialMesh" then
165-
		return self(name,unpack(wh))
165+
166
		if MESHID ~= "nil" and MESHID ~= "" then
167-
	getmetatable(fakePlayer).__namecall=function(self,...)
167+
168-
		if(self == fakePlayer)then self = Player end
168+
169-
		local tuple={...}
169+
170-
		local name = table.remove(tuple,#tuple)
170+
171-
	
171+
172-
		if(name == 'GetMouse')then
172+
173-
			return m;
173+
174
	NEWMESH.Scale = SCALE
175-
			return self[name](self,unpack(tuple))
175+
176
	return NEWMESH
177
end
178-
	
178+
179-
	return fakePlayer
179+
180
	local NEWPART = IT("Part")
181-
	local oll = LoadLibrary;
181+
182-
	function LoadLibrary(libtard)
182+
183-
		local libtarddestroyed=oll(libtard)
183+
184-
		if(libtard=='RbxUtility')then
184+
185-
			local library={Create=function(obj)
185+
186-
				local inst = Instance.new(obj)
186+
187-
				return function(props)
187+
188-
					for prop,valu in next, props do
188+
189-
						inst[prop]=valu
189+
190
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
191-
					return inst
191+
192-
				end	
192+
193-
			end}
193+
194-
			setmetatable(library,{__index=libtarddestroyed,__newindex=function(s,i,v) libtarddestroyed[i]=v end})
194+
195-
			
195+
196-
			return library
196+
197
	return NEWPART
198-
			return libtarddestroyed
198+
199
200
	local function weldBetween(a, b)
201-
	 fakePlayer = GetFakePlayer()
201+
202-
	local function GetService(s,i)
202+
203-
		local service = s:GetService(i)
203+
204-
		if(i == 'Players')then
204+
205-
			local oldService = service;
205+
206-
			local fakeService = newproxy(true)
206+
207-
			getmetatable(fakeService).__index = function(s,i)
207+
208-
				if(s == fakeService)then s=oldService end
208+
209-
				if(i == 'LocalPlayer' or i == 'localPlayer')then
209+
210-
					return fakePlayer
210+
211-
				elseif(i == 'oPlayer')then
211+
212-
					return oPlayer
212+
213
	local trace = m00 + m11 + m22
214-
					return s[i]	
214+
215
		local s = math.sqrt(1 + trace)
216
		local recip = 0.5 / s
217-
			getmetatable(fakeService).__newindex = function(s,i,v)
217+
218-
				if(s == fakeService)then s=oldService end				
218+
219-
				s[i]=v
219+
220
		if m11 > m00 then
221-
			getmetatable(fakeService).__call=function(self,...)
221+
222-
				if(self == fakeService)then self = oldService end
222+
223-
				local wh = {...}
223+
224-
				local name = table.remove(wh,1)
224+
225-
				for i,v in next, wh do
225+
226-
					wh[i]=v
226+
227
			local s = math.sqrt(m00 - m11 - m22 + 1)
228-
				return self(name,unpack(wh))
228+
229
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
230-
			getmetatable(fakeService).__namecall=function(self,...)
230+
231-
				if(self == fakeService)then self = oldService end
231+
232-
				local tuple={...}
232+
233-
				local name = table.remove(tuple,#tuple)
233+
234
		elseif i == 2 then
235-
				return self[name](self,unpack(tuple))
235+
236
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
237-
			getmetatable(fakeService).__metatable = 'gay'
237+
238-
			return fakeService
238+
239-
		elseif(i == 'RunService')then
239+
240-
			local oldService = service;
240+
241-
			local fakeService = newproxy(true)
241+
242-
			getmetatable(fakeService).__index = function(s,i)
242+
243-
				if(s == fakeService)then s=oldService end
243+
244-
				return Run[i] or s[i]	
244+
245
	local xy = x * ys
246-
			getmetatable(fakeService).__newindex = function(s,i,v)
246+
247-
				if(s == fakeService)then s=oldService end				
247+
248-
				s[i]=v
248+
249
	local zz = z * zs
250-
			getmetatable(fakeService).__call=function(self,...)
250+
251-
				if(self == fakeService)then self = oldService end
251+
252-
				local wh = {...}
252+
253-
				local name = table.remove(wh,1)
253+
254-
				for i,v in next, wh do
254+
255-
					wh[i]=v
255+
256
	if cosTheta >= 0.0001 then
257-
				return self(name,unpack(wh))
257+
258
			local theta = ACOS(cosTheta)
259-
			getmetatable(fakeService).__namecall=function(self,...)
259+
260-
				if(self == fakeService)then self = oldService end
260+
261-
				local tuple={...}
261+
262-
				local name = table.remove(tuple,#tuple)
262+
263
			startInterp = 1 - t
264-
				return self[name](self,unpack(tuple))
264+
265
		end
266-
			getmetatable(fakeService).__metatable = 'gay'
266+
267-
			return fakeService	
267+
268-
		elseif(i == 'UserInputService')then
268+
269-
			return UsIS
269+
270-
		elseif(i == 'ContextActionService')then
270+
271-
			return CoAS;
271+
272
		else
273-
			return service
273+
274
			finishInterp = t
275
		end
276-
	
276+
277-
	local new = Instance.new;
277+
278-
	Instance = {}
278+
279-
	Instance.new = function(inst,obje)
279+
280-
		local lp = GetService(oldGame,'Players').localPlayer
280+
281-
		local instance = new(inst)
281+
282-
		if(inst=='ObjectValue')then
282+
283-
			local fake = newproxy(true)
283+
284-
			getmetatable(fake).__index=function(self,index)
284+
285-
				if(self==fake)then self=instance end
285+
286-
				return self[index]
286+
287
end
288-
			getmetatable(fake).__newindex=function(self,index,value)
288+
289-
				if(self==fake)then self=instance end
289+
290-
				if(index=='Value' and typeof(value)~='Instance' and value==fakePlayer)then
290+
291-
					self[index]=oPlayer
291+
292
	frame.BorderSizePixel = BORDERSIZEPIXEL
293-
					self[index]=value
293+
294
	frame.Size = SIZE
295
	frame.BackgroundColor3 = COLOR
296-
			getmetatable(fake).__call=function(self,...)
296+
297-
				if(self == fake)then self = instance end
297+
298-
				local wh = {...}
298+
299-
				local name = table.remove(wh,1)
299+
300-
				for i,v in next, wh do
300+
301-
					if(v == fake)then v = instance end
301+
302-
					wh[i]=v
302+
303
	local label = IT("TextLabel")
304-
				return self(name,unpack(wh))
304+
305
	label.Size = UD2(1, 0, 1, 0)
306-
			getmetatable(fake).	__namecall=function(self,...)
306+
307-
				if(self == fake)then self = instance end
307+
308-
				local tuple={...}
308+
309-
				local name = table.remove(tuple,#tuple)
309+
310-
				return self[name](self,unpack(tuple))
310+
311
	label.Font = TEXTFONT
312-
			return fake
312+
313
	label.TextScaled = false
314-
			instance.Parent = obje
314+
315-
			return instance;
315+
316
	label.Parent = PARENT
317
	return label
318
end
319-
	local serviceFunctions={
319+
320-
		service=true,
320+
321-
		GetService=true,
321+
322-
	}
322+
323-
	local fakeGame = newproxy(true)
323+
324-
	getmetatable(fakeGame).__index = function(s,i)
324+
325-
		if(s == fakeGame)then s=oldGame end
325+
326-
		local serv = GetService(oldGame,i)
326+
327-
		if serviceFunctions[i] then
327+
328-
			return GetService
328+
329-
		elseif(serv)then
329+
330-
			return serv
330+
331
	return NEWWELD
332-
			return s[i]
332+
333-
		end		
333+
334
local S = IT("Sound")
335-
	getmetatable(fakeGame).__newindex = function(s,i,v)
335+
336-
		if(s == fakeGame)then s=oldGame end
336+
337-
		s[i]=v
337+
338
		NEWSOUND = S:Clone()
339-
	getmetatable(fakeGame).__call=function(self,...)
339+
340-
		if(self == fakeGame)then self = oldGame end
340+
341-
		local wh = {...}
341+
342-
		local name = table.remove(wh,1)
342+
343-
		for i,v in next, wh do
343+
344-
			if(v == fakeGame)then v = oldGame end
344+
345-
			wh[i]=v
345+
346
			NEWSOUND.Looped = true
347-
		if serviceFunctions[name] then
347+
348-
			return GetService(self,unpack(wh))
348+
349
			NEWSOUND:remove()
350-
			return self(name,unpack(wh))
350+
351-
		end	
351+
352
	return NEWSOUND
353-
	getmetatable(fakeGame).	__namecall=function(self,...)
353+
354-
		if(self == fakeGame)then self = oldGame end
354+
355-
		local tuple={...}
355+
356-
		local name = table.remove(tuple,#tuple)
356+
357-
		
357+
358-
		local funcToCall=self[name]
358+
359-
		
359+
360-
		if serviceFunctions[name] then
360+
361-
			return GetService(self,unpack(tuple))
361+
362
	local TYPE = (Table.EffectType or "Sphere")
363-
			return self[name](self,unpack(tuple))
363+
364
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
365
	local TRANSPARENCY = (Table.Transparency or 0)
366-
	getmetatable(fakeGame).__metatable = 'gay'
366+
367
	local CFRAME = (Table.CFrame or Torso.CFrame)
368-
	coroutine.wrap(function()
368+
369-
		while true do
369+
370-
			Run:TrigEvent('RenderStepped')
370+
371-
			swait()
371+
372
	local MATERIAL = (Table.Material or "Neon")
373-
	end)()
373+
374-
	game=fakeGame
374+
375-
	UserInputService,ContextActionService = UsIS,CoAS
375+
376
	local SOUNDPITCH = (Table.SoundPitch or nil)
377-
	
377+
378-
-- converter by Drahazar
378+
379-
-- converted using Drahazar's Void SB Script Converter
379+
380
		local SOUND = nil
381
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
382
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
383
			PLAYSSOUND = true
384
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
385
		end
386
		EFFECT.Color = COLOR
387
		local MSH = nil
388
		if TYPE == "Sphere" then
389
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
390
		elseif TYPE == "Block" or TYPE == "Box" then
391
			MSH = IT("BlockMesh",EFFECT)
392
			MSH.Scale = SIZE
393
		elseif TYPE == "Wave" then
394
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
395
		elseif TYPE == "Ring" then
396
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
397
		elseif TYPE == "Slash" then
398
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
399
		elseif TYPE == "Round Slash" then
400
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
401
		elseif TYPE == "Swirl" then
402
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
403
		elseif TYPE == "Skull" then
404
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
405
		elseif TYPE == "Crystal" then
406
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
407
		end
408
		if MSH ~= nil then
409
			local MOVESPEED = nil
410
			if MOVEDIRECTION ~= nil then
411
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
412
			end
413
			local GROWTH = SIZE - ENDSIZE
414
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
415
			if TYPE == "Block" then
416
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
417
			else
418
				EFFECT.CFrame = CFRAME
419
			end
420
			for LOOP = 1, TIME+1 do
421
				Swait()
422
				MSH.Scale = MSH.Scale - GROWTH/TIME
423
				if TYPE == "Wave" then
424
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
425
				end
426
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
427
				if TYPE == "Block" then
428
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
429
				else
430
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
431
				end
432
				if MOVEDIRECTION ~= nil then
433
					local ORI = EFFECT.Orientation
434
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
435
					EFFECT.Orientation = ORI
436
				end
437
			end
438
			if PLAYSSOUND == false then
439
				EFFECT:remove()
440
			else
441
				repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
442
				EFFECT:remove()
443
			end
444
		else
445
			if PLAYSSOUND == false then
446
				EFFECT:remove()
447
			else
448
				repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
449
				EFFECT:remove()
450
			end
451
		end
452
	end))
453
end
454
455
function MakeForm(PART,TYPE)
456
	if TYPE == "Cyl" then
457
		local MSH = IT("CylinderMesh",PART)
458
	elseif TYPE == "Ball" then
459
		local MSH = IT("SpecialMesh",PART)
460
		MSH.MeshType = "Sphere"
461
	elseif TYPE == "Wedge" then
462
		local MSH = IT("SpecialMesh",PART)
463
		MSH.MeshType = "Wedge"
464
	end
465
end
466
467
Debris = game:GetService("Debris")
468
469
function CastProperRay(StartPos, EndPos, Distance, Ignore)
470
	local DIRECTION = CF(StartPos,EndPos).lookVector
471
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
472
end
473
474
function CreateNeonCircle(ATTACHPART,POSITION,SIZE,COLOR,MATERIAL,THICKNESS,WIDTH,ORBED,ORBPART)
475
	local PART = CreatePart(3, SPECIALITEMS, MATERIAL, 0, 1, COLOR, "CirclePart", VT(0,0,0),false)
476
	local ORB = nil
477
	for i = 1, 20 do
478
		local RingPiece = CreatePart(3, SPECIALITEMS, MATERIAL, 0, 0, COLOR, "CirclePart", VT(THICKNESS,WIDTH,SIZE*(2.6/2)),false)
479
		local RingWeld = CreateWeldOrSnapOrMotor("Weld", RingPiece, PART, RingPiece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/20)*i), RAD(0)), CF(0, 0, 0) * CF(SIZE*4, 0, 0))
480
		if i == ORBPART and ORBED == true then
481
			ORB = CreatePart(3, SPECIALITEMS, MATERIAL, 0, 0, COLOR, "Orb", VT(0.8+WIDTH,0.8+WIDTH,0.8+WIDTH),false)
482
			MakeForm(ORB,"Ball")
483
			CreateWeldOrSnapOrMotor("Weld", RingPiece, RingPiece, ORB, CF(0,0,0) * ANGLES(RAD(0), RAD(0), RAD(0)),CF(0, 0, 0))
484
		end
485
	end
486
	local PartWeld = CreateWeldOrSnapOrMotor("Weld", ATTACHPART, PART, ATTACHPART, POSITION * ANGLES(RAD(0), RAD(0), RAD(0)),CF(0, 0, 0))
487
	return PartWeld, ORB
488
end
489
490
function CharacterFade(COLOR,TIMER)
491
	coroutine.resume(coroutine.create(function()
492
		local FADE = IT("Model",Effects)
493
		FADE.Name = "FadingEffect"
494
		for _, c in pairs(Character:GetChildren()) do
495
			if c.ClassName == "Part" and c ~= RootPart then
496
				local FADER = c:Clone()
497
				FADER.Color = COLOR
498
				FADER.CFrame = c.CFrame
499
				FADER.Parent = FADE
500
				FADER.Anchored = true
501
				FADER.Transparency = 0.25+c.Transparency
502
				FADER:BreakJoints()
503
				FADER.Material = "Neon"
504
				if FADER.Name == "Head" then
505
					FADER:ClearAllChildren()
506
					FADER.Size = VT(1,1,1)
507
				end
508
				FADER.CanCollide = false
509
			end
510
		end
511
		local TRANS = 0.75/TIMER
512
		for i = 1, TIMER do
513
			Swait()
514
			for _, c in pairs(FADE:GetChildren()) do
515
				if c.ClassName == "Part" then
516
					c.Transparency = c.Transparency + TRANS
517
				end
518
			end
519
		end
520
		FADE:remove()
521
	end))
522
end
523
524
function ProjectileMovement(PROJECTILE,AIM,TIME)
525
	local HIT,POS = CastProperRay(PROJECTILE.Position,AIM,2000,Character)
526
	PROJECTILE.CFrame = CF(PROJECTILE.Position,POS) * ANGLES(RAD(0), RAD(0), RAD(MRANDOM(-90,90)))
527
	local HEIGHT = TIME/5
528
	local DISTANCE = (PROJECTILE.Position - POS).Magnitude
529
	for i = 1, TIME do
530
		Swait()
531
		PROJECTILE.CFrame = PROJECTILE.CFrame * CF(0,(HEIGHT-(i/2.575))/100,-DISTANCE/TIME)
532
	end
533
end
534
535
function GetSphereArea(POS,DISTANCE)
536
	return CF(POS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-DISTANCE).p
537
end
538
539
function SHAKECAM(POSITION,RANGE,INTENSITY,TIME)
540
	local CHILDREN = workspace:GetDescendants()
541
	for index, CHILD in pairs(CHILDREN) do
542
		if CHILD.ClassName == "Model" then
543
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
544
			if HUM then
545
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
546
				if TORSO then
547
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
548
						local CAMSHAKER = script.CamShake:Clone()
549
						CAMSHAKER.Shake.Value = INTENSITY
550
						CAMSHAKER.Timer.Value = TIME
551
						CAMSHAKER.Parent = CHILD
552
						CAMSHAKER.Disabled = false
553
					end
554
				end
555
			end
556
		end
557
	end
558
end
559
560
function GetRoot(MODEL,ROOT)
561
	if ROOT == true then
562
		return MODEL:FindFirstChild("HumanoidRootPart") or MODEL:FindFirstChild("Torso") or MODEL:FindFirstChild("UpperTorso")
563
	else
564
		return MODEL:FindFirstChild("Torso") or MODEL:FindFirstChild("UpperTorso")
565
	end
566
end
567
568
function Chatter(Text,Timer)
569
	local chat = coroutine.wrap(function()
570
		if Character:FindFirstChild("SpeechBoard")~= nil then
571
			Character:FindFirstChild("SpeechBoard"):destroy()
572
		end
573
		local naeeym2 = IT("BillboardGui",Character)
574
		naeeym2.Size = UD2(0,100,0,40)
575
		naeeym2.StudsOffset = VT(0,2,0)
576
		naeeym2.Adornee = Character.Head
577
		naeeym2.Name = "SpeechBoard"
578
		naeeym2.AlwaysOnTop = true
579
		local tecks2 = IT("TextLabel",naeeym2)
580
		tecks2.BackgroundTransparency = 1
581
		tecks2.BorderSizePixel = 0
582
		tecks2.Text = ""
583
		tecks2.Font = "Legacy"
584
		tecks2.TextSize = 15
585
		tecks2.TextStrokeTransparency = 0
586
		tecks2.TextColor3 = C3(1,1,1)
587
		tecks2.TextStrokeColor3 = C3(0,0,0)
588
		tecks2.Size = UDim2.new(1,0,0.5,0)
589
		local FINISHED = false
590
		coroutine.resume(coroutine.create(function()
591
			for i = 1,string.len(Text),1 do
592
				if naeeym2.Parent ~= Character then
593
					FINISHED = true
594
				end
595
				CreateSound(418252437, Head, 7, MRANDOM(8,12)/15, false)
596
				tecks2.Text = string.sub(Text,1,i)
597
				Swait(Timer)
598
			end
599
			FINISHED = true
600
		end))
601
		repeat wait() until FINISHED == true
602
		wait(1)
603
		naeeym2.Name = "FadingDialogue"
604
		for i = 1, 45 do
605
			Swait()
606
			naeeym2.StudsOffset = naeeym2.StudsOffset + VT(0,(2-((2/45)*i))/45,0)
607
			tecks2.TextTransparency = tecks2.TextTransparency + 1/45
608
			tecks2.TextStrokeTransparency = tecks2.TextTransparency
609
		end
610
		naeeym2:Destroy()
611
	end)
612
	chat()
613
end
614
615
function POSITION(PARENT)
616
	local grav = Instance.new("BodyPosition",PARENT)
617
	grav.D = 15
618
	grav.P = 2000
619
	grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
620
	return grav
621
end
622
623
--//=================================\\
624
--||	     WEAPON CREATION
625
--\\=================================//
626
627
for _, c in pairs(Character:GetChildren()) do
628
	if c and c.Parent then
629
		if c.ClassName == "Accessory" then
630
			local ACCESSORY = c
631
			local HANDLE = c.Handle
632
			HANDLE.Parent = Character
633
			if c then
634
				if HANDLE:FindFirstChild("HatAttachment") or HANDLE:FindFirstChild("HairAttachment") then
635
					local WLD = weldBetween(Head,HANDLE)
636
				elseif HANDLE:FindFirstChild("FaceFrontAttachment") then
637
					HANDLE:remove()
638
				else
639
					local WLD = weldBetween(Torso,HANDLE)
640
				end
641
			end
642
			ACCESSORY:remove()
643
		end
644
	end
645
end
646
wait(0.1)
647
local CUSTOMTAG = IT("BillboardGui",Character)
648
CUSTOMTAG.AlwaysOnTop = true
649
CUSTOMTAG.Size = UD2(2,15,2,15)
650
CUSTOMTAG.StudsOffset = VT(0,1.2,0)
651
CUSTOMTAG.MaxDistance = 75
652
CUSTOMTAG.Adornee = Character.Head
653
CUSTOMTAG.Name = "Name"
654
local TAGETXT = IT("TextLabel",CUSTOMTAG)
655
TAGETXT.BackgroundTransparency = 1
656
TAGETXT.TextScaled = true
657
TAGETXT.BorderSizePixel = 0
658
TAGETXT.Text = "Calamity"
659
TAGETXT.Font = "Fantasy"
660
TAGETXT.TextSize = 30
661
TAGETXT.TextStrokeTransparency = 0.5
662
TAGETXT.TextColor3 = C3(0,0,0)
663
TAGETXT.TextStrokeColor3 = C3(1,1,1)
664
TAGETXT.Size = UD2(1,0,0.5,0)
665
TAGETXT.Parent = CUSTOMTAG
666
local PARTICLES = {}
667
local RINGS = {}
668
local ORBS = {}
669
local SPIN = true
670
for _, c in pairs(script.Torso:GetChildren()) do
671
	c.Parent = Torso
672
	c.Enabled = true
673
	table.insert(PARTICLES,{c,c.Speed})
674
end
675
script.Torso:remove()
676
for i = 1, 4 do
677
	local WELD,ORB = CreateNeonCircle(RootPart,CF(0,0,0),(4+(i/1.3))/6,C3(1,1,1),"Neon",0,0,true,1)
678
	table.insert(RINGS,WELD)
679
	table.insert(ORBS,ORB)
680
end
681
local MASK = script.Mask
682
MASK.Parent = SPECIALITEMS
683
MASK:SetPrimaryPartCFrame(Head.CFrame*CF(-0.025,-0.08,-0.6)*ANGLES(RAD(-90),RAD(0),RAD(0)))
684
MASK.Wood.Anchored = false
685
local MASKP = MASK.Wood
686
local EYE = MASK.Neon.Attachment.Flame
687
local NEON = MASK.Neon
688
weldBetween(Head,MASK.Wood)
689
690
local SKILLTEXTCOLOR = C3(1,1,1)
691
local SKILLFONT = "Legacy"
692
local SKILLTEXTSIZE = 3
693
694
local ATTACKS = {"Mouse - Calamity Bomb","C - Singularity Beam","V - Catastrophic Ravage","B - Raw, Unfiltered Catastrophe","X - Supreme Cataclysm"}
695
696
for i = 1, #ATTACKS do
697
	local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.74, 0, 0.97-(0.02*i), 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
698
	local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKS[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
699
	SKILLTEXT.TextXAlignment = "Right"
700
end
701
local BOOMSOUNDS = {1606719431,1606720250,1606720814}
702
703
--//=================================\\
704
--||			DAMAGING
705
--\\=================================//
706
707
function ONESHOT(MODEL)
708
	MODEL:BreakJoints()
709
	for index, CHILD in pairs(MODEL:GetChildren()) do
710
		if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
711
			if CHILD.Name == "Head" then
712
				WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Skull", Size = VT(CHILD.Size.Z,CHILD.Size.Y,CHILD.Size.Z)*3, Size2 = (VT(CHILD.Size.Z,CHILD.Size.Y,CHILD.Size.Z)*3)*MRANDOM(7,14)/10, Transparency = CHILD.Transparency, Transparency2 = 1, CFrame = CHILD.CFrame, MoveToPos = CHILD.Position+VT(0,MRANDOM(5,8)/1.5,0), RotationX = MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
713
			else
714
				WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = CHILD.Size, Size2 = CHILD.Size*MRANDOM(7,14)/10, Transparency = CHILD.Transparency, Transparency2 = 1, CFrame = CHILD.CFrame, MoveToPos = CHILD.Position+VT(0,MRANDOM(5,8)/1.5,0), MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
715
			end
716
			CHILD:remove()
717
		end
718
	end
719
	Debris:AddItem(MODEL,6)
720
end
721
722
function Scan(OBJECT,TABLE)
723
	for index, CHILD in pairs(OBJECT:GetChildren()) do
724
		if CHILD ~= Character then
725
			if CHILD.ClassName == "Model" or CHILD.ClassName == "Folder" then
726
				table.insert(TABLE,CHILD)
727
				Scan(CHILD,TABLE)
728
			end
729
		end
730
	end
731
	return TABLE
732
end
733
734
function ApplyAoE(POSITION,RANGE)
735
	local TABLE = {}
736
	local SCANNED = Scan(workspace,TABLE)
737
	for E = 1, #SCANNED do
738
		if SCANNED[E]:FindFirstChildOfClass("Humanoid") then
739
			local TORSO = GetRoot(SCANNED[E],false)
740
			if TORSO then
741
				if (TORSO.Position - POSITION).Magnitude <= RANGE then
742
					ONESHOT(SCANNED[E])
743
				end
744
			end
745
		end
746
	end
747
end
748
749
--//=================================\\
750
--||	ATTACK FUNCTIONS AND STUFF
751
--\\=================================//
752
753
	--[[coroutine.resume(coroutine.create(function()
754
	end))]]
755
function CalamityBomb()
756
	ATTACK = true
757
	Rooted = false
758
	local FIRED = false
759
	repeat
760
		coroutine.resume(coroutine.create(function()
761
			local BOMB = ORBS[MRANDOM(1,#ORBS)]:Clone()
762
			BOMB.Parent = Effects
763
			BOMB.Anchored = true
764
			WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = BOMB.Size, Size2 = BOMB.Size*2, Transparency = 0.7, Transparency2 = 1, CFrame = CF(BOMB.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 8})
765
			local POS = CF(BOMB.Position) + VT(0,15,0)
766
			repeat
767
				Swait()
768
				BOMB.CFrame = Clerp(BOMB.CFrame,POS,0.1)
769
			until FIRED == true
770
			local CORE = IT("Attachment",BOMB)
771
			for index, PR in pairs(script.Effects.Bullet:GetChildren()) do
772
				local P = PR:Clone()
773
				P.Parent = CORE
774
				P.Enabled = true
775
			end
776
			ProjectileMovement(BOMB,Mouse.Hit.p,25)
777
			for i = 1, 15 do
778
				local ANGLE = CF(BOMB.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
779
				WACKYEFFECT({Time = 60, EffectType = "Crystal", Size = VT(6,6,6), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,40,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
780
			end
781
			ApplyAoE(BOMB.Position,15)
782
			SHAKECAM(BOMB.Position,50,6,13)
783
			WACKYEFFECT({EffectType = "Sphere", Size = VT(7,7,7), Size2 = VT(26,26,26), Transparency = 0.7, Transparency2 = 1, CFrame = CF(BOMB.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = 182765513, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 8})
784
			WACKYEFFECT({EffectType = "Sphere", Size = VT(8,8,8), Size2 = VT(27,27,27), Transparency = 0, Transparency2 = 1, CFrame = CF(BOMB.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 174580476, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 7})
785
			BOMB:remove()
786
		end))
787
		for i=0, 0.1, 0.1 / Animation_Speed do
788
			Swait()
789
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
790
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
791
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(160), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
792
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
793
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
794
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-60), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
795
		end
796
		FIRED = true
797
		for i=0, 0.2, 0.1 / Animation_Speed do
798
			Swait()
799
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(40)), 1 / Animation_Speed)
800
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(-40)), 1 / Animation_Speed)
801
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(90), RAD(-25), RAD(40 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
802
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
803
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(60), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
804
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
805
		end
806
	until HOLD == false
807
	for i=0, 0.2, 0.1 / Animation_Speed do
808
		Swait()
809
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(40)), 1 / Animation_Speed)
810
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(-40)), 1 / Animation_Speed)
811
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(90), RAD(-25), RAD(40 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
812
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
813
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(60), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
814
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
815
	end
816
	ATTACK = false
817
	Rooted = false
818
end
819
function SingularityBeam()
820
	ATTACK = true
821
	Rooted = false
822
	SPIN = false
823
	local CHARGING = true
824
	local FIRING = true
825
	local GYRO = IT("BodyGyro",RootPart)
826
	GYRO.D = 2
827
	GYRO.P = 20000
828
	GYRO.MaxTorque = VT(0,4000000,0)
829
	local TEXTS = {"I'll make you dissapear!","Vanish before my eyes, mortal!","You are nothing!"}
830
	Chatter(TEXTS[MRANDOM(1,#TEXTS)],0)
831
	coroutine.resume(coroutine.create(function()
832
		repeat
833
			Swait()
834
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
835
		until ATTACK == false
836
		GYRO:Remove()
837
	end))
838
	local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(2,2,2),true)
839
	MakeForm(CHARGE,"Ball")
840
	local CORE = IT("Attachment",CHARGE)
841
	local P = script.Charge:Clone()
842
	P.Parent = CORE
843
	P.Enabled = true
844
	local BEAM = nil
845
	local NOSE = nil
846
	local DAMAGE = false
847
	CreateSound(342793847, CHARGE, 10, 1, false)
848
	CHARGE.Color = C3(0,0,0)
849
	coroutine.resume(coroutine.create(function()
850
		coroutine.resume(coroutine.create(function()
851
			repeat
852
				Swait()
853
				CHARGE.CFrame = CF(RootPart.CFrame*CF(0,0,-8).p,Mouse.Hit.p)
854
				if BEAM ~= nil then
855
					local HIT,POS = CastProperRay(CHARGE.Position,Mouse.Hit.p,1000,Character)
856
					local DISTANCE = (POS - CHARGE.Position).Magnitude
857
					BEAM.CFrame = CHARGE.CFrame*CF(0,0,-((DISTANCE/2)+15)) * ANGLES(RAD(-90), RAD(0), RAD(0))
858
					BEAM.Size = VT(BEAM.Size.X,DISTANCE+15,BEAM.Size.Z)
859
					if BEAM.Size.X > 3 then
860
						for i = 1, 2 do
861
							local ANGLE = CF(BEAM.CFrame*CF(0,BEAM.Size.Y/2,0).p) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
862
							WACKYEFFECT({Time = 5, EffectType = "Crystal", Size = VT(6,2,6), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,40,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
863
						end
864
						local ANGLE = BEAM.CFrame*CF(0,-BEAM.Size.Y/2,0) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)) * CF(0,0,BEAM.Size.X/1.7)
865
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,45,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,40,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
866
						WACKYEFFECT({Time = 10, EffectType = "Wave", Size = VT(BEAM.Size.X,0,BEAM.Size.Z), Size2 = VT(BEAM.Size.X*3,6,BEAM.Size.Z*3), Transparency = 0.8, Transparency2 = 1, CFrame = BEAM.CFrame*CF(0,-BEAM.Size.Y/2,0) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
867
					end
868
					if DAMAGE == true then
869
						ApplyAoE(POS,BEAM.Size.X/1.5)
870
						ApplyAoE(BEAM.CFrame*CF(0,BEAM.Size.Y/2,0).p,BEAM.Size.X/1.5)
871
					end
872
				end
873
				if NOSE ~= nil then
874
					NOSE.CFrame = BEAM.CFrame*CF(0,BEAM.Size.Y/2,0)
875
				end
876
			until ATTACK == false
877
			for i = 1, 50 do
878
				Swait()
879
				CHARGE.Size = CHARGE.Size - VT(2,2,2)/50
880
			end
881
			CHARGE:remove()
882
		end))
883
		local LOOP = 0
884
		repeat
885
			Swait()
886
			LOOP = LOOP + 10
887
			for E = 1, #RINGS do
888
				RINGS[E].C0 = Clerp(RINGS[E].C0, CF(0,-(3+E),0) * ANGLES(RAD(90), RAD(0), RAD(LOOP+(E*15))),0.1)
889
			end
890
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(70)), 1 / Animation_Speed)
891
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(-70)), 1 / Animation_Speed)
892
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(90), RAD(0), RAD(70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
893
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
894
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
895
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
896
		until CHARGING == false or ATTACK == false
897
		repeat
898
			Swait()
899
			LOOP = LOOP + 10
900
			for E = 1, #RINGS do
901
				RINGS[E].C0 = Clerp(RINGS[E].C0, CF(0,-(3+E),0) * ANGLES(RAD(90), RAD(0), RAD(LOOP+(E*15))),0.1)
902
			end
903
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(10), RAD(70)), 1 / Animation_Speed)
904
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(-70)), 1 / Animation_Speed)
905
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(80), RAD(0), RAD(70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
906
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
907
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
908
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
909
		until FIRING == false or ATTACK == false
910
	end))
911
	wait(3)
912
	P.Enabled = false
913
	BEAM = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(0,600,0),true)
914
	BEAM.Color = C3(0,0,0)
915
	MakeForm(BEAM,"Cyl")
916
	NOSE = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(0,0,0),true)
917
	NOSE.Color = C3(0,0,0)
918
	MakeForm(NOSE,"Ball")
919
	wait(1)
920
	CreateSound(138677306, Effects, 10, 1, false)
921
	CreateSound(415700134, Effects, 10, 1, false)
922
	for i = 1, 20 do
923
		Swait()
924
		BEAM.Size = BEAM.Size + VT(1,0,1)
925
		NOSE.Size = NOSE.Size + VT(1,1,1)
926
	end
927
	DAMAGE = true
928
	local TOUCH = BEAM.Touched:Connect(function(HIT)
929
		if HIT.Parent ~= Character and HIT.Parent:FindFirstChildOfClass("Humanoid") then
930
			ONESHOT(HIT.Parent)
931
		end
932
	end)
933
	wait(4)
934
	DAMAGE = false
935
	TOUCH:Disconnect()
936
	for i = 1, 20 do
937
		Swait()
938
		BEAM.Size = BEAM.Size - VT(1,0,1)
939
		NOSE.Size = NOSE.Size - VT(1,1,1)
940
	end
941
	BEAM:Remove()
942
	NOSE:Remove()
943
	SPIN = true
944
	ATTACK = false
945
	Rooted = false
946
end
947
function CatastrophicRavage()
948
	ATTACK = true
949
	Rooted = false
950
	for i=0, 1, 0.1 / Animation_Speed do
951
		Swait()
952
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
953
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
954
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
955
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
956
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
957
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
958
	end
959
	ATTACK = false
960
	Rooted = false
961
end
962
function RawUnfilteredCatastrophe()
963
	ATTACK = true
964
	Rooted = false
965
	for i=0, 1, 0.1 / Animation_Speed do
966
		Swait()
967
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
968
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
969
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
970
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
971
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
972
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
973
	end
974
	ATTACK = false
975
	Rooted = false
976
end
977
function SupremeCataclysm()
978
	ATTACK = true
979
	Rooted = true
980
	local POSE = "Back"
981
	local LOC = POSITION(RootPart)
982
	CreateSound(874376217, Effects, 10, 1, false)
983
	LOC.Position = RootPart.Position+VT(0,35,0)
984
	local BLACKHOLE = false
985
	for i=0, 1.5, 0.1 / Animation_Speed do
986
		Swait()
987
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
988
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
989
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
990
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
991
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
992
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
993
	end
994
	local POS = RootPart.Position + VT(0,40,0)
995
	local GYRO = IT("BodyGyro",RootPart)
996
	GYRO.D = 2
997
	GYRO.P = 20000
998
	GYRO.MaxTorque = VT(0,4000000,0)
999
	coroutine.resume(coroutine.create(function()
1000
		repeat
1001
			Swait()
1002
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1003
		until ATTACK == false
1004
		GYRO:Remove()
1005
	end))
1006
	coroutine.resume(coroutine.create(function()
1007
		repeat
1008
			Swait()
1009
			if BLACKHOLE == true then
1010
				WACKYEFFECT({Time = 10, EffectType = "Sphere", Size = VT(10 + 3 * COS(SINE / 12),10 + 3 * COS(SINE / 12),10 + 3 * COS(SINE / 12))*2, Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 7})
1011
				local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character)
1012
				if HITFLOOR then
1013
					WACKYEFFECT({Time = 10, EffectType = "Wave", Size = VT(10,2,10), Size2 = VT(160,25,160), Transparency = 0.3, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1014
					local MATERIAL = CreatePart(3, Effects, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "BLACKHOLE'D", VT(2,2,2)*MRANDOM(5,15)/10)
1015
					MATERIAL.CFrame = CF(HITPOS-VT(0,5,0)) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)) * CF(0,0,MRANDOM(0,45))
1016
					if MRANDOM(1,5) == 1 then
1017
						CreateSound(765590102, MATERIAL, 2, MRANDOM(8,12)/8, false)
1018
					end
1019
					coroutine.resume(coroutine.create(function()
1020
						local Direction = CF(MATERIAL.Position,POS)
1021
						local Distance = (MATERIAL.Position - POS).magnitude
1022
						for i = 1, 45 do
1023
							Swait()
1024
							MATERIAL.CFrame = Direction*CF(0,(45/200)+((45/45)-((i*2)/45)),-Distance/45)
1025
							Direction = MATERIAL.CFrame
1026
						end
1027
						MATERIAL:remove()
1028
					end))
1029
				end
1030
			end
1031
			--WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(150 + 15 * COS(SINE / 12),0.1,150 + 15 * COS(SINE / 12)), Transparency = 0.9, Transparency2 = 1, CFrame = CF(Torso.Position) * 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})
1032
			SPINSPEED = SPINSPEED + 5/400
1033
			if POSE == "Back" then
1034
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(4), RAD(0), RAD(15)), 1 / Animation_Speed)
1035
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(25), RAD(-15)), 1 / Animation_Speed)
1036
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1037
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1038
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1039
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1040
			end
1041
		until ATTACK == false
1042
	end))
1043
	wait(2)
1044
	BLACKHOLE = true
1045
	for i = 1, 15 do
1046
		wait((2-((i/30)*2))/15)
1047
		CreateSound(182765513, Effects, 10, 1, false)
1048
		WACKYEFFECT({Time = 70, EffectType = "Sphere", Size = VT(45,45,45), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 7})
1049
		for i = 1, 5 do
1050
			local ANGLE = CF(POS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
1051
			WACKYEFFECT({Time = 60, EffectType = "Crystal", Size = VT(6,6,6), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,40,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1052
		end
1053
	end
1054
	Chatter("...Dissapear!",0)
1055
	local DESTROYER = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Singularity", VT(0,0,0),true)
1056
	DESTROYER.CFrame = CF(POS)
1057
	MakeForm(DESTROYER,"Ball")
1058
	DESTROYER.Color = C3(0,0,0)
1059
	CreateSound(341301115, DESTROYER, 10, 1.5, false)
1060
	coroutine.resume(coroutine.create(function()
1061
		repeat
1062
			Swait()
1063
			ApplyAoE(DESTROYER.Position,DESTROYER.Size.X/1.5)
1064
			local ANGLE = CF(DESTROYER.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
1065
			WACKYEFFECT({Time = 30, EffectType = "Sphere", Size = VT(5,1,5), Size2 = VT(0,DESTROYER.Size.X/3,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,DESTROYER.Size.X,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1066
			WACKYEFFECT({Time = 30, EffectType = "Sphere", Size = VT(4,1,4), Size2 = VT(0,DESTROYER.Size.X/3.1,0), Transparency = 0, Transparency2 = 1, CFrame = ANGLE, MoveToPos = ANGLE*CF(0,DESTROYER.Size.X,0).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1067
		until DESTROYER.Parent ~= Effects
1068
	end))
1069
	for i = 1, 100 do
1070
		Swait()
1071
		DESTROYER.Size = DESTROYER.Size + VT(0.5,0.5,0.5)
1072
		DESTROYER.Size = DESTROYER.Size + VT(0.15,0.15,0.15) * COS(SINE / 3)
1073
	end
1074
	POSE = "Manual"
1075
	for i=0, 1, 0.1 / Animation_Speed do
1076
		Swait()
1077
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-14), RAD(0), RAD(15)), 1 / Animation_Speed)
1078
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(25), RAD(-15)), 1 / Animation_Speed)
1079
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.35 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-150), RAD(0), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1080
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1081
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1082
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1083
	end
1084
	for i=0, 0.2, 0.1 / Animation_Speed do
1085
		Swait()
1086
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(14), RAD(0), RAD(15)), 1 / Animation_Speed)
1087
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(25), RAD(-15)), 1 / Animation_Speed)
1088
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(80), RAD(0), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1089
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1090
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1091
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1092
	end
1093
	coroutine.resume(coroutine.create(function()
1094
		local IMPACT = false
1095
		DESTROYER.CFrame = CF(DESTROYER.Position,Mouse.Hit.p)
1096
		for i = 1, 800 do
1097
			Swait()
1098
			DESTROYER.CFrame = DESTROYER.CFrame * CF(0,0,-0.5)
1099
			local HIT,POS = Raycast(DESTROYER.CFrame.p,DESTROYER.CFrame.lookVector,DESTROYER.Size.X/2,Character)
1100
			if HIT then
1101
				IMPACT = true
1102
				break
1103
			end
1104
		end
1105
		if IMPACT == false then
1106
			DESTROYER.Parent = SPECIALITEMS
1107
			local SIZE = DESTROYER.Size
1108
			CreateSound(3264923, Effects, 10, 1, false)
1109
			for i = 1, 25 do
1110
				Swait()
1111
				DESTROYER.Size = DESTROYER.Size - SIZE/25
1112
			end
1113
			DESTROYER:remove()
1114
		else
1115
			local SIZE = DESTROYER.Size
1116
			for i = 1, 15 do
1117
				Swait()
1118
				DESTROYER.Size = DESTROYER.Size - SIZE/35
1119
			end
1120
			SHAKECAM(DESTROYER.Position,9999999999999999999999999999999,8,160)
1121
			DESTROYER.Size = SIZE * 7
1122
			CreateSound(174580476, Effects, 10, 0.4, false)
1123
			CreateSound(288641686, Effects, 10, 0.5, false)
1124
			for index, CHILD in pairs(workspace:GetDescendants()) do
1125
				if CHILD.ClassName ~= "Terrain" then
1126
					if CHILD:IsA("BasePart") and CHILD:FindFirstAncestor(Player.Name) == nil then
1127
						if (CHILD.Position - DESTROYER.Position).Magnitude <= DESTROYER.Size.X/2 and CHILD.Size.Magnitude < DESTROYER.Size.Magnitude/7 then
1128
							CHILD:Destroy()
1129
						end
1130
					end
1131
				end
1132
			end
1133
			for i = 1, 200 do
1134
				Swait()
1135
				DESTROYER.Size = DESTROYER.Size + VT(0.5,0.5,0.5)/5
1136
				DESTROYER.Color = C3(i/10,i/10,i/10)
1137
				local HITFLOOR,HITPOS,NORMAL = Raycast(DESTROYER.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character)
1138
				WACKYEFFECT({Time = 50, EffectType = "Wave", Size = VT(50,2,50), Size2 = VT(260,65,260), Transparency = 0.3, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1139
			end
1140
			DESTROYER.Parent = SPECIALITEMS
1141
			local SIZE = DESTROYER.Size
1142
			CreateSound(3264923, Effects, 10, 1, false)
1143
			for i = 1, 25 do
1144
				Swait()
1145
				DESTROYER.Size = DESTROYER.Size - SIZE/25
1146
			end
1147
			DESTROYER:remove()
1148
		end
1149
	end))
1150
	BLACKHOLE = false
1151
	for i=0, 1, 0.1 / Animation_Speed do
1152
		Swait()
1153
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(14), RAD(0), RAD(15)), 1 / Animation_Speed)
1154
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(25), RAD(-15)), 1 / Animation_Speed)
1155
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(80), RAD(0), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1156
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1157
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1158
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1159
	end
1160
	SPINSPEED = 1
1161
	LOC:Remove()
1162
	ATTACK = false
1163
	Rooted = false
1164
end
1165
function Groan()
1166
	ATTACK = true
1167
	Rooted = true
1168
	local SOUND = CreateSound(1544355717, Head, 10, 1, false)
1169
	SOUND.EmitterSize = 500
1170
	repeat
1171
		Swait()
1172
		SOUND.Parent = Head
1173
		local COLOR = (SOUND.PlaybackLoudness*4)/255
1174
		NEON.Color = C3(COLOR,COLOR,COLOR)
1175
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1176
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-(COLOR*20) - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1177
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5 + 0.1 * COS(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(-25), RAD(-90)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1178
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.1 * COS(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(25), RAD(70)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1179
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1180
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1181
	until SOUND.Playing == false
1182
	SOUND:remove()
1183
	ATTACK = false
1184
	Rooted = false
1185
end
1186
function Laugh()
1187
	ATTACK = true
1188
	Rooted = true
1189
	local SOUND = CreateSound(1359796082, Head, 10, 1, false)
1190
	SOUND.EmitterSize = 250
1191
	repeat
1192
		Swait()
1193
		SOUND.Parent = Head
1194
		local COLOR = (SOUND.PlaybackLoudness*4)/255
1195
		NEON.Color = C3(COLOR/6,COLOR/6,COLOR/6)
1196
		if SOUND.TimePosition < 7 then
1197
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-COLOR/2), RAD(0), RAD(-25)), 1 / Animation_Speed)
1198
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 2.5 * COS(SINE / 12)), RAD(0), RAD(-5)), 1 / Animation_Speed)
1199
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.35, -0.5) * ANGLES(RAD(150), RAD(3), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1200
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1201
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-(25+COLOR/2) + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1202
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-(5+COLOR/2) + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1203
		elseif (SOUND.TimePosition < 9 and SOUND.TimePosition >= 7) or SOUND.TimePosition > 18 then
1204
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-COLOR/2), RAD(0), RAD(0)), 1 / Animation_Speed)
1205
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1206
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1207
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1208
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-(25+COLOR/2) + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1209
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-(5+COLOR/2) + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1210
		else
1211
			if COLOR < 4 then
1212
				COLOR = 4
1213
			end
1214
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-COLOR*4), RAD(0), RAD(0)), 1 / Animation_Speed)
1215
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-COLOR*6 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1216
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(45-COLOR*2), RAD(-25), RAD(COLOR*15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1217
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(45-COLOR*2), RAD(25), RAD(-COLOR*15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1218
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-(25+COLOR*4) + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1219
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-(5+COLOR*4) + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1220
		end
1221
	until SOUND.Playing == false
1222
	SOUND:remove()
1223
	ATTACK = false
1224
	Rooted = false
1225
end
1226
1227
--//=================================\\
1228
--||	  ASSIGN THINGS TO KEYS
1229
--\\=================================//
1230
1231
function MouseDown(Mouse)
1232
	HOLD = true
1233
	if ATTACK == false then
1234
		CalamityBomb()
1235
	end
1236
end
1237
1238
function MouseUp(Mouse)
1239
HOLD = false
1240
end
1241
1242
function KeyDown(Key)
1243
	KEYHOLD = true
1244
	if Key == "c" and ATTACK == false then
1245
		SingularityBeam()
1246
	end
1247
1248
	if Key == "v" and ATTACK == false then
1249
		CatastrophicRavage()
1250
	end
1251
1252
	if Key == "b" and ATTACK == false then
1253
		RawUnfilteredCatastrophe()
1254
	end
1255
1256
	if Key == "x" and ATTACK == false then
1257
		SupremeCataclysm()
1258
	end
1259
1260
	if Key == "y" and ATTACK == false then
1261
		Groan()
1262
	end
1263
	if Key == "t" and ATTACK == false then
1264
		Laugh()
1265
	end
1266
end
1267
1268
function KeyUp(Key)
1269
	KEYHOLD = false
1270
end
1271
1272
	Mouse.Button1Down:connect(function(NEWKEY)
1273
		MouseDown(NEWKEY)
1274
	end)
1275
	Mouse.Button1Up:connect(function(NEWKEY)
1276
		MouseUp(NEWKEY)
1277
	end)
1278
	Mouse.KeyDown:connect(function(NEWKEY)
1279
		KeyDown(NEWKEY)
1280
	end)
1281
	Mouse.KeyUp:connect(function(NEWKEY)
1282
		KeyUp(NEWKEY)
1283
	end)
1284
1285
--//=================================\\
1286
--\\=================================//
1287
1288
function unanchor()
1289
	for _, c in pairs(Character:GetChildren()) do
1290
		if c:IsA("BasePart") and c ~= RootPart then
1291
			c.Anchored = false
1292
		end
1293
	end
1294
	if UNANCHOR == true then
1295
		RootPart.Anchored = false
1296
	else
1297
		RootPart.Anchored = true
1298
	end
1299
end
1300
1301
--//=================================\\
1302
--||	WRAP THE WHOLE SCRIPT UP
1303
--\\=================================//
1304
1305
Humanoid.Changed:connect(function(Jump)
1306
	if Jump == "Jump" and (Disable_Jump == true) then
1307
		Humanoid.Jump = false
1308
	end
1309
end)
1310
1311
while true do
1312
	Swait()
1313
	script.Parent = WEAPONGUI
1314
	ANIMATE.Parent = nil
1315
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1316
	    v:Stop();
1317
	end
1318
	SINE = SINE + CHANGE/2
1319
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1320
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1321
	Humanoid.HipHeight = 2.2
1322
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4+Humanoid.HipHeight, Character)
1323
	if HITFLOOR == nil then
1324
		ANIM = "Midair"
1325
		if ATTACK == false then
1326
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
1327
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1328
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35 - 4 * COS(SINE / 6)), RAD(0), RAD(45 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1329
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35 - 4 * COS(SINE / 6)), RAD(0), RAD(-45 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1330
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25 + 5 * SIN(SINE / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1331
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(10), RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1332
		end
1333
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1334
		ANIM = "Idle"
1335
		if ATTACK == false then
1336
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1337
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1338
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(-25), RAD(25 + 8 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1339
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5 + 0.1 * COS(SINE / 12), 0.2) * ANGLES(RAD(0), RAD(25), RAD(-25 - 8 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1340
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25 + 6 * COS(SINE / 12)), RAD(80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1341
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5 + 2 * COS(SINE / 12)), RAD(-80), RAD(0)) * ANGLES(RAD(2 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1342
		end
1343
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1344
		ANIM = "Walk"
1345
		if ATTACK == false then
1346
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1347
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * COS(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1348
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5 + 0.1 * COS(SINE / 12), 0.4) * ANGLES(RAD(-37), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1349
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5 + 0.1 * COS(SINE / 12), 0.4) * ANGLES(RAD(-35), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1350
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.65 - 0.2 * COS(SINE / 12), -0.35) * ANGLES(RAD(-25), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1351
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.2 * COS(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1352
		end
1353
	end
1354
	if SPIN == true then
1355
		for E = 1, #RINGS do
1356
			RINGS[E].C0 = Clerp(RINGS[E].C0,CF(0,0,0) * ANGLES(RAD((SINE*5)+(E*7)*SPINSPEED), RAD(15 * COS(SINE / 12)), RAD((SINE*15))-(E*15)*SPINSPEED),0.6)
1357
		end
1358
	end
1359
	unanchor()
1360
	Humanoid.MaxHealth = "inf"
1361
	Humanoid.Health = "inf"
1362
	if Rooted == false then
1363
		Disable_Jump = false
1364
		Humanoid.WalkSpeed = Speed
1365
	elseif Rooted == true then
1366
		Disable_Jump = true
1367
		Humanoid.WalkSpeed = 0
1368
	end
1369
	if sick.Parent ~= RootPart then
1370
		sick = IT("Sound",RootPart)
1371
	end
1372
	Humanoid.DisplayDistanceType = "None"
1373
	Humanoid.Name = "NONHUM"
1374
	sick.SoundId = "rbxassetid://608726256"
1375
	sick.Looped = true
1376
	sick.Pitch = 1.2
1377
	sick.Volume = 4
1378
	sick.Playing = true
1379
	TAGETXT.Rotation = MRANDOM(-10,10)/5
1380
end
1381
1382
--//=================================\\
1383
--\\=================================//
1384
1385
1386
1387
1388
1389
--//====================================================\\--
1390
--||			  		 END OF SCRIPT
1391
--\\====================================================//--