View difference between Paste ID: xmTkrC4y and VzmA8sHF
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,game,owner = owner,game
4
local RealPlayer = Player
5
do
6
	print("FE Compatibility code by Mokiros")
7
	local rp = RealPlayer
8
	script.Parent = rp.Character
9
	
10
	--RemoteEvent for communicating
11
	local Event = Instance.new("RemoteEvent")
12
	Event.Name = "UserInput_Event"
13
14
	--Fake event to make stuff like Mouse.KeyDown work
15
	local function fakeEvent()
16
		local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
17
		t.connect = t.Connect
18
		return t
19
	end
20
21
	--Creating fake input objects with fake variables
22
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
23
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
24
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
25
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
26
	end}
27
	--Merged 2 functions into one by checking amount of arguments
28
	CAS.UnbindAction = CAS.BindAction
29
30
	--This function will trigger the events that have been :Connect()'ed
31
	local function te(self,ev,...)
32
		local t = m[ev]
33
		if t and t._fakeEvent then
34
			for _,f in pairs(t.Functions) do
35
				f(...)
36
			end
37
		end
38
	end
39
	m.TrigEvent = te
40
	UIS.TrigEvent = te
41
42
	Event.OnServerEvent:Connect(function(plr,io)
43
	    if plr~=rp then return end
44
		m.Target = io.Target
45
		m.Hit = io.Hit
46
		if not io.isMouse then
47
			local b = io.UserInputState == Enum.UserInputState.Begin
48
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
49
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
50
			end
51
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
52
				return m:TrigEvent(b and "Button2Down" or "Button2Up")
53
			end
54
			for _,t in pairs(CAS.Actions) do
55
				for _,k in pairs(t.Keys) do
56
					if k==io.KeyCode then
57
						t.Function(t.Name,io.UserInputState,io)
58
					end
59
				end
60
			end
61
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
62
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
63
	    end
64
	end)
65
	Event.Parent = NLS([==[
66
	local Player = game:GetService("Players").LocalPlayer
67
	local Event = script:WaitForChild("UserInput_Event")
68
69
	local Mouse = Player:GetMouse()
70
	local UIS = game:GetService("UserInputService")
71
	local input = function(io,a)
72
		if a then return end
73
		--Since InputObject is a client-side instance, we create and pass table instead
74
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
75
	end
76
	UIS.InputBegan:Connect(input)
77
	UIS.InputEnded:Connect(input)
78
79
	local h,t
80
	--Give the server mouse data 30 times every second, but only if the values changed
81
	--If player is not moving their mouse, client won't fire events
82
	while wait(1/30) do
83
		if h~=Mouse.Hit or t~=Mouse.Target then
84
			h,t=Mouse.Hit,Mouse.Target
85
			Event:FireServer({isMouse=true,Target=t,Hit=h})
86
		end
87
	end]==],Player.Character)
88
89
	----Sandboxed game object that allows the usage of client-side methods and services
90
	--Real game object
91
	local _rg = game
92
93
	--Metatable for fake service
94
	local fsmt = {
95
		__index = function(self,k)
96
			local s = rawget(self,"_RealService")
97
			if s then
98
				return typeof(s[k])=="function"
99
				and function(_,...)return s[k](s,...)end or s[k]
100
			end
101
		end,
102
		__newindex = function(self,k,v)
103
			local s = rawget(self,"_RealService")
104
			if s then s[k]=v end
105
		end
106
	}
107
	local function FakeService(t,RealService)
108
		t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
109
		return setmetatable(t,fsmt)
110
	end
111
112
	--Fake game object
113
	local g = {
114
		GetService = function(self,s)
115
			return rawget(self,s) or _rg:GetService(s)
116
		end,
117
		Players = FakeService({
118
			LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
119
		},"Players"),
120
		UserInputService = FakeService(UIS,"UserInputService"),
121
		ContextActionService = FakeService(CAS,"ContextActionService"),
122
		RunService = FakeService({
123
			_btrs = {},
124
			RenderStepped = _rg:GetService("RunService").Heartbeat,
125
			BindToRenderStep = function(self,name,_,fun)
126
				self._btrs[name] = self.Heartbeat:Connect(fun)
127
			end,
128
			UnbindFromRenderStep = function(self,name)
129
				self._btrs[name]:Disconnect()
130
			end,
131
		},"RunService")
132
	}
133
	rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
134
	g.service = g.GetService
135
	FakeService(g,game)
136
	--Changing owner to fake player object to support owner:GetMouse()
137
	game,owner = g,g.Players.LocalPlayer
138
end
139
wait(0.2)
140
Player = game:GetService("Players").LocalPlayer
141
PlayerGui = Player.PlayerGui
142
Cam = workspace.CurrentCamera
143
Backpack = Player.Backpack
144
Character = Player.Character
145
Humanoid = Character.Humanoid
146
Mouse = Player:GetMouse()
147
RootPart = Character.HumanoidRootPart
148
Torso = Character.Torso
149
Head = Character.Head
150
RightArm = Character["Right Arm"]
151
LeftArm = Character["Left Arm"]
152
RightLeg = Character["Right Leg"]
153
LeftLeg = Character["Left Leg"]
154
RootJoint = RootPart.RootJoint
155
Neck = Torso.Neck
156
RightShoulder = Torso["Right Shoulder"]
157
LeftShoulder = Torso["Left Shoulder"]
158
RightHip = Torso["Right Hip"]
159
LeftHip = Torso["Left Hip"]
160
local LastBolt
161
local LightningBolts = {}
162
local GunPoint
163
IT = Instance.new
164
CF = CFrame.new
165
VT = Vector3.new
166
RAD = math.rad
167
C3 = Color3.new
168
UD2 = UDim2.new
169
BRICKC = BrickColor.new
170
ANGLES = CFrame.Angles
171
EULER = CFrame.fromEulerAnglesXYZ
172
COS = math.cos
173
ACOS = math.acos
174
SIN = math.sin
175
ASIN = math.asin
176
ABS = math.abs
177
MRANDOM = math.random
178
FLOOR = math.floor
179
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
180
	local NEWMESH = IT(MESH)
181
	if MESH == "SpecialMesh" then
182
		NEWMESH.MeshType = MESHTYPE
183
		if MESHID ~= "nil" and MESHID ~= "" then
184
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id=" .. MESHID
185
		end
186
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
187
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id=" .. TEXTUREID
188
		end
189
	end
190
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
191
	NEWMESH.Scale = SCALE
192
	NEWMESH.Parent = PARENT
193
	return NEWMESH
194
end
195
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
196
	local NEWPART = IT("Part")
197
	NEWPART.formFactor = FORMFACTOR
198
	NEWPART.Reflectance = REFLECTANCE
199
	NEWPART.Transparency = TRANSPARENCY
200
	NEWPART.CanCollide = false
201
	NEWPART.Locked = true
202
	NEWPART.Anchored = true
203
	if ANCHOR == false then
204
		NEWPART.Anchored = false
205
	end
206
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
207
	NEWPART.Name = NAME
208
	NEWPART.Size = SIZE
209
	NEWPART.Position = Torso.Position
210
	NEWPART.Material = MATERIAL
211
	NEWPART:BreakJoints()
212
	NEWPART.Parent = PARENT
213
	return NEWPART
214
end
215
Player_Size = 1
216
Animation_Speed = 3
217
Frame_Speed = 0.016666666666666666
218
local Speed = 16
219
local Effects2 = {}
220
local weldBetween = function(a, b)
221
	local weldd = Instance.new("ManualWeld")
222
	weldd.Part0 = a
223
	weldd.Part1 = b
224
	weldd.C0 = CFrame.new()
225
	weldd.C1 = b.CFrame:inverse() * a.CFrame
226
	weldd.Parent = a
227
	return weldd
228
end
229
function createaccessory(attachmentpart, mesh, texture, scale, offset, color)
230
	local acs = Instance.new("Part")
231
	acs.CanCollide = false
232
	acs.Anchored = false
233
	acs.Size = Vector3.new(0, 0, 0)
234
	acs.CFrame = attachmentpart.CFrame
235
	acs.Parent = Character
236
	acs.BrickColor = color
237
	local meshs = Instance.new("SpecialMesh")
238
	meshs.MeshId = mesh
239
	meshs.TextureId = texture
240
	meshs.Parent = acs
241
	meshs.Scale = scale
242
	meshs.Offset = offset
243
	weldBetween(attachmentpart, acs)
244
end
245
function createbodypart(TYPE, COLOR, PART, OFFSET, SIZE)
246
	if TYPE == "Gem" then
247
		local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0, 0, 0))
248
		acs.Anchored = false
249
		acs.CanCollide = false
250
		acs.CFrame = PART.CFrame
251
		local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
252
		weldBetween(PART, acs)
253
	elseif TYPE == "Skull" then
254
		local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0, 0, 0))
255
		acs.Anchored = false
256
		acs.CanCollide = false
257
		acs.CFrame = PART.CFrame
258
		local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
259
		weldBetween(PART, acs)
260
	elseif TYPE == "Eye" then
261
		local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0, 0, 0))
262
		acs.Anchored = false
263
		acs.CanCollide = false
264
		acs.CFrame = PART.CFrame
265
		local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
266
		weldBetween(PART, acs)
267
	end
268
end
269
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
270
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
271
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
272
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
273
local CHANGEDEFENSE = 0
274
local CHANGEDAMAGE = 0
275
local CHANGEMOVEMENT = 0
276
local ANIM = "Idle"
277
local ATTACK = false
278
local EQUIPPED = false
279
local HOLD = false
280
local COMBO = 1
281
local Rooted = false
282
local SINE = 0
283
local KEYHOLD = false
284
local CHANGE = 2 / Animation_Speed
285
local WALKINGANIM = false
286
local WALK = 0
287
local VALUE1 = false
288
local VALUE2 = false
289
local ROBLOXIDLEANIMATION = IT("Animation")
290
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
291
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
292
local WEAPONGUI = IT("ScreenGui", PlayerGui)
293
WEAPONGUI.Name = "Weapon GUI"
294
local Weapon = IT("Model")
295
Weapon.Name = "Adds"
296
local Delete = IT("Model", Character)
297
Delete.Name = "Those who must be banished."
298
local Effects = IT("Folder", Weapon)
299
Effects.Name = "Effects"
300
local ANIMATOR = Humanoid.Animator
301
local ANIMATE = Character.Animate
302
local HITPLAYERSOUNDS = {
303
	"263032172",
304
	"263032182",
305
	"263032200",
306
	"263032221",
307
	"263032252",
308
	"263033191"
309
}
310
local HITARMORSOUNDS = {
311
	"199149321",
312
	"199149338",
313
	"199149367",
314
	"199149409",
315
	"199149452"
316
}
317
local HITWEAPONSOUNDS = {
318
	"199148971",
319
	"199149025",
320
	"199149072",
321
	"199149109",
322
	"199149119"
323
}
324
local HITBLOCKSOUNDS = {"199148933", "199148947"}
325
local UNANCHOR = true
326
local SKILLTEXTCOLOR = C3(1, 0, 0)
327
ArtificialHB = Instance.new("BindableEvent", script)
328
ArtificialHB.Name = "ArtificialHB"
329
script:WaitForChild("ArtificialHB")
330
frame = Frame_Speed
331
tf = 0
332
allowframeloss = false
333
tossremainder = false
334
lastframe = tick()
335
script.ArtificialHB:Fire()
336
game:GetService("RunService").Heartbeat:connect(function(s, p)
337
	tf = tf + s
338
	if tf >= frame then
339
		if allowframeloss then
340
			script.ArtificialHB:Fire()
341
			lastframe = tick()
342
		else
343
			for i = 1, math.floor(tf / frame) do
344
				script.ArtificialHB:Fire()
345
			end
346
			lastframe = tick()
347
		end
348
		if tossremainder then
349
			tf = 0
350
		else
351
			tf = tf - frame * math.floor(tf / frame)
352
		end
353
	end
354
end)
355
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
356
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
357
end
358
function PositiveAngle(NUMBER)
359
	if NUMBER >= 0 then
360
		NUMBER = 0
361
	end
362
	return NUMBER
363
end
364
function NegativeAngle(NUMBER)
365
	if NUMBER <= 0 then
366
		NUMBER = 0
367
	end
368
	return NUMBER
369
end
370
function Swait(NUMBER)
371
	if NUMBER == 0 or NUMBER == nil then
372
		ArtificialHB.Event:wait()
373
	else
374
		for i = 1, NUMBER do
375
			ArtificialHB.Event:wait()
376
		end
377
	end
378
end
379
function QuaternionFromCFrame(cf)
380
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
381
	local trace = m00 + m11 + m22
382
	if trace > 0 then
383
		local s = math.sqrt(1 + trace)
384
		local recip = 0.5 / s
385
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
386
	else
387
		local i = 0
388
		if m00 < m11 then
389
			i = 1
390
		end
391
		if m22 > (i == 0 and m00 or m11) then
392
			i = 2
393
		end
394
		if i == 0 then
395
			local s = math.sqrt(m00 - m11 - m22 + 1)
396
			local recip = 0.5 / s
397
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
398
		elseif i == 1 then
399
			local s = math.sqrt(m11 - m22 - m00 + 1)
400
			local recip = 0.5 / s
401
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
402
		elseif i == 2 then
403
			local s = math.sqrt(m22 - m00 - m11 + 1)
404
			local recip = 0.5 / s
405
			return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
406
		end
407
	end
408
end
409
function QuaternionToCFrame(px, py, pz, x, y, z, w)
410
	local xs, ys, zs = x + x, y + y, z + z
411
	local wx, wy, wz = w * xs, w * ys, w * zs
412
	local xx = x * xs
413
	local xy = x * ys
414
	local xz = x * zs
415
	local yy = y * ys
416
	local yz = y * zs
417
	local zz = z * zs
418
	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))
419
end
420
function QuaternionSlerp(a, b, t)
421
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
422
	local startInterp, finishInterp
423
	if cosTheta >= 1.0E-4 then
424
		if 1 - cosTheta > 1.0E-4 then
425
			local theta = ACOS(cosTheta)
426
			local invSinTheta = 1 / SIN(theta)
427
			startInterp = SIN((1 - t) * theta) * invSinTheta
428
			finishInterp = SIN(t * theta) * invSinTheta
429
		else
430
			startInterp = 1 - t
431
			finishInterp = t
432
		end
433
	elseif 1 + cosTheta > 1.0E-4 then
434
		local theta = ACOS(-cosTheta)
435
		local invSinTheta = 1 / SIN(theta)
436
		startInterp = SIN((t - 1) * theta) * invSinTheta
437
		finishInterp = SIN(t * theta) * invSinTheta
438
	else
439
		startInterp = t - 1
440
		finishInterp = t
441
	end
442
	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
443
end
444
function Clerp(a, b, t)
445
	local qa = {
446
		QuaternionFromCFrame(a)
447
	}
448
	local qb = {
449
		QuaternionFromCFrame(b)
450
	}
451
	local ax, ay, az = a.x, a.y, a.z
452
	local bx, by, bz = b.x, b.y, b.z
453
	local _t = 1 - t
454
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
455
end
456
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
457
	local frame = IT("Frame")
458
	frame.BackgroundTransparency = TRANSPARENCY
459
	frame.BorderSizePixel = BORDERSIZEPIXEL
460
	frame.Position = POSITION
461
	frame.Size = SIZE
462
	frame.BackgroundColor3 = COLOR
463
	frame.BorderColor3 = BORDERCOLOR
464
	frame.Name = NAME
465
	frame.Parent = PARENT
466
	return frame
467
end
468
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
469
	local label = IT("TextLabel")
470
	label.BackgroundTransparency = 1
471
	label.Size = UD2(1, 0, 1, 0)
472
	label.Position = UD2(0, 0, 0, 0)
473
	label.TextColor3 = TEXTCOLOR
474
	label.TextStrokeTransparency = STROKETRANSPARENCY
475
	label.TextTransparency = TRANSPARENCY
476
	label.FontSize = TEXTFONTSIZE
477
	label.Font = TEXTFONT
478
	label.BorderSizePixel = BORDERSIZEPIXEL
479
	label.TextScaled = false
480
	label.Text = TEXT
481
	label.Name = NAME
482
	label.Parent = PARENT
483
	return label
484
end
485
function NoOutlines(PART)
486
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
487
end
488
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
489
	local NEWWELD = IT(TYPE)
490
	NEWWELD.Part0 = PART0
491
	NEWWELD.Part1 = PART1
492
	NEWWELD.C0 = C0
493
	NEWWELD.C1 = C1
494
	NEWWELD.Parent = PARENT
495
	return NEWWELD
496
end
497
local SOUND = IT("Sound", nil)
498
function CreateSound(ID, PARENT, VOLUME, PITCH)
499
	local NEWSOUND
500
	coroutine.resume(coroutine.create(function()
501
		NEWSOUND = SOUND:Clone()
502
		NEWSOUND.Parent = PARENT
503
		NEWSOUND.Volume = VOLUME
504
		NEWSOUND.Pitch = PITCH
505
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id=" .. ID
506
		NEWSOUND:play()
507
		repeat
508
			Swait()
509
		until NEWSOUND.Playing == false
510
		NEWSOUND:remove()
511
	end))
512
	return NEWSOUND
513
end
514
function CFrameFromTopBack(at, top, back)
515
	local right = top:Cross(back)
516
	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)
517
end
518
function CreateWave(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
519
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
520
	local mesh = IT("SpecialMesh", wave)
521
	mesh.MeshType = "FileMesh"
522
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
523
	mesh.Scale = SIZE
524
	mesh.Offset = VT(0, 0, -SIZE.X / 8)
525
	wave.CFrame = CFRAME
526
	coroutine.resume(coroutine.create(function(PART)
527
		for i = 1, WAIT do
528
			Swait()
529
			mesh.Scale = mesh.Scale + GROW
530
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
531
			if DOESROT == true then
532
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
533
			end
534
			wave.Transparency = wave.Transparency + 0.5 / WAIT
535
			if wave.Transparency > 0.99 then
536
				wave:remove()
537
			end
538
		end
539
	end))
540
end
541
function CreateCrown(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
542
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
543
	local mesh = IT("SpecialMesh", wave)
544
	mesh.MeshType = "FileMesh"
545
	mesh.MeshId = "http://www.roblox.com/asset/?id=1078075"
546
	mesh.Scale = SIZE
547
	mesh.Offset = VT(0, 0, -SIZE.X / 8)
548
	wave.CFrame = CFRAME
549
	coroutine.resume(coroutine.create(function(PART)
550
		for i = 1, WAIT do
551
			Swait()
552
			mesh.Scale = mesh.Scale + GROW
553
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
554
			if DOESROT == true then
555
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
556
			end
557
			wave.Transparency = wave.Transparency + 0.5 / WAIT
558
			if wave.Transparency > 0.99 then
559
				wave:remove()
560
			end
561
		end
562
	end))
563
end
564
function CreateIceCrown(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
565
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
566
	local mesh = IT("SpecialMesh", wave)
567
	mesh.MeshType = "FileMesh"
568
	mesh.MeshId = "http://www.roblox.com/asset/?id=1323306"
569
	mesh.Scale = SIZE
570
	mesh.Offset = VT(0, 0, -SIZE.X / 8)
571
	wave.CFrame = CFRAME
572
	coroutine.resume(coroutine.create(function(PART)
573
		for i = 1, WAIT do
574
			Swait()
575
			mesh.Scale = mesh.Scale + GROW
576
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
577
			if DOESROT == true then
578
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
579
			end
580
			wave.Transparency = wave.Transparency + 0.5 / WAIT
581
			if wave.Transparency > 0.99 then
582
				wave:remove()
583
			end
584
		end
585
	end))
586
end
587
function CreateSpikeball(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
588
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
589
	local mesh = IT("SpecialMesh", wave)
590
	mesh.MeshType = "FileMesh"
591
	mesh.MeshId = "http://www.roblox.com/asset/?id=9982590"
592
	mesh.Scale = SIZE
593
	mesh.Offset = VT(0, 0, -SIZE.X / 8)
594
	wave.CFrame = CFRAME
595
	coroutine.resume(coroutine.create(function(PART)
596
		for i = 1, WAIT do
597
			Swait()
598
			mesh.Scale = mesh.Scale + GROW
599
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
600
			if DOESROT == true then
601
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
602
			end
603
			wave.Transparency = wave.Transparency + 0.5 / WAIT
604
			if wave.Transparency > 0.99 then
605
				wave:remove()
606
			end
607
		end
608
	end))
609
end
610
function CreateSwirl(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
611
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
612
	local mesh = IT("SpecialMesh", wave)
613
	mesh.MeshType = "FileMesh"
614
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
615
	mesh.Scale = SIZE
616
	wave.CFrame = CFRAME
617
	coroutine.resume(coroutine.create(function(PART)
618
		for i = 1, WAIT do
619
			Swait()
620
			mesh.Scale = mesh.Scale + GROW
621
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
622
			if DOESROT == true then
623
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
624
			end
625
			wave.Transparency = wave.Transparency + 0.5 / WAIT
626
			if wave.Transparency > 0.99 then
627
				wave:remove()
628
			end
629
		end
630
	end))
631
end
632
function CreateTornado(SIZE, DOESROT, ROT, WAIT, CFRAME, COLOR, GROW)
633
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
634
	local mesh = IT("SpecialMesh", wave)
635
	mesh.MeshType = "FileMesh"
636
	mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
637
	mesh.Scale = SIZE
638
	wave.CFrame = CFRAME
639
	coroutine.resume(coroutine.create(function(PART)
640
		for i = 1, WAIT do
641
			Swait()
642
			mesh.Scale = mesh.Scale + GROW
643
			if DOESROT == true then
644
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
645
			end
646
			wave.Transparency = wave.Transparency + 0.5 / WAIT
647
			if wave.Transparency > 0.99 then
648
				wave:remove()
649
			end
650
		end
651
	end))
652
end
653
function CreateRing(SIZE, DOESROT, ROT, WAIT, CFRAME, COLOR, GROW)
654
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
655
	local mesh = IT("SpecialMesh", wave)
656
	mesh.MeshType = "FileMesh"
657
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
658
	mesh.Scale = SIZE
659
	mesh.Offset = VT(0, 0, 0)
660
	wave.CFrame = CFRAME
661
	coroutine.resume(coroutine.create(function(PART)
662
		for i = 1, WAIT do
663
			Swait()
664
			mesh.Scale = mesh.Scale + GROW
665
			if DOESROT == true then
666
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
667
			end
668
			wave.Transparency = wave.Transparency + 0.5 / WAIT
669
			if wave.Transparency > 0.99 then
670
				wave:remove()
671
			end
672
		end
673
	end))
674
end
675
function MagicSphere(SIZE, WAIT, CFRAME, COLOR, GROW)
676
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
677
	local mesh = IT("SpecialMesh", wave)
678
	mesh.MeshType = "Sphere"
679
	mesh.Scale = SIZE
680
	mesh.Offset = VT(0, 0, 0)
681
	wave.CFrame = CFRAME
682
	coroutine.resume(coroutine.create(function(PART)
683
		for i = 1, WAIT do
684
			Swait()
685
			mesh.Scale = mesh.Scale + GROW
686
			wave.Transparency = wave.Transparency + 1 / WAIT
687
			if wave.Transparency > 0.99 then
688
				wave:remove()
689
			end
690
		end
691
	end))
692
end
693
function MagicBlock(SIZE, WAIT, CFRAME, COLOR, GROW)
694
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(SIZE, SIZE, SIZE), true)
695
	local mesh = IT("BlockMesh", wave)
696
	wave.CFrame = CFRAME
697
	coroutine.resume(coroutine.create(function(PART)
698
		for i = 1, WAIT do
699
			Swait()
700
			mesh.Scale = mesh.Scale + GROW
701
			wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360, 360)), RAD(math.random(-360, 360)), RAD(math.random(-360, 360)))
702
			wave.Transparency = wave.Transparency + 1 / WAIT
703
			if wave.Transparency > 0.99 then
704
				wave:remove()
705
			end
706
		end
707
	end))
708
end
709
function MakeForm(PART, TYPE)
710
	if TYPE == "Cyl" then
711
		local MSH = IT("CylinderMesh", PART)
712
	elseif TYPE == "Ball" then
713
		local MSH = IT("SpecialMesh", PART)
714
		MSH.MeshType = "Sphere"
715
	elseif TYPE == "Wedge" then
716
		local MSH = IT("SpecialMesh", PART)
717
		MSH.MeshType = "Wedge"
718
	end
719
end
720
function CheckTableForString(Table, String)
721
	for i, v in pairs(Table) do
722
		if string.find(string.lower(String), string.lower(v)) then
723
			return true
724
		end
725
	end
726
	return false
727
end
728
function CheckIntangible(Hit)
729
	local ProjectileNames = {
730
		"Water",
731
		"Arrow",
732
		"Projectile",
733
		"Effect",
734
		"Rail",
735
		"Lightning",
736
		"Bullet"
737
	}
738
	if Hit and Hit.Parent and (not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid") then
739
		return true
740
	end
741
	return false
742
end
743
Debris = game:GetService("Debris")
744
BaseLightning = IT("Part")
745
BaseLightning.Anchored = true
746
BaseLightning.CanCollide = false
747
BaseLightning.Material = "Neon"
748
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
749
	local Ignore = type(Ignore) == "table" and Ignore or {Ignore}
750
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Vec * Length), Ignore)
751
	if RayHit and CheckIntangible(RayHit) then
752
		if DelayIfHit then
753
			wait()
754
		end
755
		RayHit, RayPos, RayNormal = CastZapRay(RayPos + Vec * 0.01, Vec, Length - (StartPos - RayPos).magnitude, Ignore, DelayIfHit)
756
	end
757
	return RayHit, RayPos, RayNormal
758
end
759
function Zap(Table)
760
	local StartPos, TargetPos, Character, Color = Table.StartPosition, Table.TargetPosition, Table.Character, Table.Color
761
	local Duration = Table.Duration or 2
762
	local FadeRate = Table.FadeRate or 0.05
763
	local Offset = Table.Offset or 2
764
	local Individualize = Table.Individualize or false
765
	local MaxRange = Table.MaxRange or 200
766
	local SegmentLength = Table.SegmentLength or 5
767
	local TimeToFade = Table.TimeToFade or 0.5
768
	local Ignore = Table.Ignore or {}
769
	local SIZE = Table.Size or 0.3
770
	if not (StartPos and TargetPos) or not Character then
771
		return
772
	end
773
	local LightningModel = IT("Folder", Effects)
774
	LightningModel.Name = "ZAPP"
775
	for i, v in pairs({Character, LightningModel}) do
776
		table.insert(Ignore, v)
777
	end
778
	local LastPos = StartPos
779
	local Direction = CFrame.new(StartPos, TargetPos).lookVector
780
	local RayHit, RayPos, RayNormal = CastZapRay(StartPos, Direction, MaxRange, Ignore, false)
781
	local RayLength = (StartPos - RayPos).Magnitude
782
	local Struck = false
783
	local TotalSegments = math.ceil(RayLength / SegmentLength)
784
	Direction = CFrame.new(StartPos, RayPos).lookVector
785
	local LightningBolt = IT("Model", Effects)
786
	LightningBolt.Name = "Lightning"
787
	if not Individualize then
788
		table.insert(LightningBolts, LightningBolt)
789
	end
790
	LastBolt = LightningBolt
791
	Debris:AddItem(LightningBolt, Duration)
792
	LightningBolt.Parent = LightningModel
793
	for i = 1, TotalSegments do
794
		if not Struck then
795
			local Entropy = Vector3.new(math.random() * Offset * 2.5 - Offset, math.random() * Offset * 2.5 - Offset, math.random() * Offset * 2.5 - Offset)
796
			local NewPos = StartPos + Direction * (RayLength * (i / TotalSegments)) + Entropy
797
			local SegmentVec = NewPos - LastPos
798
			local RayHit, RayPos, RayNormal = CastZapRay(LastPos, SegmentVec.Unit, SegmentVec.Magnitude, {Character, LightningModel}, false)
799
			local RayVec = LastPos - RayPos
800
			local LightningPart = BaseLightning:Clone()
801
			LightningPart.BrickColor = BrickColor.new(Color)
802
			LightningPart.Size = Vector3.new(SIZE, SIZE, RayVec.Magnitude)
803
			LightningPart.CFrame = CFrame.new(LastPos, RayPos) * CFrame.new(0, 0, -(RayVec.Magnitude / 2))
804
			table.insert(Effects2, {
805
				LightningPart,
806
				"Disappear",
807
				0.025,
808
				1,
809
				1,
810
				1,
811
				2
812
			})
813
			local CylinderMesh = IT("CylinderMesh", LightningPart)
814
			local OrigCF = LightningPart.CFrame
815
			LightningPart.Size = Vector3.new(LightningPart.Size.X, LightningPart.Size.Z, LightningPart.Size.Y)
816
			LightningPart.CFrame = OrigCF * CFrame.Angles(math.pi / 2, 0, 0)
817
			LightningPart.Parent = LightningBolt
818
			LastPos = NewPos
819
		end
820
	end
821
	return {
822
		RayHit = RayHit,
823
		RayPos = RayPos,
824
		RayNormal = RayNormal,
825
		LightningModel = LightningModel
826
	}
827
end
828
function turnto(position)
829
	RootPart.CFrame = CFrame.new(RootPart.CFrame.p, VT(position.X, RootPart.Position.Y, position.Z)) * CFrame.new(0, 0, 0)
830
end
831
function chatfunc(text, waitt)
832
	local chat = coroutine.wrap(function()
833
		if Character:FindFirstChild("TalkingBillBoard") ~= nil then
834
			Character:FindFirstChild("TalkingBillBoard").Parent = nil
835
		end
836
		local naeeym2 = Instance.new("BillboardGui", Character)
837
		naeeym2.Size = UDim2.new(0, 100, 0, 40)
838
		naeeym2.StudsOffset = Vector3.new(0, 2, 0)
839
		naeeym2.Adornee = Character.Head
840
		naeeym2.Name = "TalkingBillBoard"
841
		naeeym2.AlwaysOnTop = true
842
		local tecks2 = Instance.new("TextLabel", naeeym2)
843
		tecks2.BackgroundTransparency = 1
844
		tecks2.BorderSizePixel = 0
845
		tecks2.Text = ""
846
		tecks2.Font = "Antique"
847
		tecks2.TextSize = 30
848
		tecks2.TextStrokeTransparency = 1
849
		tecks2.TextColor3 = SKILLTEXTCOLOR
850
		tecks2.TextStrokeColor3 = Color3.new(0, 0, 0)
851
		tecks2.Size = UDim2.new(1, 0, 0.5, 0)
852
		for i = 1, string.len(text) do
853
			if naeeym2.Parent ~= nil then
854
				CreateSound("418252437", Effects, 1, MRANDOM(9, 11) / 10)
855
			end
856
			tecks2.Text = string.sub(text, 1, i)
857
			Swait(3)
858
		end
859
		wait(waitt / 10)
860
		coroutine.resume(coroutine.create(function()
861
			for i = 1, 10 do
862
				tecks2.TextTransparency = tecks2.TextTransparency + 0.1
863
				Swait()
864
			end
865
			naeeym2:Destroy()
866
		end))
867
	end)
868
	chat()
869
end
870
for _, c in pairs(Weapon:GetChildren()) do
871
	if c.ClassName == "Part" then
872
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
873
	end
874
end
875
Weapon.Parent = Character
876
Humanoid.Died:connect(function()
877
	ATTACK = true
878
end)
879
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.8, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 1 Frame")
880
local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.5, 0, 0.8, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 2 Frame")
881
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 3 Frame")
882
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.5, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 4 Frame")
883
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.7, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill 5 Frame")
884
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher bullet", SKILLTEXTCOLOR, 8, "Antique", 0, 2, 1, "Text 1")
885
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Banishing rampage", SKILLTEXTCOLOR, 8, "Antique", 0, 2, 1, "Text 2")
886
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Warp vector", SKILLTEXTCOLOR, 8, "Antique", 0, 2, 1, "Text 3")
887
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Spectral banish", SKILLTEXTCOLOR, 8, "Antique", 0, 2, 1, "Text 4")
888
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] De-banish", SKILLTEXTCOLOR, 8, "Antique", 0, 2, 1, "Text 5")
889
function CastWarpOutlines(TARGET)
890
	coroutine.resume(coroutine.create(function()
891
		local T = TARGET:GetChildren()
892
		for i = 1, #T do
893
			local child = T[i]
894
			if child.ClassName == "Part" or child.ClassName == "MeshPart" then
895
				do
896
					local clone = child:Clone()
897
					clone.Parent = Effects
898
					clone.Anchored = true
899
					clone.CanCollide = false
900
					clone:ClearAllChildren()
901
					clone.CFrame = child.CFrame
902
					if clone.Name == "Head" then
903
						clone.Size = VT(clone.Size.Y, clone.Size.Y, clone.Size.Y)
904
					end
905
					if clone.ClassName == "MeshPart" then
906
						clone.TextureID = ""
907
					end
908
					clone.Color = C3(1, 0, 0)
909
					clone.Material = "Neon"
910
					coroutine.resume(coroutine.create(function()
911
						for i = 1, 100 do
912
							Swait()
913
							clone.Transparency = clone.Transparency + 0.01
914
							clone.Size = clone.Size + VT(0.001, 0.001, 0.001)
915
						end
916
						clone:remove()
917
					end))
918
				end
919
			end
920
		end
921
	end))
922
end
923
function killnearest(position, range, maxstrength)
924
	for i, v in ipairs(workspace:GetChildren()) do
925
		local body = v:GetChildren()
926
		for part = 1, #body do
927
			if (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character and range > (body[part].Position - position).Magnitude and v.ClassName == "Model" then
928
				CastWarpOutlines(v)
929
				v:remove()
930
				if game.Players:FindFirstChild(v.Name) then
931
					local Value = IT("BoolValue", Delete)
932
					Value.Name = v.Name
933
				end
934
			end
935
		end
936
	end
937
end
938
function CastProperRay(StartPos, Vec, Length, Ignore)
939
	local Direction = CFrame.new(StartPos, Vec).lookVector
940
	local Ignore = type(Ignore) == "table" and Ignore or {Ignore}
941
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
942
	return RayHit, RayPos, RayNormal
943
end
944
function Debree(POS, SWAIT)
945
	coroutine.resume(coroutine.create(function()
946
		local HOLDER = IT("Model", Effects)
947
		HOLDER.Name = "Debree"
948
		local HITFLOOR = Raycast(POS, CF(POS, POS + VT(0, -1, 0)).lookVector, 4 * Player_Size, Character)
949
		MagicSphere(VT(15, 1, 15), SWAIT, CF(POS), "Really red", VT(0, 0, 0))
950
		MagicSphere(VT(13, 1, 13), SWAIT, CF(POS), "Really red", VT(0, 0, 0))
951
		MagicSphere(VT(12, 1, 12), SWAIT, CF(POS), "Really red", VT(0, 0, 0))
952
		repeat
953
			Swait()
954
		until HITFLOOR ~= nil
955
		local O = 0
956
		for i = 1, 18 do
957
			do
958
				local Part = CreatePart(3, HOLDER, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "Debree", VT(3, 3, 3))
959
				Part.CFrame = CF(CF(POS) * CF(10 - i, 0, O).p) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)))
960
				O = O - 2.25 + i / 4
961
				coroutine.resume(coroutine.create(function()
962
					Swait(SWAIT)
963
					for i = 1, 60 do
964
						Swait()
965
						local RayHit, Way = CastProperRay(Part.Position, POS, 0.1, workspace)
966
						Part.CFrame = CF(Way) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)))
967
					end
968
					for i = 1, 50 do
969
						Swait()
970
						Part.Size = Part.Size * 0.9
971
					end
972
				end))
973
			end
974
		end
975
		local O = 0
976
		for i = 1, 18 do
977
			do
978
				local Part = CreatePart(3, HOLDER, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "Debree", VT(3, 3, 3))
979
				Part.CFrame = CF(CF(POS) * CF(10 - i, 0, O).p) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)))
980
				O = O + 2.25 - i / 4
981
				coroutine.resume(coroutine.create(function()
982
					Swait(SWAIT)
983
					for i = 1, 60 do
984
						Swait()
985
						local RayHit, Way = CastProperRay(Part.Position, POS, 0.1, workspace)
986
						Part.CFrame = CF(Way) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)))
987
					end
988
					for i = 1, 50 do
989
						Swait()
990
						Part.Size = Part.Size * 0.9
991
					end
992
				end))
993
			end
994
		end
995
		Swait(SWAIT + 110)
996
		HOLDER:remove()
997
	end))
998
end
999
function Intro()
1000
	coroutine.resume(coroutine.create(function()
1001
		ATTACK = true
1002
		Rooted = true
1003
		for i = 0, 3, 0.1 / Animation_Speed do
1004
			Swait()
1005
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1006
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1007
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1008
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1009
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1010
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1011
		end
1012
		CreateSound("649634100", Head, 10, 0.5)
1013
		for i = 0, 1, 0.1 / Animation_Speed do
1014
			Swait()
1015
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.5 / Animation_Speed)
1016
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1017
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, -0.3) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1018
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1019
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1020
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1021
		end
1022
		local HITFLOOR = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 4 * Player_Size, Character)
1023
		repeat
1024
			Swait()
1025
			HITFLOOR = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 4 * Player_Size, Character)
1026
		until HITFLOOR ~= nil
1027
		for i = 0, 0.5, 0.1 / Animation_Speed do
1028
			Swait()
1029
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(-5), RAD(0)), 0.5 / Animation_Speed)
1030
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1031
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0, -0.3) * ANGLES(RAD(0), RAD(0), RAD(8)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1032
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1033
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1034
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1035
		end
1036
		CreateSound("289842971", RightArm, 10, 1)
1037
		Debree(CF(RightArm.Position) * CF(0, -0.75, 0).p, 200)
1038
		Swait(45)
1039
		local Gun = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Gun", VT(0, 0, 0), false)
1040
		local HandleMesh = CreateMesh("SpecialMesh", Gun, "FileMesh", "430198390", "430198451", VT(0.02, 0.02, 0.02), VT(0, 0, 0))
1041
		local Weld = CreateWeldOrSnapOrMotor("Weld", Gun, RightArm, Gun, CF(0, -1.7, -0.2) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
1042
		GunPoint = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Really black", "Point blank", VT(0, 0, 0), false)
1043
		local HandleWeld = CreateWeldOrSnapOrMotor("Weld", GunPoint, RightArm, GunPoint, CF(0, -3.1, -0.8) * ANGLES(RAD(0), RAD(0), RAD(135)), CF(0, 0, 0))
1044
		local sick = Instance.new("Sound", Character)
1045
		sick.SoundId = "rbxassetid://1140442110"
1046
		sick.Looped = true
1047
		sick.Pitch = 1
1048
		sick.Volume = 1
1049
		sick:Play()
1050
		Swait(5)
1051
		for i = 0, 1, 0.1 / Animation_Speed do
1052
			Swait()
1053
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.5 / Animation_Speed)
1054
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1055
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1.25, -0.3) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1056
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1057
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1058
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1059
		end
1060
		VALUE1 = true
1061
		Swait(10)
1062
		ATTACK = false
1063
		Rooted = false
1064
	end))
1065
end
1066
function BanishingBullet()
1067
	ATTACK = true
1068
	Rooted = false
1069
	for i = 0, 0.4, 0.1 / Animation_Speed do
1070
		Swait()
1071
		turnto(Mouse.Hit.p)
1072
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1073
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1074
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1075
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1076
		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)
1077
		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)
1078
	end
1079
	repeat
1080
		for i = 0, 0.2, 0.1 / Animation_Speed do
1081
			Swait()
1082
			turnto(Mouse.Hit.p)
1083
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1084
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1085
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1086
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1087
			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)
1088
			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)
1089
		end
1090
		CreateSound("238353911", GunPoint, 10, MRANDOM(9, 11) / 10)
1091
		MagicSphere(VT(0.1, 0.1, 0.1), 45, GunPoint.CFrame, "Really red", VT(0.1, 0.1, 0.1))
1092
		MagicSphere(VT(0.1, 0.1, 0.1), 45, GunPoint.CFrame, "Really red", VT(0.05, 0.05, 0.05))
1093
		local RayHit, Way = CastProperRay(GunPoint.Position, Mouse.Hit.p, 1500, Character)
1094
		local distance = (GunPoint.Position - Way).magnitude
1095
		for i = 1, 5 do
1096
			local laser = Instance.new("Part", Effects)
1097
			laser.Transparency = 0
1098
			laser.CanCollide = false
1099
			laser.Anchored = true
1100
			laser.Color = C3(1, 0, 0)
1101
			laser.Material = "Neon"
1102
			laser.formFactor = Enum.FormFactor.Custom
1103
			laser.Size = Vector3.new(0.15, 0.15, distance)
1104
			laser.CFrame = CFrame.new(GunPoint.Position, Way) * CFrame.new(0, 0, -distance / 2)
1105
			MagicSphere(VT(0.1, 0.1, 0.1), 45, CF(Way), "Really red", VT(0.05, 0.05, 0.05))
1106
			for i = 1, 5 do
1107
				MagicSphere(VT(0.2, 0.2, 1), 65, CF(CF(Way) * CF(MRANDOM(-1, 1), MRANDOM(-1, 1), MRANDOM(-1, 1)).p, Way), "Really red", VT(0.001, 0.001, 0), 0.5)
1108
			end
1109
			table.insert(Effects2, {
1110
				laser,
1111
				"Disappear",
1112
				0.1,
1113
				1,
1114
				1,
1115
				1,
1116
				2
1117
			})
1118
			if RayHit ~= nil then
1119
				local v = RayHit.Parent
1120
				if v ~= nil and v.ClassName == "Model" then
1121
					CastWarpOutlines(v)
1122
					v.Parent = nil
1123
					if game.Players:FindFirstChild(v.Name) then
1124
						local Value = IT("BoolValue", Delete)
1125
						Value.Name = v.Name
1126
					end
1127
				end
1128
			end
1129
		end
1130
		for i = 0, 0.3, 0.1 / Animation_Speed do
1131
			Swait()
1132
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1133
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
1134
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1135
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1136
			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)
1137
			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)
1138
		end
1139
	until KEYHOLD == false
1140
	ATTACK = false
1141
	Rooted = false
1142
end
1143
function WarpVector()
1144
	ATTACK = true
1145
	Rooted = true
1146
	for i = 0, 1, 0.1 / Animation_Speed do
1147
		Swait()
1148
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1149
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1150
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1151
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1152
		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(0)), 0.5 / Animation_Speed)
1153
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1154
	end
1155
	Debree(CF(RootPart.Position) * CF(0, -2.8, 0).p, 75)
1156
	UNANCHOR = false
1157
	RootPart.Anchored = true
1158
	for i = 0, 2, 0.1 / Animation_Speed do
1159
		Swait()
1160
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -10 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1161
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1162
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1163
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1164
		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(0)), 0.5 / Animation_Speed)
1165
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1166
	end
1167
	local POS = RootPart.Position
1168
	RootPart.CFrame = CF(CF(Mouse.Hit.p) * CF(0, 2.8, 0).p, POS)
1169
	Debree(CF(RootPart.Position) * CF(0, -2.5, 0).p, 150)
1170
	for i = 0, 2, 0.1 / Animation_Speed do
1171
		Swait()
1172
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1173
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1174
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1175
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1176
		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(0)), 0.5 / Animation_Speed)
1177
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1178
	end
1179
	ATTACK = false
1180
	Rooted = false
1181
end
1182
function BanishingRampage()
1183
	ATTACK = true
1184
	Rooted = false
1185
	chatfunc("Be gone...", 3)
1186
	for i = 0, 2, 0.1 / Animation_Speed do
1187
		Swait()
1188
		turnto(Mouse.Hit.p)
1189
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.5 / Animation_Speed)
1190
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
1191
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, -0.3) * ANGLES(RAD(25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1192
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1193
		RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1194
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1195
	end
1196
	local HITFLOOR = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 4 * Player_Size, Character)
1197
	repeat
1198
		Swait()
1199
		HITFLOOR = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 4 * Player_Size, Character)
1200
	until HITFLOOR ~= nil
1201
	CreateSound("238353911", GunPoint, 10, MRANDOM(9, 11) / 10)
1202
	local SOUND = CreateSound("415700134", Effects, 10, 1.6)
1203
	CreateSound("138677306", Effects, 7, 1.2)
1204
	coroutine.resume(coroutine.create(function()
1205
		local CFRAME = RootPart.CFrame * CF(0, -1.2, -3)
1206
		local SIZE = 1
1207
		while true do
1208
			Swait()
1209
			for i = 1, 2 do
1210
				MagicSphere(VT(SIZE / 5, SIZE / 5, SIZE * 2), 65, CF(CFRAME * CF(MRANDOM(-5, 5), MRANDOM(-5, 5), MRANDOM(-5, 5)).p, CFRAME.p), "Really red", VT(0.001, 0.001, 0), 0.5)
1211
			end
1212
			do
1213
				local Part = CreatePart(3, Effects, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "Debree", VT(SIZE / 5, SIZE / 5, SIZE / 5))
1214
				Part.CFrame = CFRAME * CF(SIZE / 1.5, -0.7, 0) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)))
1215
				coroutine.resume(coroutine.create(function()
1216
					Swait(200)
1217
					Part.Anchored = false
1218
				end))
1219
				local Part = CreatePart(3, Effects, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "Debree", VT(SIZE / 5, SIZE / 5, SIZE / 5))
1220
				Part.CFrame = CFRAME * CF(-SIZE / 1.5, -0.7, 0) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)))
1221
				coroutine.resume(coroutine.create(function()
1222
					Swait(200)
1223
					Part.Anchored = false
1224
				end))
1225
				MagicSphere(VT(SIZE, SIZE, SIZE), 75, CFRAME, "Really red", VT(-SIZE / 75, -SIZE / 75, -SIZE / 75))
1226
				killnearest(CFRAME.p, SIZE, 0)
1227
				SIZE = SIZE + 2
1228
				CFRAME = CFRAME * CF(0, 0, -2)
1229
				if SOUND.Playing == false then
1230
					break
1231
				end
1232
			end
1233
		end
1234
	end))
1235
	MagicSphere(VT(0.1, 0.1, 0.1), 45, GunPoint.CFrame, "Really red", VT(0.1, 0.1, 0.1))
1236
	MagicSphere(VT(0.1, 0.1, 0.1), 45, GunPoint.CFrame, "Really red", VT(0.05, 0.05, 0.05))
1237
	for i = 0, 3, 0.1 / Animation_Speed do
1238
		Swait()
1239
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.5 / Animation_Speed)
1240
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(10), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
1241
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, -0.3) * ANGLES(RAD(55), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1242
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1243
		RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1244
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1245
	end
1246
	ATTACK = false
1247
	Rooted = false
1248
end
1249
function SpectralBanishing()
1250
	ATTACK = true
1251
	Rooted = false
1252
	chatfunc("If you desire to be a ghost...", 20)
1253
	for i = 0, 5, 0.1 / Animation_Speed do
1254
		Swait()
1255
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.25 / Animation_Speed)
1256
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-45 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.25 / Animation_Speed)
1257
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
1258
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
1259
		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(0)), 0.25 / Animation_Speed)
1260
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1261
	end
1262
	chatfunc("Then move on to the afterlife!", 6)
1263
	CreateSound("238353911", GunPoint, 10, MRANDOM(9, 11) / 10)
1264
	MagicSphere(VT(0.1, 0.1, 0.1), 45, GunPoint.CFrame, "Really red", VT(0.1, 0.1, 0.1))
1265
	MagicSphere(VT(0.1, 0.1, 0.1), 45, GunPoint.CFrame, "Really red", VT(0.05, 0.05, 0.05))
1266
	local RayHit, Way = CastProperRay(GunPoint.Position, CF(GunPoint.Position) * CF(0, 1500, 0).p, 1500, Character)
1267
	local distance = (GunPoint.Position - Way).magnitude
1268
	for i = 1, 5 do
1269
		local laser = Instance.new("Part", Effects)
1270
		laser.Transparency = 0
1271
		laser.CanCollide = false
1272
		laser.Anchored = true
1273
		laser.Color = C3(1, 0, 0)
1274
		laser.Material = "Neon"
1275
		laser.formFactor = Enum.FormFactor.Custom
1276
		laser.Size = Vector3.new(0.15, 0.15, distance)
1277
		laser.CFrame = CFrame.new(GunPoint.Position, Way) * CFrame.new(0, 0, -distance / 2)
1278
		table.insert(Effects2, {
1279
			laser,
1280
			"Disappear",
1281
			0.1,
1282
			1,
1283
			1,
1284
			1,
1285
			2
1286
		})
1287
	end
1288
	coroutine.resume(coroutine.create(function()
1289
		Swait(15)
1290
		local FILTER = IT("ColorCorrectionEffect", game.Lighting)
1291
		for i = 1, 25 do
1292
			Swait()
1293
			FILTER.TintColor = C3(1, 1 - i / 50, 1 - i / 50)
1294
		end
1295
		local GAME = game.Players:GetChildren()
1296
		for PLAYER = 1, #GAME do
1297
			do
1298
				local PLAY = GAME[PLAYER]
1299
				if PLAY.Character ~= nil and PLAY.Character.Parent ~= workspace then
1300
					PLAY.Character.Parent = nil
1301
					coroutine.resume(coroutine.create(function()
1302
						if PLAY.Character:FindFirstChild("HumanoidRootPart") then
1303
							PLAY.Character.Parent = workspace
1304
							local Value = IT("BoolValue", Delete)
1305
							Value.Name = PLAY.Name
1306
						end
1307
					end))
1308
				end
1309
			end
1310
		end
1311
		for i = 1, 25 do
1312
			Swait()
1313
			FILTER.TintColor = C3(1, 0.4980392156862745 + i / 50, 0.4980392156862745 + i / 50)
1314
		end
1315
	end))
1316
	for i = 0, 2, 0.1 / Animation_Speed do
1317
		Swait()
1318
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.25 / Animation_Speed)
1319
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-45 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.25 / Animation_Speed)
1320
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(195), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
1321
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
1322
		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(0)), 0.25 / Animation_Speed)
1323
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1324
	end
1325
	ATTACK = false
1326
	Rooted = false
1327
end
1328
function Taunt()
1329
	ATTACK = true
1330
	Rooted = true
1331
	CreateSound("649634100", Head, 10, 0.5)
1332
	for i = 1, 3 do
1333
		for i = 0, 0.7, 0.1 / Animation_Speed do
1334
			Swait()
1335
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1336
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1337
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(145)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.5)
1338
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-145)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * LEFTSHOULDERC0, 0.5)
1339
			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(0)), 0.25 / Animation_Speed)
1340
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1341
		end
1342
		for i = 0, 0.7, 0.1 / Animation_Speed do
1343
			Swait()
1344
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1345
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 0.5 / Animation_Speed)
1346
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(145)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.5)
1347
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-145)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * LEFTSHOULDERC0, 0.5)
1348
			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(0)), 0.25 / Animation_Speed)
1349
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1350
		end
1351
	end
1352
	ATTACK = false
1353
	Rooted = false
1354
end
1355
function MouseDown(Mouse)
1356
	if ATTACK == false then
1357
	end
1358
end
1359
function MouseUp(Mouse)
1360
	HOLD = false
1361
end
1362
function KeyDown(Key)
1363
	KEYHOLD = true
1364
	if Key == "z" and ATTACK == false then
1365
		BanishingBullet()
1366
	end
1367
	if Key == "b" and ATTACK == false then
1368
		BanishingRampage()
1369
	end
1370
	if Key == "c" and ATTACK == false then
1371
		WarpVector()
1372
	end
1373
	if Key == "v" and ATTACK == false then
1374
		SpectralBanishing()
1375
	end
1376
	if Key == "x" and ATTACK == false then
1377
		chatfunc("I will show you mercy.", 2)
1378
		Delete:ClearAllChildren()
1379
	end
1380
	if Key == "t" and ATTACK == false then
1381
		Taunt()
1382
	end
1383
end
1384
function KeyUp(Key)
1385
	KEYHOLD = false
1386
end
1387
Mouse.Button1Down:connect(function(NEWKEY)
1388
	MouseDown(NEWKEY)
1389
end)
1390
Mouse.Button1Up:connect(function(NEWKEY)
1391
	MouseUp(NEWKEY)
1392
end)
1393
Mouse.KeyDown:connect(function(NEWKEY)
1394
	KeyDown(NEWKEY)
1395
end)
1396
Mouse.KeyUp:connect(function(NEWKEY)
1397
	KeyUp(NEWKEY)
1398
end)
1399
function unanchor()
1400
	if UNANCHOR == true then
1401
		g = Character:GetChildren()
1402
		for i = 1, #g do
1403
			if g[i].ClassName == "Part" then
1404
				g[i].Anchored = false
1405
			end
1406
		end
1407
	end
1408
end
1409
Humanoid.Changed:connect(function(Jump)
1410
	if Jump == "Jump" and Disable_Jump == true then
1411
		Humanoid.Jump = false
1412
	end
1413
end)
1414
local BOLT
1415
local FF = IT("ForceField", Character)
1416
FF.Visible = false
1417
while true do
1418
	Swait()
1419
	if BOLT ~= nil then
1420
		BOLT:remove()
1421
	end
1422
	ANIMATE.Parent = nil
1423
	local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1424
	IDLEANIMATION:Play()
1425
	SINE = SINE + CHANGE
1426
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1427
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1428
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1429
	local HITFLOOR = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 4 * Player_Size, Character)
1430
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1431
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1432
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1433
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * 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)
1434
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1435
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1436
	elseif ANIM ~= "Walk" or TORSOVELOCITY < 1 then
1437
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1438
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1439
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1440
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1441
	end
1442
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1443
		ANIM = "Jump"
1444
		if ATTACK == false then
1445
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1446
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1447
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1448
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1449
			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)
1450
			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)
1451
		end
1452
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1453
		ANIM = "Fall"
1454
		if ATTACK == false then
1455
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1456
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1457
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(55), RAD(0), RAD(55)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1458
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1459
			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)
1460
			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)
1461
		end
1462
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1463
		ANIM = "Idle"
1464
		if ATTACK == false then
1465
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1466
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1467
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1468
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1469
			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(0)), 0.15 / Animation_Speed)
1470
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1471
		end
1472
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1473
		ANIM = "Walk"
1474
		WALK = WALK + 1 / Animation_Speed
1475
		if WALK >= 15 - 5 * (Humanoid.WalkSpeed / 16 / Player_Size) then
1476
			WALK = 0
1477
			if WALKINGANIM == true then
1478
				WALKINGANIM = false
1479
			elseif WALKINGANIM == false then
1480
				WALKINGANIM = true
1481
			end
1482
		end
1483
		if ATTACK == false then
1484
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1485
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1486
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1487
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1488
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1489
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1490
		end
1491
	end
1492
	if #Effects2 > 0 then
1493
		for e = 1, #Effects2 do
1494
			if Effects2[e] ~= nil then
1495
				local Thing = Effects2[e]
1496
				if Thing ~= nil then
1497
					local Part = Thing[1]
1498
					local Mode = Thing[2]
1499
					local Delay = Thing[3]
1500
					local IncX = Thing[4]
1501
					local IncY = Thing[5]
1502
					local IncZ = Thing[6]
1503
					local Part2 = Thing[8]
1504
					if Thing[1].Transparency <= 1 then
1505
						if Thing[2] == "Block1" then
1506
							Thing[1].CFrame = Thing[1].CFrame
1507
							Mesh = Thing[1].Mesh
1508
							Mesh.Scale = Mesh.Scale + VT(Thing[4], Thing[5], Thing[6])
1509
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1510
						elseif Thing[2] == "Cylinder" then
1511
							Mesh = Thing[1].Mesh
1512
							Mesh.Scale = Mesh.Scale + VT(Thing[4], Thing[5], Thing[6])
1513
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1514
						elseif Thing[2] == "Blood" then
1515
							Mesh = Thing[7]
1516
							Thing[1].CFrame = Thing[1].CFrame * CF(0, 0.5, 0)
1517
							Mesh.Scale = Mesh.Scale + VT(Thing[4], Thing[5], Thing[6])
1518
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1519
						elseif Thing[2] == "Elec" then
1520
							Mesh = Thing[1].Mesh
1521
							Mesh.Scale = Mesh.Scale + VT(Thing[7], Thing[8], Thing[9])
1522
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1523
						elseif Thing[2] == "Disappear" then
1524
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1525
						end
1526
					else
1527
						Part.Parent = nil
1528
						table.remove(Effects2, e)
1529
					end
1530
				end
1531
			end
1532
		end
1533
	end
1534
	unanchor()
1535
	Humanoid.MaxHealth = "inf"
1536
	Humanoid.Health = "inf"
1537
	if Rooted == false then
1538
		Disable_Jump = false
1539
		Humanoid.WalkSpeed = Speed
1540
	elseif Rooted == true then
1541
		Disable_Jump = true
1542
		Humanoid.WalkSpeed = 0
1543
	end
1544
	if VALUE1 == true then
1545
		local RayData = Zap({
1546
			SegmentLength = 0.6,
1547
			Offset = 0.3,
1548
			Size = 0.05,
1549
			MaxRange = 1.5,
1550
			StartPosition = GunPoint.Position,
1551
			TargetPosition = RightArm.Position,
1552
			Character = workspace,
1553
			Color = "Really red",
1554
			Individual = true
1555
		})
1556
		BOLT = RayData.LightningModel
1557
		MagicSphere(VT(0.5, 0.5, 0.5), 15, GunPoint.CFrame, "Really red", VT(-0.03333333333333333, -0.03333333333333333, -0.03333333333333333))
1558
		SKILL1TEXT.TextTransparency = 0
1559
		SKILL2TEXT.TextTransparency = 0
1560
		SKILL3TEXT.TextTransparency = 0
1561
		SKILL4TEXT.TextTransparency = 0
1562
		SKILL5TEXT.TextTransparency = 0
1563
	elseif VALUE1 == false then
1564
		if ATTACK == false then
1565
			Intro()
1566
		end
1567
		SKILL1TEXT.TextTransparency = 1
1568
		SKILL2TEXT.TextTransparency = 1
1569
		SKILL3TEXT.TextTransparency = 1
1570
		SKILL4TEXT.TextTransparency = 1
1571
		SKILL5TEXT.TextTransparency = 1
1572
	end
1573
	local MATHS = {"0", "1"}
1574
	Humanoid.Name = MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)] .. MATHS[MRANDOM(1, #MATHS)]
1575
	Humanoid.PlatformStand = false
1576
	local GAME = game.Players:GetChildren()
1577
	for PLAYER = 1, #GAME do
1578
		local PLAY = GAME[PLAYER]
1579
		if PLAY.Character ~= nil and Delete:FindFirstChild(PLAY.Name) then
1580
			PLAY.Character:remove()
1581
		end
1582
	end
1583
end