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