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