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