View difference between Paste ID: Vt6yqfDC and EDRKn4FM
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")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 end
5
--//====================================================\\--
6
--||			   CREATED BY SHACKLUSTER
7
--\\====================================================//--
8
9
script:ClearAllChildren()
10
wait(0.2)
11
12
Player = game:GetService("Players").LocalPlayer
13
PlayerGui = Player.PlayerGui
14
Cam = workspace.CurrentCamera
15
Backpack = Player.Backpack
16
Character = Player.Character
17
Humanoid = Character.Humanoid
18
Mouse = Player:GetMouse()
19
RootPart = Character["HumanoidRootPart"]
20
Torso = Character["Torso"]
21
Head = Character["Head"]
22
RightArm = Character["Right Arm"]
23
LeftArm = Character["Left Arm"]
24
RightLeg = Character["Right Leg"]
25
LeftLeg = Character["Left Leg"]
26
RootJoint = RootPart["RootJoint"]
27
Neck = Torso["Neck"]
28
RightShoulder = Torso["Right Shoulder"]
29
LeftShoulder = Torso["Left Shoulder"]
30
RightHip = Torso["Right Hip"]
31
LeftHip = Torso["Left Hip"]
32
local TIME = 0
33
local sick = Instance.new("Sound",Torso)
34
35
IT = Instance.new
36
CF = CFrame.new
37
VT = Vector3.new
38
RAD = math.rad
39
C3 = Color3.new
40
UD2 = UDim2.new
41
BRICKC = BrickColor.new
42
ANGLES = CFrame.Angles
43
EULER = CFrame.fromEulerAnglesXYZ
44
COS = math.cos
45
ACOS = math.acos
46
SIN = math.sin
47
ASIN = math.asin
48
ABS = math.abs
49
MRANDOM = math.random
50
FLOOR = math.floor
51
52
--//=================================\\
53
--|| 	      USEFUL VALUES
54
--\\=================================//
55
56
Animation_Speed = 3
57
local FORCERESET = false
58
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
59
local Speed = 16
60
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
61
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
62
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
63
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
64
local DAMAGEMULTIPLIER = 1
65
local ANIM = "Idle"
66
local ATTACK = false
67
local EQUIPPED = false
68
local HOLD = false
69
local COMBO = 1
70
local Rooted = false
71
local SINE = 0
72
local KEYHOLD = false
73
local CHANGE = 2 / Animation_Speed
74
local WALKINGANIM = false
75
local VALUE1 = false
76
local VALUE2 = false
77
local ROBLOXIDLEANIMATION = IT("Animation")
78
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
79
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
80
--ROBLOXIDLEANIMATION.Parent = Humanoid
81
local WEAPONGUI = IT("ScreenGui", PlayerGui)
82
WEAPONGUI.Name = "BanishV3Gui"
83
local Weapon = IT("Model")
84
Weapon.Name = "Adds"
85
local Effects = IT("Folder", Weapon)
86
Effects.Name = "Effects"
87
local ANIMATOR = Humanoid.Animator
88
local ANIMATE = Character:FindFirstChild("Animate")
89
local UNANCHOR = true
90
local TOBANISH = {}
91
script.Parent = PlayerGui
92
local LAUGHS = {834001699,834001752,834001797,834001828}
93
local VOCALS_ENRAGES = {528589078,528589175,528589274,528589382}
94
local VOCALS_TAUNT = {468973055,468973159}
95
local VOCALS_BASIC = {468972244,468972378,468972711,468972944}
96
local VOCAL_GROWL = 468971411
97
98
--//=================================\\
99
--\\=================================//
100
101
102
--//=================================\\
103
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
104
--\\=================================//
105
106
ArtificialHB = Instance.new("BindableEvent", script)
107
ArtificialHB.Name = "ArtificialHB"
108
109
script:WaitForChild("ArtificialHB")
110
111
frame = Frame_Speed
112
tf = 0
113
allowframeloss = false
114
tossremainder = false
115
lastframe = tick()
116
script.ArtificialHB:Fire()
117
118
game:GetService("RunService").Heartbeat:connect(function(s, p)
119
	tf = tf + s
120
	if tf >= frame then
121
		if allowframeloss then
122
			script.ArtificialHB:Fire()
123
			lastframe = tick()
124
		else
125
			for i = 1, math.floor(tf / frame) do
126
				script.ArtificialHB:Fire()
127
			end
128
		lastframe = tick()
129
		end
130
		if tossremainder then
131
			tf = 0
132
		else
133
			tf = tf - frame * math.floor(tf / frame)
134
		end
135
	end
136
end)
137
138
--//=================================\\
139
--\\=================================//
140
141
--//=================================\\
142
--|| 	      SOME FUNCTIONS
143
--\\=================================//
144
145
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
146
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
147
end
148
149
function PositiveAngle(NUMBER)
150
	if NUMBER >= 0 then
151
		NUMBER = 0
152
	end
153
	return NUMBER
154
end
155
156
function NegativeAngle(NUMBER)
157
	if NUMBER <= 0 then
158
		NUMBER = 0
159
	end
160
	return NUMBER
161
end
162
163
function Swait(NUMBER)
164
	if NUMBER == 0 or NUMBER == nil then
165
		ArtificialHB.Event:wait()
166
	else
167
		for i = 1, NUMBER do
168
			ArtificialHB.Event:wait()
169
		end
170
	end
171
end
172
173
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
174
	local NEWMESH = IT(MESH)
175
	if MESH == "SpecialMesh" then
176
		NEWMESH.MeshType = MESHTYPE
177
		if MESHID ~= "nil" and MESHID ~= "" then
178
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
179
		end
180
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
181
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
182
		end
183
	end
184
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
185
	NEWMESH.Scale = SCALE
186
	NEWMESH.Parent = PARENT
187
	return NEWMESH
188
end
189
190
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
191
	local NEWPART = IT("Part")
192
	NEWPART.formFactor = FORMFACTOR
193
	NEWPART.Reflectance = REFLECTANCE
194
	NEWPART.Transparency = TRANSPARENCY
195
	NEWPART.CanCollide = false
196
	NEWPART.Locked = true
197
	NEWPART.Anchored = true
198
	if ANCHOR == false then
199
		NEWPART.Anchored = false
200
	end
201
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
202
	NEWPART.Name = NAME
203
	NEWPART.Size = SIZE
204
	NEWPART.Position = Torso.Position
205
	NEWPART.Material = MATERIAL
206
	NEWPART:BreakJoints()
207
	NEWPART.Parent = PARENT
208
	return NEWPART
209
end
210
211
	local function weldBetween(a, b)
212
	    local weldd = Instance.new("ManualWeld")
213
	    weldd.Part0 = a
214
	    weldd.Part1 = b
215
	    weldd.C0 = CFrame.new()
216
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
217
	    weldd.Parent = a
218
	    return weldd
219
	end
220
221
222
function QuaternionFromCFrame(cf)
223
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
224
	local trace = m00 + m11 + m22
225
	if trace > 0 then 
226
		local s = math.sqrt(1 + trace)
227
		local recip = 0.5 / s
228
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
229
	else
230
		local i = 0
231
		if m11 > m00 then
232
			i = 1
233
		end
234
		if m22 > (i == 0 and m00 or m11) then
235
			i = 2
236
		end
237
		if i == 0 then
238
			local s = math.sqrt(m00 - m11 - m22 + 1)
239
			local recip = 0.5 / s
240
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
241
		elseif i == 1 then
242
			local s = math.sqrt(m11 - m22 - m00 + 1)
243
			local recip = 0.5 / s
244
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
245
		elseif i == 2 then
246
			local s = math.sqrt(m22 - m00 - m11 + 1)
247
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
248
		end
249
	end
250
end
251
 
252
function QuaternionToCFrame(px, py, pz, x, y, z, w)
253
	local xs, ys, zs = x + x, y + y, z + z
254
	local wx, wy, wz = w * xs, w * ys, w * zs
255
	local xx = x * xs
256
	local xy = x * ys
257
	local xz = x * zs
258
	local yy = y * ys
259
	local yz = y * zs
260
	local zz = z * zs
261
	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))
262
end
263
 
264
function QuaternionSlerp(a, b, t)
265
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
266
	local startInterp, finishInterp;
267
	if cosTheta >= 0.0001 then
268
		if (1 - cosTheta) > 0.0001 then
269
			local theta = ACOS(cosTheta)
270
			local invSinTheta = 1 / SIN(theta)
271
			startInterp = SIN((1 - t) * theta) * invSinTheta
272
			finishInterp = SIN(t * theta) * invSinTheta
273
		else
274
			startInterp = 1 - t
275
			finishInterp = t
276
		end
277
	else
278
		if (1 + cosTheta) > 0.0001 then
279
			local theta = ACOS(-cosTheta)
280
			local invSinTheta = 1 / SIN(theta)
281
			startInterp = SIN((t - 1) * theta) * invSinTheta
282
			finishInterp = SIN(t * theta) * invSinTheta
283
		else
284
			startInterp = t - 1
285
			finishInterp = t
286
		end
287
	end
288
	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
289
end
290
291
function Clerp(a, b, t)
292
	local qa = {QuaternionFromCFrame(a)}
293
	local qb = {QuaternionFromCFrame(b)}
294
	local ax, ay, az = a.x, a.y, a.z
295
	local bx, by, bz = b.x, b.y, b.z
296
	local _t = 1 - t
297
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
298
end
299
300
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
301
	local frame = IT("Frame")
302
	frame.BackgroundTransparency = TRANSPARENCY
303
	frame.BorderSizePixel = BORDERSIZEPIXEL
304
	frame.Position = POSITION
305
	frame.Size = SIZE
306
	frame.BackgroundColor3 = COLOR
307
	frame.BorderColor3 = BORDERCOLOR
308
	frame.Name = NAME
309
	frame.Parent = PARENT
310
	return frame
311
end
312
313
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
314
	local label = IT("TextLabel")
315
	label.BackgroundTransparency = 1
316
	label.Size = UD2(1, 0, 1, 0)
317
	label.Position = UD2(0, 0, 0, 0)
318
	label.TextColor3 = TEXTCOLOR
319
	label.TextStrokeTransparency = STROKETRANSPARENCY
320
	label.TextTransparency = TRANSPARENCY
321
	label.FontSize = TEXTFONTSIZE
322
	label.Font = TEXTFONT
323
	label.BorderSizePixel = BORDERSIZEPIXEL
324
	label.TextScaled = false
325
	label.Text = TEXT
326
	label.Name = NAME
327
	label.Parent = PARENT
328
	return label
329
end
330
331
function NoOutlines(PART)
332
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
333
end
334
335
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
336
	local NEWWELD = IT(TYPE)
337
	NEWWELD.Part0 = PART0
338
	NEWWELD.Part1 = PART1
339
	NEWWELD.C0 = C0
340
	NEWWELD.C1 = C1
341
	NEWWELD.Parent = PARENT
342
	return NEWWELD
343
end
344
345
local S = IT("Sound")
346
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
347
	local NEWSOUND = nil
348
	coroutine.resume(coroutine.create(function()
349
		NEWSOUND = S:Clone()
350
		NEWSOUND.Parent = PARENT
351
		NEWSOUND.Volume = VOLUME
352
		NEWSOUND.Pitch = PITCH
353
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
354
		NEWSOUND:play()
355
		if DOESLOOP == true then
356
			NEWSOUND.Looped = true
357
		else
358
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
359
			NEWSOUND:remove()
360
		end
361
	end))
362
	return NEWSOUND
363
end
364
365
function CFrameFromTopBack(at, top, back)
366
	local right = top:Cross(back)
367
	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)
368
end
369
370
--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(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
371
function WACKYEFFECT(Table)
372
	local TYPE = (Table.EffectType or "Sphere")
373
	local SIZE = (Table.Size or VT(1,1,1))
374
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
375
	local TRANSPARENCY = (Table.Transparency or 0)
376
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
377
	local CFRAME = (Table.CFrame or Torso.CFrame)
378
	local MOVEDIRECTION = (Table.MoveToPos or nil)
379
	local ROTATION1 = (Table.RotationX or 0)
380
	local ROTATION2 = (Table.RotationY or 0)
381
	local ROTATION3 = (Table.RotationZ or 0)
382
	local MATERIAL = (Table.Material or "Neon")
383
	local COLOR = (Table.Color or C3(1,1,1))
384
	local TIME = (Table.Time or 45)
385
	local SOUNDID = (Table.SoundID or nil)
386
	local SOUNDPITCH = (Table.SoundPitch or nil)
387
	local SOUNDVOLUME = (Table.SoundVolume or nil)
388
	coroutine.resume(coroutine.create(function()
389
		local PLAYSSOUND = false
390
		local SOUND = nil
391
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
392
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
393
			PLAYSSOUND = true
394
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
395
		end
396
		EFFECT.Color = COLOR
397
		local MSH = nil
398
		if TYPE == "Sphere" then
399
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
400
		elseif TYPE == "Block" then
401
			MSH = IT("BlockMesh",EFFECT)
402
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
403
		elseif TYPE == "Wave" then
404
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
405
		elseif TYPE == "Ring" then
406
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
407
		elseif TYPE == "Slash" then
408
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
409
		elseif TYPE == "Round Slash" then
410
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
411
		elseif TYPE == "Swirl" then
412
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
413
		elseif TYPE == "Skull" then
414
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
415
		elseif TYPE == "Crystal" then
416
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
417
		end
418
		if MSH ~= nil then
419
			local MOVESPEED = nil
420
			if MOVEDIRECTION ~= nil then
421
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
422
			end
423
			local GROWTH = SIZE - ENDSIZE
424
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
425
			if TYPE == "Block" then
426
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
427
			else
428
				EFFECT.CFrame = CFRAME
429
			end
430
			for LOOP = 1, TIME+1 do
431
				Swait()
432
				MSH.Scale = MSH.Scale - GROWTH/TIME
433
				if TYPE == "Wave" then
434
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
435
				end
436
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
437
				if TYPE == "Block" then
438
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
439
				else
440
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
441
				end
442
				if MOVEDIRECTION ~= nil then
443
					local ORI = EFFECT.Orientation
444
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
445
					EFFECT.Orientation = ORI
446
				end
447
			end
448
			if PLAYSSOUND == false then
449
				EFFECT:remove()
450
			else
451
				SOUND.Stopped:Connect(function()
452
					EFFECT:remove()
453
				end)
454
			end
455
		else
456
			if PLAYSSOUND == false then
457
				EFFECT:remove()
458
			else
459
				repeat Swait() until SOUND.Playing == false
460
				EFFECT:remove()
461
			end
462
		end
463
	end))
464
end
465
466
function MakeForm(PART,TYPE)
467
	if TYPE == "Cyl" then
468
		local MSH = IT("CylinderMesh",PART)
469
	elseif TYPE == "Ball" then
470
		local MSH = IT("SpecialMesh",PART)
471
		MSH.MeshType = "Sphere"
472
	elseif TYPE == "Wedge" then
473
		local MSH = IT("SpecialMesh",PART)
474
		MSH.MeshType = "Wedge"
475
	end
476
end
477
478
function CreateDebreeRing1(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
479
	if FLOOR ~= nil then
480
		coroutine.resume(coroutine.create(function()
481
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
482
			PART.CFrame = CF(POSITION)
483
			for i = 1, 45 do
484
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
485
				RingPiece.Material = FLOOR.Material
486
				RingPiece.Color = FLOOR.Color
487
				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)))
488
				Debris:AddItem(RingPiece,SWAIT)
489
			end
490
			PART:remove()
491
		end))
492
	end
493
end
494
495
function CreateFlyingDebree1(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
496
	if FLOOR ~= nil then
497
		for i = 1, AMOUNT do
498
			local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
499
			DEBREE.Material = FLOOR.Material
500
			DEBREE.Color = FLOOR.Color
501
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
502
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
503
			coroutine.resume(coroutine.create(function()
504
				Swait(15)
505
				DEBREE.Parent = workspace
506
				DEBREE.CanCollide = true
507
				Debris:AddItem(DEBREE,SWAIT)
508
			end))
509
		end
510
	end
511
end
512
513
function CreateDebreeRing2(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
514
	if FLOOR ~= nil then
515
		coroutine.resume(coroutine.create(function()
516
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Really black", "DebreeCenter", VT(0,0,0))
517
			PART.CFrame = CF(POSITION)
518
			for i = 1, 45 do
519
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Really black", "DebreePart", BLOCKSIZE)
520
				RingPiece.Material = FLOOR.Material
521
				RingPiece.Color = FLOOR.Color
522
				RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE*4, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
523
				Debris:AddItem(RingPiece,SWAIT)
524
			end
525
			PART:remove()
526
		end))
527
	end
528
end
529
530
function CreateFlyingDebree2(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
531
	if FLOOR ~= nil then
532
		for i = 1, AMOUNT do
533
			local DEBREE = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Debree", BLOCKSIZE, false)
534
			DEBREE.Material = FLOOR.Material
535
			DEBREE.Color = FLOOR.Color
536
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
537
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),STRENGTH,MRANDOM(-STRENGTH,STRENGTH))
538
			coroutine.resume(coroutine.create(function()
539
				Swait(15)
540
				DEBREE.Parent = workspace
541
				DEBREE.CanCollide = true
542
				Debris:AddItem(DEBREE,SWAIT)
543
			end))
544
		end
545
	end
546
end
547
548
function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
549
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
550
	local mesh = IT("SpecialMesh",wave)
551
	mesh.MeshType = "FileMesh"
552
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
553
	mesh.Scale = SIZE
554
	mesh.Offset = VT(0,0,0)
555
	wave.CFrame = CFRAME
556
	coroutine.resume(coroutine.create(function(PART)
557
		for i = 1, WAIT do
558
			Swait()
559
			mesh.Scale = mesh.Scale + GROW
560
			if DOESROT == true then
561
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
562
			end
563
			wave.Transparency = wave.Transparency + (0.5/WAIT)
564
			if wave.Transparency > 0.99 then
565
				wave:remove()
566
			end
567
		end
568
	end))
569
end
570
571
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
572
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
573
	local mesh = IT("SpecialMesh",wave)
574
	mesh.MeshType = "Sphere"
575
	mesh.Scale = SIZE
576
	mesh.Offset = VT(0,0,0)
577
	wave.CFrame = CFRAME
578
	coroutine.resume(coroutine.create(function(PART)
579
		for i = 1, WAIT do
580
			Swait()
581
			mesh.Scale = mesh.Scale + GROW
582
			wave.Transparency = wave.Transparency + (1/WAIT)
583
			if wave.Transparency > 0.99 then
584
				wave:remove()
585
			end
586
		end
587
	end))
588
end
589
function MagicSpheres(size,waitt,cframe,color)
590
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(1,1,1))
591
    local mesh = IT("SpecialMesh",wave)
592
    mesh.MeshType = "Sphere"
593
    mesh.Scale = VT(size,size,size)
594
    mesh.Offset = VT(0,0,0)
595
    wave.CFrame = cframe
596
    coroutine.resume(coroutine.create(function(PART)
597
        for i = 1, waitt do
598
            Swait()
599
            mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
600
            wave.Transparency = wave.Transparency + (1/waitt)
601
            if wave.Transparency > 0.99 then
602
                wave:remove()
603
            end
604
        end
605
    end))
606
end
607
608
function MagicSpheres2(size,waitt,cframe,color)
609
    local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(1,1,1))
610
    local mesh = IT("SpecialMesh",wave)
611
    mesh.MeshType = "Sphere"
612
    mesh.Scale = VT(size,size,size)
613
    mesh.Offset = VT(0,0,0)
614
    wave.CFrame = cframe
615
    coroutine.resume(coroutine.create(function(PART)
616
        for i = 1, waitt do
617
            Swait()
618
            mesh.Scale = mesh.Scale - VT(size/waitt,size/waitt,size/waitt)
619
            wave.Transparency = wave.Transparency - (1/waitt)
620
        end
621
        wave:remove()
622
    end))
623
end
624
625
function MagicBlock(size,waitt,part,offset,color)
626
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(size,size,size))
627
    local mesh = IT("BlockMesh",wave)
628
    wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(0),RAD(0),RAD(0))
629
    coroutine.resume(coroutine.create(function(PART)
630
        for i = 1, waitt do
631
            Swait()
632
            mesh.Scale = mesh.Scale + VT(size/15,size/15,size/15)
633
            wave.CFrame = CF(wave.Position) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
634
            wave.Transparency = wave.Transparency + (1/waitt)
635
            if wave.Transparency > 0.99 then
636
                wave:remove()
637
            end
638
        end
639
    end))
640
end
641
642
function SpawnTrail(FROM,TO,BIG)
643
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "White", "Trail", VT(0,0,0))
644
	MakeForm(TRAIL,"Cyl")
645
	local DIST = (FROM - TO).Magnitude
646
	if BIG == true then
647
		TRAIL.Size = VT(0.5,DIST,0.5)
648
	else
649
		TRAIL.Size = VT(0.25,DIST,0.25)
650
	end
651
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
652
	coroutine.resume(coroutine.create(function()
653
		for i = 1, 5 do
654
			Swait()
655
			TRAIL.Transparency = TRAIL.Transparency + 0.1
656
		end
657
		TRAIL:remove()
658
	end))
659
end
660
661
Debris = game:GetService("Debris")
662
663
function CastProperRay(StartPos, EndPos, Distance, Ignore)
664
	local DIRECTION = CF(StartPos,EndPos).lookVector
665
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
666
end
667
668
function turnto(position)
669
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
670
end
671
672
--//=================================\\
673
--||	     WEAPON CREATION
674
--\\=================================//
675
676
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Hood", VT(1,1,1),false)
677
PRT.Color = C3(0,0,0)
678
local HoodWeld = CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.2,0), CF(0, 0, 0))
679
CreateMesh("SpecialMesh", PRT, "FileMesh", "76062497", "", VT(1,1,1)*1.05, VT(0,0,0))
680
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Scarf", VT(1,1,1),false)
681
PRT.Color = C3(0,0,0)
682
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, PRT, CF(0.05,0.4,-0.1) * ANGLES(RAD(-3), RAD(0), RAD(0)), CF(0, 0, 0))
683
CreateMesh("SpecialMesh", PRT, "FileMesh", "99856331", "", VT(1.1,1,1.1), VT(0,0,0))
684
for i = 1, 16 do
685
	local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/16.2, "Dark stone grey", "FaceGradient", VT(1.01,0.65,1.01),false)
686
	FACE.Color = C3(0,0,0)
687
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
688
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.45-(i-1)/25,0), CF(0, 0, 0))
689
end
690
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Institutional White", "Eye", VT(0.1,1,1)/2,false)
691
MakeForm(Eye,"Ball")
692
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
693
local LASTPART = Head
694
for i = 1, 20 do
695
	local MATH = (1-(i/25))
696
	if LASTPART == Head then
697
		local Horn = CreatePart(3, Character, "Neon", 0, 0, "White", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
698
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(15), RAD(-15)), CF(0, 0, 0))
699
		LASTPART = Horn
700
		Horn.Color = C3((i*3-3)/255,0,0)
701
	else
702
		local Horn = CreatePart(3, Character, "Neon", 0, 0, "White", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
703
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(-0.3), RAD(0)), CF(0, 0, 0))
704
		LASTPART = Horn
705
		Horn.Color = C3((i*3-3)/255,0,0)
706
	end
707
end
708
709
local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
710
local LeftArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, LeftArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
711
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
712
MakeForm(Part,"Wedge")
713
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
714
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
715
MakeForm(Part,"Wedge")
716
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
717
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
718
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
719
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
720
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
721
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
722
MakeForm(Part,"Cyl")
723
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
724
for i = 1, 8 do
725
	local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
726
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
727
end
728
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
729
MakeForm(Part,"Cyl")
730
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
731
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
732
MakeForm(Part,"Ball")
733
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
734
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
735
MakeForm(Part,"Wedge")
736
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
737
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
738
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
739
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
740
MakeForm(Part,"Cyl")
741
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
742
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
743
MakeForm(Part,"Cyl")
744
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
745
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
746
MakeForm(Part,"Cyl")
747
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
748
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
749
MakeForm(Part,"Wedge")
750
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
751
local LASTPART = Handle
752
for i = 1, 10 do
753
	if LASTPART == Handle then
754
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
755
		LASTPART = Part
756
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
757
	else
758
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
759
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
760
		LASTPART = Part
761
	end
762
end
763
764
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
765
MakeForm(Barrel,"Cyl")
766
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
767
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
768
MakeForm(Part,"Cyl")
769
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
770
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
771
MakeForm(Part,"Wedge")
772
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
773
local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
774
MakeForm(Hole,"Cyl")
775
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
776
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
777
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
778
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
779
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
780
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
781
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
782
coroutine.resume(coroutine.create(function()
783
	while wait() do
784
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
785
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
786
	end
787
end))
788
789
local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
790
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
791
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
792
MakeForm(Part,"Wedge")
793
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
794
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
795
MakeForm(Part,"Wedge")
796
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
797
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
798
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
799
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
800
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
801
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
802
MakeForm(Part,"Cyl")
803
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
804
for i = 1, 8 do
805
	local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
806
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
807
end
808
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
809
MakeForm(Part,"Cyl")
810
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
811
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
812
MakeForm(Part,"Ball")
813
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
814
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
815
MakeForm(Part,"Wedge")
816
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
817
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
818
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
819
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
820
MakeForm(Part,"Cyl")
821
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
822
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
823
MakeForm(Part,"Cyl")
824
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
825
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
826
MakeForm(Part,"Cyl")
827
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
828
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
829
MakeForm(Part,"Wedge")
830
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
831
local LASTPART = Handle
832
for i = 1, 10 do
833
	if LASTPART == Handle then
834
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
835
		LASTPART = Part
836
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
837
	else
838
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
839
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
840
		LASTPART = Part
841
	end
842
end
843
844
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
845
MakeForm(Barrel,"Cyl")
846
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
847
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
848
MakeForm(Part,"Cyl")
849
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
850
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
851
MakeForm(Part,"Wedge")
852
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
853
local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
854
MakeForm(Hole,"Cyl")
855
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
856
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
857
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
858
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
859
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
860
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
861
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
862
coroutine.resume(coroutine.create(function()
863
	while wait() do
864
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
865
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
866
	end
867
end))
868
869
for _, c in pairs(Weapon:GetDescendants()) do
870
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
871
		c.Material = "Glass"
872
		c.Color = C3(0,0,0)
873
	elseif c.ClassName == "Part" and c.Name == "Eye" then
874
		c.Color = C3(1,1,1)
875
		c.Material = "Neon"
876
	end
877
end
878
879
Weapon.Parent = Character
880
for _, c in pairs(Weapon:GetChildren()) do
881
	if c.ClassName == "Part" then
882
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
883
	end
884
end
885
886
local SKILLTEXTCOLOR = C3(0,0,0)
887
local SKILLFONT = "Antique"
888
local SKILLTEXTSIZE = 7.3
889
890
Humanoid.Died:connect(function()
891
	ATTACK = true
892
end)
893
894
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
895
local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
896
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
897
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
898
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
899
--]]
900
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Night Shot", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
901
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
902
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Oblivion of Doom", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
903
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Pure Night", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
904
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Nightfall", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
905
--]]
906
function printbye(Name)
907
	local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
908
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
909
end
910
911
workspace.ChildAdded:connect(function(instance)
912
    for BANISH = 1, #TOBANISH do
913
		if TOBANISH[BANISH] ~= nil then
914
			if instance.Name == TOBANISH[BANISH] then
915
				coroutine.resume(coroutine.create(function()
916
					printbye(instance.Name)
917
					instance:ClearAllChildren()
918
					Debris:AddItem(instance,0.0005)
919
				end))
920
			end
921
		end
922
	end
923
end)
924
925
--//=================================\\
926
--||			DAMAGING
927
--\\=================================//
928
929
function Banish(Foe)
930
	if Foe then
931
		coroutine.resume(coroutine.create(function()
932
			--if game.Players:FindFirstChild(Foe.Name) then
933
				table.insert(TOBANISH,Foe.Name)
934
				printbye(Foe.Name)
935
			--end
936
			Foe.Archivable = true
937
			local CLONE = Foe:Clone()
938
			Foe:Destroy()
939
			CLONE.Parent = Effects
940
			CLONE:BreakJoints()
941
			local MATERIALS = {"Glass","Neon"}
942
			for _, c in pairs(CLONE:GetDescendants()) do
943
				if c:IsA("BasePart") then
944
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
945
 						CreateSound(340722848, c, 10, 1, false)
946
					end
947
					c.Anchored = true
948
					c.Transparency = c.Transparency + 0.2
949
					c.Material = MATERIALS[MRANDOM(1,2)]
950
					c.Color = C3(1,1,1)
951
					if c.ClassName == "MeshPart" then
952
						c.TextureID = ""
953
					end
954
					if c:FindFirstChildOfClass("SpecialMesh") then
955
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
956
					end
957
					if c:FindFirstChildOfClass("Decal") then
958
						c:FindFirstChildOfClass("Decal"):remove()
959
					end
960
					c.Name = "Banished"
961
					c.CanCollide = false
962
				else
963
					c:remove()
964
				end
965
			end
966
			local A = false
967
			for i = 1, 35 do
968
				if A == false then
969
					A = true
970
				elseif A == true then
971
					A = false
972
				end
973
				for _, c in pairs(CLONE:GetDescendants()) do
974
					if c:IsA("BasePart") then
975
						c.Anchored = true
976
						c.Material = MATERIALS[MRANDOM(1,2)]
977
						c.Transparency = c.Transparency + 0.8/35
978
						if A == false then
979
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
980
						elseif A == true then
981
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
982
						end
983
					end
984
				end
985
				Swait()
986
			end
987
			CLONE:remove()
988
		end))
989
	end
990
end
991
992
function ApplyAoE(POSITION,RANGE,ISBANISH)
993
	local CHILDREN = workspace:GetDescendants()
994
	for index, CHILD in pairs(CHILDREN) do
995
		if CHILD.ClassName == "Model" and CHILD ~= Character then
996
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
997
			if HUM then
998
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
999
				if TORSO then
1000
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1001
						if ISBANISH == true then
1002
							Banish(CHILD)
1003
						else
1004
							if ISBANISH == "Gravity" then
1005
								HUM.PlatformStand = true
1006
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1007
									local grav = Instance.new("BodyPosition",TORSO)
1008
									grav.D = 15
1009
									grav.P = 20000
1010
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1011
									grav.position = TORSO.Position
1012
									grav.Name = "V3BanishForce"..Player.Name
1013
								else
1014
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
1015
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
1016
								end
1017
							else
1018
								HUM.PlatformStand = false
1019
							end
1020
						end
1021
					elseif ISBANISH == "Gravity" then
1022
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1023
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
1024
							HUM.PlatformStand = false
1025
						end
1026
					end
1027
				end
1028
			end
1029
		end
1030
	end
1031
end
1032
1033
--//=================================\\
1034
--||	ATTACK FUNCTIONS AND STUFF
1035
--\\=================================//
1036
1037
function Ground_Star()
1038
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1039
		if HITFLOOR then
1040
		ATTACK = true
1041
		Rooted = true
1042
		FULL = true
1043
		local GYRO = IT("BodyGyro",RootPart)
1044
		GYRO.D = 25
1045
		GYRO.P = 20000
1046
		GYRO.MaxTorque = VT(0,math.huge,0)
1047
		for i=0, 0.3, 0.1 / Animation_Speed do
1048
			GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1049
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(-15)), 1 / Animation_Speed)
1050
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1051
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1052
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-25), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1053
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-35)), 1 / Animation_Speed)
1054
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(5)), 1 / Animation_Speed)
1055
		end
1056
		GYRO:remove()
1057
		CreateSound(12222200, RightArm, 10, 1)
1058
		for i=0, 0.4, 0.1 / Animation_Speed do
1059
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
1060
			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)
1061
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1062
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1063
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
1064
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
1065
		end
1066
		CreateSound(289842971, RightArm, 10, 1)
1067
		coroutine.resume(coroutine.create(function()
1068
			local HIT,POS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(Mouse.Hit.p+VT(0,1,0), Mouse.Hit.p-VT(0,1,0))).lookVector, 45, Character)
1069
			local ECHO = POS
1070
			if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
1071
				HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
1072
				ECHO = POS
1073
			elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1074
				HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
1075
				ECHO = POS
1076
			end
1077
			if ECHO.Y == HITPOS.Y then
1078
				local DISTANCE = (HITPOS - ECHO).Magnitude/3
1079
				local CFRAME = CF(HITPOS,ECHO)
1080
				local RANGE = math.ceil(DISTANCE)
1081
				for i = 1, RANGE-1 do
1082
					Swait(3)
1083
					local A = CFRAME*CF(0,0,-i*3)
1084
					ApplyAoE(A.p,4)
1085
					CreateFlyingDebree1(HITFLOOR,A,2,VT(2,2,2),2,65)
1086
				end
1087
				local SIZE = 3
1088
				local POS = CFRAME*CF(0,0,-RANGE*3).p
1089
				WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(55,0,55)*SIZE, Size2 = VT(55,15,55)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = 130972023, SoundPitch = 0.8, SoundVolume = 10})
1090
				WACKYEFFECT({EffectType = "Sphere", Size = VT(10,250,10)*SIZE, Size2 = VT(20,1000,20)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
1091
				WACKYEFFECT({EffectType = "Sphere", Size = VT(30,150,30)*SIZE, Size2 = VT(50,300,50)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
1092
				for i = 1, 9 do
1093
					WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
1094
				end
1095
				for i = 1, 9 do
1096
					WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
1097
				end
1098
				ApplyAoE(POS,30*SIZE)
1099
				CreateDebreeRing1(HITFLOOR,POS,30*SIZE,VT(8,8,8)*SIZE,5)
1100
				CreateDebreeRing1(HITFLOOR,POS,50*SIZE,VT(2,2,2)*SIZE,5)
1101
			end
1102
		end))
1103
		for i=0, 0.6, 0.1 / Animation_Speed do
1104
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
1105
			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)
1106
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1107
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1108
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
1109
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
1110
		end
1111
		FULL = false
1112
		ATTACK = false
1113
		Rooted = false
1114
	end
1115
end
1116
1117
function Shot()
1118
	ATTACK = true
1119
	Rooted = false
1120
	for i=0, 0.4, 0.1 / Animation_Speed do
1121
		Swait()
1122
		turnto(Mouse.Hit.p)
1123
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1124
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1125
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1126
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1127
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1128
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1129
	end
1130
	repeat
1131
		for i=0, 0.2, 0.1 / Animation_Speed do
1132
			Swait()
1133
			turnto(Mouse.Hit.p)
1134
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1135
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1136
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1137
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1138
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1139
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1140
		end
1141
		local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
1142
		SpawnTrail(Hole.Position,POS)
1143
		if HIT ~= nil then
1144
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
1145
				Banish(HIT.Parent)
1146
			end
1147
		end
1148
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1149
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1150
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * 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 = MRANDOM(8,11)/10, SoundVolume = 8})
1151
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * 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 = MRANDOM(8,11)/10, SoundVolume = 8})
1152
		for i=0, 0.3, 0.1 / Animation_Speed do
1153
			Swait()
1154
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1155
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
1156
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1157
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1158
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1159
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1160
		end
1161
	until KEYHOLD == false
1162
	ATTACK = false
1163
	Rooted = false
1164
end
1165
1166
function SpawnSmite(POS)
1167
	local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
1168
	local EMITPOS = HITPOS
1169
	if HITFLOOR ~= nil then
1170
		if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
1171
			HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
1172
			EMITPOS = HITPOS
1173
		elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1174
			HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
1175
			EMITPOS = HITPOS
1176
		end
1177
	end
1178
	if HITFLOOR ~= nil then
1179
		ApplyAoE(EMITPOS,10)
1180
		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 = C3(0,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
1181
		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 = C3(1,1,1), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1182
		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 = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1183
		for i = 1, 5 do
1184
			local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
1185
			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 = C3(0,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
1186
		end
1187
	end
1188
end
1189
1190
function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
1191
	coroutine.resume(coroutine.create(function()
1192
		local METEOR = IT("Model",Effects)
1193
		METEOR.Name = "Meteorite"
1194
		local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
1195
		METEOR.PrimaryPart = CENTER
1196
		local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
1197
		PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1198
		for i = 1, 15 do
1199
			local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "White", "Fire", VT(5.1,1,5.1)*SIZE)
1200
			FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1201
		end
1202
		if ISDEBREE ~= true then
1203
			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))))
1204
		else
1205
			METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
1206
		end
1207
		local IMPACT = false
1208
		CreateSound(463593339, CENTER, 10, 0.6)
1209
		if SIZE >= 3.5 then
1210
			for i = 1, MRANDOM(3,7) do
1211
				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)
1212
			end
1213
		end
1214
		for i = 1, 200 do
1215
			Swait()
1216
			local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
1217
			if HITFLOOR == nil then
1218
				local ORI = CENTER.Orientation
1219
				METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
1220
			else
1221
				if HITFLOOR.Anchored == true then
1222
					CreateDebreeRing1(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
1223
					CreateFlyingDebree1(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
1224
				end
1225
				IMPACT = true
1226
				break
1227
			end
1228
		end
1229
		if IMPACT == true then
1230
			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,1,1), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
1231
			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(0,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
1232
			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(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
1233
			ApplyAoE(CENTER.Position,30*SIZE)
1234
		end
1235
		METEOR:remove()
1236
	end))
1237
end
1238
1239
function Oblivion_of_Doom()
1240
	ATTACK = true
1241
	Rooted = false
1242
	CreateSound(1368573150, RightArm, 3, 1.5)
1243
	for i=0, 0.6, 0.1 / Animation_Speed do
1244
		Swait()
1245
		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 = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1246
		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)
1247
		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)
1248
	end
1249
	local POWER = 0
1250
	repeat 
1251
		Swait() 
1252
		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 = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
1253
		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)
1254
		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)
1255
		POWER = POWER + 0.5 
1256
		if POWER >= 85 then
1257
			POWER = 85
1258
		end
1259
	until KEYHOLD == false
1260
	if POWER < 0.6 then
1261
		SpawnSmite(Mouse.Hit.p)
1262
	else
1263
		if POWER < 15 then
1264
			POWER = 15
1265
		end
1266
		SpawnMeteor(Mouse.Hit.p,POWER/15)
1267
	end
1268
	ATTACK = false
1269
	Rooted = false
1270
end
1271
1272
function Pure_Night()
1273
	ATTACK = true
1274
	Rooted = true
1275
	local AIMPOS = Mouse.Hit.p
1276
	local AIM,AIMPOS = CastProperRay(AIMPOS+VT(0,1,0),AIMPOS,10000,Character)
1277
	coroutine.resume(coroutine.create(function()
1278
		local RAYS = {}
1279
		for i = 1, 4 do
1280
			local RAY = CreatePart(3, Effects, "Neon", 0, 1, "Really black", "Ray", VT(50,2000,50))
1281
			MakeForm(RAY,"Cyl")
1282
			RAY.Mesh.Scale = VT(1,1.1,1)
1283
			table.insert(RAYS,RAY)
1284
		end
1285
		CreateSound(348663022, Effects, 2, 1.2, false)
1286
		for i = 1, 100 do
1287
			Swait()
1288
			for e = 1, #RAYS do
1289
				if RAYS[e] ~= nil then
1290
					local RAY = RAYS[e]
1291
					RAY.CFrame = CF(AIMPOS+VT(0,1000,0))*ANGLES(RAD(0),RAD(90*e),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(50-(i/2)))*CF(0,-1000,0)
1292
					RAY.Transparency = RAY.Transparency - 0.01
1293
				end
1294
			end
1295
		end
1296
		for i = 1, 20 do
1297
			Swait()
1298
			for e = 1, #RAYS do
1299
				if RAYS[e] ~= nil then
1300
					local RAY = RAYS[e]
1301
					RAY.Mesh.Scale = RAY.Mesh.Scale - VT(1/20,0,1/20)
1302
				end
1303
			end
1304
		end
1305
		wait(0.3)
1306
		for i = 1, 16 do
1307
			local POS = CF(AIMPOS)*ANGLES(RAD(0),RAD(0,360),RAD(0))*CF(0,0,MRANDOM(0,5)).p
1308
			SpawnTrail(POS+VT(0,200,0),POS)
1309
		end
1310
		for i = 1, 4 do
1311
			CreateDebreeRing2(AIM,AIMPOS-VT(0,3,0),5*i,VT(5,5,5)*i,5)
1312
		end
1313
1314
		CreateFlyingDebree2(AIM,CF(AIMPOS),7,VT(3,3,3),5,185,false)
1315
		CreateFlyingDebree2(AIM,CF(AIMPOS),7,VT(6,6,6),5,285,false)
1316
		CreateSound(130972023, Effects, 2, 1, false)
1317
		local POS = Mouse.Hit.p
1318
		local RAY = CreatePart(3, Effects, "Neon", 0, 0, "White", "Strike", VT(0,0,0))
1319
		MakeForm(RAY,"Cyl")
1320
		local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "White", "Strike", VT(130,130,130))
1321
		MakeForm(SPHERE,"Ball")
1322
		local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Strike", VT(120,120,120))
1323
		MakeForm(SHIELD,"Ball")
1324
		SHIELD.CFrame = CF(AIMPOS)
1325
		RAY.CFrame = CF(AIMPOS)
1326
		SPHERE.CFrame = CF(AIMPOS)
1327
		local CFRAME = CF(SPHERE.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
1328
		CreateSound(415700134, SPHERE, 10, 0.8, false)
1329
		for i = 1, 200 do
1330
			Swait()
1331
		WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(10,10,10), Transparency = 0, Transparency2 = 1, CFrame = CF(SPHERE.Position+VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))), MoveToPos = CF(RAY.Position), RotationX = MRANDOM(-15,15), RotationY = MRANDOM(-15,15), RotationZ = MRANDOM(-15,15), Material = "Neon", Color = C3(1,1,1), SoundID = "444667859", SoundPitch = 2, SoundVolume = nil})
1332
	MagicSphere(VT(0,0,0),45,SPHERE.CFrame,"Really black",VT(5,20,5))
1333
			RAY.Size = RAY.Size + VT(0,0,0)
1334
			SPHERE.Size = SPHERE.Size + VT(0.05,0.05,0.05)
1335
			SHIELD.Size = SPHERE.Size + VT(0.05,0.05,0.05)
1336
			ApplyAoE(SPHERE.Position,SPHERE.Size.X/2,true)
1337
		end	
1338
		for i = 1, 45 do
1339
			Swait()
1340
			RAY.Transparency = RAY.Transparency + 1/45
1341
			SPHERE.Transparency = RAY.Transparency 
1342
			SHIELD.Transparency = SPHERE.Transparency + 1/45
1343
		end
1344
		RAY:remove()
1345
		SHIELD:remove()
1346
		SPHERE:remove()
1347
	end))
1348
	ATTACK = false
1349
	Rooted = false
1350
end
1351
1352
function Nightfall()
1353
	ATTACK = true
1354
	Rooted = true
1355
	CreateSound(LAUGHS[MRANDOM(1,#LAUGHS)], Torso, 7, 0.64, false)
1356
	for i=0, 1, 0.1 / Animation_Speed do
1357
		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)
1358
		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)
1359
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1360
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1361
		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)
1362
		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)
1363
	end	
1364
	coroutine.resume(coroutine.create(function()
1365
		local POS = Mouse.Hit.p
1366
		local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Black", "Strike", VT(0,2000,0))
1367
		MakeForm(RAY,"Cyl")
1368
		local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "White", "Strike", VT(0,0,0))
1369
		MakeForm(SPHERE,"Ball")
1370
		local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Black", "Strike", VT(0,0,0))
1371
		MakeForm(SHIELD,"Ball")
1372
		SHIELD.CFrame = CF(POS)
1373
		RAY.CFrame = CF(POS)
1374
		SPHERE.CFrame = CF(POS)
1375
		CreateSound(440145570, SPHERE, 10, 0.8, false)
1376
		CreateSound(415700134, SPHERE, 10, 0.8, false)
1377
		for i = 1, 200 do
1378
			Swait()
1379
			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})
1380
			RAY.Size = RAY.Size + VT(0.05,0,0.05)
1381
			SPHERE.Size = SPHERE.Size + VT(2,2,2)
1382
			SHIELD.Size = SPHERE.Size + VT(3,3,3)
1383
			ApplyAoE(SPHERE.Position,SPHERE.Size.X/2,true)
1384
		end	
1385
		for i = 1, 45 do
1386
			Swait()
1387
			RAY.Transparency = RAY.Transparency + 1/45
1388
			SPHERE.Transparency = RAY.Transparency 
1389
			SHIELD.Transparency = SPHERE.Transparency + 1/45
1390
		end
1391
		RAY:remove()
1392
		SHIELD:remove()
1393
		SPHERE:remove()
1394
	end))
1395
	for i=0, 1, 0.1 / Animation_Speed do
1396
		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)
1397
		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)
1398
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(-45), RAD(85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1399
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(45), RAD(-85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1400
		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)
1401
		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)
1402
	end
1403
	ATTACK = false
1404
	Rooted = false
1405
end
1406
1407
--//=================================\\
1408
--||	  ASSIGN THINGS TO KEYS
1409
--\\=================================//
1410
1411
function MouseDown(Mouse)
1412
	if ATTACK == false then
1413
		Click()
1414
	end
1415
end
1416
1417
function MouseUp(Mouse)
1418
HOLD = false
1419
end
1420
1421
function KeyDown(Key)
1422
	KEYHOLD = true
1423
	if Key == "z" and ATTACK == false then
1424
		Shot()
1425
	end
1426
1427
	if Key == "b" and ATTACK == false then
1428
		Vanish()
1429
	end
1430
1431
	if Key == "c" and ATTACK == false then
1432
		Oblivion_of_Doom()
1433
	end
1434
1435
	if Key == "v" and ATTACK == false then
1436
		Pure_Night()
1437
	end
1438
1439
	if Key == "x" and ATTACK == false then
1440
                Nightfall()
1441
	end
1442
1443
	if Key == "t" and ATTACK == false then
1444
                CreateSound(VOCALS_TAUNT[MRANDOM(1,#VOCALS_TAUNT)], Head, 20, 0.60, false)
1445
	end
1446
1447
	if Key == "p" and ATTACK == false then
1448
		Ground_Star()
1449
	end
1450
1451
	if Key == "1" and ATTACK == false then
1452
		CreateSound(VOCALS_ENRAGES[MRANDOM(1,#VOCALS_ENRAGES)], Head, 20, 0.70, false)
1453
	end
1454
1455
	if Key == "f" and ATTACK == false then
1456
		CreateSound(VOCALS_BASIC[MRANDOM(1,#VOCALS_BASIC)], Head, 20, 0.50, false)
1457
	end
1458
1459
	if Key == "2" and ATTACK == false then
1460
		CreateSound(468971411, Head, 20, 0.40, false)
1461
	end
1462
end
1463
1464
function KeyUp(Key)
1465
	KEYHOLD = false
1466
end
1467
1468
	Mouse.Button1Down:connect(function(NEWKEY)
1469
		MouseDown(NEWKEY)
1470
	end)
1471
	Mouse.Button1Up:connect(function(NEWKEY)
1472
		MouseUp(NEWKEY)
1473
	end)
1474
	Mouse.KeyDown:connect(function(NEWKEY)
1475
		KeyDown(NEWKEY)
1476
	end)
1477
	Mouse.KeyUp:connect(function(NEWKEY)
1478
		KeyUp(NEWKEY)
1479
	end)
1480
1481
--//=================================\\
1482
--\\=================================//
1483
1484
1485
function unanchor()
1486
	if UNANCHOR == true then
1487
		g = Character:GetChildren()
1488
		for i = 1, #g do
1489
			if g[i].ClassName == "Part" then
1490
				g[i].Anchored = false
1491
			end
1492
		end
1493
	end
1494
end
1495
1496
1497
--//=================================\\
1498
--||	WRAP THE WHOLE SCRIPT UP
1499
--\\=================================//
1500
1501
Humanoid.Changed:connect(function(Jump)
1502
	if Jump == "Jump" and (Disable_Jump == true) then
1503
		Humanoid.Jump = false
1504
	end
1505
end)
1506
1507
local CONNECT = nil
1508
1509
while true do
1510
	Swait()
1511
	ANIMATE.Parent = nil
1512
	if Character:FindFirstChildOfClass("Humanoid") == nil then
1513
		Humanoid = IT("Humanoid",Character)
1514
	end
1515
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1516
	    v:Stop();
1517
	end
1518
	SINE = SINE + CHANGE
1519
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1520
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1521
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1522
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1523
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1524
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1525
		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) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1526
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1527
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1528
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1529
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1530
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1531
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1532
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1533
	end
1534
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1535
		ANIM = "Jump"
1536
		if ATTACK == false then
1537
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1538
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1539
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1540
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, -0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(-25))* LEFTSHOULDERC0, 0.15 / Animation_Speed)
1541
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1542
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1543
	    end
1544
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1545
		ANIM = "Fall"
1546
		if ATTACK == false then
1547
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1548
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1549
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1550
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, -0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* LEFTSHOULDERC0, 0.15 / Animation_Speed)
1551
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1552
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1553
		end
1554
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1555
		ANIM = "Idle"
1556
		if ATTACK == false then
1557
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
1558
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed)
1559
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1560
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5, -0.4) * ANGLES(RAD(75), RAD(45), RAD(25))* LEFTSHOULDERC0, 0.15 / Animation_Speed)
1561
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1562
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1563
		end
1564
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1565
		ANIM = "Walk"
1566
		if ATTACK == false then
1567
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1568
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1569
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1570
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* LEFTSHOULDERC0, 0.15 / Animation_Speed)
1571
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1572
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1573
		end
1574
	end
1575
1576
	if Head:FindFirstChild("face") then
1577
		Head.face.Texture = "rbxassetid://900134257"
1578
	end
1579
1580
	unanchor()
1581
	Humanoid.MaxHealth = "inf"
1582
	Humanoid.Health = "inf"
1583
	if Rooted == false then
1584
		Disable_Jump = false
1585
		Humanoid.WalkSpeed = Speed
1586
	elseif Rooted == true then
1587
		Disable_Jump = true
1588
		Humanoid.WalkSpeed = 0
1589
	end
1590
	sick.Parent = Torso
1591
	sick:resume()
1592
	sick.Volume = 6.5
1593
	sick.Pitch = 1
1594
	sick.SoundId = "rbxassetid://590936038"
1595
	sick.Name = "Nightfall"
1596
end
1597
1598
--//=================================\\
1599
--\\=================================//
1600
1601
1602
1603
1604
1605
--//====================================================\\--
1606
--||			  		 END OF SCRIPT
1607
--\\====================================================//--