View difference between Paste ID: SppAr8vT and aMxywafF
SHOW: | | - or go back to the newest paste.
1-
script.Name = "Lord Banisher V5"
1+
2
--//====================================================\\--
3
--||			   CREATED BY SHACKLUSTER
4
--\\====================================================//--
5
--//====================================================\\--
6
--||			   EDITED BY ERICDESOUZA
7
--\\====================================================//--
8
9
10
11
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
12
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
13
do
14
    print("FE Compatibility code by Mokiros")
15
    script.Parent = Player.Character
16
 
17
    --RemoteEvent for communicating
18
    local Event = Instance.new("RemoteEvent")
19-
Player = game:GetService("Players").LocalPlayer
19+
    Event.Name = "UserInput_Event"
20
 
21
    --Fake event to make stuff like Mouse.KeyDown work
22
    local function fakeEvent()
23
        local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
24
        t.connect = t.Connect
25-
Mouse = Player:GetMouse()
25+
        return t
26
    end
27
 
28
    --Creating fake input objects with fake variables
29
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
30
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
31
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
32
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
33
    end}
34
    --Merged 2 functions into one by checking amount of arguments
35
    CAS.UnbindAction = CAS.BindAction
36
 
37
    --This function will trigger the events that have been :Connect()'ed
38
    local function te(self,ev,...)
39
        local t = m[ev]
40
        if t and t._fakeEvent and t.Function then
41
            t.Function(...)
42
        end
43
    end
44
    m.TrigEvent = te
45
    UIS.TrigEvent = te
46
 
47
    Event.OnServerEvent:Connect(function(plr,io)
48
        if plr~=Player then return end
49
        if io.isMouse then
50
            m.Target = io.Target
51
            m.Hit = io.Hit
52
        else
53
            local b = io.UserInputState == Enum.UserInputState.Begin
54
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
55
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
56
            end
57
            for _,t in pairs(CAS.Actions) do
58
                for _,k in pairs(t.Keys) do
59
                    if k==io.KeyCode then
60
                        t.Function(t.Name,io.UserInputState,io)
61
                    end
62
                end
63
            end
64
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
65
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
66
        end
67
    end)
68
    Event.Parent = NLS([==[
69
    local Player = game:GetService("Players").LocalPlayer
70
    local Event = script:WaitForChild("UserInput_Event")
71
 
72
    local UIS = game:GetService("UserInputService")
73
    local input = function(io,a)
74
        if a then return end
75
        --Since InputObject is a client-side instance, we create and pass table instead
76
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
77
    end
78
    UIS.InputBegan:Connect(input)
79
    UIS.InputEnded:Connect(input)
80
 
81
    local Mouse = Player:GetMouse()
82
    local h,t
83
    --Give the server mouse data 30 times every second, but only if the values changed
84
    --If player is not moving their mouse, client won't fire events
85
    while wait(1/30) do
86
        if h~=Mouse.Hit or t~=Mouse.Target then
87
            h,t=Mouse.Hit,Mouse.Target
88
            Event:FireServer({isMouse=true,Target=t,Hit=h})
89
        end
90
    end]==],Player.Character)
91
    Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
92
end
93
wait(0.2)
94
95
96
--TOBANISH = {} = unbanish player
97
98
script:ClearAllChildren()
99
100
101
Player = owner
102
PlayerGui = Player.PlayerGui
103
Cam = workspace.CurrentCamera
104
Backpack = Player.Backpack
105
Character = Player.Character
106
Humanoid = Character.Humanoid
107
108
RootPart = Character["HumanoidRootPart"]
109
Torso = Character["Torso"]
110
Head = Character["Head"]
111
RightArm = Character["Right Arm"]
112
LeftArm = Character["Left Arm"]
113
RightLeg = Character["Right Leg"]
114
LeftLeg = Character["Left Leg"]
115
RootJoint = RootPart["RootJoint"]
116
Neck = Torso["Neck"]
117
RightShoulder = Torso["Right Shoulder"]
118
LeftShoulder = Torso["Left Shoulder"]
119
RightHip = Torso["Right Hip"]
120
LeftHip = Torso["Left Hip"]
121
local TIME = 0
122
local sick = Instance.new("Sound",Torso)
123
124
IT = Instance.new
125
CF = CFrame.new
126
VT = Vector3.new
127
RAD = math.rad
128
C3 = Color3.new
129
UD2 = UDim2.new
130
BRICKC = BrickColor.new
131
ANGLES = CFrame.Angles
132
EULER = CFrame.fromEulerAnglesXYZ
133
COS = math.cos
134
ACOS = math.acos
135
SIN = math.sin
136
ASIN = math.asin
137
ABS = math.abs
138
MRANDOM = math.random
139
FLOOR = math.floor
140
141
--//=================================\\
142
--|| 	      USEFUL VALUES
143
--\\=================================//
144
145
Animation_Speed = 3
146
local FORCERESET = false
147
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
148
local Speed = 16
149
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
150
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
151
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
152
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
153
local DAMAGEMULTIPLIER = 1
154
local ANIM = "Idle"
155
local ATTACK = false
156
local EQUIPPED = false
157
local HOLD = false
158
local COMBO = 1
159
local Rooted = false
160
local SINE = 0
161
local KEYHOLD = false
162
local CHANGE = 2 / Animation_Speed
163
local WALKINGANIM = false
164
local VALUE1 = false
165
local VALUE2 = false
166
local WALKINGANIM = false
167
local WALK = 0
168
local REGENRATE = 1
169
local FULLREGEN = false
170
local POSEIDON = false
171
local EXPLOSIONSMALLSOUND = 439342426
172
local EXPLOSIONMEDIUMSOUND = 605005842
173
local EXPLOSIONLARGESOUND = 565538688
174
local CHARGE = 278641993
175
local POSEIDONSOUND = 374289727
176
local FIREBALLSOUND = 414517770
177
local BURNSOUND = 565777213
178
local FIREFIELD = false
179
local SEARING = false
180
local BODYPOS = nil
181
local GYRO = nil
182
local ROBLOXIDLEANIMATION = IT("Animation")
183
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
184
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
185
--ROBLOXIDLEANIMATION.Parent = Humanoid
186
local WEAPONGUI = IT("ScreenGui", PlayerGui)
187
WEAPONGUI.Name = "BanishV3Gui"
188
local Weapon = IT("Model")
189
Weapon.Name = "Adds"
190
local Effects = IT("Folder", Weapon)
191
Effects.Name = "Effects"
192
local ANIMATOR = Humanoid.Animator
193
local ANIMATE = Character:FindFirstChild("Animate")
194
local UNANCHOR = true
195
local TOBANISH = {}
196
script.Parent = PlayerGui
197
Player_Size = 1
198
local i = 1
199
local SKILLTEXTCOLOR = C3(1, 0, 0)
200
local I = 1
201
local DED = false
202
local FADERS = true
203
204
205
--//=================================\\
206
--\\=================================//
207
208
209
--//=================================\\
210
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
211
--\\=================================//
212
213
ArtificialHB = Instance.new("BindableEvent", script)
214
ArtificialHB.Name = "ArtificialHB"
215
216
script:WaitForChild("ArtificialHB")
217
218
frame = Frame_Speed
219
tf = 0
220
allowframeloss = false
221
tossremainder = false
222
lastframe = tick()
223
script.ArtificialHB:Fire()
224
225
game:GetService("RunService").Heartbeat:connect(function(s, p)
226
	tf = tf + s
227
	if tf >= frame then
228
		if allowframeloss then
229
			script.ArtificialHB:Fire()
230
			lastframe = tick()
231
		else
232
			for i = 1, math.floor(tf / frame) do
233
				script.ArtificialHB:Fire()
234
			end
235
		lastframe = tick()
236
		end
237
		if tossremainder then
238
			tf = 0
239
		else
240
			tf = tf - frame * math.floor(tf / frame)
241
		end
242
	end
243
end)
244
245
--//=================================\\
246
--\\=================================//
247
248
--//=================================\\
249
--|| 	      SOME FUNCTIONS
250
--\\=================================//
251
252
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
253
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
254
end
255
256
function PositiveAngle(NUMBER)
257
	if NUMBER >= 0 then
258
		NUMBER = 0
259
	end
260
	return NUMBER
261
end
262
263
function NegativeAngle(NUMBER)
264
	if NUMBER <= 0 then
265
		NUMBER = 0
266
	end
267
	return NUMBER
268
end
269
270
function Swait(NUMBER)
271
	if NUMBER == 0 or NUMBER == nil then
272
		ArtificialHB.Event:wait()
273
	else
274
		for i = 1, NUMBER do
275
			ArtificialHB.Event:wait()
276
		end
277
	end
278
end
279
280
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
281
	local NEWMESH = IT(MESH)
282
	if MESH == "SpecialMesh" then
283
		NEWMESH.MeshType = MESHTYPE
284
		if MESHID ~= "nil" and MESHID ~= "" then
285
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
286
		end
287
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
288
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
289
		end
290
	end
291
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
292
	NEWMESH.Scale = SCALE
293
	NEWMESH.Parent = PARENT
294
	return NEWMESH
295
end
296
297
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
298
	local NEWPART = IT("Part")
299
	NEWPART.formFactor = FORMFACTOR
300
	NEWPART.Reflectance = REFLECTANCE
301
	NEWPART.Transparency = TRANSPARENCY
302
	NEWPART.CanCollide = false
303
	NEWPART.Locked = true
304
	NEWPART.Anchored = true
305
	if ANCHOR == false then
306
		NEWPART.Anchored = false
307
	end
308
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
309
	NEWPART.Name = NAME
310
	NEWPART.Size = SIZE
311
	NEWPART.Position = Torso.Position
312
	NEWPART.Material = MATERIAL
313
	NEWPART:BreakJoints()
314
	NEWPART.Parent = PARENT
315
	return NEWPART
316
end
317
318
	local function weldBetween(a, b)
319
	    local weldd = Instance.new("ManualWeld")
320
	    weldd.Part0 = a
321
	    weldd.Part1 = b
322
	    weldd.C0 = CFrame.new()
323
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
324
	    weldd.Parent = a
325
	    return weldd
326
	end
327
328
329
function QuaternionFromCFrame(cf)
330
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
331
	local trace = m00 + m11 + m22
332
	if trace > 0 then 
333
		local s = math.sqrt(1 + trace)
334
		local recip = 0.5 / s
335
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
336
	else
337
		local i = 0
338
		if m11 > m00 then
339
			i = 1
340
		end
341
		if m22 > (i == 0 and m00 or m11) then
342
			i = 2
343
		end
344
		if i == 0 then
345
			local s = math.sqrt(m00 - m11 - m22 + 1)
346
			local recip = 0.5 / s
347
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
348
		elseif i == 1 then
349
			local s = math.sqrt(m11 - m22 - m00 + 1)
350
			local recip = 0.5 / s
351
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
352
		elseif i == 2 then
353
			local s = math.sqrt(m22 - m00 - m11 + 1)
354
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
355
		end
356
	end
357
end
358
 
359
function QuaternionToCFrame(px, py, pz, x, y, z, w)
360
	local xs, ys, zs = x + x, y + y, z + z
361
	local wx, wy, wz = w * xs, w * ys, w * zs
362
	local xx = x * xs
363
	local xy = x * ys
364
	local xz = x * zs
365
	local yy = y * ys
366
	local yz = y * zs
367
	local zz = z * zs
368
	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))
369
end
370
 
371
function QuaternionSlerp(a, b, t)
372
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
373
	local startInterp, finishInterp;
374
	if cosTheta >= 0.0001 then
375
		if (1 - cosTheta) > 0.0001 then
376
			local theta = ACOS(cosTheta)
377
			local invSinTheta = 1 / SIN(theta)
378
			startInterp = SIN((1 - t) * theta) * invSinTheta
379
			finishInterp = SIN(t * theta) * invSinTheta
380
		else
381
			startInterp = 1 - t
382
			finishInterp = t
383
		end
384
	else
385
		if (1 + cosTheta) > 0.0001 then
386
			local theta = ACOS(-cosTheta)
387
			local invSinTheta = 1 / SIN(theta)
388
			startInterp = SIN((t - 1) * theta) * invSinTheta
389
			finishInterp = SIN(t * theta) * invSinTheta
390
		else
391
			startInterp = t - 1
392
			finishInterp = t
393
		end
394
	end
395
	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
396
end
397
398
function Clerp(a, b, t)
399
	local qa = {QuaternionFromCFrame(a)}
400
	local qb = {QuaternionFromCFrame(b)}
401
	local ax, ay, az = a.x, a.y, a.z
402
	local bx, by, bz = b.x, b.y, b.z
403
	local _t = 1 - t
404
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
405
end
406
407
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
408
	local frame = IT("Frame")
409
	frame.BackgroundTransparency = TRANSPARENCY
410
	frame.BorderSizePixel = BORDERSIZEPIXEL
411
	frame.Position = POSITION
412
	frame.Size = SIZE
413
	frame.BackgroundColor3 = COLOR
414
	frame.BorderColor3 = BORDERCOLOR
415
	frame.Name = NAME
416
	frame.Parent = PARENT
417
	return frame
418
end
419
420
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
421
	local label = IT("TextLabel")
422
	label.BackgroundTransparency = 1
423
	label.Size = UD2(1, 0, 1, 0)
424
	label.Position = UD2(0, 0, 0, 0)
425
	label.TextColor3 = TEXTCOLOR
426
	label.TextStrokeTransparency = STROKETRANSPARENCY
427
	label.TextTransparency = TRANSPARENCY
428
	label.FontSize = TEXTFONTSIZE
429
	label.Font = TEXTFONT
430
	label.BorderSizePixel = BORDERSIZEPIXEL
431
	label.TextScaled = false
432
	label.Text = TEXT
433
	label.Name = NAME
434
	label.Parent = PARENT
435
	return label
436
end
437
438
function NoOutlines(PART)
439
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
440
end
441
442
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
443
	local NEWWELD = IT(TYPE)
444
	NEWWELD.Part0 = PART0
445
	NEWWELD.Part1 = PART1
446
	NEWWELD.C0 = C0
447
	NEWWELD.C1 = C1
448
	NEWWELD.Parent = PARENT
449
	return NEWWELD
450
end
451
452
local S = IT("Sound")
453
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
454
	local NEWSOUND = nil
455
	coroutine.resume(coroutine.create(function()
456
		NEWSOUND = S:Clone()
457
		NEWSOUND.Parent = PARENT
458
		NEWSOUND.Volume = VOLUME
459
		NEWSOUND.Pitch = PITCH
460
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
461
		NEWSOUND:play()
462
		if DOESLOOP == true then
463
			NEWSOUND.Looped = true
464
		else
465
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
466
			NEWSOUND:remove()
467
		end
468
	end))
469
	return NEWSOUND
470
end
471
472
function CFrameFromTopBack(at, top, back)
473
	local right = top:Cross(back)
474
	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)
475
end
476
477
--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})
478
function WACKYEFFECT(Table)
479
	local TYPE = (Table.EffectType or "Sphere")
480
	local SIZE = (Table.Size or VT(1,1,1))
481
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
482
	local TRANSPARENCY = (Table.Transparency or 0)
483
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
484
	local CFRAME = (Table.CFrame or Torso.CFrame)
485
	local MOVEDIRECTION = (Table.MoveToPos or nil)
486
	local ROTATION1 = (Table.RotationX or 0)
487
	local ROTATION2 = (Table.RotationY or 0)
488
	local ROTATION3 = (Table.RotationZ or 0)
489
	local MATERIAL = (Table.Material or "Neon")
490
	local COLOR = (Table.Color or C3(1,1,1))
491
	local TIME = (Table.Time or 45)
492
	local SOUNDID = (Table.SoundID or nil)
493
	local SOUNDPITCH = (Table.SoundPitch or nil)
494
	local SOUNDVOLUME = (Table.SoundVolume or nil)
495
	coroutine.resume(coroutine.create(function()
496
		local PLAYSSOUND = false
497
		local SOUND = nil
498
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
499
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
500
			PLAYSSOUND = true
501
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
502
		end
503
		EFFECT.Color = COLOR
504
		local MSH = nil
505
		if TYPE == "Sphere" then
506
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
507
		elseif TYPE == "Block" then
508
			MSH = IT("BlockMesh",EFFECT)
509
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
510
		elseif TYPE == "Wave" then
511
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
512
		elseif TYPE == "Ring" then
513
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
514
		elseif TYPE == "Slash" then
515
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
516
		elseif TYPE == "Round Slash" then
517
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
518
		elseif TYPE == "Swirl" then
519
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
520
		elseif TYPE == "Skull" then
521
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
522
		elseif TYPE == "Crystal" then
523
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
524
		end
525
		if MSH ~= nil then
526
			local MOVESPEED = nil
527
			if MOVEDIRECTION ~= nil then
528
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
529
			end
530
			local GROWTH = SIZE - ENDSIZE
531
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
532
			if TYPE == "Block" then
533
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
534
			else
535
				EFFECT.CFrame = CFRAME
536
			end
537
			for LOOP = 1, TIME+1 do
538
				Swait()
539
				MSH.Scale = MSH.Scale - GROWTH/TIME
540
				if TYPE == "Wave" then
541
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
542
				end
543
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
544
				if TYPE == "Block" then
545
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
546
				else
547
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
548
				end
549
				if MOVEDIRECTION ~= nil then
550
					local ORI = EFFECT.Orientation
551
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
552
					EFFECT.Orientation = ORI
553
				end
554
			end
555
			if PLAYSSOUND == false then
556
				EFFECT:remove()
557
			else
558
				SOUND.Stopped:Connect(function()
559
					EFFECT:remove()
560
				end)
561
			end
562
		else
563
			if PLAYSSOUND == false then
564
				EFFECT:remove()
565
			else
566
				repeat Swait() until SOUND.Playing == false
567
				EFFECT:remove()
568
			end
569
		end
570
	end))
571
end
572
573
function MakeForm(PART,TYPE)
574
	if TYPE == "Cyl" then
575
		local MSH = IT("CylinderMesh",PART)
576
	elseif TYPE == "Ball" then
577
		local MSH = IT("SpecialMesh",PART)
578
		MSH.MeshType = "Sphere"
579
	elseif TYPE == "Wedge" then
580
		local MSH = IT("SpecialMesh",PART)
581
		MSH.MeshType = "Wedge"
582
	end
583
end
584
585
function SpawnTrail(FROM,TO,BIG)
586
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
587
	MakeForm(TRAIL,"Cyl")
588
	local DIST = (FROM - TO).Magnitude
589
	if BIG == true then
590
		TRAIL.Size = VT(0.5,DIST,0.5)
591
	else
592
		TRAIL.Size = VT(0.25,DIST,0.25)
593
	end
594
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
595
	coroutine.resume(coroutine.create(function()
596
		for i = 1, 25 do
597
			Swait()
598
			TRAIL.Transparency = TRAIL.Transparency + 0.05
599
		end
600
		TRAIL:remove()
601
	end))
602
end
603
604
Debris = game:GetService("Debris")
605
606
function CastProperRay(StartPos, EndPos, Distance, Ignore)
607
	local DIRECTION = CF(StartPos,EndPos).lookVector
608
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
609
end
610
function Debree(POS, SWAIT)
611
    coroutine.resume(coroutine.create(function()
612
        local HOLDER = IT("Model", Effects)
613
        HOLDER.Name = "Debree"
614
        local HITFLOOR = Raycast(POS, CF(POS, POS + VT(0, -1, 0)).lookVector, 4 * Player_Size, Character)
615
        MagicSphere(VT(15, 1, 15), SWAIT, CF(POS), "Really red", VT(0, 0, 0))
616
        MagicSphere(VT(13, 1, 13), SWAIT, CF(POS), "Really red", VT(0, 0, 0))
617
        MagicSphere(VT(12, 1, 12), SWAIT, CF(POS), "Really red", VT(0, 0, 0))
618
        repeat
619
            Swait()
620
        until HITFLOOR ~= nil
621
        local O = 0
622
        for i = 1, 18 do
623
            do
624
                local Part = CreatePart(3, HOLDER, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "Debree", VT(3, 3, 3))
625
                Part.CFrame = CF(CF(POS) * CF(10 - i, 0, O).p) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)))
626
                O = O - 2.25 + i / 4
627
                coroutine.resume(coroutine.create(function()
628
                    Swait(SWAIT)
629
                    for i = 1, 60 do
630
                        Swait()
631
                        local RayHit, Way = CastProperRay(Part.Position, POS, 0.1, workspace)
632
                        Part.CFrame = CF(Way) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)))
633
                    end
634
                    for i = 1, 50 do
635
                        Swait()
636
                        Part.Size = Part.Size * 0.9
637
                    end
638
                end))
639
            end
640
        end
641
        local O = 0
642
        for i = 1, 18 do
643
            do
644
                local Part = CreatePart(3, HOLDER, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "Debree", VT(3, 3, 3))
645
                Part.CFrame = CF(CF(POS) * CF(10 - i, 0, O).p) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)))
646
                O = O + 2.25 - i / 4
647
                coroutine.resume(coroutine.create(function()
648
                    Swait(SWAIT)
649
                    for i = 1, 60 do
650
                        Swait()
651
                        local RayHit, Way = CastProperRay(Part.Position, POS, 0.1, workspace)
652
                        Part.CFrame = CF(Way) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)))
653
                    end
654
                    for i = 1, 50 do
655
                        Swait()
656
                        Part.Size = Part.Size * 0.9
657
                    end
658
                end))
659
            end
660
        end
661
        Swait(SWAIT + 110)
662
        HOLDER:remove()
663
    end))
664
end
665
666
667
668
669
function turnto(position)
670
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
671
end
672
673
function SpawnSoul(Humanoid)
674
	coroutine.resume(coroutine.create(function()
675
		local TORSO = Humanoid.Parent:FindFirstChild("Torso") or Humanoid.Parent:FindFirstChild("UpperTorso")
676
		local SOULMODEL = IT("Model",Effects)
677
		SOULMODEL.Name = Humanoid.Parent.Name.."'s Spirit"
678
		local SOUL = CreatePart(3, SOULMODEL, "Neon", 0, 0, "Really red", "Head", VT(0.5,0.5,0.5))
679
		SOUL.CFrame = CF(TORSO.Position)
680
	 	local A1 = IT("Attachment",SOUL)
681
	 	A1.Position = Vector3.new(0, 0.25, 0)
682
	 	local A2 = IT("Attachment",SOUL)
683
	    A2.Position = Vector3.new(0, -0.25, 0)
684
	 	local Trail = IT("Trail",SOUL)
685
	    Trail.LightEmission = 0.3
686
	    Trail.FaceCamera = true
687
	    Trail.Texture = "rbxassetid://945758042"
688
	    Trail.Attachment0 = A1
689
	    Trail.Attachment1 = A2
690
	    Trail.Lifetime = 0.5
691
	    Trail.MinLength = 0
692
	    Trail.Transparency = NumberSequence.new(0)
693
	    Trail.Color = ColorSequence.new(SOUL.Color)
694
		MakeForm(SOUL,"Ball")
695
		local DISTANCE = nil
696
		local HUM = IT("Humanoid",SOULMODEL)
697
		repeat
698
			Swait()
699
			SOUL.CFrame = CF(SOUL.Position,Torso.Position)*CF(0,0,-0.2)
700
			DISTANCE = (SOUL.Position - Torso.Position).Magnitude
701
		until DISTANCE < 0.4
702
		WACKYEFFECT({EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(6,6,6), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = "444667859", SoundPitch = 2, SoundVolume = 2})
703
                WACKYEFFECT({EffectType = "Sphere", Size = VT(1.5,1.5,1.5), Size2 = VT(6.5,6.5,6.5), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = "444667859", SoundPitch = 2, SoundVolume = 2})
704
		SOUL.Transparency = 1
705
		A1.Parent = Torso
706
		A2.Parent = Torso
707
		Trail.Parent = Torso
708
		Debris:AddItem(SOULMODEL,10)
709
		SOULWELL = SOULWELL + 1
710
		for i = 1, 100 do
711
			Swait()
712
			Trail.Transparency = NumberSequence.new(i/100)
713
		end
714
		A1:remove()
715
		A2:remove()
716
		Trail:remove()
717
	end))
718
end
719
720
721
722
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
723
	if FLOOR ~= nil then
724
		coroutine.resume(coroutine.create(function()
725
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
726
			PART.CFrame = CF(POSITION)
727
			for i = 1, 45 do
728
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
729
				RingPiece.Material = FLOOR.Material
730
				RingPiece.Color = FLOOR.Color
731
				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)))
732
				Debris:AddItem(RingPiece,SWAIT)
733
			end
734
			PART:remove()
735
		end))
736
	end
737
end
738
739
function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
740
	if FLOOR ~= nil then
741
		for i = 1, AMOUNT do
742
			local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
743
			DEBREE.Material = FLOOR.Material
744
			DEBREE.Color = FLOOR.Color
745
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
746
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
747
			coroutine.resume(coroutine.create(function()
748
				Swait(15)
749
				DEBREE.Parent = workspace
750
				DEBREE.CanCollide = true
751
				Debris:AddItem(DEBREE,SWAIT)
752
			end))
753
		end
754
	end
755
end
756
757
function swait(num)
758
	if num == 0 or num == nil then
759
		ArtificialHB.Event:wait()
760
	else
761
		for i = 0, num do
762
			ArtificialHB.Event:wait()
763
		end
764
	end
765
end
766
767
--//====================================================\\--
768
--||			  		 SPEECH
769
--\\====================================================//--
770
771
function chatfunc(text)
772
	local chat = coroutine.wrap(function()
773
	if Character:FindFirstChild("TalkingBillBoard")~= nil then
774
		Character:FindFirstChild("TalkingBillBoard"):destroy()
775
	end
776
	local Bill = Instance.new("BillboardGui",Character)
777
	Bill.Size = UDim2.new(0,100,0,40)
778
	Bill.StudsOffset = Vector3.new(0,3,0)
779
	Bill.Adornee = Character.Head
780
	Bill.Name = "TalkingBillBoard"
781
	local Hehe = Instance.new("TextLabel",Bill)
782
	Hehe.BackgroundTransparency = 1
783
	Hehe.BorderSizePixel = 0
784
	Hehe.Text = ""
785
	Hehe.Font = "SciFi"
786
	Hehe.TextSize = 40
787
	Hehe.TextStrokeTransparency = 0
788
	Hehe.Size = UDim2.new(1,0,0.5,0)
789
	coroutine.resume(coroutine.create(function()
790
		while Hehe ~= nil do
791
			swait()	
792
			Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))	
793
			Hehe.Rotation = math.random(-1,1)
794
			Hehe.TextColor3 = Color3.new(1,0,0)
795
			Hehe.TextStrokeColor3 = Color3.new(0,0,0)
796
		end
797
	end))
798
	for i = 1,string.len(text),1 do
799
		swait()
800
		Hehe.Text = string.sub(text,1,i)
801
	end
802
	Swait(90)--Re[math.random(1, 93)]
803
	for i = 0, 1, .025 do
804
		Swait()
805
		Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
806
		Hehe.TextStrokeTransparency = i
807
		Hehe.TextTransparency = i
808
	end
809
	Bill:Destroy()
810
	end)
811
chat()
812
end
813
814
function onChatted(msg)
815
	chatfunc(msg)
816
end
817
Player.Chatted:connect(onChatted)
818
819
function CreateWave(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
820
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
821
	local mesh = IT("SpecialMesh", wave)
822
	mesh.MeshType = "FileMesh"
823
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
824
	mesh.Scale = SIZE
825
	mesh.Offset = VT(0, 0, -SIZE.X / 8)
826
	wave.CFrame = CFRAME
827
	coroutine.resume(coroutine.create(function(PART)
828
		for i = 1, WAIT do
829
			Swait()
830
			mesh.Scale = mesh.Scale + GROW
831
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
832
			if DOESROT == true then
833
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
834
			end
835
			wave.Transparency = wave.Transparency + 0.5 / WAIT
836
			if wave.Transparency > 0.99 then
837
				wave:remove()
838
			end
839
		end
840
	end))
841
end
842
function CreateCrown(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
843
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
844
	local mesh = IT("SpecialMesh", wave)
845
	mesh.MeshType = "FileMesh"
846
	mesh.MeshId = "http://www.roblox.com/asset/?id=1078075"
847
	mesh.Scale = SIZE
848
	mesh.Offset = VT(0, 0, -SIZE.X / 8)
849
	wave.CFrame = CFRAME
850
	coroutine.resume(coroutine.create(function(PART)
851
		for i = 1, WAIT do
852
			Swait()
853
			mesh.Scale = mesh.Scale + GROW
854
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
855
			if DOESROT == true then
856
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
857
			end
858
			wave.Transparency = wave.Transparency + 0.5 / WAIT
859
			if wave.Transparency > 0.99 then
860
				wave:remove()
861
			end
862
		end
863
	end))
864
end
865
function CreateIceCrown(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
866
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
867
	local mesh = IT("SpecialMesh", wave)
868
	mesh.MeshType = "FileMesh"
869
	mesh.MeshId = "http://www.roblox.com/asset/?id=1323306"
870
	mesh.Scale = SIZE
871
	mesh.Offset = VT(0, 0, -SIZE.X / 8)
872
	wave.CFrame = CFRAME
873
	coroutine.resume(coroutine.create(function(PART)
874
		for i = 1, WAIT do
875
			Swait()
876
			mesh.Scale = mesh.Scale + GROW
877
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
878
			if DOESROT == true then
879
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
880
			end
881
			wave.Transparency = wave.Transparency + 0.5 / WAIT
882
			if wave.Transparency > 0.99 then
883
				wave:remove()
884
			end
885
		end
886
	end))
887
end
888
function CreateSpikeball(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
889
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
890
	local mesh = IT("SpecialMesh", wave)
891
	mesh.MeshType = "FileMesh"
892
	mesh.MeshId = "http://www.roblox.com/asset/?id=9982590"
893
	mesh.Scale = SIZE
894
	mesh.Offset = VT(0, 0, -SIZE.X / 8)
895
	wave.CFrame = CFRAME
896
	coroutine.resume(coroutine.create(function(PART)
897
		for i = 1, WAIT do
898
			Swait()
899
			mesh.Scale = mesh.Scale + GROW
900
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
901
			if DOESROT == true then
902
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
903
			end
904
			wave.Transparency = wave.Transparency + 0.5 / WAIT
905
			if wave.Transparency > 0.99 then
906
				wave:remove()
907
			end
908
		end
909
	end))
910
end
911
function CreateSwirl(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
912
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
913
	local mesh = IT("SpecialMesh", wave)
914
	mesh.MeshType = "FileMesh"
915
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
916
	mesh.Scale = SIZE
917
	wave.CFrame = CFRAME
918
	coroutine.resume(coroutine.create(function(PART)
919
		for i = 1, WAIT do
920
			Swait()
921
			mesh.Scale = mesh.Scale + GROW
922
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
923
			if DOESROT == true then
924
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
925
			end
926
			wave.Transparency = wave.Transparency + 0.5 / WAIT
927
			if wave.Transparency > 0.99 then
928
				wave:remove()
929
			end
930
		end
931
	end))
932
end
933
function CreateTornado(SIZE, DOESROT, ROT, WAIT, CFRAME, COLOR, GROW)
934
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
935
	local mesh = IT("SpecialMesh", wave)
936
	mesh.MeshType = "FileMesh"
937
	mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
938
	mesh.Scale = SIZE
939
	wave.CFrame = CFRAME
940
	coroutine.resume(coroutine.create(function(PART)
941
		for i = 1, WAIT do
942
			Swait()
943
			mesh.Scale = mesh.Scale + GROW
944
			if DOESROT == true then
945
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
946
			end
947
			wave.Transparency = wave.Transparency + 0.5 / WAIT
948
			if wave.Transparency > 0.99 then
949
				wave:remove()
950
			end
951
		end
952
	end))
953
end
954
function CreateRing(SIZE, DOESROT, ROT, WAIT, CFRAME, COLOR, GROW)
955
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
956
	local mesh = IT("SpecialMesh", wave)
957
	mesh.MeshType = "FileMesh"
958
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
959
	mesh.Scale = SIZE
960
	mesh.Offset = VT(0, 0, 0)
961
	wave.CFrame = CFRAME
962
	coroutine.resume(coroutine.create(function(PART)
963
		for i = 1, WAIT do
964
			Swait()
965
			mesh.Scale = mesh.Scale + GROW
966
			if DOESROT == true then
967
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
968
			end
969
			wave.Transparency = wave.Transparency + 0.5 / WAIT
970
			if wave.Transparency > 0.99 then
971
				wave:remove()
972
			end
973
		end
974
	end))
975
end
976
function MagicSphere(SIZE, WAIT, CFRAME, COLOR, GROW)
977
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
978
	local mesh = IT("SpecialMesh", wave)
979
	mesh.MeshType = "Sphere"
980
	mesh.Scale = SIZE
981
	mesh.Offset = VT(0, 0, 0)
982
	wave.CFrame = CFRAME
983
	coroutine.resume(coroutine.create(function(PART)
984
		for i = 1, WAIT do
985
			Swait()
986
			mesh.Scale = mesh.Scale + GROW
987
			wave.Transparency = wave.Transparency + 1 / WAIT
988
			if wave.Transparency > 0.99 then
989
				wave:remove()
990
			end
991
		end
992
	end))
993
end
994
function MagicBlock(SIZE, WAIT, CFRAME, COLOR, GROW)
995
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(SIZE, SIZE, SIZE), true)
996
	local mesh = IT("BlockMesh", wave)
997
	wave.CFrame = CFRAME
998
	coroutine.resume(coroutine.create(function(PART)
999
		for i = 1, WAIT do
1000
			Swait()
1001
			mesh.Scale = mesh.Scale + GROW
1002
			wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360, 360)), RAD(math.random(-360, 360)), RAD(math.random(-360, 360)))
1003
			wave.Transparency = wave.Transparency + 1 / WAIT
1004
			if wave.Transparency > 0.99 then
1005
				wave:remove()
1006
			end
1007
		end
1008
	end))
1009
end
1010
1011
function CharacterFade(COLOR,TIMER,MOVEDIRECTION,PARENT)
1012
	coroutine.resume(coroutine.create(function()
1013
		local FADE = IT("Model",Effects)
1014
		if PARENT ~= nil then
1015
			FADE.Parent = PARENT
1016
		end
1017
		FADE.Name = "FadingEffect"
1018
                for _, c in pairs(Weapon:GetChildren()) do
1019
			if c.ClassName == "Part" then
1020
				c.CanCollide = false
1021
				local FADER = CreatePart(3, FADE, "Neon", 0, 0.75, BRICKC("Really red"), c.Name, c.Size, true)
1022
				FADER.CFrame = c.CFrame
1023
				FADER.Color = COLOR
1024
				if FADER.Name == "Head" then
1025
					Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FADER
1026
				elseif FADER.Name == "HumanoidRootPart" then
1027
					FADE.PrimaryPart = FADER
1028
					FADER.Transparency = 1
1029
				end
1030
			end
1031
		end
1032
                for _, c in pairs(Character:GetChildren()) do
1033
			if c.ClassName == "Part" then
1034
				c.CanCollide = false
1035
				local FADER = CreatePart(3, FADE, "Neon", 0, 0.95, BRICKC("Really red"), c.Name, c.Size, true)
1036
				FADER.CFrame = c.CFrame
1037
				FADER.Color = COLOR
1038
				if FADER.Name == "Head" then
1039
					Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FADER
1040
				elseif FADER.Name == "HumanoidRootPart" then
1041
					FADE.PrimaryPart = FADER
1042
					FADER.Transparency = 1
1043
				end
1044
			end
1045
		end
1046
		local TRANS = 0.25/TIMER
1047
		local DIST = nil
1048
		if MOVEDIRECTION ~= nil then
1049
			DIST = (FADE.PrimaryPart.Position - MOVEDIRECTION).Magnitude
1050
		end
1051
		for i = 1, TIMER do
1052
			Swait()
1053
			for _, c in pairs(FADE:GetChildren()) do
1054
				if c.ClassName == "Part" then
1055
					c.Transparency = c.Transparency + TRANS
1056
				end
1057
			end
1058
			if MOVEDIRECTION ~= nil then
1059
				local ORI = FADE.PrimaryPart.Orientation
1060
				FADE:SetPrimaryPartCFrame(CF(CF(FADE.PrimaryPart.Position,MOVEDIRECTION)*CF(0,0,-DIST/TIMER).p) * ANGLES(RAD(ORI.X), RAD(ORI.Y), RAD(ORI.Z)))
1061
			end
1062
		end
1063
		FADE:remove()
1064
	end))
1065
end
1066
1067
--//====================================================\\--
1068
--||			  		 HALO
1069
--\\====================================================//--
1070
1071
function CreateNeonCircle(ATTACHPART, POSITION, SIZE, DOESSPIN, COLOR, MATERIAL, THICKNESS, WIDTH)
1072
	local PART = CreatePart(3, Weapon, MATERIAL, 0, 1, COLOR, "CirclePart", VT(0, 0, 0), false)
1073
	for i = 1, 45 do
1074
		local RingPiece = CreatePart(3, Weapon, MATERIAL, 0, 0, COLOR, "CirclePart", VT(THICKNESS, WIDTH, SIZE * 0.65), false)
1075
		local RingWeld = CreateWeldOrSnapOrMotor("Weld", RingPiece, PART, RingPiece, CF(0, 0, 0) * ANGLES(RAD(0), RAD(i * 8), RAD(0)), CF(0, 0, 0) * CF(SIZE * 4, 0, 0))
1076
	end
1077
	local PartWeld = CreateWeldOrSnapOrMotor("Weld", ATTACHPART, PART, ATTACHPART, POSITION * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1078
	coroutine.resume(coroutine.create(function()
1079
		if DOESSPIN == true then
1080
			while true do
1081
				wait()
1082
				PartWeld.C0 = Clerp(PartWeld.C0, POSITION * ANGLES(RAD(0), RAD(SINE * 2), RAD(0)), 1)
1083
			end
1084
		end
1085
	end))
1086
end
1087
1088
1089
--//=================================\\
1090
--||	     WEAPON CREATION
1091
--\\=================================//
1092
1093
local Particle = IT("ParticleEmitter",nil)
1094
Particle.Enabled = false
1095
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
1096
Particle.LightEmission = 0.5
1097
Particle.Rate = 150
1098
Particle.ZOffset = 0.2
1099
Particle.Rotation = NumberRange.new(-180, 180)
1100
Particle.RotSpeed = NumberRange.new(-180, 180)
1101
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
1102
Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
1103
1104
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
1105
function ParticleEmitter(Table)
1106
	local PRTCL = Particle:Clone()
1107
	local Speed = Table.Speed or 5
1108
	local Drag = Table.Drag or 0
1109
	local Size1 = Table.Size1 or 1
1110
	local Size2 = Table.Size2 or 5
1111
	local Lifetime1 = Table.Lifetime1 or 1
1112
	local Lifetime2 = Table.Lifetime2 or 1.5
1113
	local Parent = Table.Parent or Torso
1114
	local Emit = Table.Emit or 100
1115
	local Offset = Table.Offset or 360
1116
	local Acel = Table.Acel or VT(0,0,0)
1117
	local Enabled = Table.Enabled or false
1118
	PRTCL.Parent = Parent
1119
	PRTCL.Size = NumberSequence.new(Size1,Size2)
1120
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1121
	PRTCL.Speed = NumberRange.new(Speed)
1122
	PRTCL.VelocitySpread = Offset
1123
	PRTCL.Drag = Drag
1124
	PRTCL.Acceleration = Acel
1125
	if Enabled == false then
1126
		PRTCL:Emit(Emit)
1127
		Debris:AddItem(PRTCL,Lifetime2)
1128
	else
1129
		PRTCL.Enabled = true
1130
	end
1131
	return PRTCL
1132
end
1133
1134
1135
local Gun = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Gun", VT(0, 0, 0), false)
1136
local HandleMesh = CreateMesh("SpecialMesh", Gun, "FileMesh", "430198390", "430198451", VT(0.02, 0.02, 0.02), VT(0, 0, 0))
1137
local Weld = CreateWeldOrSnapOrMotor("Weld", Gun, RightArm, Gun, CF(0, -1.7, -0.2) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
1138
GunPoint = CreatePart(3, Weapon, "Neon", 0, 1, "Really black", "Point blank", VT(0, 0, 0), false)
1139
local HandleWeld = CreateWeldOrSnapOrMotor("Weld", GunPoint, RightArm, GunPoint, CF(0, -3.1, -0.8) * ANGLES(RAD(0), RAD(0), RAD(135)), CF(0, 0, 0))
1140
1141
local Gun1 = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Gun1", VT(0, 0, 0), false)
1142
local HandleMesh = CreateMesh("SpecialMesh", Gun1, "FileMesh", "0", "0", VT(0.02, 0.02, 0.02), VT(0, 0, 0))
1143
local Weld = CreateWeldOrSnapOrMotor("Weld", Gun1, RightArm, Gun1, CF(0, -3.1, -0.8) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
1144
1145
ParticleEmitter({Speed = 0, Drag = 0, Size1 = 0.1, Size2 = 0.3, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Gun1, Emit = 0, Offset = -360, Enabled = false})
1146
1147
1148
Weapon.Parent = Character
1149
1150
for _, c in pairs(Weapon:GetChildren()) do
1151
	if c.ClassName == "Part" then
1152
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1153
	end
1154
end
1155
1156
local SKILLTEXTCOLOR = C3(1,0,0)
1157
local SKILLFONT = "SciFi"
1158
local SKILLTEXTSIZE = 7
1159
1160
Humanoid.Died:connect(function()
1161
	ATTACK = false
1162
end)
1163
1164
local BODY = {}
1165
1166
for _, c in pairs(Character:GetDescendants()) do
1167
	if c:IsA("BasePart") and c.Name ~= "Handle" then
1168
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
1169
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1170
		end
1171
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
1172
	elseif c:IsA("JointInstance") then
1173
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
1174
	end
1175
end
1176
1177
for e = 1, #BODY do
1178
	if BODY[e] ~= nil then
1179
		local STUFF = BODY[e]
1180
		local PART = STUFF[1]
1181
		local PARENT = STUFF[2]
1182
		local MATERIAL = STUFF[3]
1183
		local COLOR = STUFF[4]
1184
		local TRANSPARENCY = STUFF[5]
1185
		if PART.ClassName == "Part" and PART ~= RootPart then
1186
			PART.Material = MATERIAL
1187
			PART.Color = COLOR
1188
			PART.Transparency = TRANSPARENCY
1189
		end
1190
		PART.AncestryChanged:Connect(function()
1191
			PART.Parent = PARENT
1192
		end)
1193
	end
1194
end
1195
1196
function refit()
1197
	Character.Parent = workspace
1198
	for e = 1, #BODY do
1199
		if BODY[e] ~= nil then
1200
			local STUFF = BODY[e]
1201
			local PART = STUFF[1]
1202
			local PARENT = STUFF[2]
1203
			local MATERIAL = STUFF[3]
1204
			local COLOR = STUFF[4]
1205
			local TRANSPARENCY = STUFF[5]
1206
			if PART.ClassName == "Part" and PART ~= RootPart then
1207
				PART.Material = MATERIAL
1208
				PART.Color = COLOR
1209
				PART.Transparency = TRANSPARENCY
1210
			end
1211
			if PART.Parent ~= PARENT then
1212
				Humanoid:remove()
1213
				PART.Parent = PARENT
1214
				Humanoid = IT("Humanoid",Character)
1215
			end
1216
		end
1217
	end
1218
end
1219
1220
1221
1222
1223
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.100, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
1224
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.365, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
1225
local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.631, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
1226
1227
1228
1229
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banish Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 1")
1230
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[X] Banish Laser", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 2")
1231
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Teleport", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 3")
1232
1233
--//====================================================\\--
1234
--||			  		 TAUNTS
1235
--\\====================================================//--
1236
1237
1238
UnBanishTaunts = {"I'll show you Mercy.", "This is your final Mercy.", "You are now free.", "I'll forgive your sin.", "Don't refuse me.", "Don't do that again.", "If you desire to be free.", "I only give you Mercy."}
1239
1240
function printbye(Name)
1241
	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, ","Your Time has ended, ","You dont exist anymore, ","Im your true god, ","Your Soul is mine, ","You will be banished forever, ","You can't escape., ","Say goodbye to your cruel world., "}
1242
	chatfunc(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
1243
end
1244
1245
workspace.ChildAdded:connect(function(instance)
1246
    for BANISH = 1, #TOBANISH do
1247
		if TOBANISH[BANISH] ~= nil then
1248
			if instance.Name == TOBANISH[BANISH] then
1249
				coroutine.resume(coroutine.create(function()
1250
					printbye(instance.Name)
1251
					instance:ClearAllChildren()
1252
					Debris:AddItem(instance,0.0005)
1253
				end))
1254
			end
1255
		end
1256
	end
1257
end)
1258
1259
--//====================================================\\--
1260
--\\====================================================//--
1261
1262
function R_RANDOM(CFRAME,DIST)
1263
	return CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-DIST)
1264
end
1265
1266
function CamShake(SHAKE,TIMER)
1267
	coroutine.resume(coroutine.create(function()
1268
		local FADER = SHAKE/TIMER
1269
		for i = 1, TIMER do
1270
			wait()
1271
			Humanoid.CameraOffset = VT(MRANDOM(-(SHAKE-(FADER*i)),(SHAKE-(FADER*i)))/10,MRANDOM(-(SHAKE-(FADER*i)),(SHAKE-(FADER*i)))/10,MRANDOM(-(SHAKE-(FADER*i)),(SHAKE-(FADER*i)))/10)
1272
		end
1273
		Humanoid.CameraOffset = VT(0,0,0)
1274
	end))
1275
end
1276
1277
--//=================================\\
1278
--||			DAMAGING
1279
--\\=================================//
1280
1281
function ApplyDamage(Humanoid,Damage)
1282
	if Humanoid.Health == math.huge then
1283
		Banish(c)
1284
	else
1285
		local MULTIPLY = Humanoid.MaxHealth/100
1286
		Damage = Damage * DAMAGEMULTIPLIER
1287
		if Humanoid.Health ~= 0 then
1288
			Humanoid.Health = Humanoid.Health - Damage*MULTIPLY
1289
                        Banish(c)
1290
		end
1291
	end
1292
end
1293
1294
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,CAMSINSTAKILL,INSTAKILL)
1295
	local CHILDREN = workspace:GetDescendants()
1296
	for index, CHILD in pairs(CHILDREN) do
1297
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1298
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1299
			if HUM then
1300
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1301
				if TORSO then
1302
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1303
						if INSTAKILL == true or HUM.MaxHealth == math.huge then
1304
							Banish(c)
1305
						else
1306
							local DMG = MRANDOM(MINDMG,MAXDMG)
1307
							ApplyDamage(HUM,DMG)
1308
						end
1309
						if FLING > 0 then
1310
							for _, c in pairs(CHILD:GetChildren()) do
1311
								if c:IsA("BasePart") then
1312
									local bv = Instance.new("BodyVelocity") 
1313
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1314
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
1315
									bv.Parent = c
1316
									Debris:AddItem(bv,0.05)
1317
								end
1318
							end
1319
						end
1320
					end
1321
				end
1322
			end
1323
		end
1324
	end
1325
end
1326
1327
1328
1329
function Banish(Foe)
1330
	if Foe then
1331
		coroutine.resume(coroutine.create(function()
1332
			--if game.Players:FindFirstChild(Foe.Name) then
1333
				table.insert(TOBANISH,Foe.Name)
1334
				printbye(Foe.Name)
1335
			--end
1336
			Foe.Archivable = true
1337
			local CLONE = Foe:Clone()
1338
			Foe:Destroy()
1339
			CLONE.Parent = Effects
1340
			CLONE:BreakJoints()
1341
			local MATERIALS = {"Neon","Neon"}
1342
			for _, c in pairs(CLONE:GetDescendants()) do
1343
				if c:IsA("BasePart") then
1344
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
1345
 						CreateSound(340722848, c, 10, 1, false)
1346
					end
1347
					c.Anchored = true
1348
					c.Transparency = c.Transparency + 0.2
1349
					c.Material = MATERIALS[MRANDOM(1,2)]
1350
					c.Color = C3(1,0,0)
1351
					if c.ClassName == "MeshPart" then
1352
						c.TextureID = ""
1353
					end
1354
					if c:FindFirstChildOfClass("SpecialMesh") then
1355
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1356
					end
1357
					if c:FindFirstChildOfClass("Decal") then
1358
						c:FindFirstChildOfClass("Decal"):remove()
1359
					end
1360
					c.Name = "Banished"
1361
					c.CanCollide = false
1362
				else
1363
					c:remove()
1364
				end
1365
			end
1366
			local A = false
1367
			for i = 1, 35 do
1368
				if A == false then
1369
					A = true
1370
				elseif A == true then
1371
					A = false
1372
				end
1373
				for _, c in pairs(CLONE:GetDescendants()) do
1374
					if c:IsA("BasePart") then
1375
						c.Anchored = true
1376
						c.Material = MATERIALS[MRANDOM(1,2)]
1377
						c.Transparency = c.Transparency + 0.8/35
1378
						if A == false then
1379
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
1380
						elseif A == true then
1381
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
1382
						end
1383
					end
1384
				end
1385
				Swait()
1386
			end
1387
			CLONE:remove()
1388
		end))
1389
	end
1390
end
1391
1392
function ApplyAoE(POSITION,RANGE,ISBANISH)
1393
	local CHILDREN = workspace:GetDescendants()
1394
	for index, CHILD in pairs(CHILDREN) do
1395
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1396
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1397
			if HUM then
1398
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1399
				if TORSO then
1400
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1401
						if ISBANISH == true then
1402
							Banish(CHILD)
1403
						else
1404
							if ISBANISH == "Gravity" then
1405
								HUM.PlatformStand = true
1406
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1407
									local grav = Instance.new("BodyPosition",TORSO)
1408
									grav.D = 15
1409
									grav.P = 20000
1410
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1411
									grav.position = TORSO.Position
1412
									grav.Name = "V3BanishForce"..Player.Name
1413
								else
1414
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
1415
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
1416
								end
1417
							else
1418
								HUM.PlatformStand = false
1419
							end
1420
						end
1421
					elseif ISBANISH == "Gravity" then
1422
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1423
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
1424
							HUM.PlatformStand = false
1425
						end
1426
					end
1427
				end
1428
			end
1429
		end
1430
	end
1431
end
1432
1433
1434
1435
1436
1437
1438
--//=================================\\
1439
--||	ATTACK FUNCTIONS AND STUFF
1440
--\\=================================//
1441
1442
function Banisher_Bullet()
1443
    ATTACK = true
1444
    Rooted = false
1445
    for i=0, 0.4, 0.1 / Animation_Speed do
1446
        Swait()
1447
        turnto(Mouse.Hit.p)
1448
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1449
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1450
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1451
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1452
        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)
1453
        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)
1454
    end
1455
    repeat
1456
        for i=0, 0.2, 0.1 / Animation_Speed do
1457
            Swait()
1458
            turnto(Mouse.Hit.p)
1459
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1460
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1461
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1462
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1463
            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)
1464
            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)
1465
        end
1466
        local HIT,POS = CastProperRay(Gun1.Position, Mouse.Hit.p, 1000, Character)
1467
        SpawnTrail(Gun1.Position,POS)
1468
        if HIT ~= nil then
1469
            if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
1470
                Banish(HIT.Parent)
1471
            end
1472
        end
1473
        WACKYEFFECT({Time = 15+(i*5), EffectType = "Slash", Size = VT(0.03,0.03,0.03), Size2 = VT(0.05,0,0.05), Transparency = 0, Transparency2 = 1, CFrame = CF(Gun1.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-15,15)/15, RotationY = MRANDOM(-15,15)/15, RotationZ = MRANDOM(-15,15)/15, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1474
        WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(1.5,1.5,1.5), Transparency = 0, Transparency2 = 1, CFrame = Gun1.CFrame, MoveToPos = Gun1.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1475
        WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0.4,0.4,0.4), Size2 = VT(2.5,2.5,2.5), Transparency = 0, Transparency2 = 1, CFrame = Gun1.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1476
        WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(3,3.5,3), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Gun1.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1477
        WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(3,3.5,3), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Gun1.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1478
        WACKYEFFECT({Time = 15+(i*5), EffectType = "Ring", Size = VT(0.3,0.3,0.3), Size2 = VT(0.5,0.5,0.5), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Gun1.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-15,15)/15, RotationY = MRANDOM(-15,15)/15, RotationZ = MRANDOM(-15,15)/15, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1479
        WACKYEFFECT({Time = 70, EffectType = "Sphere", Size = VT(10,10,10), Size2 = VT(MRANDOM(12,13),MRANDOM(12,13),MRANDOM(12,13)), Transparency = 0.5, Transparency2 = 1, CFrame = CF(Gun1.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = 608538233, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1480
        CamShake(2,2)
1481
        for i=0, 0.3, 0.1 / Animation_Speed do
1482
            Swait()
1483
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1484
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
1485
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1486
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1487
            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)
1488
            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)
1489
        end
1490
    until KEYHOLD == false
1491
    ATTACK = false
1492
    Rooted = false
1493
end
1494
function AttackTemplate()
1495
	ATTACK = true
1496
	Rooted = false
1497
	for i=0, 1, 0.1 / Animation_Speed do
1498
		Swait()
1499
		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)
1500
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1501
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1502
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1503
		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)
1504
		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)
1505
	end
1506
	ATTACK = false
1507
	Rooted = false
1508
end
1509
1510
function BanishLaser()
1511
    ATTACK = true
1512
    local GYRO = IT("BodyGyro",RootPart)
1513
    GYRO.D = 100
1514
    GYRO.P = 2000
1515
    GYRO.MaxTorque = VT(0,4000000,0)
1516
    GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1517
    for i=1, 35 do
1518
        Swait()
1519
        GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1520
        WACKYEFFECT({Time = 5, EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.25, CFrame = Gun1, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
1521
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1522
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1523
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1524
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1525
        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)
1526
        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)
1527
    end
1528
    local BEAM = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Lazer", VT(0,0,0))
1529
    local LOOP = CreateSound("289315275", Gun1, 5, 1.2, false)
1530
    local MSH = IT("CylinderMesh",BEAM)
1531
    local TOCH = BEAM.Touched:Connect(function(hit)
1532
        if hit.Anchored == false and hit.Parent ~= Head and hit.Parent ~= Character and hit.Parent ~= Effects then
1533
            if hit.Parent:FindFirstChildOfClass("Humanoid") then
1534
                Banish(hit.Parent)
1535
            end
1536
        end
1537
    end)
1538
    local I = 0
1539
    repeat
1540
        Swait()
1541
        I = I + 1
1542
        if I <= 10 then
1543
            BEAM.Transparency = BEAM.Transparency - 0.1
1544
        end
1545
        local STARTPOS = Gun1.CFrame.p
1546
        local ENDHIT,ENDPOS = CastProperRay(STARTPOS,Mouse.Hit.p,650,Character)
1547
        local DISTANCE = (STARTPOS - ENDPOS).Magnitude
1548
        BEAM.CFrame = CF(STARTPOS,ENDPOS)*CF(0,0,-DISTANCE/2)*ANGLES(RAD(90),RAD(0),RAD(0))
1549
        BEAM.Size = VT(1,DISTANCE,1)
1550
        WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(3,3,3), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = Gun1.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
1551
        WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(3,3,3), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(ENDPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = 0.6, SoundVolume = 6})
1552
        WACKYEFFECT({Time = 35, EffectType = "Block", Size = VT(4,4,4), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(ENDPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = 0.6, SoundVolume = 6})
1553
        WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(19,19,19), Size2 = VT(10,10,10), Transparency = 0, Transparency2 = 0.25, CFrame = CF(ENDPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
1554
        CamShake(4,4)
1555
        GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1556
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1557
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
1558
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1559
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1560
        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)
1561
        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)
1562
        if ENDHIT ~= nil then
1563
            if ENDHIT.Anchored == false and ENDHIT.Parent ~= Effects then
1564
                if ENDHIT.Parent:FindFirstChildOfClass("Humanoid") then
1565
                    Banish(ENDHIT.Parent)
1566
                end
1567
            end
1568
        end
1569
    until LOOP.Playing == false
1570
    BEAM:remove()
1571
    GYRO:remove()
1572
    ATTACK = false
1573
end
1574
1575
function Teleport()
1576
	ATTACK = true
1577
	Rooted = false
1578
	for i=0, 0.5, 0.1 / Animation_Speed do
1579
		Swait()
1580
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1581
                Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1582
                RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1583
                LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1584
                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)
1585
                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)
1586
	end
1587
	for e = 1, #BODY do
1588
		if BODY[e] ~= nil then
1589
			local STUFF = BODY[e]
1590
			local PART = STUFF[1]
1591
			if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "Gun1" and PART.Name ~= "Gun" and PART.Transparency ~= 1 then
1592
				local PRT = PART:Clone()
1593
				PRT.Anchored = true
1594
				PRT.CanCollide = false
1595
				PRT.Material = "Neon"
1596
				PRT.Color = C3(1,0,0)
1597
				PRT.Name = "WarpEffect"
1598
				PRT.Parent = Effects
1599
				PRT.CFrame = PART.CFrame
1600
				PRT:BreakJoints()
1601
				if PRT:FindFirstChildOfClass("Sound") then
1602
					PRT:FindFirstChildOfClass("Sound"):remove()
1603
				end
1604
				if PRT:FindFirstChildOfClass("Decal") then
1605
					PRT:FindFirstChildOfClass("Decal"):remove()
1606
				end
1607
				coroutine.resume(coroutine.create(function()
1608
					for i = 1, 500 do
1609
						Swait()
1610
						PRT.Transparency = PRT.Transparency + 1/100
1611
					end
1612
					PRT:remove()
1613
				end))
1614
			end
1615
		end
1616
	end
1617
        CamShake(1,1)
1618
	CreateSound(217767125, Torso, 10, 1)
1619
	local POS = RootPart.Orientation
1620
	RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
1621
        local HIT,POS = CastProperRay(RootPart.Position, Mouse.Hit.p, 1000, Character)
1622
        SpawnTrail(Gun1.Position,POS)
1623
	RootPart.Orientation = POS
1624
	RootJoint.Parent = RootPart
1625
        WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(3,8,3), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,10), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = 0.6, SoundVolume = 6})
1626
        WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(6,5,6), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,10), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = 0.6, SoundVolume = 3})
1627
        WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = 0.6, SoundVolume = 1})
1628
        WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(19,19,19), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = 0.6, SoundVolume = 1})
1629
        WACKYEFFECT({Time = 75, EffectType = "Ring", Size = VT(0.3,0.2,0.3), Size2 = VT(0.5,0.5,0.5), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = 0.6, SoundVolume = 1})
1630
	for i=0, 0.5, 0.1 / Animation_Speed do
1631
		Swait()
1632
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1633
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
1634
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1635
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1636
            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)
1637
            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)
1638
	end
1639
	for i=0, 0.1, 0.1 / Animation_Speed do
1640
		Swait()
1641
	    RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1642
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
1643
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1644
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1645
            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)
1646
            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)
1647
	end
1648
	ATTACK = false
1649
	Rooted = false
1650
end
1651
1652
1653
1654
1655
1656
1657
1658
1659
function SpectralBanishing()
1660
	ATTACK = true
1661
	Rooted = false
1662
	chatfunc("Your time has ended...", 20)
1663
	for i = 0, 5, 0.1 / Animation_Speed do
1664
		Swait()
1665
		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)
1666
		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)
1667
		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)
1668
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
1669
		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)
1670
		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)
1671
        end
1672
        local BEAM = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Lazer", VT(0,0,0))
1673
        local LOOP = CreateSound("289315275", Gun1, 5, 1.2, false)
1674
        local MSH = IT("CylinderMesh",BEAM)
1675
        local STARTPOS = Gun1.CFrame.p
1676
        local ENDHIT,ENDPOS = CastProperRay(STARTPOS,Mouse.Hit.p,650,Character)
1677
        local DISTANCE = (STARTPOS - ENDPOS).Magnitude
1678
        BEAM.CFrame = CF(STARTPOS,ENDPOS)
1679
        BEAM.Size = VT(1,100,1)
1680
        WACKYEFFECT({Time = 125, EffectType = "Sphere", Size = VT(55,55,55), Size2 = VT(44,44,44), Transparency = 0, Transparency2 = 1, CFrame = Gun1.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = 0.6, SoundVolume = 6})
1681
        I = I + 1
1682
        if I <= 10 then
1683
            BEAM.Transparency = BEAM.Transparency - 0.1
1684
        end
1685
1686
	local ORB = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Alder"), "Orb", VT(0,0,0), true)
1687
	MakeForm(ORB,"Ball")
1688
	ORB.CFrame = CF(RootPart.Position+VT(0,8,0))
1689
	local A = IT("Attachment",ORB)
1690
	local LOOP = 0
1691
	for i = 1, 200 do
1692
		Swait()
1693
		LOOP = LOOP + 1
1694
		if LOOP >= 30 then
1695
			LOOP = 0
1696
			WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(5,0,5), Size2 = VT(ORB.Size.X,ORB.Size.X/5,ORB.Size.X), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1697
		end
1698
		ORB.Size = ORB.Size + VT(0.2,0.2,0.2)
1699
		ORB.CFrame = CF(RootPart.Position+VT(0,8+(ORB.Size.Y/2),0))
1700
	end
1701
	CreateSound(CHARGE,Torso,6,0.5,false)
1702
	for i = 1, 200 do
1703
		Swait()
1704
		LOOP = LOOP + 1
1705
		if LOOP >= 30 then
1706
			LOOP = 0
1707
			WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(5,0,5), Size2 = VT(ORB.Size.X,ORB.Size.X/5,ORB.Size.X), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1708
		end
1709
		ORB.Size = ORB.Size + VT(0.2,0.2,0.2)
1710
		ORB.CFrame = CF(RootPart.Position+VT(0,8+(ORB.Size.Y/2),0))
1711
	end
1712
	for i = 1, 400 do
1713
		Swait()
1714
		LOOP = LOOP + 1
1715
		if LOOP >= 30 then
1716
			LOOP = 0
1717
			WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(5,0,5), Size2 = VT(ORB.Size.X,ORB.Size.X/5,ORB.Size.X), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1718
		end
1719
		ORB.Size = ORB.Size + VT(0.2,0.2,0.2)
1720
		ORB.CFrame = CF(RootPart.Position+VT(0,8+(ORB.Size.Y/2),0))
1721
	end
1722
	wait(0.5)
1723
	CreateSound(FIREBALLSOUND,Effects,4,1,false)
1724
		ORB.CFrame = CF(ORB.Position,Mouse.Hit.p)
1725
		for i = 1, 1200 do
1726
			Swait()
1727
			ORB.CFrame = ORB.CFrame*CF(0,0,-1)
1728
			local HIT,HITPOS = Raycast(ORB.Position, ORB.CFrame.lookVector, ORB.Size.X/2.5, Character)
1729
			if HIT then
1730
				break
1731
			end
1732
		end
1733
        WACKYEFFECT({Time = 125, EffectType = "Sphere", Size = VT(55,55,55), Size2 = VT(66,66,66), Transparency = 0, Transparency2 = 1, CFrame = Gun1.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = 0.6, SoundVolume = 6})
1734
        Swait(1)
1735
        WACKYEFFECT({Time = 125, EffectType = "Sphere", Size = VT(88,88,88), Size2 = VT(100,100,100), Transparency = 0, Transparency2 = 1, CFrame = Gun1.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = 0.6, SoundVolume = 6})
1736
        WACKYEFFECT({Time = 150, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(0.3,0,0.3), Transparency = 0, Transparency2 = 1, CFrame = Gun1.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1737
        CamShake(5,15)
1738
	Swait()
1739
        WACKYEFFECT({Time = 125, EffectType = "Sphere", Size = VT(30,30,30), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = Gun1.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 238353911, SoundPitch = 0.6, SoundVolume = 6})
1740
        WACKYEFFECT({Time = 40, EffectType = "Round Slash", Size = VT(0.3,0,0.3), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = Gun1.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1741
        Wait(5)
1742
        local BALL = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Lazer", VT(0,0,0))
1743
        local LOOP = CreateSound("289315275", Gun1, 5, 1.2, false)
1744
        local MSH = IT("CylinderMesh",BALL)
1745
         local TOCH = BALL.Touched:Connect(function(hit)
1746
         if hit.Anchored == false and hit.Parent ~= Head and hit.Parent ~= Character and hit.Parent ~= Effects then
1747
            if hit.Parent:FindFirstChildOfClass("Humanoid") then
1748
                Banish(hit.Parent)
1749
            end
1750
         end
1751
         end)
1752
         if hit ~= nil then
1753
            if hit.Parent ~= workspace and hit.Parent.ClassName ~= "Folder" then
1754
                Banish(hit.Parent)
1755
            end
1756
        end
1757
         for i = 1, 3 do
1758
                        BALL.CFrame = CF(Gun1.Position)
1759
                        BALL.Size = VT(80,80,80)
1760
                        CamShake(5,25)
1761
			ApplyAoE(ORB.Position,ORB.Size.X*10,75,90,375,true)
1762
			CreateSound(EXPLOSIONLARGESOUND,Effects,2,1,false)
1763
			CreateSound(EXPLOSIONSMALLSOUND,Effects,4,1,false)
1764
			for i = 1, 3 do
1765
				WACKYEFFECT({Time = 360, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(20,20,20)*MRANDOM(5,20), Transparency = 0.6, Transparency2 = 1, CFrame = CF(Gun1.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = EXPLOSIONMEDIUMSOUND, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1766
			end
1767
			for i = 1, 3 do
1768
				WACKYEFFECT({Time = 320, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(20,20,20)*MRANDOM(5,20), Transparency = 0.6, Transparency2 = 1, CFrame = CF(Gun1.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Red".Color, SoundID = EXPLOSIONMEDIUMSOUND, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1769
			end
1770
			for i = 1, 15 do
1771
				WACKYEFFECT({Time = 320+(i*5), EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(25,25,25)*MRANDOM(5,20), Transparency = 0.8, Transparency2 = 1, CFrame = CF(Gun1.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-15,15)/15, RotationY = MRANDOM(-15,15)/15, RotationZ = MRANDOM(-15,15)/15, Material = "Neon", Color = BRICKC"Crimson".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1772
			end
1773
			Swait()
1774
                for i = 0, 2, 0.1 / Animation_Speed do
1775
		Swait()
1776
		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)
1777
		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)
1778
		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)
1779
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
1780
		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)
1781
		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)
1782
                end
1783
                ATTACK = false
1784
	        Rooted = false
1785
                BEAM:remove()
1786
                BALL:remove()
1787
                SpectralBanishing1()
1788
                end
1789
         end   
1790
1791
1792
1793
1794
1795
function Intro()
1796
    coroutine.resume(coroutine.create(function()
1797
        ATTACK = true
1798
        Rooted = true
1799
        for i = 0, 3, 0.1 / Animation_Speed do
1800
            Swait()
1801
            RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1802
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1803
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1804
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1805
            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)
1806
            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)
1807-
        if Key == "1" and ATTACK == false then
1807+
1808
        CreateSound("649634100", Head, 10, 0.5)
1809
        for i = 0, 1, 0.1 / Animation_Speed do
1810
            Swait()
1811
            RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.5 / Animation_Speed)
1812
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1813
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, -0.3) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1814
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1815
            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)
1816
            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)
1817
        end
1818
        local HITFLOOR = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 4 * Player_Size, Character)
1819
        repeat
1820
            Swait()
1821
            HITFLOOR = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 4 * Player_Size, Character)
1822
        until HITFLOOR ~= nil
1823
        for i = 0, 0.5, 0.1 / Animation_Speed do
1824
            Swait()
1825
            RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(-5), RAD(0)), 0.5 / Animation_Speed)
1826
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1827
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0, -0.3) * ANGLES(RAD(0), RAD(0), RAD(8)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1828
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1829
            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)
1830
            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)
1831
        end
1832
        CreateSound("289842971", RightArm, 10, 1)
1833
        Debree(CF(RightArm.Position) * CF(0, -0.75, 0).p, 200)
1834
        Swait(45)
1835
        Swait(5)
1836
        for i = 0, 1, 0.1 / Animation_Speed do
1837
            Swait()
1838
            RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.5 / Animation_Speed)
1839
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1840
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1.25, -0.3) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1841
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1842
            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)
1843
            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)
1844
        end
1845
        VALUE1 = true
1846
        Swait(10)
1847
        ATTACK = false
1848
        Rooted = false
1849
    end))
1850
end
1851
1852
1853
1854
1855
--//=================================\\
1856
--||	  ASSIGN THINGS TO KEYS
1857
--\\=================================//
1858
1859
function MouseDown(Mouse)
1860
	if ATTACK == false then
1861
	end
1862
end
1863
1864
function MouseUp(Mouse)
1865
HOLD = false
1866
end
1867
1868
function KeyDown(Key)
1869
	KEYHOLD = true
1870
	if Key == "z" and ATTACK == false then
1871
		Banisher_Bullet()
1872
	end
1873
1874
	if Key == "b" and ATTACK == false then
1875
                SpectralBanishing()
1876
	end
1877
1878
	if Key == "c" and ATTACK == false then
1879
                Teleport()
1880
	end
1881
1882
	if Key == "v" and ATTACK == false then
1883
	end
1884
1885
	if Key == "x" and ATTACK == false then
1886
                BanishLaser()
1887
	end
1888
       
1889
        if Key == "n" and ATTACK == false then
1890
		               chatfunc(UnBanishTaunts[MRANDOM(1,#UnBanishTaunts)])
1891
			       TOBANISH = {}
1892
	end
1893
end
1894
1895
function KeyUp(Key)
1896
	KEYHOLD = false
1897
end
1898
1899
	Mouse.Button1Down:connect(function(NEWKEY)
1900
		MouseDown(NEWKEY)
1901
	end)
1902
	Mouse.Button1Up:connect(function(NEWKEY)
1903
		MouseUp(NEWKEY)
1904
	end)
1905
	Mouse.KeyDown:connect(function(NEWKEY)
1906
		KeyDown(NEWKEY)
1907
	end)
1908
	Mouse.KeyUp:connect(function(NEWKEY)
1909
		KeyUp(NEWKEY)
1910
	end)
1911
1912
--//=================================\\
1913
--\\=================================//
1914
1915
1916
function unanchor()
1917
	if UNANCHOR == true then
1918
		g = Character:GetChildren()
1919
		for i = 1, #g do
1920
			if g[i].ClassName == "Part" then
1921
				g[i].Anchored = false
1922
			end
1923
		end
1924
	end
1925
end
1926
1927
1928
--//=================================\\
1929
--||	WRAP THE WHOLE SCRIPT UP
1930
--\\=================================//
1931
1932
Humanoid.Changed:connect(function(Jump)
1933
	if Jump == "Jump" and (Disable_Jump == true) then
1934
		Humanoid.Jump = false
1935
	end
1936
end)
1937
1938
local CONNECT = nil
1939
1940
while true do
1941
	Swait()
1942
	ANIMATE.Parent = nil
1943
	if Character:FindFirstChildOfClass("Humanoid") == nil then
1944
		Humanoid = IT("Humanoid",Character)
1945
	end
1946
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1947
	    v:Stop();
1948
	end
1949
	SINE = SINE + CHANGE
1950
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1951
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1952
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1953
	local HITFLOOR = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 4 * Player_Size, Character)
1954
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1955
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1956
		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)
1957
		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)
1958
		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)
1959
		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)
1960
	elseif ANIM ~= "Walk" or TORSOVELOCITY < 1 then
1961
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1962
		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)
1963
		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)
1964
		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)
1965
	end
1966
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1967
		ANIM = "Jump"
1968
		if ATTACK == false then
1969
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1970
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1971
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1972
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1973
			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)
1974
			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)
1975
		end
1976
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1977
		ANIM = "Fall"
1978
		if ATTACK == false then
1979
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1980
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1981
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(55), RAD(0), RAD(55)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1982
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1983
			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)
1984
			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)
1985
		end
1986
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1987
		ANIM = "Idle"
1988
		if ATTACK == false then
1989
			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)
1990
			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)
1991
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1992
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1993
			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)
1994
			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)
1995
		end
1996
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1997
		ANIM = "Walk"
1998
		WALK = WALK + 1 / Animation_Speed
1999
		if WALK >= 15 - 5 * (Humanoid.WalkSpeed / 16 / Player_Size) then
2000
			WALK = 0
2001
			if WALKINGANIM == true then
2002
				WALKINGANIM = false
2003
			elseif WALKINGANIM == false then
2004
				WALKINGANIM = true
2005
			end
2006
		end
2007
		if ATTACK == false then
2008
			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)
2009
			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)
2010
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2011
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2012
			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)
2013
			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)
2014
		end
2015
	end
2016
	unanchor()
2017
        refit()
2018
	Humanoid.MaxHealth = "inf"
2019
	Humanoid.Health = "inf"
2020
	if Rooted == false then
2021
		Disable_Jump = false
2022
		Humanoid.WalkSpeed = Speed
2023
	elseif Rooted == true then
2024
		Disable_Jump = true
2025
		Humanoid.WalkSpeed = 0
2026
	end
2027
        if MRANDOM(1,25) == 1 then
2028
                        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-25,25)), RAD(MRANDOM(-25,25)), RAD(MRANDOM(-25,25))), 1)
2029
        end
2030
        if FADERS == true then
2031
		if MRANDOM(1,7) == 1 then
2032
			CharacterFade(C3(1,0,0),65,R_RANDOM(Torso.CFrame,0.5).p)
2033
		end
2034
	end
2035
        sick.Parent = Torso
2036
	sick:resume()
2037
	sick.Volume = 1.25
2038
	sick.Pitch = 1.01
2039
	sick.SoundId = "rbxassetid://1140442110"
2040
	sick.Name = "BanishV5Music"
2041
        if VALUE1 == true then
2042
    elseif VALUE1 == false then
2043
        if ATTACK == false then
2044
            Intro()
2045
        end
2046
    end
2047
end
2048
2049
--//=================================\\
2050
--\\=================================//
2051
2052
2053
2054
2055
2056
--//====================================================\\--
2057
--||			  		 END OF SCRIPT
2058
--\\====================================================//--