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