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