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