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