View difference between Paste ID: ArupHAqZ and fVP75CJr
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
warn("Edit made by maximum442 and SHYIME")
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
--\\====================================================//--