View difference between Paste ID: ZXwu3LMQ and gyggXfQN
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end
2
InternalData = {}
3
do
4
    script.Parent = owner.Character
5
    local Event = Instance.new("RemoteEvent")
6
    Event.Name = "UserInput"
7
    local function NewFakeEvent()
8
        local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect
9
        return Fake
10
    end
11
    local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
12
    local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
13
    local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
14
        self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
15
    end};ContextActionService.UnBindAction = ContextActionService.BindAction
16
    local function TriggerEvent(self,Event,...)
17
        local Trigger = Mouse[Event]
18
        if Trigger and Trigger.fakeEvent and Trigger.Function then
19
            Trigger.Function(...)
20
        end
21
    end
22
    Mouse.TrigEvent = TriggerEvent
23
    UserInputService.TrigEvent = TriggerEvent
24
    Event.OnServerEvent:Connect(function(FiredBy,Input)
25
        if FiredBy.Name ~= owner.Name then end
26
        if Input.MouseEvent then
27
            Mouse.Target = Input.Target
28
            Mouse.Hit = Input.Hit
29
        else
30
            local Begin = Input.UserInputState == Enum.UserInputState.Begin
31
            if Input.UserInputType == Enum.UserInputType.MouseButton1 then
32
                return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up")
33
            end
34
            for _,Action in pairs(ContextActionService.Actions) do
35
                for _,Key in pairs(Action.Keys) do
36
                    if Key==Input.KeyCode then
37
                        Action.Function(Action.Name,Input.UserInputState,Input)
38
                    end
39
                end
40
            end
41
            Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
42
            UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
43
        end
44
    end)
45
    InternalData["Mouse"] = Mouse
46
    InternalData["ContextActionService"] = ContextActionService
47
    InternalData["UserInputService"] = UserInputService
48
    Event.Parent = NLS([[
49
        local Player = owner
50
        local Event = script:WaitForChild("UserInput")
51
        local UserInputService = game:GetService("UserInputService")
52
        local Mouse = Player:GetMouse()
53
        local Input = function(Input,gameProcessedEvent)
54
            if gameProcessedEvent then return end
55
            Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
56
        end
57
        UserInputService.InputBegan:Connect(Input)
58
        UserInputService.InputEnded:Connect(Input)
59
        for i,v in pairs(owner.Character:GetDescendants()) do
60
            if v:IsA('Part') and v.Name ~= 'Head' and v.Name ~= 'Torso' and (v.Name ~= 'Handle' and not v.Parent:IsA('Accessory')) then
61
               v.LocalTransparencyModifier = 0
62
               v.Changed:Connect(function()
63
                 v.LocalTransparencyModifier = 0
64
               end)
65
            end
66
        end
67
        local Hit,Target
68
        while wait(1/30) do
69
            if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
70
                Hit,Target = Mouse.Hit,Mouse.Target
71
                Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
72
            end
73
        end
74
        Character.Humanoid.Name = 'MeeMtimeboi'
75
    ]],owner.Character)
76
end
77
RealGame = game;game = setmetatable({},{
78
    __index = function (self,Index)
79
        local Sandbox = function (Thing)
80
            if Thing:IsA("Player") then
81
                local RealPlayer = Thing
82
                return setmetatable({},{
83
                    __index = function (self,Index)
84
                        local Type = type(RealPlayer[Index])
85
                        if Type == "function" then
86
                            if Index:lower() == "getmouse" or Index:lower() == "mouse" then
87
                                return function (self)
88
                                    return InternalData["Mouse"]
89
                                end
90
                            end
91
                            return function (self,...)
92
                                return RealPlayer[Index](RealPlayer,...)
93
                            end
94
                        else
95
                            if Index == "PlrObj" then
96
                                return RealPlayer
97
                            end
98
                            return RealPlayer[Index]
99
                        end
100
                    end;
101
                    __tostring = function(self)
102
                        return RealPlayer.Name
103
                    end
104
                })
105
            end
106
        end
107
        if RealGame[Index] then
108
            local Type = type(RealGame[Index])
109
            if Type == "function" then
110
                if Index:lower() == "getservice" or Index:lower() == "service" then
111
                    return function (self,Service)
112
                        if Service:lower() == "players" then
113
                            return setmetatable({},{
114
                                __index = function (self2,Index2)
115
                                    local RealService = RealGame:GetService(Service)
116
                                    local Type2 = type(Index2)
117
                                    if Type2 == "function" then
118
                                        return function (self,...)
119
                                            return RealService[Index2](RealService,...)
120
                                        end
121
                                    else
122
                                        if Index2:lower() == "localplayer" then
123
                                            return Sandbox(owner)
124
                                        end
125
                                        return RealService[Index2]
126
                                    end
127
                                end;
128
                                __tostring = function(self)
129
                                    return RealGame:GetService(Service).Name
130
                                end
131
                            })
132
                        elseif Service:lower() == "contextactionservice" then
133
                            return InternalData["ContextActionService"]
134
                        elseif Service:lower() == "contextactionservice" then
135
                            return InternalData["UserInputService"]
136
                        elseif Service:lower() == "runservice" then
137
                            return setmetatable({},{
138
                                __index = function(self2,Index2)
139
                                    local RealService = RealGame:GetService(Service)
140
                                    local Type2 = type(Index2)
141
                                    if Type2 == "function" then
142
                                        return function (self,...)
143
                                            return RealService[Index2](RealService,...)
144
                                        end
145
                                    else
146
                                        if Index2:lower() == "bindtorenderstep" then
147
                                            return function (self,Name,Priority,Function)
148
                                                return RealGame:GetService("RunService").Stepped:Connect(Function)
149
                                            end
150
                                        end
151
                                        if Index2:lower() == "renderstepped" then
152
                                            return RealService["Stepped"]
153
                                        end
154
                                        return RealService[Index2]
155
                                    end
156
                                end
157
                            })
158
                        else
159
                            return RealGame:GetService(Service)
160
                        end
161
                    end
162
                end
163
                return function (self,...)
164
                    return RealGame[Index](RealGame,...)
165
                end
166
            else
167
                if game:GetService(Index) then
168
                    return game:GetService(Index)
169
                end
170
                return RealGame[Index]
171
            end
172
        else
173
            return nil
174
        end
175
    end
176
});Game = game;owner = game:GetService("Players").LocalPlayer;script = {}
177
178
script.Name = "Banisher Gun V3 / 1"
179
--//====================================================\\--
180
--||			   CREATED BY SHACKLUSTER
181
--\\====================================================//--
182
183-
script:ClearAllChildren()
183+
184
185
Player = game:GetService("Players").LocalPlayer
186
PlayerGui = Player.PlayerGui
187
Cam = workspace.CurrentCamera
188
Backpack = Player.Backpack
189
Character = Player.Character
190
Humanoid = Character.Humanoid
191
Mouse = Player:GetMouse()
192
RootPart = Character["HumanoidRootPart"]
193
Torso = Character["Torso"]
194
Head = Character["Head"]
195
RightArm = Character["Right Arm"]
196
LeftArm = Character["Left Arm"]
197
RightLeg = Character["Right Leg"]
198
LeftLeg = Character["Left Leg"]
199
RootJoint = RootPart["RootJoint"]
200
Neck = Torso["Neck"]
201
RightShoulder = Torso["Right Shoulder"]
202
LeftShoulder = Torso["Left Shoulder"]
203
RightHip = Torso["Right Hip"]
204
LeftHip = Torso["Left Hip"]
205
local TIME = 0
206
local sick = Instance.new("Sound",Torso)
207
208
IT = Instance.new
209
CF = CFrame.new
210
VT = Vector3.new
211
RAD = math.rad
212
C3 = Color3.new
213
UD2 = UDim2.new
214
BRICKC = BrickColor.new
215
ANGLES = CFrame.Angles
216
EULER = CFrame.fromEulerAnglesXYZ
217
COS = math.cos
218
ACOS = math.acos
219
SIN = math.sin
220
ASIN = math.asin
221
ABS = math.abs
222
MRANDOM = math.random
223
FLOOR = math.floor
224
225
--//=================================\\
226
--|| 	      USEFUL VALUES
227
--\\=================================//
228
local SKILLTEXTCOLOR = C3(1,1,1)
229
230
local naeeym2 = Instance.new("BillboardGui",Character)
231
naeeym2.AlwaysOnTop = true
232
naeeym2.Size = UDim2.new(5,35,2,35)
233
naeeym2.StudsOffset = Vector3.new(0,2,0)
234
naeeym2.Adornee = Character.Head
235
naeeym2.Name = "Name"
236
local tecks2 = Instance.new("TextLabel",naeeym2)
237
tecks2.BackgroundTransparency = 1
238
tecks2.TextScaled = true
239
tecks2.BorderSizePixel = 0
240
tecks2.Text = "Guardian of light"
241
tecks2.Font = "Antique"
242
tecks2.TextSize = 60
243
tecks2.TextStrokeTransparency = 0
244
tecks2.TextColor3 = Color3.new(0,0,0)
245
tecks2.TextStrokeColor3 = Color3.new(0.2,0.2,0.2)
246
tecks2.Size = UDim2.new(1,0,0.5,0)
247
tecks2.Parent = naeeym2
248
249
Animation_Speed = 3
250
local FORCERESET = false
251
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
252
local Speed = 16
253
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
254
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
255
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
256
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
257
local DAMAGEMULTIPLIER = 1
258
local ANIM = "Idle"
259
local ATTACK = false
260
local EQUIPPED = false
261
local HOLD = false
262
local COMBO = 1
263
local Rooted = false
264
local SINE = 0
265
local KEYHOLD = false
266
local CHANGE = 2 / Animation_Speed
267
local WALKINGANIM = false
268
local VALUE1 = false
269
local VALUE2 = false
270
local ROBLOXIDLEANIMATION = IT("Animation")
271
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
272
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
273
--ROBLOXIDLEANIMATION.Parent = Humanoid
274
local WEAPONGUI = IT("ScreenGui", PlayerGui)
275
WEAPONGUI.Name = "BanishV3Gui"
276
local Weapon = IT("Model")
277
Weapon.Name = "Adds"
278
local Effects = IT("Folder", Weapon)
279
Effects.Name = "Effects"
280
local ANIMATOR = Humanoid.Animator
281
local ANIMATE = Character:FindFirstChild("Animate")
282
local UNANCHOR = true
283
local TOBANISH = {}
284
script.Parent = PlayerGui
285
286
--//=================================\\
287
--\\=================================//
288
289
290
--//=================================\\
291
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
292
--\\=================================//
293
294
ArtificialHB = Instance.new("BindableEvent", script)
295
ArtificialHB.Name = "ArtificialHB"
296
297
script:WaitForChild("ArtificialHB")
298
299
frame = Frame_Speed
300
tf = 0
301
allowframeloss = false
302
tossremainder = false
303
lastframe = tick()
304
script.ArtificialHB:Fire()
305
306
game:GetService("RunService").Heartbeat:connect(function(s, p)
307
	tf = tf + s
308
	if tf >= frame then
309
		if allowframeloss then
310
			script.ArtificialHB:Fire()
311
			lastframe = tick()
312
		else
313
			for i = 1, math.floor(tf / frame) do
314
				script.ArtificialHB:Fire()
315
			end
316
		lastframe = tick()
317
		end
318
		if tossremainder then
319
			tf = 0
320
		else
321
			tf = tf - frame * math.floor(tf / frame)
322
		end
323
	end
324
end)
325
326
--//=================================\\
327
--\\=================================//
328
329
--//=================================\\
330
--|| 	      SOME FUNCTIONS
331
--\\=================================//
332
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
333
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
334
end
335
336
function PositiveAngle(NUMBER)
337
	if NUMBER >= 0 then
338
		NUMBER = 0
339
	end
340
	return NUMBER
341
end
342
343
function NegativeAngle(NUMBER)
344
	if NUMBER <= 0 then
345
		NUMBER = 0
346
	end
347
	return NUMBER
348
end
349
350
function Swait(NUMBER)
351
	if NUMBER == 0 or NUMBER == nil then
352
		ArtificialHB.Event:wait()
353
	else
354
		for i = 1, NUMBER do
355
			ArtificialHB.Event:wait()
356
		end
357
	end
358
end
359
360
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
361
	local NEWMESH = IT(MESH)
362
	if MESH == "SpecialMesh" then
363
		NEWMESH.MeshType = MESHTYPE
364
		if MESHID ~= "nil" and MESHID ~= "" then
365
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
366
		end
367
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
368
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
369
		end
370
	end
371
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
372
	NEWMESH.Scale = SCALE
373
	NEWMESH.Parent = PARENT
374
	return NEWMESH
375
end
376
377
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
378
	local NEWPART = IT("Part")
379
	NEWPART.formFactor = FORMFACTOR
380
	NEWPART.Reflectance = REFLECTANCE
381
	NEWPART.Transparency = TRANSPARENCY
382
	NEWPART.CanCollide = false
383
	NEWPART.Locked = true
384
	NEWPART.Anchored = true
385
	if ANCHOR == false then
386
		NEWPART.Anchored = false
387
	end
388
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
389
	NEWPART.Name = NAME
390
	NEWPART.Size = SIZE
391
	NEWPART.Position = Torso.Position
392
	NEWPART.Material = MATERIAL
393
	NEWPART:BreakJoints()
394
	NEWPART.Parent = PARENT
395
	return NEWPART
396
end
397
398
	local function weldBetween(a, b)
399
	    local weldd = Instance.new("ManualWeld")
400
	    weldd.Part0 = a
401
	    weldd.Part1 = b
402
	    weldd.C0 = CFrame.new()
403
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
404
	    weldd.Parent = a
405
	    return weldd
406
	end
407
408
409
function QuaternionFromCFrame(cf)
410
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
411
	local trace = m00 + m11 + m22
412
	if trace > 0 then 
413
		local s = math.sqrt(1 + trace)
414
		local recip = 0.5 / s
415
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
416
	else
417
		local i = 0
418
		if m11 > m00 then
419
			i = 1
420
		end
421
		if m22 > (i == 0 and m00 or m11) then
422
			i = 2
423
		end
424
		if i == 0 then
425
			local s = math.sqrt(m00 - m11 - m22 + 1)
426
			local recip = 0.5 / s
427
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
428
		elseif i == 1 then
429
			local s = math.sqrt(m11 - m22 - m00 + 1)
430
			local recip = 0.5 / s
431
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
432
		elseif i == 2 then
433
			local s = math.sqrt(m22 - m00 - m11 + 1)
434
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
435
		end
436
	end
437
end
438
 
439
function QuaternionToCFrame(px, py, pz, x, y, z, w)
440
	local xs, ys, zs = x + x, y + y, z + z
441
	local wx, wy, wz = w * xs, w * ys, w * zs
442
	local xx = x * xs
443
	local xy = x * ys
444
	local xz = x * zs
445
	local yy = y * ys
446
	local yz = y * zs
447
	local zz = z * zs
448
	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))
449
end
450
 
451
function QuaternionSlerp(a, b, t)
452
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
453
	local startInterp, finishInterp;
454
	if cosTheta >= 0.0001 then
455
		if (1 - cosTheta) > 0.0001 then
456
			local theta = ACOS(cosTheta)
457
			local invSinTheta = 1 / SIN(theta)
458
			startInterp = SIN((1 - t) * theta) * invSinTheta
459
			finishInterp = SIN(t * theta) * invSinTheta
460
		else
461
			startInterp = 1 - t
462
			finishInterp = t
463
		end
464
	else
465
		if (1 + cosTheta) > 0.0001 then
466
			local theta = ACOS(-cosTheta)
467
			local invSinTheta = 1 / SIN(theta)
468
			startInterp = SIN((t - 1) * theta) * invSinTheta
469
			finishInterp = SIN(t * theta) * invSinTheta
470
		else
471
			startInterp = t - 1
472
			finishInterp = t
473
		end
474
	end
475
	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
476
end
477
478
function Clerp(a, b, t)
479
	local qa = {QuaternionFromCFrame(a)}
480
	local qb = {QuaternionFromCFrame(b)}
481
	local ax, ay, az = a.x, a.y, a.z
482
	local bx, by, bz = b.x, b.y, b.z
483
	local _t = 1 - t
484
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
485
end
486
487
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
488
	local frame = IT("Frame")
489
	frame.BackgroundTransparency = TRANSPARENCY
490
	frame.BorderSizePixel = BORDERSIZEPIXEL
491
	frame.Position = POSITION
492
	frame.Size = SIZE
493
	frame.BackgroundColor3 = COLOR
494
	frame.BorderColor3 = BORDERCOLOR
495
	frame.Name = NAME
496
	frame.Parent = PARENT
497
	return frame
498
end
499
500
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
501
	local label = IT("TextLabel")
502
	label.BackgroundTransparency = 1
503
	label.Size = UD2(1, 0, 1, 0)
504
	label.Position = UD2(0, 0, 0, 0)
505
	label.TextColor3 = TEXTCOLOR
506
	label.TextStrokeTransparency = STROKETRANSPARENCY
507
	label.TextTransparency = TRANSPARENCY
508
	label.FontSize = TEXTFONTSIZE
509
	label.Font = TEXTFONT
510
	label.BorderSizePixel = BORDERSIZEPIXEL
511
	label.TextScaled = false
512
	label.Text = TEXT
513
	label.Name = NAME
514
	label.Parent = PARENT
515
	return label
516
end
517
518
function NoOutlines(PART)
519
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
520
end
521
522
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
523
	local NEWWELD = IT(TYPE)
524
	NEWWELD.Part0 = PART0
525
	NEWWELD.Part1 = PART1
526
	NEWWELD.C0 = C0
527
	NEWWELD.C1 = C1
528
	NEWWELD.Parent = PARENT
529
	return NEWWELD
530
end
531
532
local S = IT("Sound")
533
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
534
	local NEWSOUND = nil
535
	coroutine.resume(coroutine.create(function()
536
		NEWSOUND = S:Clone()
537
		NEWSOUND.Parent = PARENT
538
		NEWSOUND.Volume = VOLUME
539
		NEWSOUND.Pitch = PITCH
540
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
541
		NEWSOUND:play()
542
		if DOESLOOP == true then
543
			NEWSOUND.Looped = true
544
		else
545
			repeat wait(1) until NEWSOUND.Playing == false
546
			NEWSOUND:remove()
547
		end
548
	end))
549
	return NEWSOUND
550
end
551
552
function CFrameFromTopBack(at, top, back)
553
	local right = top:Cross(back)
554
	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)
555
end
556
557
--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})
558
function WACKYEFFECT(Table)
559
	local TYPE = (Table.EffectType or "Sphere")
560
	local SIZE = (Table.Size or VT(1,1,1))
561
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
562
	local TRANSPARENCY = (Table.Transparency or 0)
563
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
564
	local CFRAME = (Table.CFrame or Torso.CFrame)
565
	local MOVEDIRECTION = (Table.MoveToPos or nil)
566
	local ROTATION1 = (Table.RotationX or 0)
567
	local ROTATION2 = (Table.RotationY or 0)
568
	local ROTATION3 = (Table.RotationZ or 0)
569
	local MATERIAL = (Table.Material or "Neon")
570
	local COLOR = (Table.Color or C3(1,1,1))
571
	local TIME = (Table.Time or 45)
572
	local SOUNDID = (Table.SoundID or nil)
573
	local SOUNDPITCH = (Table.SoundPitch or nil)
574
	local SOUNDVOLUME = (Table.SoundVolume or nil)
575
	coroutine.resume(coroutine.create(function()
576
		local PLAYSSOUND = false
577
		local SOUND = nil
578
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
579
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
580
			PLAYSSOUND = true
581
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
582
		end
583
		EFFECT.Color = COLOR
584
		local MSH = nil
585
		if TYPE == "Sphere" then
586
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
587
		elseif TYPE == "Block" then
588
			MSH = IT("BlockMesh",EFFECT)
589
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
590
		elseif TYPE == "Wave" then
591
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
592
		elseif TYPE == "Ring" then
593
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
594
		elseif TYPE == "Slash" then
595
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
596
		elseif TYPE == "Round Slash" then
597
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
598
		elseif TYPE == "Swirl" then
599
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
600
		elseif TYPE == "Skull" then
601
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
602
		elseif TYPE == "Crystal" then
603
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
604
		end
605
		if MSH ~= nil then
606
			local MOVESPEED = nil
607
			if MOVEDIRECTION ~= nil then
608
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
609
			end
610
			local GROWTH = SIZE - ENDSIZE
611
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
612
			if TYPE == "Block" then
613
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
614
			else
615
				EFFECT.CFrame = CFRAME
616
			end
617
			for LOOP = 1, TIME+1 do
618
				Swait()
619
				MSH.Scale = MSH.Scale - GROWTH/TIME
620
				if TYPE == "Wave" then
621
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
622
				end
623
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
624
				if TYPE == "Block" then
625
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
626
				else
627
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
628
				end
629
				if MOVEDIRECTION ~= nil then
630
					local ORI = EFFECT.Orientation
631
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
632
					EFFECT.Orientation = ORI
633
				end
634
			end
635
			if PLAYSSOUND == false then
636
				EFFECT:remove()
637
			else
638
				repeat Swait() until SOUND.Playing == false
639
				EFFECT:remove()
640
			end
641
		else
642
			if PLAYSSOUND == false then
643
				EFFECT:remove()
644
			else
645
				repeat Swait() until SOUND.Playing == false
646
				EFFECT:remove()
647
			end
648
		end
649
	end))
650
end
651
652
function MakeForm(PART,TYPE)
653
	if TYPE == "Cyl" then
654
		local MSH = IT("CylinderMesh",PART)
655
	elseif TYPE == "Ball" then
656
		local MSH = IT("SpecialMesh",PART)
657
		MSH.MeshType = "Sphere"
658
	elseif TYPE == "Wedge" then
659
		local MSH = IT("SpecialMesh",PART)
660
		MSH.MeshType = "Wedge"
661
	end
662
end
663
664
Debris = game:GetService("Debris")
665
666
function CastProperRay(StartPos, EndPos, Distance, Ignore)
667
	local DIRECTION = CF(StartPos,EndPos).lookVector
668
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
669
end
670
671
function CharacterFade(COLOR,TIMER)
672
	coroutine.resume(coroutine.create(function()
673
		local FADE = IT("Model",Effects)
674
		for _, c in pairs(Character:GetChildren()) do
675
			if c.ClassName == "Part" and c ~= RootPart then
676
				local FADER = c:Clone()
677
				FADER.Color = COLOR
678
				FADER.CFrame = c.CFrame
679
				FADER.Parent = FADE
680
				FADER.Anchored = true
681
				FADER.Transparency = 0.25
682
				FADER:BreakJoints()
683
				FADER.Material = "Glass"
684
				FADER:ClearAllChildren()
685
				if FADER.Name == "Head" then
686
					FADER.Size = VT(1,1,1)
687
				end
688
			end
689
		end
690
		local TRANS = 0.75/TIMER
691
		for i = 1, TIMER do
692
			Swait()
693
			for _, c in pairs(FADE:GetChildren()) do
694
				if c.ClassName == "Part" then
695
					c.Transparency = c.Transparency + TRANS
696
				end
697
			end
698
		end
699
		FADE:remove()
700
	end))
701
end
702
703
local PE=Instance.new("ParticleEmitter")
704
PE.LightEmission=0.3
705
PE.Size=NumberSequence.new(0)
706
PE.Transparency=NumberSequence.new(0,1)
707
PE.Rotation=NumberRange.new(0,360)
708
PE.LockedToPart = false
709
PE.Speed = NumberRange.new(0,0,0)
710
PE.ZOffset = 0.3
711
PE.Rate = 999
712
PE.VelocitySpread = 25
713
PE.Name = "Particles"
714
715
function CreateParticles(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
716
    local particle = nil
717
    coroutine.resume(coroutine.create(function(PART)
718
        particle = PE:Clone()
719
        Swait()
720
        particle.Rate = 999
721
        particle.Parent = art
722
        particle.Acceleration = accel
723
        if type == "Fire" then
724
            local EyeSizes={
725
                NumberSequenceKeypoint.new(0,size,size/2),
726
                NumberSequenceKeypoint.new(1,size/4,size/8)
727
            }
728
            particle.Size = NumberSequence.new(EyeSizes)
729
        elseif type == "Smoke" then
730
            local EyeSizes={
731
                NumberSequenceKeypoint.new(0,size/5,0),
732
                NumberSequenceKeypoint.new(1,size*2,0.5)
733
            }
734
            particle.Size = NumberSequence.new(EyeSizes)
735
        elseif type == "Solid" then
736
            local EyeSizes={
737
                NumberSequenceKeypoint.new(0,size,0),
738
                NumberSequenceKeypoint.new(1,size,0)
739
            }
740
            particle.Size = NumberSequence.new(EyeSizes)
741
        end
742
        particle.Lifetime=NumberRange.new(lifetime)
743
        particle.Drag = drag
744
        if locked == true then
745
            particle.LockedToPart = true
746
        end
747
        particle.Speed = NumberRange.new(speed*0.8,speed)
748
        particle.Texture = "http://www.roblox.com/asset/?id=1179557490"
749
        particle.Enabled = isenabledbydefault
750
        particle.Color = ColorSequence.new(Color3.new(255/255, 176/255, 0))
751
    end))
752
return particle
753
end
754
755
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
756
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
757
end
758
759
function PositiveAngle(NUMBER)
760
	if NUMBER >= 0 then
761
		NUMBER = 0
762
	end
763
	return NUMBER
764
end
765
766
function NegativeAngle(NUMBER)
767
	if NUMBER <= 0 then
768
		NUMBER = 0
769
	end
770
	return NUMBER
771
end
772
773
function Swait(NUMBER)
774
	if NUMBER == 0 or NUMBER == nil then
775
		ArtificialHB.Event:wait()
776
	else
777
		for i = 1, NUMBER do
778
			ArtificialHB.Event:wait()
779
		end
780
	end
781
end
782
783
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
784
	local NEWMESH = IT(MESH)
785
	if MESH == "SpecialMesh" then
786
		NEWMESH.MeshType = MESHTYPE
787
		if MESHID ~= "nil" and MESHID ~= "" then
788
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
789
		end
790
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
791
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
792
		end
793
	end
794
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
795
	NEWMESH.Scale = SCALE
796
	NEWMESH.Parent = PARENT
797
	return NEWMESH
798
end
799
800
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
801
	local NEWPART = IT("Part")
802
	NEWPART.formFactor = FORMFACTOR
803
	NEWPART.Reflectance = REFLECTANCE
804
	NEWPART.Transparency = TRANSPARENCY
805
	NEWPART.CanCollide = false
806
	NEWPART.Locked = true
807
	NEWPART.Anchored = true
808
	if ANCHOR == false then
809
		NEWPART.Anchored = false
810
	end
811
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
812
	NEWPART.Name = NAME
813
	NEWPART.Size = SIZE
814
	NEWPART.Position = Torso.Position
815
	NEWPART.Material = MATERIAL
816
	NEWPART:BreakJoints()
817
	NEWPART.Parent = PARENT
818
	return NEWPART
819
end
820
821
	local function weldBetween(a, b)
822
	    local weldd = Instance.new("ManualWeld")
823
	    weldd.Part0 = a
824
	    weldd.Part1 = b
825
	    weldd.C0 = CFrame.new()
826
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
827
	    weldd.Parent = a
828
	    return weldd
829
	end
830
831
832
function QuaternionFromCFrame(cf)
833
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
834
	local trace = m00 + m11 + m22
835
	if trace > 0 then 
836
		local s = math.sqrt(1 + trace)
837
		local recip = 0.5 / s
838
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
839
	else
840
		local i = 0
841
		if m11 > m00 then
842
			i = 1
843
		end
844
		if m22 > (i == 0 and m00 or m11) then
845
			i = 2
846
		end
847
		if i == 0 then
848
			local s = math.sqrt(m00 - m11 - m22 + 1)
849
			local recip = 0.5 / s
850
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
851
		elseif i == 1 then
852
			local s = math.sqrt(m11 - m22 - m00 + 1)
853
			local recip = 0.5 / s
854
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
855
		elseif i == 2 then
856
			local s = math.sqrt(m22 - m00 - m11 + 1)
857
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
858
		end
859
	end
860
end
861
 
862
function QuaternionToCFrame(px, py, pz, x, y, z, w)
863
	local xs, ys, zs = x + x, y + y, z + z
864
	local wx, wy, wz = w * xs, w * ys, w * zs
865
	local xx = x * xs
866
	local xy = x * ys
867
	local xz = x * zs
868
	local yy = y * ys
869
	local yz = y * zs
870
	local zz = z * zs
871
	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))
872
end
873
 
874
function QuaternionSlerp(a, b, t)
875
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
876
	local startInterp, finishInterp;
877
	if cosTheta >= 0.0001 then
878
		if (1 - cosTheta) > 0.0001 then
879
			local theta = ACOS(cosTheta)
880
			local invSinTheta = 1 / SIN(theta)
881
			startInterp = SIN((1 - t) * theta) * invSinTheta
882
			finishInterp = SIN(t * theta) * invSinTheta
883
		else
884
			startInterp = 1 - t
885
			finishInterp = t
886
		end
887
	else
888
		if (1 + cosTheta) > 0.0001 then
889
			local theta = ACOS(-cosTheta)
890
			local invSinTheta = 1 / SIN(theta)
891
			startInterp = SIN((t - 1) * theta) * invSinTheta
892
			finishInterp = SIN(t * theta) * invSinTheta
893
		else
894
			startInterp = t - 1
895
			finishInterp = t
896
		end
897
	end
898
	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
899
end
900
901
function Clerp(a, b, t)
902
	local qa = {QuaternionFromCFrame(a)}
903
	local qb = {QuaternionFromCFrame(b)}
904
	local ax, ay, az = a.x, a.y, a.z
905
	local bx, by, bz = b.x, b.y, b.z
906
	local _t = 1 - t
907
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
908
end
909
910
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
911
	local frame = IT("Frame")
912
	frame.BackgroundTransparency = TRANSPARENCY
913
	frame.BorderSizePixel = BORDERSIZEPIXEL
914
	frame.Position = POSITION
915
	frame.Size = SIZE
916
	frame.BackgroundColor3 = COLOR
917
	frame.BorderColor3 = BORDERCOLOR
918
	frame.Name = NAME
919
	frame.Parent = PARENT
920
	return frame
921
end
922
923
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
924
	local label = IT("TextLabel")
925
	label.BackgroundTransparency = 1
926
	label.Size = UD2(1, 0, 1, 0)
927
	label.Position = UD2(0, 0, 0, 0)
928
	label.TextColor3 = TEXTCOLOR
929
	label.TextStrokeTransparency = STROKETRANSPARENCY
930
	label.TextTransparency = TRANSPARENCY
931
	label.FontSize = TEXTFONTSIZE
932
	label.Font = TEXTFONT
933
	label.BorderSizePixel = BORDERSIZEPIXEL
934
	label.TextScaled = false
935
	label.Text = TEXT
936
	label.Name = NAME
937
	label.Parent = PARENT
938
	return label
939
end
940
941
function NoOutlines(PART)
942
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
943
end
944
945
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
946
	local NEWWELD = IT(TYPE)
947
	NEWWELD.Part0 = PART0
948
	NEWWELD.Part1 = PART1
949
	NEWWELD.C0 = C0
950
	NEWWELD.C1 = C1
951
	NEWWELD.Parent = PARENT
952
	return NEWWELD
953
end
954
955
local S = IT("Sound")
956
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
957
	local NEWSOUND = nil
958
	coroutine.resume(coroutine.create(function()
959
		NEWSOUND = S:Clone()
960
		NEWSOUND.Parent = PARENT
961
		NEWSOUND.Volume = VOLUME
962
		NEWSOUND.Pitch = PITCH
963
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
964
		NEWSOUND:play()
965
		if DOESLOOP == true then
966
			NEWSOUND.Looped = true
967
		else
968
			repeat wait(1) until NEWSOUND.Playing == false
969
			NEWSOUND:remove()
970
		end
971
	end))
972
	return NEWSOUND
973
end
974
975
976
local EyeSizes={
977
	NumberSequenceKeypoint.new(0,2,0),
978
	NumberSequenceKeypoint.new(1,0,0)
979
}
980
local EyeTrans={
981
	NumberSequenceKeypoint.new(0,0.5,0),
982
	NumberSequenceKeypoint.new(1,1,0)
983
}
984
local PE=Instance.new("ParticleEmitter",nil)
985
PE.LightEmission=.8
986
PE.Color = ColorSequence.new(BRICKC("Lime green").Color,BRICKC("Lime green").Color)
987
PE.Size=NumberSequence.new(EyeSizes)
988
PE.Transparency=NumberSequence.new(EyeTrans)
989
PE.Lifetime=NumberRange.new(0.35,1)
990
PE.Rotation=NumberRange.new(0,360)
991
PE.Rate=100
992
PE.VelocitySpread = 10000
993
PE.Acceleration = Vector3.new(0,85,0)
994
PE.Drag = 5
995
PE.Speed = NumberRange.new(0.1,5)
996
PE.Texture="http://www.roblox.com/asset/?id=1460745664"
997
PE.ZOffset = 0.5
998
PE.Name = "PE"
999
PE.Enabled = false
1000
1001
function Fire(art)
1002
	local PARTICLES = PE:Clone()
1003
	PARTICLES.Parent = art
1004
	PARTICLES.Enabled = true
1005
	return PARTICLES
1006
end
1007
1008
function CFrameFromTopBack(at, top, back)
1009
	local right = top:Cross(back)
1010
	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)
1011
end
1012
1013
--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})
1014
function WACKYEFFECT(Table)
1015
	local TYPE = (Table.EffectType or "Sphere")
1016
	local SIZE = (Table.Size or VT(1,1,1))
1017
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
1018
	local TRANSPARENCY = (Table.Transparency or 0)
1019
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
1020
	local CFRAME = (Table.CFrame or Torso.CFrame)
1021
	local MOVEDIRECTION = (Table.MoveToPos or nil)
1022
	local ROTATION1 = (Table.RotationX or 0)
1023
	local ROTATION2 = (Table.RotationY or 0)
1024
	local ROTATION3 = (Table.RotationZ or 0)
1025
	local MATERIAL = (Table.Material or "Neon")
1026
	local COLOR = (Table.Color or C3(1,1,1))
1027
	local TIME = (Table.Time or 45)
1028
	local SOUNDID = (Table.SoundID or nil)
1029
	local SOUNDPITCH = (Table.SoundPitch or nil)
1030
	local SOUNDVOLUME = (Table.SoundVolume or nil)
1031
	coroutine.resume(coroutine.create(function()
1032
		local PLAYSSOUND = false
1033
		local SOUND = nil
1034
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Lime green"), "Effect", VT(1,1,1), true)
1035
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
1036
			PLAYSSOUND = true
1037
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
1038
		end
1039
		EFFECT.Color = COLOR
1040
		local MSH = nil
1041
		if TYPE == "Sphere" then
1042
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
1043
		elseif TYPE == "Block" or TYPE == "Box" then
1044
			MSH = IT("BlockMesh",EFFECT)
1045
			MSH.Scale = SIZE
1046
		elseif TYPE == "Wave" then
1047
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
1048
		elseif TYPE == "Ring" then
1049
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
1050
		elseif TYPE == "Slash" then
1051
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1052
		elseif TYPE == "Round Slash" then
1053
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1054
		elseif TYPE == "Swirl" then
1055
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1056
		elseif TYPE == "Skull" then
1057
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1058
		elseif TYPE == "Crystal" then
1059
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1060
		end
1061
		if MSH ~= nil then
1062
			local MOVESPEED = nil
1063
			if MOVEDIRECTION ~= nil then
1064
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
1065
			end
1066
			local GROWTH = SIZE - ENDSIZE
1067
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1068
			if TYPE == "Block" then
1069
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1070
			else
1071
				EFFECT.CFrame = CFRAME
1072
			end
1073
			for LOOP = 1, TIME+1 do
1074
				Swait()
1075
				MSH.Scale = MSH.Scale - GROWTH/TIME
1076
				if TYPE == "Wave" then
1077
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
1078
				end
1079
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1080
				if TYPE == "Block" then
1081
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1082
				else
1083
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1084
				end
1085
				if MOVEDIRECTION ~= nil then
1086
					local ORI = EFFECT.Orientation
1087
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
1088
					EFFECT.Orientation = ORI
1089
				end
1090
			end
1091
			if PLAYSSOUND == false then
1092
				EFFECT:remove()
1093
			else
1094
				repeat wait(1) until SOUND.Playing == false
1095
				EFFECT:remove()
1096
			end
1097
		else
1098
			if PLAYSSOUND == false then
1099
				EFFECT:remove()
1100
			else
1101
				repeat Swait() until SOUND.Playing == false
1102
				EFFECT:remove()
1103
			end
1104
		end
1105
	end))
1106
end
1107
1108
function MakeForm(PART,TYPE)
1109
	if TYPE == "Cyl" then
1110
		local MSH = IT("CylinderMesh",PART)
1111
	elseif TYPE == "Ball" then
1112
		local MSH = IT("SpecialMesh",PART)
1113
		MSH.MeshType = "Sphere"
1114
	elseif TYPE == "Wedge" then
1115
		local MSH = IT("SpecialMesh",PART)
1116
		MSH.MeshType = "Wedge"
1117
	end
1118
end
1119
1120
Debris = game:GetService("Debris")
1121
1122
function CastProperRay(StartPos, EndPos, Distance, Ignore)
1123
	local DIRECTION = CF(StartPos,EndPos).lookVector
1124
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
1125
end
1126
1127
local HATWELD = nil
1128
function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
1129
	PLAYMAINANIM = false
1130
	if WhichPose == "Cast1" then
1131
		for i=0, Time, 0.1 / Animation_Speed do
1132
			Swait()
1133
			if Magic == true then
1134
				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"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1135
			end
1136
			if Gyro ~= nil and Gyro ~= false then
1137
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
1138
			end
1139
			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)
1140
			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)
1141
			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)
1142
			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)
1143
			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)
1144
			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)
1145
		end
1146
	elseif WhichPose == "Cast2" then
1147
		for i=0, Time, 0.1 / Animation_Speed do
1148
			Swait()
1149
			if Magic == true then
1150
				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"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1151
				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"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1152
			end
1153
			if Gyro ~= nil and Gyro ~= false then
1154
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
1155
			end
1156
			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)
1157
			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)
1158
			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)
1159
			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)
1160
			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)
1161
			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)
1162
		end
1163
	elseif WhichPose == "RightArmUp" then
1164
		for i=0, Time, 0.1 / Animation_Speed do
1165
			Swait()
1166
			if Magic == true then
1167
				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"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1168
			end
1169
			if Gyro ~= nil and Gyro ~= false then
1170
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
1171
			end
1172
			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)
1173
			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)
1174
			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)
1175
			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)
1176
			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)
1177
			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)
1178
		end
1179
	elseif WhichPose == "Taunt" then
1180
		for i=0, Time, 0.1 / Animation_Speed do
1181
			Swait()
1182
			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)
1183
			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)
1184
			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)
1185
			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)
1186
			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)
1187
			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)
1188
		end
1189
		HATWELD.Part0 = RightArm
1190
		HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
1191
		CreateSound(137473066,Torso,10,1,false)
1192
		for i=0, Time*2, 0.1 / Animation_Speed do
1193
			Swait()
1194
			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)
1195
			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)
1196
			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)
1197
			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)
1198
			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)
1199
			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)
1200
		end
1201
		for i=0, Time, 0.1 / Animation_Speed do
1202
			Swait()
1203
			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)
1204
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
1205
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
1206
			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)
1207
			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)
1208
			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)
1209
			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)
1210
		end
1211
		HATWELD.Part0 = Head
1212
		HATWELD.C0 = CF(0,0.35,0)
1213
	elseif WhichPose == "Prepare key" then
1214
		for i=0, Time, 0.1 / Animation_Speed do
1215
			Swait()
1216
			if Gyro ~= nil and Gyro ~= false then
1217
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
1218
			end
1219
			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)
1220
			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)
1221
			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)
1222
			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)
1223
			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)
1224
			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)
1225
		end
1226
	elseif WhichPose == "Turn key" then
1227
		for i=0, Time, 0.1 / Animation_Speed do
1228
			Swait()
1229
			if Gyro ~= nil and Gyro ~= false then
1230
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
1231
			end
1232
			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)
1233
			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)
1234
			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)
1235
			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)
1236
			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)
1237
			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)
1238
		end
1239
	end
1240
	PLAYMAINANIM = true
1241
end
1242
1243
--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})
1244
function Lightning(Table)
1245
	local Color = Table.Color or C3(1,1,1)
1246
	local StartPos = Table.Start or Torso.Position
1247
	local EndPos = Table.End or Mouse.Hit.p
1248
	local SegmentLength = Table.SegmentL or 2
1249
	local Thickness = Table.Thickness or 0.1
1250
	local Dissapear = Table.DoesFade or false
1251
	local Parent = Table.Ignore or Character
1252
	local MaxDist = Table.MaxDist or 400
1253
	local Branches = Table.Branches or false
1254
	local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
1255
	local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
1256
	local LIGHTNINGMODEL = IT("Model",Effects)
1257
	LIGHTNINGMODEL.Name = "Lightning"
1258
	local LastBolt = nil
1259
	for E = 1, DISTANCE do
1260
		local ExtraSize = (DISTANCE-E)/15
1261
		local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Lime green"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
1262
		PART.Color = Color
1263
		MakeForm(PART,"Cyl")
1264
		if LastBolt == nil then
1265
			PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
1266
		else
1267
			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)
1268
		end
1269
		LastBolt = PART
1270
		if Branches == true then
1271
			local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
1272
			if CHOICE == 1 then
1273
				local LASTBRANCH = nil
1274
				for i = 1, MRANDOM(2,5) do
1275
					local ExtraSize2 = ((DISTANCE-E)/25)/i
1276
					local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Crimson"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
1277
					PART.Color = Color
1278
					MakeForm(PART,"Cyl")
1279
					if LASTBRANCH == nil then
1280
						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)
1281
					else
1282
						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)
1283
					end
1284
					LASTBRANCH = PART
1285
				end
1286
			end
1287
		end
1288
	end
1289
	if Dissapear == true then
1290
		coroutine.resume(coroutine.create(function()
1291
			for i = 1, 10 do
1292
				Swait()
1293
				for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
1294
					if c.ClassName == "Part" then
1295
						c.Transparency = i/10
1296
					end
1297
				end
1298
			end
1299
			LIGHTNINGMODEL:remove()
1300
		end))
1301
	elseif Dissapear == false then
1302
		Debris:AddItem(LIGHTNINGMODEL,0.1)
1303
	end
1304
	return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
1305
end
1306
1307
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
1308
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
1309
end
1310
1311
function PositiveAngle(NUMBER)
1312
	if NUMBER >= 0 then
1313
		NUMBER = 0
1314
	end
1315
	return NUMBER
1316
end
1317
1318
function NegativeAngle(NUMBER)
1319
	if NUMBER <= 0 then
1320
		NUMBER = 0
1321
	end
1322
	return NUMBER
1323
end
1324
1325
function Swait(NUMBER)
1326
	if NUMBER == 0 or NUMBER == nil then
1327
		ArtificialHB.Event:wait()
1328
	else
1329
		for i = 1, NUMBER do
1330
			ArtificialHB.Event:wait()
1331
		end
1332
	end
1333
end
1334
1335
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
1336
	local NEWMESH = IT(MESH)
1337
	if MESH == "SpecialMesh" then
1338
		NEWMESH.MeshType = MESHTYPE
1339
		if MESHID ~= "nil" and MESHID ~= "" then
1340
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
1341
		end
1342
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
1343
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
1344
		end
1345
	end
1346
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
1347
	NEWMESH.Scale = SCALE
1348
	NEWMESH.Parent = PARENT
1349
	return NEWMESH
1350
end
1351
1352
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
1353
	local NEWPART = IT("Part")
1354
	NEWPART.formFactor = FORMFACTOR
1355
	NEWPART.Reflectance = REFLECTANCE
1356
	NEWPART.Transparency = TRANSPARENCY
1357
	NEWPART.CanCollide = false
1358
	NEWPART.Locked = true
1359
	NEWPART.Anchored = true
1360
	if ANCHOR == false then
1361
		NEWPART.Anchored = false
1362
	end
1363
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
1364
	NEWPART.Name = NAME
1365
	NEWPART.Size = SIZE
1366
	NEWPART.Position = Torso.Position
1367
	NEWPART.Material = MATERIAL
1368
	NEWPART:BreakJoints()
1369
	NEWPART.Parent = PARENT
1370
	return NEWPART
1371
end
1372
1373
	local function weldBetween(a, b)
1374
	    local weldd = Instance.new("ManualWeld")
1375
	    weldd.Part0 = a
1376
	    weldd.Part1 = b
1377
	    weldd.C0 = CFrame.new()
1378
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
1379
	    weldd.Parent = a
1380
	    return weldd
1381
	end
1382
1383
1384
function QuaternionFromCFrame(cf)
1385
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
1386
	local trace = m00 + m11 + m22
1387
	if trace > 0 then 
1388
		local s = math.sqrt(1 + trace)
1389
		local recip = 0.5 / s
1390
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
1391
	else
1392
		local i = 0
1393
		if m11 > m00 then
1394
			i = 1
1395
		end
1396
		if m22 > (i == 0 and m00 or m11) then
1397
			i = 2
1398
		end
1399
		if i == 0 then
1400
			local s = math.sqrt(m00 - m11 - m22 + 1)
1401
			local recip = 0.5 / s
1402
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
1403
		elseif i == 1 then
1404
			local s = math.sqrt(m11 - m22 - m00 + 1)
1405
			local recip = 0.5 / s
1406
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
1407
		elseif i == 2 then
1408
			local s = math.sqrt(m22 - m00 - m11 + 1)
1409
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
1410
		end
1411
	end
1412
end
1413
 
1414
function QuaternionToCFrame(px, py, pz, x, y, z, w)
1415
	local xs, ys, zs = x + x, y + y, z + z
1416
	local wx, wy, wz = w * xs, w * ys, w * zs
1417
	local xx = x * xs
1418
	local xy = x * ys
1419
	local xz = x * zs
1420
	local yy = y * ys
1421
	local yz = y * zs
1422
	local zz = z * zs
1423
	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))
1424
end
1425
 
1426
function QuaternionSlerp(a, b, t)
1427
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
1428
	local startInterp, finishInterp;
1429
	if cosTheta >= 0.0001 then
1430
		if (1 - cosTheta) > 0.0001 then
1431
			local theta = ACOS(cosTheta)
1432
			local invSinTheta = 1 / SIN(theta)
1433
			startInterp = SIN((1 - t) * theta) * invSinTheta
1434
			finishInterp = SIN(t * theta) * invSinTheta
1435
		else
1436
			startInterp = 1 - t
1437
			finishInterp = t
1438
		end
1439
	else
1440
		if (1 + cosTheta) > 0.0001 then
1441
			local theta = ACOS(-cosTheta)
1442
			local invSinTheta = 1 / SIN(theta)
1443
			startInterp = SIN((t - 1) * theta) * invSinTheta
1444
			finishInterp = SIN(t * theta) * invSinTheta
1445
		else
1446
			startInterp = t - 1
1447
			finishInterp = t
1448
		end
1449
	end
1450
	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
1451
end
1452
1453
function Clerp(a, b, t)
1454
	local qa = {QuaternionFromCFrame(a)}
1455
	local qb = {QuaternionFromCFrame(b)}
1456
	local ax, ay, az = a.x, a.y, a.z
1457
	local bx, by, bz = b.x, b.y, b.z
1458
	local _t = 1 - t
1459
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
1460
end
1461
1462
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
1463
	local frame = IT("Frame")
1464
	frame.BackgroundTransparency = TRANSPARENCY
1465
	frame.BorderSizePixel = BORDERSIZEPIXEL
1466
	frame.Position = POSITION
1467
	frame.Size = SIZE
1468
	frame.BackgroundColor3 = COLOR
1469
	frame.BorderColor3 = BORDERCOLOR
1470
	frame.Name = NAME
1471
	frame.Parent = PARENT
1472
	return frame
1473
end
1474
1475
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
1476
	local label = IT("TextLabel")
1477
	label.BackgroundTransparency = 1
1478
	label.Size = UD2(1, 0, 1, 0)
1479
	label.Position = UD2(0, 0, 0, 0)
1480
	label.TextColor3 = TEXTCOLOR
1481
	label.TextStrokeTransparency = STROKETRANSPARENCY
1482
	label.TextTransparency = TRANSPARENCY
1483
	label.FontSize = TEXTFONTSIZE
1484
	label.Font = TEXTFONT
1485
	label.BorderSizePixel = BORDERSIZEPIXEL
1486
	label.TextScaled = false
1487
	label.Text = TEXT
1488
	label.Name = NAME
1489
	label.Parent = PARENT
1490
	return label
1491
end
1492
1493
function NoOutlines(PART)
1494
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
1495
end
1496
1497
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
1498
	local NEWWELD = IT(TYPE)
1499
	NEWWELD.Part0 = PART0
1500
	NEWWELD.Part1 = PART1
1501
	NEWWELD.C0 = C0
1502
	NEWWELD.C1 = C1
1503
	NEWWELD.Parent = PARENT
1504
	return NEWWELD
1505
end
1506
1507
local S = IT("Sound")
1508
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
1509
	local NEWSOUND = nil
1510
	coroutine.resume(coroutine.create(function()
1511
		NEWSOUND = S:Clone()
1512
		NEWSOUND.Parent = PARENT
1513
		NEWSOUND.Volume = VOLUME
1514
		NEWSOUND.Pitch = PITCH
1515
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
1516
		NEWSOUND:play()
1517
		if DOESLOOP == true then
1518
			NEWSOUND.Looped = true
1519
		else
1520
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
1521
			NEWSOUND:remove()
1522
		end
1523
	end))
1524
	return NEWSOUND
1525
end
1526
1527
function CFrameFromTopBack(at, top, back)
1528
	local right = top:Cross(back)
1529
	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)
1530
end
1531
1532
--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})
1533
function WACKYEFFECT(Table)
1534
	local TYPE = (Table.EffectType or "Sphere")
1535
	local SIZE = (Table.Size or VT(1,1,1))
1536
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
1537
	local TRANSPARENCY = (Table.Transparency or 0)
1538
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
1539
	local CFRAME = (Table.CFrame or Torso.CFrame)
1540
	local MOVEDIRECTION = (Table.MoveToPos or nil)
1541
	local ROTATION1 = (Table.RotationX or 0)
1542
	local ROTATION2 = (Table.RotationY or 0)
1543
	local ROTATION3 = (Table.RotationZ or 0)
1544
	local MATERIAL = (Table.Material or "Neon")
1545
	local COLOR = (Table.Color or C3(1,1,1))
1546
	local TIME = (Table.Time or 45)
1547
	local SOUNDID = (Table.SoundID or nil)
1548
	local SOUNDPITCH = (Table.SoundPitch or nil)
1549
	local SOUNDVOLUME = (Table.SoundVolume or nil)
1550
	coroutine.resume(coroutine.create(function()
1551
		local PLAYSSOUND = false
1552
		local SOUND = nil
1553
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
1554
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
1555
			PLAYSSOUND = true
1556
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
1557
		end
1558
		EFFECT.Color = COLOR
1559
		local MSH = nil
1560
		if TYPE == "Sphere" then
1561
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
1562
		elseif TYPE == "Block" then
1563
			MSH = IT("BlockMesh",EFFECT)
1564
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
1565
		elseif TYPE == "Wave" then
1566
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
1567
		elseif TYPE == "Ring" then
1568
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
1569
		elseif TYPE == "Slash" then
1570
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1571
		elseif TYPE == "Round Slash" then
1572
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1573
		elseif TYPE == "Swirl" then
1574
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1575
		elseif TYPE == "Skull" then
1576
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1577
		elseif TYPE == "Crystal" then
1578
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1579
		end
1580
		if MSH ~= nil then
1581
			local MOVESPEED = nil
1582
			if MOVEDIRECTION ~= nil then
1583
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
1584
			end
1585
			local GROWTH = SIZE - ENDSIZE
1586
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1587
			if TYPE == "Block" then
1588
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1589
			else
1590
				EFFECT.CFrame = CFRAME
1591
			end
1592
			for LOOP = 1, TIME+1 do
1593
				Swait()
1594
				MSH.Scale = MSH.Scale - GROWTH/TIME
1595
				if TYPE == "Wave" then
1596
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
1597
				end
1598
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1599
				if TYPE == "Block" then
1600
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1601
				else
1602
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1603
				end
1604
				if MOVEDIRECTION ~= nil then
1605
					local ORI = EFFECT.Orientation
1606
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
1607
					EFFECT.Orientation = ORI
1608
				end
1609
			end
1610
			if PLAYSSOUND == false then
1611
				EFFECT:remove()
1612
			else
1613
				SOUND.Stopped:Connect(function()
1614
					EFFECT:remove()
1615
				end)
1616
			end
1617
		else
1618
			if PLAYSSOUND == false then
1619
				EFFECT:remove()
1620
			else
1621
				repeat Swait() until SOUND.Playing == false
1622
				EFFECT:remove()
1623
			end
1624
		end
1625
	end))
1626
end
1627
1628
function MakeForm(PART,TYPE)
1629
	if TYPE == "Cyl" then
1630
		local MSH = IT("CylinderMesh",PART)
1631
	elseif TYPE == "Ball" then
1632
		local MSH = IT("SpecialMesh",PART)
1633
		MSH.MeshType = "Sphere"
1634
	elseif TYPE == "Wedge" then
1635
		local MSH = IT("SpecialMesh",PART)
1636
		MSH.MeshType = "Wedge"
1637
	end
1638
end
1639
1640
function SpawnTrail(FROM,TO,BIG)
1641
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
1642
	MakeForm(TRAIL,"Cyl")
1643
	local DIST = (FROM - TO).Magnitude
1644
	if BIG == true then
1645
		TRAIL.Size = VT(0.5,DIST,0.5)
1646
	else
1647
		TRAIL.Size = VT(0.25,DIST,0.25)
1648
	end
1649
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
1650
	coroutine.resume(coroutine.create(function()
1651
		for i = 1, 5 do
1652
			Swait()
1653
			TRAIL.Transparency = TRAIL.Transparency + 0.1
1654
		end
1655
		TRAIL:remove()
1656
	end))
1657
end
1658
1659
Debris = game:GetService("Debris")
1660
1661
function CastProperRay(StartPos, EndPos, Distance, Ignore)
1662
	local DIRECTION = CF(StartPos,EndPos).lookVector
1663
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
1664
end
1665
1666
function turnto(position)
1667
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1668
end
1669
1670
--//=================================\\
1671
--||	     WEAPON CREATION
1672
--\\=================================//
1673
local EYE = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eyeball", VT(0.15,0.15,0.15),false)
1674
MakeForm(EYE,"Ball")
1675
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0.15,0.26,-0.55), CF(0, 0, 0))
1676
local EYE2 = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eyeball", VT(0.15,0.15,0.15),false)
1677
MakeForm(EYE2,"Ball")
1678
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE2, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
1679
local LASTPART = Head
1680
for i = 1, 20 do
1681
    local MATH = (1-(i/25))
1682
    if LASTPART == Head then
1683
        local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1684
        CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(15), RAD(-15)), CF(0, 0, 0))
1685
        LASTPART = Horn
1686
        Horn.Color = C3((i*3-3)/255,0,0)
1687
    else
1688
        local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1689
        CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(-0.3), RAD(0)), CF(0, 0, 0))
1690
        LASTPART = Horn
1691
        Horn.Color = C3((i*3-3)/255,0,0)
1692
    end
1693
end
1694
local LASTPART = Head
1695
for i = 1, 20 do
1696
    local MATH = (1-(i/25))
1697
    if LASTPART == Head then
1698
        local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1699
        CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(-15), RAD(15)), CF(0, 0, 0))
1700
        LASTPART = Horn
1701
        Horn.Color = C3((i*3-3)/255,0,0)
1702
    else
1703
        local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1704
        CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(0.3), RAD(0)), CF(0, 0, 0))
1705
        LASTPART = Horn
1706
        Horn.Color = C3((i*3-3)/255,0,0)
1707
    end
1708
end
1709
 
1710
local Particle = IT("ParticleEmitter",nil)
1711
Particle.Enabled = false
1712
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
1713
Particle.LightEmission = 0.5
1714
Particle.Rate = 150
1715
Particle.ZOffset = 0.2
1716
Particle.Rotation = NumberRange.new(-180, 180)
1717
Particle.RotSpeed = NumberRange.new(-180, 180)
1718
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
1719
Particle.Color = ColorSequence.new(C3(255,0,0),C3(255,0,0))
1720
local Particle2 = IT("ParticleEmitter",nil)
1721
Particle2.Enabled = false
1722
Particle2.Texture = "http://www.roblox.com/asset/?id=1369397597"
1723
Particle2.Color = ColorSequence.new(C3(255,0,0),C3(255,0,0))
1724
Particle2.LightEmission = 0
1725
Particle2.RotSpeed = NumberRange.new(0, 180)
1726
Particle2.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
1727
Particle2.LightEmission = 1
1728
Particle2.Rate = 20
1729
Particle2.RotSpeed = NumberRange.new(-20, 20)
1730
local Particle3 = IT("ParticleEmitter",nil)
1731
Particle3.Enabled = false
1732
Particle3.Texture = "http://www.roblox.com/asset/?id=1546470121"
1733
Particle3.Color = ColorSequence.new(C3(255,0,0),C3(255,0,0))
1734
Particle3.LightEmission = 0
1735
Particle3.RotSpeed = NumberRange.new(0, 180)
1736
Particle3.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.7),NumberSequenceKeypoint.new(0.3,.9),NumberSequenceKeypoint.new(1,1)})
1737
Particle3.LightEmission = 1
1738
Particle3.Rate = 20
1739
Particle3.RotSpeed = NumberRange.new(-20, 20)
1740
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
1741
function ParticleEmitter(Table)
1742
    local PRTCL = Particle:Clone()
1743
    local Speed = Table.Speed or 5
1744
    local Drag = Table.Drag or 0
1745
    local Size1 = Table.Size1 or 1
1746
    local Size2 = Table.Size2 or 5
1747
    local Lifetime1 = Table.Lifetime1 or 1
1748
    local Lifetime2 = Table.Lifetime2 or 1.5
1749
    local Parent = Table.Parent or Torso
1750
    local Emit = Table.Emit or 100
1751
    local Offset = Table.Offset or 360
1752
    local Acel = Table.Acel or VT(0,0,0)
1753
    local Enabled = Table.Enabled or false
1754
    PRTCL.Parent = Parent
1755
    PRTCL.Size = NumberSequence.new(Size1,Size2)
1756
    PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1757
    PRTCL.Speed = NumberRange.new(Speed)
1758
    PRTCL.VelocitySpread = Offset
1759
    PRTCL.Drag = Drag
1760
    PRTCL.Acceleration = Acel
1761
    if Enabled == false then
1762
        PRTCL:Emit(Emit)
1763
        Debris:AddItem(PRTCL,Lifetime2)
1764
    else
1765
        PRTCL.Enabled = true
1766
    end
1767
    return PRTCL
1768
end
1769
function ParticleEmitter2(Table)
1770
    local PRTCL2 = Particle2:Clone()
1771
    local LockedToPart = Table.LTP or true
1772
    local Speed = Table.Speed or 0
1773
    local Drag = Table.Drag or 0
1774
    local Size1 = Table.Size1 or 1
1775
    local Size2 = Table.Size2 or 2
1776
    local Lifetime1 = Table.Lifetime1 or 1
1777
    local Lifetime2 = Table.Lifetime2 or 1
1778
    local Parent = Table.Parent or Torso
1779
    local Emit = Table.Emit or 100
1780
    local Offset = Table.Offset or 360
1781
    local Acel = Table.Acel or VT(0,0,0)
1782
    local Enabled = Table.Enabled or false
1783
    PRTCL2.Parent = Parent
1784
    PRTCL2.Size = NumberSequence.new(Size1,Size2)
1785
    PRTCL2.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1786
    PRTCL2.Speed = NumberRange.new(Speed)
1787
    PRTCL2.VelocitySpread = Offset
1788
    PRTCL2.Drag = Drag
1789
    PRTCL2.Acceleration = Acel
1790
        PRTCL2.Parent = Parent
1791
        PRTCL2.Size = NumberSequence.new(Size1,Size2)
1792
        PRTCL2.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1793
        PRTCL2.Speed = NumberRange.new(Speed)
1794
        PRTCL2.VelocitySpread = Offset
1795
        PRTCL2.Drag = Drag
1796
        PRTCL2.Acceleration = Acel
1797
        PRTCL2.LockedToPart = true
1798
    if Enabled == false then
1799
        PRTCL2:Emit(Emit)
1800
        Debris:AddItem(PRTCL2,Lifetime2)
1801
    else
1802
        PRTCL2.Enabled = true
1803
    end
1804
    return PRTCL2
1805
end
1806
function ParticleEmitter3(Table)
1807
    local PRTCL3 = Particle2:Clone()
1808
    local Speed = Table.Speed or 0
1809
    local Drag = Table.Drag or 0
1810
    local Size1 = Table.Size1 or 1
1811
    local Size2 = Table.Size2 or 2
1812
    local Lifetime1 = Table.Lifetime1 or 1
1813
    local Lifetime2 = Table.Lifetime2 or 1
1814
    local Parent = Table.Parent or Torso
1815
    local Emit = Table.Emit or 100
1816
    local Offset = Table.Offset or 0
1817
    local Acel = Table.Acel or VT(0,0,0)
1818
    local Enabled = Table.Enabled or false
1819
    PRTCL3.Parent = Parent
1820
    PRTCL3.Size = NumberSequence.new(Size1,Size2)
1821
    PRTCL3.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1822
    PRTCL3.Speed = NumberRange.new(Speed)
1823
    PRTCL3.VelocitySpread = Offset
1824
    PRTCL3.Drag = Drag
1825
    PRTCL3.Acceleration = Acel
1826
        PRTCL3.Parent = Parent
1827
        PRTCL3.Size = NumberSequence.new(Size1,Size2)
1828
        PRTCL3.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1829
        PRTCL3.Speed = NumberRange.new(Speed)
1830
        PRTCL3.VelocitySpread = Offset
1831
        PRTCL3.Drag = Drag
1832
        PRTCL3.Acceleration = Acel
1833
    if Enabled == false then
1834
        PRTCL3:Emit(Emit)
1835
        Debris:AddItem(PRTCL3,Lifetime2)
1836
    else
1837
        PRTCL3.Enabled = true
1838
    end
1839
    return PRTCL3
1840
end
1841
1842
local Particle = IT("ParticleEmitter",nil)
1843
Particle.Enabled = false
1844
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
1845
Particle.LightEmission = 0.5
1846
Particle.Rate = 150
1847
Particle.ZOffset = 0.2
1848
Particle.Rotation = NumberRange.new(-180, 180)
1849
Particle.RotSpeed = NumberRange.new(-180, 180)
1850
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
1851
Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
1852
1853
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
1854
function ParticleEmitter(Table)
1855
	local PRTCL = Particle:Clone()
1856
	local Speed = Table.Speed or 5
1857
	local Drag = Table.Drag or 0
1858
	local Size1 = Table.Size1 or 1
1859
	local Size2 = Table.Size2 or 5
1860
	local Lifetime1 = Table.Lifetime1 or 1
1861
	local Lifetime2 = Table.Lifetime2 or 1.5
1862
	local Parent = Table.Parent or Torso
1863
	local Emit = Table.Emit or 100
1864
	local Offset = Table.Offset or 360
1865
	local Acel = Table.Acel or VT(0,0,0)
1866
	local Enabled = Table.Enabled or false
1867
	PRTCL.Parent = Parent
1868
	PRTCL.Size = NumberSequence.new(Size1,Size2)
1869
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1870
	PRTCL.Speed = NumberRange.new(Speed)
1871
	PRTCL.VelocitySpread = Offset
1872
	PRTCL.Drag = Drag
1873
	PRTCL.Acceleration = Acel
1874
	if Enabled == false then
1875
		PRTCL:Emit(Emit)
1876
		Debris:AddItem(PRTCL,Lifetime2)
1877
	else
1878
		PRTCL.Enabled = true
1879
	end
1880
	return PRTCL
1881
end
1882
1883
local Handle = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,1.2,0.2),false)
1884
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-0.8, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.3, 0))
1885
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.8,0.2),false)
1886
MakeForm(Part,"Wedge")
1887
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0.2, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
1888
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.6),false)
1889
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1890
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.4,0.4,0.4),false)
1891
MakeForm(Part,"Cyl")
1892
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1893
for i = 1, 8 do
1894
    local Piece = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0,0.35,0.41),false)
1895
    CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
1896
end
1897
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.5,0.2),false)
1898
MakeForm(Part,"Wedge")
1899
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1900
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.39,0.41,0.39),false)
1901
MakeForm(Part,"Cyl")
1902
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1903
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.5),false)
1904
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1905
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.4,0.5),false)
1906
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.65) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1907
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0,0.6),false)
1908
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, -0.2, -0.3))
1909
local RightBarrel = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.28,5,0.28),false)
1910
MakeForm(RightBarrel,"Cyl")
1911
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, RightBarrel, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -2.5, 0))
1912
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0,0.2,0.2),false)
1913
MakeForm(Part,"Wedge")
1914
CreateWeldOrSnapOrMotor("Weld", Handle, RightBarrel, Part, CF(0, 2.415, 0.15) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1915
local RightHole = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.2,0,0.2),false)
1916
MakeForm(RightHole,"Cyl")
1917
CreateWeldOrSnapOrMotor("Weld", Handle, RightBarrel, RightHole, CF(0, 2.5, 0), CF(0, 0, 0))
1918
local Handle = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,1.2,0.2),false)
1919
local LeftArmGraps = CreateWeldOrSnapOrMotor("Weld", Handle, LeftArm, Handle, CF(0,-0.8, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.3, 0))
1920
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.8,0.2),false)
1921
MakeForm(Part,"Wedge")
1922
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0.2, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
1923
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.6),false)
1924
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1925
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.4,0.4,0.4),false)
1926
MakeForm(Part,"Cyl")
1927
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1928
for i = 1, 8 do
1929
    local Piece = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0,0.35,0.41),false)
1930
    CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
1931
end
1932
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.5,0.2),false)
1933
MakeForm(Part,"Wedge")
1934
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1935
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.39,0.41,0.39),false)
1936
MakeForm(Part,"Cyl")
1937
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1938
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.5),false)
1939
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1940
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.4,0.5),false)
1941
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.65) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1942
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0,0.6),false)
1943
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, -0.2, -0.3))
1944
local LeftBarrel = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.28,5,0.28),false)
1945
MakeForm(LeftBarrel,"Cyl")
1946
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, LeftBarrel, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -2.5, 0))
1947
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0,0.2,0.2),false)
1948
MakeForm(Part,"Wedge")
1949
CreateWeldOrSnapOrMotor("Weld", Handle, LeftBarrel, Part, CF(0, 2.415, 0.15) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1950
local LeftHole = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.2,0,0.2),false)
1951
MakeForm(LeftHole,"Cyl")
1952
CreateWeldOrSnapOrMotor("Weld", Handle, LeftBarrel, LeftHole, CF(0, 2.5, 0), CF(0, 0, 0))
1953
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.6,0.1,1)/2,false)
1954
MakeForm(Eye,"Ball")
1955
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
1956
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.6,0.1,1)/2,false)
1957
MakeForm(Eye,"Ball")
1958
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
1959
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.1,1,1)/2,false)
1960
MakeForm(Eye,"Ball")
1961
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
1962
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.1,1,1)/2,false)
1963
MakeForm(Eye,"Ball")
1964
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
1965
local LASTPART = Handle
1966
for i = 1, 10 do
1967
	if LASTPART == Handle then
1968
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
1969
		LASTPART = Part
1970
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1971
	else
1972
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
1973
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
1974
		LASTPART = Part
1975
	end
1976
end
1977
1978
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
1979
MakeForm(Barrel,"Cyl")
1980
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1981
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
1982
MakeForm(Part,"Cyl")
1983
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
1984
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
1985
MakeForm(Part,"Wedge")
1986
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1987
local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
1988
MakeForm(Hole,"Cyl")
1989
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
1990
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
1991
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1992
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
1993
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
1994
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1995
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
1996
coroutine.resume(coroutine.create(function()
1997
	while wait() do
1998
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
1999
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
2000
	end
2001
end))
2002
2003
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)})
2004
--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)})
2005
2006
for _, c in pairs(Weapon:GetDescendants()) do
2007
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
2008
		c.Material = "Glass"
2009
		c.Color = C3(0,0,0)
2010
	elseif c.ClassName == "Part" and c.Name == "Eye" then
2011
		c.Color = C3(1,0,0)
2012
		c.Material = "Neon"
2013
	end
2014
end
2015
2016
Weapon.Parent = Character
2017
for _, c in pairs(Weapon:GetChildren()) do
2018
	if c.ClassName == "Part" then
2019
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
2020
	end
2021
end
2022
2023
local BODY = {}
2024
for _, c in pairs(Character:GetDescendants()) do
2025
	if c:IsA("BasePart") and c.Name ~= "Handle" then
2026
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
2027
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
2028
		end
2029
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency,c.Size,c.Name})
2030
	elseif c:IsA("JointInstance") then
2031
		table.insert(BODY,{c,c.Parent,nil,nil,nil,nil,nil})
2032
	end
2033
end
2034
function refit()
2035
	Character.Parent = workspace
2036
	for e = 1, #BODY do
2037
		if BODY[e] ~= nil then
2038
			local STUFF = BODY[e]
2039
			local PART = STUFF[1]
2040
			local PARENT = STUFF[2]
2041
			local MATERIAL = STUFF[3]
2042
			local COLOR = STUFF[4]
2043
			local TRANSPARENCY = STUFF[5]
2044
			--local SIZE = STUFF[6]
2045
			local NAME = STUFF[7]
2046
			if PART.ClassName == "Part" and PART ~= RootPart then
2047
				PART.Material = MATERIAL
2048
				PART.Transparency = TRANSPARENCY
2049
				PART.Name = NAME
2050
			end
2051
			if PART.Parent ~= PARENT then
2052
				Humanoid:remove()
2053
				PART.Parent = PARENT
2054
				Humanoid = IT("Humanoid",Character)
2055
			end
2056
		end
2057
	end
2058
end
2059
2060
local SKILLTEXTCOLOR = C3(1,0,0)
2061
local SKILLFONT = "Antique"
2062
local SKILLTEXTSIZE = 7
2063
2064
Humanoid.Died:connect(function()
2065
	ATTACK = true
2066
end)
2067
2068
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
2069
--[[local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
2070
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
2071
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
2072
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
2073
]]
2074
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
2075
--[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
2076
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
2077
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
2078
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
2079
]]
2080
function printbye(Name)
2081
	local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
2082
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
2083
end
2084
2085
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23-.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
2086
local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50+.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
2087
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 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")
2088
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 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")
2089
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
2090
2091
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[E] Warp", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 2")
2092
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[X] Lock of truth", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
2093
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[Q] Lift", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 4")
2094
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[R] FINAL ATTACK", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 5")
2095
2096
workspace.ChildAdded:connect(function(instance)
2097
    for BANISH = 1, #TOBANISH do
2098
		if TOBANISH[BANISH] ~= nil then
2099
			if instance.Name == TOBANISH[BANISH] then
2100
				coroutine.resume(coroutine.create(function()
2101
					printbye(instance.Name)
2102
					instance:ClearAllChildren()
2103
					Debris:AddItem(instance,0.0005)
2104
				end))
2105
			end
2106
		end
2107
	end
2108
end)
2109
2110
--//=================================\\
2111
--||			DAMAGING
2112
--\\=================================//
2113
function ApplyAoE(POSITION,RANGE,FLING,BURN)
2114
	local CHILDREN = workspace:GetDescendants()
2115
	for index, CHILD in pairs(CHILDREN) do
2116
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2117
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2118
			if HUM then
2119
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2120
				if TORSO then
2121
					if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
2122
						CHILD:BreakJoints()
2123
						if FLING ~= 0 then
2124
							for _, c in pairs(CHILD:GetChildren()) do
2125
								if c:IsA("BasePart") and c.Transparency == 0 then
2126
									if BURN == true then
2127
										Fire(c)
2128
									end
2129
									local bv = Instance.new("BodyVelocity") 
2130
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2131
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
2132
									bv.Parent = c
2133
									Debris:AddItem(bv,0.05)
2134
								end
2135
							end
2136
						end
2137
					end
2138
				end
2139
			end
2140
		end
2141
	end
2142
end
2143
2144
function Banish(Foe)
2145
	if Foe then
2146
		coroutine.resume(coroutine.create(function()
2147
			--if game.Players:FindFirstChild(Foe.Name) then
2148
				table.insert(TOBANISH,Foe.Name)
2149
				printbye(Foe.Name)
2150
			--end
2151
			Foe.Archivable = true
2152
			local CLONE = Foe:Clone()
2153
			Foe:Destroy()
2154
			CLONE.Parent = Effects
2155
			CLONE:BreakJoints()
2156
			local MATERIALS = {"Glass","Neon"}
2157
			for _, c in pairs(CLONE:GetDescendants()) do
2158
				if c:IsA("BasePart") then
2159
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
2160
 						CreateSound(340722848, c, 10, 1, false)
2161
					end
2162
					c.Anchored = true
2163
					c.Transparency = c.Transparency + 0.2
2164
					c.Material = MATERIALS[MRANDOM(1,2)]
2165
					c.Color = C3(1,0,0)
2166
					if c.ClassName == "MeshPart" then
2167
						c.TextureID = ""
2168
					end
2169
					if c:FindFirstChildOfClass("SpecialMesh") then
2170
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
2171
					end
2172
					if c:FindFirstChildOfClass("Decal") then
2173
						c:FindFirstChildOfClass("Decal"):remove()
2174
					end
2175
					c.Name = "Banished"
2176
					c.CanCollide = false
2177
				else
2178
					c:remove()
2179
				end
2180
			end
2181
			local A = false
2182
			for i = 1, 35 do
2183
				if A == false then
2184
					A = true
2185
				elseif A == true then
2186
					A = false
2187
				end
2188
				for _, c in pairs(CLONE:GetDescendants()) do
2189
					if c:IsA("BasePart") then
2190
						c.Anchored = true
2191
						c.Material = MATERIALS[MRANDOM(1,2)]
2192
						c.Transparency = c.Transparency + 0.8/35
2193
						if A == false then
2194
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
2195
						elseif A == true then
2196
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
2197
						end
2198
					end
2199
				end
2200
				Swait()
2201
			end
2202
			CLONE:remove()
2203
		end))
2204
	end
2205
end
2206
2207
function ApplyAoE(POSITION,RANGE,ISBANISH)
2208
	local CHILDREN = workspace:GetDescendants()
2209
	for index, CHILD in pairs(CHILDREN) do
2210
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2211
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2212
			if HUM then
2213
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2214
				if TORSO then
2215
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
2216
						if ISBANISH == true then
2217
							Banish(CHILD)
2218
						else
2219
							if ISBANISH == "Gravity" then
2220
								HUM.PlatformStand = true
2221
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
2222
									local grav = Instance.new("BodyPosition",TORSO)
2223
									grav.D = 15
2224
									grav.P = 20000
2225
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
2226
									grav.position = TORSO.Position
2227
									grav.Name = "V3BanishForce"..Player.Name
2228
								else
2229
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
2230
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
2231
								end
2232
							else
2233
								HUM.PlatformStand = false
2234
							end
2235
						end
2236
					elseif ISBANISH == "Gravity" then
2237
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
2238
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
2239
							HUM.PlatformStand = false
2240
						end
2241
					end
2242
				end
2243
			end
2244
		end
2245
	end
2246
end
2247
2248
--//=================================\\
2249
--||	ATTACK FUNCTIONS AND STUFF
2250
--\\=================================//
2251
Player_Size = 1
2252
2253
function FireArc(Part,ToLocation,AmountOfTime,Height,DoesCourontine)
2254
    if DoesCourontine == false then
2255
        local Direction = CF(Part.Position,ToLocation)
2256
        local Distance = (Part.Position - ToLocation).magnitude
2257
        for i = 1, AmountOfTime do
2258
            Swait()
2259
            Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
2260
            Direction = Part.CFrame
2261
        end
2262
        Part:remove()
2263
    elseif DoesCourontine == true then
2264
        coroutine.resume(coroutine.create(function()
2265
            local Direction = CF(Part.Position,ToLocation)
2266
            local Distance = (Part.Position - ToLocation).magnitude
2267
            for i = 1, AmountOfTime do
2268
                Swait()
2269
                Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
2270
                Direction = Part.CFrame
2271
            end
2272
            Part:remove()
2273
        end))
2274
    end
2275
end
2276
2277
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
2278
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
2279
    wave.Color = COLOR
2280
    local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
2281
    wave.CFrame = CFRAME
2282
    coroutine.resume(coroutine.create(function(PART)
2283
        for i = 1, WAIT do
2284
            Swait()
2285
            mesh.Scale = mesh.Scale + GROW
2286
            wave.Transparency = wave.Transparency + (1/WAIT)
2287
            if wave.Transparency > 0.99 then
2288
                wave:remove()
2289
            end
2290
        end
2291
    end))
2292
end
2293
2294
function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
2295
    local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
2296
    wave.Color = COLOR
2297
    local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
2298
    wave.CFrame = CFRAME
2299
    coroutine.resume(coroutine.create(function(PART)
2300
        for i = 1, WAIT do
2301
            Swait()
2302
            mesh.Scale = mesh.Scale + GROW
2303
            mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
2304
            if DOESROT == true then
2305
                wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
2306
            end
2307
            wave.Transparency = wave.Transparency + (0.5/WAIT)
2308
            if wave.Transparency > 0.99 then
2309
                wave:remove()
2310
            end
2311
        end
2312
    end))
2313
end
2314
2315
function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
2316
    local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
2317
    local mesh = nil
2318
    if KIND == "Base" then
2319
        mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
2320
    elseif KIND == "Thin" then
2321
        mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
2322
    elseif KIND == "Round" then
2323
        mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
2324
    end
2325
    wave.CFrame = CFRAME
2326
    coroutine.resume(coroutine.create(function(PART)
2327
        for i = 1, WAIT do
2328
            Swait()
2329
            mesh.Scale = mesh.Scale + GROW/10
2330
            wave.Transparency = wave.Transparency + (0.5/WAIT)
2331
            if wave.Transparency > 0.99 then
2332
                wave:remove()
2333
            end
2334
        end
2335
    end))
2336
end
2337
2338
function killnearest(position,range,maxstrength)
2339
    for i,v in ipairs(workspace:GetChildren()) do
2340
    local body = v:GetChildren()
2341
        for part = 1, #body do
2342
            if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
2343
                if(body[part].Position - position).Magnitude < range then
2344
                    if v.ClassName == "Model" then
2345
                        v:BreakJoints()
2346
                    end
2347
                    --table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
2348
                    local bv = Instance.new("BodyVelocity")
2349
                    bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2350
                    bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
2351
                    bv.Parent = body[part]
2352
                    Debris:AddItem(bv,0.2)
2353
                end
2354
            end
2355
        end
2356
        if v.ClassName == "Part" then
2357
            if v.Anchored == false and (v.Position - position).Magnitude < range then
2358
                --table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
2359
                v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
2360
            end
2361
        end
2362
    end
2363
end
2364
2365
function Supernova()
2366
    local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 7 * Player_Size, Character)
2367
    if HITFLOOR ~= nil then
2368
        local HITBODIES = {}
2369
        ATTACK = true
2370
        Rooted = true
2371
        local ABSOLUTE = CreatePart(3, Effects, "Neon", 0, 1, "Relly red", "Star", VT(0,0,0))
2372
        MakeForm(ABSOLUTE,"Ball")
2373
        CreateSound("429459101", ABSOLUTE, 10, 1)
2374
        for i=0, 4, 0.1 / Animation_Speed do
2375
            Swait()
2376
            ABSOLUTE.Size = ABSOLUTE.Size + VT(0.2,0.2,0.2)
2377
            ABSOLUTE.CFrame = RootPart.CFrame*CF(0,5+(ABSOLUTE.Size.Y/2),0)
2378
            ABSOLUTE.Transparency = ABSOLUTE.Transparency - 0.01
2379
            local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, "Lime green", "Star", VT(1,1,1))
2380
            MakeForm(CHARGE,"Ball")
2381
            CHARGE.Color = C3(255,0,0)
2382
            CHARGE.CFrame = CF(RootPart.Position) * CF(MRANDOM(-15,15),-6,MRANDOM(-15,15))
2383
            FireArc(CHARGE,ABSOLUTE.Position,45,45,true)
2384
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2385
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2386
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2387
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2388
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2389
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2390
        end
2391
        CreateSound("907330103", Head, 10, 1.2)
2392
        for i = 1, 75 do
2393
            Swait()
2394
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2395
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2396
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2397
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2398
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2399
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2400
        end
2401
        coroutine.resume(coroutine.create(function()
2402
            for i = 1, 13 do
2403
                for e = 1, 8 do
2404
                    Swait()
2405
                    MagicSphere(VT(1,1,1),15,CF(ABSOLUTE.Position)*CF(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)),C3(255,0,0),VT(0,0,0))
2406
                    CreateSwirl(ABSOLUTE.Size/2,15,CF(HITPOS),true,15,BRICKC"Reakky red".Color,VT(i,0.3,i)*2)
2407
                end
2408
                for i = 1, 5 do
2409
                    Slice("Round",0,35,CF(ABSOLUTE.Position)*ANGLES(RAD(MRANDOM(-18,18)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-18,18))),C3(1,1,1),VT(i,0,i)/3)
2410
                    Slice("Thin",i,55,ABSOLUTE.CFrame * CF(0,-1.1,0) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),C3(255,0,0),VT(0,0,0))
2411
                end
2412
                CreateSwirl(ABSOLUTE.Size/2,25,CF(ABSOLUTE.Position),true,-25,BRICKC"Relly red".Color,VT(i,i*2,i))
2413
                CreateSwirl(ABSOLUTE.Size/2,55,CF(ABSOLUTE.Position),true,25,C3(255,0,0),VT(i,i*2,i))
2414
                CreateSound("168586621", ABSOLUTE, 4, 0.8)
2415
                CreateSound("201858144", ABSOLUTE, 10, 0.8)
2416
                killnearest(ABSOLUTE.Position,i*18,i)
2417
                ABSOLUTE.Size = ABSOLUTE.Size*0.9
2418
                MagicSphere(ABSOLUTE.Size,25,CF(ABSOLUTE.Position),BRICKC"Relly red".Color,VT(i,i,i)/1.1)
2419
                MagicSphere(ABSOLUTE.Size,45,CF(ABSOLUTE.Position),C3(255,0,0),VT(i,i,i))
2420
            end
2421
            ABSOLUTE.Transparency = 1
2422
            Debris:AddItem(ABSOLUTE,10)
2423
        end))
2424
        ATTACK = false
2425
        Rooted = false
2426
    end
2427
end
2428
 
2429
2430
local ENERGYSOUND = 1417051162
2431
local BEAMSOUND = 1417056781
2432
local EXPLOSIONSOUND = 1417056081
2433
local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Lime green", "BraceletPart", VT(1.01,0.3,1.01),false)
2434
2435
function Charge(TIME,GYRO)
2436
    local SND = CreateSound(ENERGYSOUND,Torso,6,TIME,false)
2437
    local G = nil
2438
    if GYRO == true then
2439
        G = IT("BodyGyro",RootPart)
2440
        G.D = 250
2441
        G.P = 200000
2442
        G.MaxTorque = VT(math.huge,math.huge,math.huge)
2443
    end
2444
    for i=0, TIME, 0.1 / Animation_Speed do
2445
        Swait()
2446
        if G then
2447
            G.cframe = CF(RootPart.Position,Mouse.Hit.p)
2448
        end
2449
        WACKYEFFECT({TIME = 25, EffectType = "Sphere", Size = VT(1.2,1.2,1.2), Size2 = VT(0,0,0), Transparency = 0.5, Transparency2 = 1, CFrame = BasePart.CFrame, MoveToPos = BasePart.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-4).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2450
        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)
2451
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2452
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2453
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2454
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2455
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2456
    end
2457
    SND:remove()
2458
    if G then
2459
        return G
2460
    end
2461
end
2462
2463
function Warp()
2464
	local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 100, Character)
2465
	if HITFLOOR then
2466
		CharacterFade(C3(0.5,0,0),50)
2467
		HITPOS = HITPOS + VT(0,3.5,0)
2468
		local POS = RootPart.Position
2469
		RootPart.CFrame = CF(HITPOS,CF(POS,HITPOS)*CF(0,0,-100000).p)
2470
		CreateSound(289556450,Torso,2,MRANDOM(8,13)/10,false)
2471
	end
2472
end
2473
2474
function Prison_Key()
2475
	if Mouse.Target ~= nil then
2476
		if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2477
			local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
2478
			local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
2479
			local GYRO = IT("BodyGyro",RootPart)
2480
			GYRO.D = 750
2481
			GYRO.P = 20000
2482
			GYRO.MaxTorque = VT(0,40000000,0)
2483
			local grav = Instance.new("BodyPosition",TORSO)
2484
			grav.D = 15
2485
			grav.P = 20000
2486
			grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
2487
			grav.position = TORSO.Position
2488
			local GYRO2 = IT("BodyGyro",TORSO)
2489
			GYRO2.D = 750
2490
			GYRO2.P = 20000
2491
			GYRO2.MaxTorque = VT(0,40000000,0)
2492
			GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
2493
			grav.Name = "Jail"
2494
			local LOCKPARTS = {}
2495
			ATTACK = true
2496
			Rooted = false
2497
			local LOCK = IT("Model",Effects)
2498
			LOCK.Name = "Lock"
2499
			local LOCK2 = IT("Model",LOCK)
2500
			LOCK2.Name = "Metal"
2501
			--CREATE LOCK--
2502
				local BASE = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 2.5, 1))
2503
				LOCK.PrimaryPart = BASE
2504
				BASE.CFrame = CF(TORSO.Position,RootPart.Position)*CF(0,0,-4)
2505
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 1, 3))
2506
				PRT.CFrame = BASE.CFrame*CF(0,-1.25,0)*ANGLES(RAD(90),RAD(0),RAD(0))
2507
				MakeForm(PRT,"Cyl")
2508
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(1, 1, 1))
2509
				PRT.Color = C3(0,0,0)
2510
				PRT.CFrame = BASE.CFrame*CF(0,0.3,-0.01)*ANGLES(RAD(90),RAD(0),RAD(0))
2511
				MakeForm(PRT,"Cyl")
2512
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(0.5, 1, 1))
2513
				PRT.Color = C3(0,0,0)
2514
				PRT.CFrame = BASE.CFrame*CF(0,-0.2,-0.01)
2515
				for i = 1, 45 do
2516
					local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
2517
					PRT.CFrame = BASE.CFrame*CF(0,2,0)*ANGLES(RAD(0),RAD(0),RAD(-90+(360/90*i)))*CF(0,1,0)
2518
				end
2519
				local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
2520
				PRT.CFrame = BASE.CFrame*CF(0,1.5,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0)
2521
				LOCK2.PrimaryPart = PRT
2522
			---------------
2523
			local CHILDREN = LOCK:GetDescendants()
2524
			for index, CHILD in pairs(CHILDREN) do
2525
				if CHILD:IsA("BasePart") then
2526
					CHILD.Transparency = 1
2527
				end
2528
			end
2529
			for i = 1, 75 do
2530
				LOCK:SetPrimaryPartCFrame(CF(TORSO.Position,RootPart.Position)*CF(0,0,-4))
2531
				Swait()
2532
				GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
2533
				GYRO.cframe = CF(RootPart.Position,TORSO.Position)
2534
				local CHILDREN = LOCK:GetDescendants()
2535
				for index, CHILD in pairs(CHILDREN) do
2536
					if CHILD:IsA("BasePart") then
2537
						CHILD.Transparency = CHILD.Transparency - 1/75
2538
					end
2539
				end
2540
			end
2541
			HUM.DisplayDistanceType = "None"
2542
			local KEY = IT("Model",Effects)
2543
			KEY.Name = "Key"
2544
			--CREATE KEY--
2545
				local KBASE = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "KeyBase", VT(0.1, 1, 0.1),false)
2546
				KEY.PrimaryPart = KBASE
2547
				KBASE.CFrame = RightArm.CFrame*CF(0,-2.1,0)*ANGLES(RAD(0),RAD(90),RAD(0))
2548
				local WLD = weldBetween(RightArm,KBASE)
2549
				for i = 1, 45 do
2550
					local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "Key", VT(0.1, 0.1, 0.1),false)
2551
					PRT.CFrame = KBASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD((360/45*i)))*CF(0,0.25,0)
2552
					weldBetween(KBASE,PRT)
2553
				end
2554
				local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "Key", VT(0.3, 0.1, 0.1),false)
2555
				PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.45,0)
2556
				weldBetween(KBASE,PRT)
2557
				local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "Key", VT(0.3, 0.1, 0.1),false)
2558
				PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.25,0)
2559
				weldBetween(KBASE,PRT)
2560
			--------------
2561
			Rooted = true
2562
			Pose("Prepare key",1.5,1.2,false,GYRO,TORSO)
2563
			coroutine.resume(coroutine.create(function()
2564
				for i = 1, 10 do
2565
					Swait()
2566
					GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
2567
					GYRO.cframe = CF(RootPart.Position,TORSO.Position)
2568
				end
2569
				CreateSound(1149318312,BASE,5,1,false)
2570
				CreateSound(160772554,BASE,3,1,false)
2571
				LOCK2:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0))
2572
				for i = 1, 4 do
2573
					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"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2574
				end
2575
				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"Really red".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
2576
				wait(1)
2577
				TORSO.Parent.Parent = LOCK
2578
				for i = 1, 75 do
2579
					Swait()
2580
					local CHILDREN = KEY:GetDescendants()
2581
					for index, CHILD in pairs(CHILDREN) do
2582
						if CHILD:IsA("BasePart") then
2583
							CHILD.Transparency = i/25
2584
						end
2585
					end
2586
					local CHILDREN = LOCK:GetDescendants()
2587
					for index, CHILD in pairs(CHILDREN) do
2588
						if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
2589
							CHILD.Transparency = CHILD.Transparency + 1/75
2590
						elseif CHILD.ClassName == "Decal" then
2591
							CHILD.Transparency = CHILD.Transparency + 1/75
2592
						end
2593
					end
2594
				end
2595
				TORSO.Parent:ClearAllChildren()
2596
				KEY:remove()
2597
				LOCK:remove()
2598
			end))
2599
			Pose("Turn key",0.8,1.2,false,GYRO,TORSO)
2600
			GYRO:remove()
2601
			ATTACK = false
2602
			Rooted = false
2603
		end
2604
	end
2605
end
2606
2607
function Lift()
2608
	if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2609
		local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
2610
		local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
2611
		if TORSO and HUM.Health > 0 then
2612
			ATTACK = true
2613
			Rooted = false
2614
			local GYRO = IT("BodyGyro",RootPart)
2615
			GYRO.D = 275
2616
			GYRO.P = 20000
2617
			GYRO.MaxTorque = VT(0,40000,0)
2618
			for i=0, 0.8, 0.1 / Animation_Speed do
2619
				Swait()
2620
				GYRO.cframe = CF(RootPart.Position,TORSO.Position)
2621
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2622
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2623
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2624
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2625
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2626
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2627
			end			
2628
			local MAGIC = ParticleEmitter({Speed = 5, Drag = 3, Size1 = 1.7, Size2 = 0, Lifetime1 = 1, Lifetime2 = 3, Parent = TORSO, Emit = 100, Offset = 360, Enabled = true})
2629
			MAGIC.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(1,0)})
2630
			local grav = Instance.new("BodyPosition",TORSO)
2631
			grav.D = 1500
2632
			grav.P = 20000
2633
			grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
2634
			grav.position = TORSO.Position+VT(0,15,0)
2635
			Debris:AddItem(grav,10)
2636
			Debris:AddItem(MAGIC,10)
2637
			CreateSound(902204346, Torso, 7, 1, false)
2638
			CreateSound(902204346, TORSO, 7, 1, false)
2639
			for i=0, 1, 0.1 / Animation_Speed do
2640
				Swait()
2641
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
2642
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2643
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(125), RAD(-45), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2644
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(125), RAD(45), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2645
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2646
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2647
			end
2648
			GYRO:remove()
2649
			ATTACK = false
2650
			Rooted = false
2651
		end
2652
	end
2653
end
2654
2655
function TAUNT1()
2656
	ATTACK = true
2657
	Rooted = false
2658
	CreateSound(865772398, Torso, 6, 1, false)
2659
	for i=0, 0.1, 0.1 / Animation_Speed do
2660
		Swait()
2661
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2662
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2663
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2664
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2665
	end
2666
	for i=0, 1, 0.1 / Animation_Speed do
2667
		Swait()
2668
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2669
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2670
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2671
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -0.4) * ANGLES(RAD(-25-3 * COS(SINE / 6)), RAD(25), RAD(90)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2672
	end
2673
	for i=0, 1, 0.1 / Animation_Speed do
2674
		Swait()
2675
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2676
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2677
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2678
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25-3 * COS(SINE / 6)), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(90), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2679
	end
2680
	ATTACK = false
2681
	Rooted = false
2682
end
2683
2684
function TAUNT2()
2685
	ATTACK = true
2686
	Rooted = false
2687
	for i=0, 1, 0.1 / Animation_Speed do
2688
		Swait()
2689
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2690
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2691
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2692
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-45), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2693
	end
2694
	ATTACK = false
2695
	Rooted = false
2696
end
2697
2698
function EMOTE()
2699
	ATTACK = true
2700
	Rooted = false
2701
	local LOOP = 0
2702
	for i=0, 0.1, 0.1 / Animation_Speed do
2703
		Swait()
2704
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2705
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2706
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2707
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2708
	end
2709
	for i=0, 3, 0.1 / Animation_Speed do
2710
		Swait()
2711
		LOOP = LOOP + 1
2712
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2713
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2714
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2715
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.8, 0.4) * ANGLES(RAD(170), RAD(0), RAD(-25 - 25 * SIN(LOOP / 5))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2716
	end
2717
	for i=0, 0.1, 0.1 / Animation_Speed do
2718
		Swait()
2719
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2720
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
2721
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2722
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2723
	end
2724
	ATTACK = false
2725
	Rooted = false
2726
end
2727
2728
function Banisher_Bullet()
2729
   ATTACK = true
2730
    Rooted = false
2731
    for i=0, 0.01, 0.1 / Animation_Speed do
2732
        Swait()
2733
        turnto(Mouse.Hit.p)
2734
            RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
2735
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15), RAD(0)), 0.15 / Animation_Speed)
2736
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(83), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2737
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2738
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2739
            --LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2740
    end
2741
    repeat
2742
        for i=0, 0.01, 0.1 / Animation_Speed do
2743
            Swait()
2744
            turnto(Mouse.Hit.p)
2745
            RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
2746
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15), RAD(0)), 0.15 / Animation_Speed)
2747
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(83), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2748
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2749
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2750
            --LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2751
        end
2752
            local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
2753
        SpawnTrail(Hole.Position,POS)
2754
        WACKYEFFECT({Time = 25, EffectType = "Ring", 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,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2755
        WACKYEFFECT({Time = 25, EffectType = "Ring", 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,1), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2756
        WACKYEFFECT({Time = 25, EffectType = "Ring", 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})
2757
        WACKYEFFECT({Time = 25, EffectType = "Ring", 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})
2758
        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})
2759
        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})
2760
        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})
2761
        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})
2762
        if HIT ~= nil then
2763
            if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
2764
                Banish(HIT.Parent)
2765
            end
2766
        end
2767
       
2768
        for i=0, 0.01, 0.1 / Animation_Speed do
2769
            Swait()
2770
            RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
2771
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15), RAD(0)), 0.15 / Animation_Speed)
2772
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2773
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2774
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2775
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2776
        end
2777
    until KEYHOLD == false
2778
    ATTACK = false
2779
    Rooted = false
2780
end
2781
2782
function AttackTemplate()
2783
	ATTACK = true
2784
	Rooted = false
2785
	for i=0, 1, 0.1 / Animation_Speed do
2786
		Swait()
2787
		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)
2788
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2789
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2790
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2791
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2792
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2793
	end
2794
	ATTACK = false
2795
	Rooted = false
2796
end
2797
2798
--//=================================\\
2799
--||	  ASSIGN THINGS TO KEYS
2800
--\\=================================//
2801
2802
function MouseDown(Mouse)
2803
	HOLD = true
2804
	if ATTACK == false then
2805
	end
2806
end
2807
2808
function MouseUp(Mouse)
2809
HOLD = false
2810
end
2811
2812
function KeyDown(Key)
2813
	KEYHOLD = true
2814
	if Key == "z" and ATTACK == false then
2815
		Banisher_Bullet()
2816
	end
2817
2818
	if Key == "b" and ATTACK == false then
2819
	end
2820
2821
	if Key == "t" and ATTACK == false then
2822
		TAUNT1()
2823
	end
2824
2825
	if Key == "q" and ATTACK == false then
2826
		Lift()
2827
	end
2828
	
2829
	if Key == "e" and ATTACK == false then
2830
		Warp()
2831
	end
2832
	
2833
	if Key == "r" and ATTACK == false then
2834
		Supernova()
2835
	end
2836
	
2837
	if Key == "x" and ATTACK == false then
2838
		Prison_Key()
2839
	end
2840
2841
	if Key == "c" and ATTACK == false then
2842
	end
2843
2844
	if Key == "v" and ATTACK == false then
2845
	end
2846
2847
	if Key == "x" and ATTACK == false then
2848
	end
2849
end
2850
2851
function KeyUp(Key)
2852
	KEYHOLD = false
2853
end
2854
2855
	Mouse.Button1Down:connect(function(NEWKEY)
2856
		MouseDown(NEWKEY)
2857
	end)
2858
	Mouse.Button1Up:connect(function(NEWKEY)
2859
		MouseUp(NEWKEY)
2860
	end)
2861
	Mouse.KeyDown:connect(function(NEWKEY)
2862
		KeyDown(NEWKEY)
2863
	end)
2864
	Mouse.KeyUp:connect(function(NEWKEY)
2865
		KeyUp(NEWKEY)
2866
	end)
2867
2868
--//=================================\\
2869
--\\=================================//
2870
2871
2872
function unanchor()
2873
	if UNANCHOR == true then
2874
		g = Character:GetChildren()
2875
		for i = 1, #g do
2876
			if g[i].ClassName == "Part" then
2877
				g[i].Anchored = false
2878
			end
2879
		end
2880
	end
2881
end
2882
2883
2884
--//=================================\\
2885
--||	WRAP THE WHOLE SCRIPT UP
2886
--\\=================================//
2887
2888
Humanoid.Changed:connect(function(Jump)
2889
    if Jump == "Jump" and (Disable_Jump == true) then
2890
        Humanoid.Jump = false
2891
    end
2892
end)
2893
 
2894
while true do
2895
    Swait()
2896
    Humanoid.HipHeight = 1.5
2897
    script.Parent = WEAPONGUI
2898
    ANIMATE.Parent = nil
2899
    if Humanoid then
2900
        local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
2901
        IDLEANIMATION:Play()
2902
    end
2903
    SINE = SINE + CHANGE
2904
    local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
2905
    local TORSOVERTICALVELOCITY = RootPart.Velocity.y
2906
    local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
2907
    if ATTACK == false then
2908
        if TORSOVELOCITY < 1 then
2909
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
2910
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 1 / Animation_Speed)
2911
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(110), RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(35 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2912
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(140 - 12 * SIN(SINE / 12)), RAD(15 + 2.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2913
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2914
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2915
        elseif TORSOVELOCITY > 1 then
2916
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
2917
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 1 / Animation_Speed)
2918
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(110), RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(35 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2919
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(140 - 12 * SIN(SINE / 12)), RAD(15 + 2.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2920
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2921
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2922
        end
2923
    end
2924
    RightArmGrasp.C0 = Clerp(RightArmGrasp.C0, CF(0, -0.815+0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(90-4.5 * SIN(SINE / 12)), RAD(-1.5 * SIN(SINE / 12)), RAD(0)), 1 / Animation_Speed)
2925
    unanchor()
2926
    Humanoid.MaxHealth = "inf"
2927
    Humanoid.Health = "inf"
2928
    if Rooted == false then
2929
        Disable_Jump = false
2930
        Humanoid.WalkSpeed = Speed
2931
    elseif Rooted == true then
2932
        Disable_Jump = true
2933
        Humanoid.WalkSpeed = 0
2934
    end
2935
        for _, c in pairs(Character:GetDescendants()) do
2936
        if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
2937
            c.Material = "Neon"
2938
            c.Color = C3(1,1,1)
2939
            if c:FindFirstChildOfClass("SpecialMesh") then
2940
                c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
2941
            end
2942
            if c == Head then
2943
                if c:FindFirstChild("face") then
2944
                    c.face:remove()
2945
                end
2946
            end
2947
        elseif c.ClassName == "Part" and c.Name == "Eye" then
2948
            c.Color = C3(1,0,0)
2949
            c.Material = "Neon"
2950
        elseif c.ClassName == "CharacterMesh" or c.Name == "Body Colors" then
2951
            c:remove()
2952
        elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
2953
            c:remove()
2954
        end
2955
    end
2956
    refit()
2957
    Humanoid.Name = "Deadeyes"
2958
    sick.Parent = Torso
2959
    sick:resume()
2960
    sick.Volume = 5
2961
    sick.Pitch = 1
2962
    sick.SoundId = "rbxassetid://356064698"
2963
    if Head:FindFirstChildOfClass("Sound") then
2964
        Head:FindFirstChildOfClass("Sound"):remove()
2965
    end
2966
end
2967
2968
--//=================================\\
2969
--\\=================================//
2970
2971
2972
2973
2974
2975
--//====================================================\\--
2976
--||			  		 END OF SCRIPT
2977
--\\====================================================//--