View difference between Paste ID: FinvYDKS and 6Ggb348u
SHOW: | | - or go back to the newest paste.
1-
---//The Ruler Of Space And Time
1+
 if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use r/ and not rl/") end
2-
---||Roblox Edit
2+
local Player,game,owner = owner,game
3-
---\\Edited By Leo
3+
local RealPlayer = Player
4
do
5
    print("FE Compatibility code by Mokiros")
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
 
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
local Player = game.Players.localPlayer
145
local Character = Player.Character
146
local Humanoid = Character.Humanoid
147
local Mouse = Player:GetMouse()
148
local LeftArm = Character["Left Arm"]
149
local RightArm = Character["Right Arm"]
150
local LeftLeg = Character["Left Leg"]
151
local RightLeg = Character["Right Leg"]
152
local Head = Character.Head
153
local Torso = Character.Torso
154
local Camera = game.Workspace.CurrentCamera
155
local RootPart = Character.HumanoidRootPart
156
local RootJoint = RootPart.RootJoint
157
local attack = false
158
local Anim = 'Idle'
159
local Lighty = game:GetService"Lighting"
160
local attacktype = 1
161
local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
162
local velocity = RootPart.Velocity.y
163
local sine = 0
164
local change = 1
165
local bored = {492070484,1232162751,1534958855,303535614,1117396305,0}
166
local Create = LoadLibrary("RbxUtility").Create
167
function swait(num)
168
	if num == 0 or num == nil then
169
		ArtificialHB.Event:wait()
170
	else
171
		for i = 0, num do
172
			ArtificialHB.Event:wait()
173
		end
174
	end
175
end
176
177
wait(0.2)
178
179
Player = game:GetService("Players").LocalPlayer
180
PlayerGui = Player.PlayerGui
181
Cam = workspace.CurrentCamera
182
Backpack = Player.Backpack
183
Character = Player.Character
184
Humanoid = Character.Humanoid
185
Mouse = Player:GetMouse()
186
RootPart = Character["HumanoidRootPart"]
187
Torso = Character["Torso"]
188
Head = Character["Head"]
189
RightArm = Character["Right Arm"]
190
LeftArm = Character["Left Arm"]
191
RightLeg = Character["Right Leg"]
192
LeftLeg = Character["Left Leg"]
193
RootJoint = RootPart["RootJoint"]
194
Neck = Torso["Neck"]
195
RightShoulder = Torso["Right Shoulder"]
196
LeftShoulder = Torso["Left Shoulder"]
197
RightHip = Torso["Right Hip"]
198
LeftHip = Torso["Left Hip"]
199
Character.Archivable = true
200
Player:ClearCharacterAppearance()
201
202
IT = Instance.new
203
CF = CFrame.new
204
VT = Vector3.new
205
RAD = math.rad
206
C3 = Color3.new
207
UD2 = UDim2.new
208
BRICKC = BrickColor.new
209
ANGLES = CFrame.Angles
210
EULER = CFrame.fromEulerAnglesXYZ
211
COS = math.cos
212
ACOS = math.acos
213
SIN = math.sin
214
ASIN = math.asin
215
ABS = math.abs
216
MRANDOM = math.random
217
FLOOR = math.floor
218
local CHOICE = MRANDOM(1,5)
219
--//=================================\\
220
--|| 	      USEFUL VALUES
221
--\\=================================//
222
223
Animation_Speed = 3
224
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
225
local Speed = 20
226
local SIZE = 1
227
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
228
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
229
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
230
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
231
local DAMAGEMULTIPLIER = "inf"
232
local ANIM = "Idle"
233
local ATTACK = false
234
local EQUIPPED = false
235
local HOLD = false
236
local COMBO = 1
237
local Rooted = false
238
local SINE = 0
239
local KEYHOLD = false
240
local CHANGE = 2 / Animation_Speed
241
local WALKINGANIM = false
242
local VALUE1 = false
243
local VALUE2 = false
244
local ROBLOXIDLEANIMATION = IT("Animation")
245
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
246
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
247
local ATANIM = IT("Animation")
248
ATANIM.Name = "Attack Animation"
249
ATANIM.AnimationId = "http://www.roblox.com/asset/?id=74894663"
250
--ROBLOXIDLEANIMATION.Parent = Humanoid
251
local WEAPONGUI = IT("ScreenGui", PlayerGui)
252
WEAPONGUI.Name = "Weapon GUI"
253
local Weapon = IT("Model")
254
Weapon.Name = "Adds"
255
local Effects = IT("Folder", Weapon)
256
Effects.Name = "Effects"
257
local ANIMATOR = Humanoid.Animator
258
local ANIMATE = Character.Animate
259
local UNANCHOR = true
260
local CLOCKLOOP = 0
261
local SONG = 492070484
262
local CLOCKTARGET = nil
263
local CLOCKSPEED = 4
264
script.Parent = WEAPONGUI
265
local CLONE = Character:Clone()
266
CLONE.Parent = nil
267
Character.Archivable = false
268
local sick = Instance.new("Sound",Torso)
269
sick.Volume = 50999
270
local LAUGHS = {834001699,834001752,834001797,834001828}
271
local SONGS = {534861083,530959353,1534958855,0}
272
local CHOICE = MRANDOM(1,4)
273
local TOBANISH = {}
274
local EXTRATRANS = 0
275
local Effects2 = {}
276
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
277
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
278
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
279
local HITBLOCKSOUNDS = {"199148933", "199148947"}
280
281
--//=================================\\
282
--\\=================================//
283
284
285
--//=================================\\
286
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
287
--\\=================================//
288
289
ArtificialHB = Instance.new("BindableEvent", script)
290
ArtificialHB.Name = "ArtificialHB"
291
292
script:WaitForChild("ArtificialHB")
293
294
frame = Frame_Speed
295
tf = 0
296
allowframeloss = false
297
tossremainder = false
298
lastframe = tick()
299
script.ArtificialHB:Fire()
300
301
game:GetService("RunService").Heartbeat:connect(function(s, p)
302
	tf = tf + s
303
	if tf >= frame then
304
		if allowframeloss then
305
			script.ArtificialHB:Fire()
306
			lastframe = tick()
307
		else
308
			for i = 1, math.floor(tf / frame) do
309
				script.ArtificialHB:Fire()
310
			end
311
		lastframe = tick()
312
		end
313
		if tossremainder then
314
			tf = 0
315
		else
316
			tf = tf - frame * math.floor(tf / frame)
317
		end
318
	end
319
end)
320
321
--//=================================\\
322
--\\=================================//
323
324
--//=================================\\
325
--|| 	      SOME FUNCTIONS
326
--\\=================================//
327
328
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
329
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
330
end
331
332
function PositiveAngle(NUMBER)
333
	if NUMBER >= 0 then
334
		NUMBER = 0
335
	end
336
	return NUMBER
337
end
338
339
function NegativeAngle(NUMBER)
340
	if NUMBER <= 0 then
341
		NUMBER = 0
342
	end
343
	return NUMBER
344
end
345
346
function Swait(NUMBER)
347
	if NUMBER == 0 or NUMBER == nil then
348
		ArtificialHB.Event:wait()
349
	else
350
		for i = 1, NUMBER do
351
			ArtificialHB.Event:wait()
352
		end
353
	end
354
end
355
356
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
357
	local NEWMESH = IT(MESH)
358
	if MESH == "SpecialMesh" then
359
		NEWMESH.MeshType = MESHTYPE
360
		if MESHID ~= "nil" and MESHID ~= "" then
361
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
362
		end
363
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
364
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
365
		end
366
	end
367
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
368
	NEWMESH.Scale = SCALE
369
	NEWMESH.Parent = PARENT
370
	return NEWMESH
371
end
372
373
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
374
	local NEWPART = IT("Part")
375
	NEWPART.formFactor = FORMFACTOR
376
	NEWPART.Reflectance = REFLECTANCE
377
	NEWPART.Transparency = TRANSPARENCY
378
	NEWPART.CanCollide = false
379
	NEWPART.Locked = true
380
	NEWPART.Anchored = true
381
	if ANCHOR == false then
382
		NEWPART.Anchored = false
383
	end
384
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
385
	NEWPART.Name = NAME
386
	NEWPART.Size = SIZE
387
	NEWPART.Position = Torso.Position
388
	NEWPART.Material = MATERIAL
389
	NEWPART:BreakJoints()
390
	NEWPART.Parent = PARENT
391
	return NEWPART
392
end
393
394
	local function weldBetween(a, b)
395
	    local weldd = Instance.new("ManualWeld")
396
	    weldd.Part0 = a
397
	    weldd.Part1 = b
398
	    weldd.C0 = CFrame.new()
399
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
400
	    weldd.Parent = a
401
	    return weldd
402
	end
403
404
405
function QuaternionFromCFrame(cf)
406
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
407
	local trace = m00 + m11 + m22
408
	if trace > 0 then 
409
		local s = math.sqrt(1 + trace)
410
		local recip = 0.5 / s
411
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
412
	else
413
		local i = 0
414
		if m11 > m00 then
415
			i = 1
416
		end
417
		if m22 > (i == 0 and m00 or m11) then
418
			i = 2
419
		end
420
		if i == 0 then
421
			local s = math.sqrt(m00 - m11 - m22 + 1)
422
			local recip = 0.5 / s
423
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
424
		elseif i == 1 then
425
			local s = math.sqrt(m11 - m22 - m00 + 1)
426
			local recip = 0.5 / s
427
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
428
		elseif i == 2 then
429
			local s = math.sqrt(m22 - m00 - m11 + 1)
430
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
431
		end
432
	end
433
end
434
 
435
function QuaternionToCFrame(px, py, pz, x, y, z, w)
436
	local xs, ys, zs = x + x, y + y, z + z
437
	local wx, wy, wz = w * xs, w * ys, w * zs
438
	local xx = x * xs
439
	local xy = x * ys
440
	local xz = x * zs
441
	local yy = y * ys
442
	local yz = y * zs
443
	local zz = z * zs
444
	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))
445
end
446
 
447
function QuaternionSlerp(a, b, t)
448
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
449
	local startInterp, finishInterp;
450
	if cosTheta >= 0.0001 then
451
		if (1 - cosTheta) > 0.0001 then
452
			local theta = ACOS(cosTheta)
453
			local invSinTheta = 1 / SIN(theta)
454
			startInterp = SIN((1 - t) * theta) * invSinTheta
455
			finishInterp = SIN(t * theta) * invSinTheta
456
		else
457
			startInterp = 1 - t
458
			finishInterp = t
459
		end
460
	else
461
		if (1 + cosTheta) > 0.0001 then
462
			local theta = ACOS(-cosTheta)
463
			local invSinTheta = 1 / SIN(theta)
464
			startInterp = SIN((t - 1) * theta) * invSinTheta
465
			finishInterp = SIN(t * theta) * invSinTheta
466
		else
467
			startInterp = t - 1
468
			finishInterp = t
469
		end
470
	end
471
	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
472
end
473
474
function Clerp(a, b, t)
475
	local qa = {QuaternionFromCFrame(a)}
476
	local qb = {QuaternionFromCFrame(b)}
477
	local ax, ay, az = a.x, a.y, a.z
478
	local bx, by, bz = b.x, b.y, b.z
479
	local _t = 1 - t
480
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
481
end
482
483
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
484
	local frame = IT("Frame")
485
	frame.BackgroundTransparency = TRANSPARENCY
486
	frame.BorderSizePixel = BORDERSIZEPIXEL
487
	frame.Position = POSITION
488
	frame.Size = SIZE
489
	frame.BackgroundColor3 = COLOR
490
	frame.BorderColor3 = BORDERCOLOR
491
	frame.Name = NAME
492
	frame.Parent = PARENT
493
	return frame
494
end
495
496
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
497
	local label = IT("TextLabel")
498
	label.BackgroundTransparency = 1
499
	label.Size = UD2(1, 0, 1, 0)
500
	label.Position = UD2(0, 0, 0, 0)
501
	label.TextColor3 = TEXTCOLOR
502
	label.TextStrokeTransparency = STROKETRANSPARENCY
503
	label.TextTransparency = TRANSPARENCY
504
	label.FontSize = TEXTFONTSIZE
505
	label.Font = TEXTFONT
506
	label.BorderSizePixel = BORDERSIZEPIXEL
507
	label.TextScaled = false
508
	label.Text = TEXT
509
	label.Name = NAME
510
	label.Parent = PARENT
511
	return label
512
end
513
514
function NoOutlines(PART)
515
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
516
end
517
518
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
519
	local NEWWELD = IT(TYPE)
520
	NEWWELD.Part0 = PART0
521
	NEWWELD.Part1 = PART1
522
	NEWWELD.C0 = C0
523
	NEWWELD.C1 = C1
524
	NEWWELD.Parent = PARENT
525
	return NEWWELD
526
end
527
528
local S = IT("Sound")
529
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
530
	local NEWSOUND = nil
531
	coroutine.resume(coroutine.create(function()
532
		NEWSOUND = S:Clone()
533
		NEWSOUND.Parent = PARENT
534
		NEWSOUND.Volume = VOLUME
535
		NEWSOUND.Pitch = PITCH
536
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
537
		NEWSOUND:play()
538
		if DOESLOOP == true then
539
			NEWSOUND.Looped = true
540
		else
541
			local REPOSITION = NEWSOUND.AncestryChanged:Connect(function()
542
				NEWSOUND.Parent = PARENT
543
			end)
544
			repeat wait(1) until NEWSOUND.Playing == false
545
			REPOSITION:disconnect()
546
			NEWSOUND:remove()
547
		end
548
	end))
549
	return NEWSOUND
550
end
551
552
function CFrameFromTopBack(at, top, back)
553
	local right = top:Cross(back)
554
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
555
end
556
557
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
558
function WACKYEFFECT(Table)
559
	local TYPE = (Table.EffectType or "Sphere")
560
	local SIZE = (Table.Size or VT(1,1,1))
561
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
562
	local TRANSPARENCY = (Table.Transparency or 0)
563
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
564
	local CFRAME = (Table.CFrame or Torso.CFrame)
565
	local MOVEDIRECTION = (Table.MoveToPos or nil)
566
	local ROTATION1 = (Table.RotationX or 0)
567
	local ROTATION2 = (Table.RotationY or 0)
568
	local ROTATION3 = (Table.RotationZ or 0)
569
	local MATERIAL = (Table.Material or "Neon")
570
	local COLOR = (Table.Color or C3(1,1,1))
571
	local TIME = (Table.Time or 45)
572
	local SOUNDID = (Table.SoundID or nil)
573
	local SOUNDPITCH = (Table.SoundPitch or nil)
574
	local SOUNDVOLUME = (Table.SoundVolume or nil)
575
	coroutine.resume(coroutine.create(function()
576
		local PLAYSSOUND = false
577
		local SOUND = nil
578
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
579
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
580
			PLAYSSOUND = true
581
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
582
		end
583
		EFFECT.Color = COLOR
584
		local MSH = nil
585
		if TYPE == "Sphere" then
586
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
587
		elseif TYPE == "Block" then
588
			MSH = IT("BlockMesh",EFFECT)
589
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
590
		elseif TYPE == "Wave" then
591
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
592
		elseif TYPE == "Ring" then
593
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
594
		elseif TYPE == "Slash" then
595
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
596
		elseif TYPE == "Round Slash" then
597
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
598
		elseif TYPE == "Swirl" then
599
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
600
		elseif TYPE == "Skull" then
601
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
602
		elseif TYPE == "Crystal" then
603
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
604
		end
605
		if MSH ~= nil then
606
			local MOVESPEED = nil
607
			if MOVEDIRECTION ~= nil then
608
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
609
			end
610
			local GROWTH = SIZE - ENDSIZE
611
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
612
			if TYPE == "Block" then
613
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
614
			else
615
				EFFECT.CFrame = CFRAME
616
			end
617
			for LOOP = 1, TIME+1 do
618
				Swait()
619
				MSH.Scale = MSH.Scale - GROWTH/TIME
620
				if TYPE == "Wave" then
621
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
622
				end
623
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
624
				if TYPE == "Block" then
625
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
626
				else
627
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
628
				end
629
				if MOVEDIRECTION ~= nil then
630
					local ORI = EFFECT.Orientation
631
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
632
					EFFECT.Orientation = ORI
633
				end
634
			end
635
			EFFECT.Transparency = 1
636
			if PLAYSSOUND == false then
637
				EFFECT:remove()
638
			else
639
				repeat Swait() until SOUND.Playing == false
640
				EFFECT:remove()
641
			end
642
		else
643
			if PLAYSSOUND == false then
644
				EFFECT:remove()
645
			else
646
				repeat Swait() until SOUND.Playing == false
647
				EFFECT:remove()
648
			end
649
		end
650
	end))
651
end
652
653
function Shatter(Part)
654
	if Part.Transparency < 1 then
655
		local SOUNDPART = CreatePart(3, Effects, "Glass", 0, Part.Transparency + 0.1, Part.BrickColor, "OOF", VT(0,0,0))
656
		Debris:AddItem(SOUNDPART,5)
657
		CreateSound("626807593", SOUNDPART, 3, MRANDOM(8,12)/10, false)
658
		local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
659
		local SIZESET = SIZE/4
660
		local XOffset = Part.Size.X*1.5/SIZESET
661
		local YOffset = Part.Size.Y*1.5/SIZESET
662
		local ZOffset = Part.Size.Z*1.5/SIZESET
663
		for x = 1, math.ceil(XOffset) do
664
			for y = 1, math.ceil(YOffset) do
665
				for z = 1, math.ceil(ZOffset) do
666
					local SHARD = CreatePart(3, Effects, "Glass", 0, 0.15, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
667
					SHARD.CanCollide = true
668
					SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-Part.Size.X/4),(Part.Size.Y/2-Part.Size.Y/4),(Part.Size.Z/2-Part.Size.Z/4))
669
					SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
670
					Debris:AddItem(SHARD,MRANDOM(10,25)/10)
671
					for _, c in pairs(Part:GetChildren()) do
672
						if c.ClassName == "ParticleEmitter" or c.ClassName == "PointLight" or c.ClassName == "Fire" then
673
							c:Clone().Parent = SHARD
674
						end
675
					end
676
				end
677
			end
678
		end
679
	end
680
	Part:remove()
681
end
682
683
--Lightning({Material = "Neon", FadeIn = false, 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, FadeTime = 15, Thicken = false})
684
function Lightning(Table)
685
	local Color = Table.Color or C3(1,1,1)
686
	local StartPos = Table.Start or Torso.Position
687
	local EndPos = Table.End or Mouse.Hit.p
688
	local SegmentLength = Table.SegmentL or 2
689
	local Thickness = Table.Thickness or 0.1
690
	local Dissapear = Table.DoesFade or false
691
	local Parent = Table.Ignore or Character
692
	local MaxDist = Table.MaxDist or 400
693
	local Branches = Table.Branches or false
694
	local Thicken = Table.Thicken or false
695
	local FadeTime = Table.FadeTime or 15
696
	local FadeIn = Table.FadeIn or false
697
	local Material = Table.Material or "Neon"
698
	local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
699
	local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/((SegmentLength/SegmentLength)/1.5))
700
	local LIGHTNINGMODEL = IT("Model",Effects)
701
	LIGHTNINGMODEL.Name = "Lightning"
702
	local LastBolt = nil
703
	for E = 1, DISTANCE do
704
		local ExtraSize = 0
705
		if Thicken == true then
706
			ExtraSize = (DISTANCE-E)/15
707
		end
708
		local TRANSPARENCY = 0
709
		if FadeIn == true then
710
			TRANSPARENCY = 1-(E/(DISTANCE/1.5))
711
			if TRANSPARENCY < 0 then
712
				TRANSPARENCY = 0
713
			end
714
		end
715
		local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
716
		PART.Color = Color
717
		MakeForm(PART,"Cyl")
718
		if LastBolt == nil then
719
			PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
720
		else
721
			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,DISTANCE-E).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
722
		end
723
		LastBolt = PART
724
		if Branches == true and E < (DISTANCE-5) then
725
			local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
726
			if CHOICE == 1 then
727
				local LASTBRANCH = nil
728
				for i = 1, MRANDOM(2,5) do
729
					local ExtraSize2 = 0
730
					if Thicken == true then
731
						ExtraSize = ((DISTANCE-E)/25)/i
732
					end
733
					local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
734
					PART.Color = Color
735
					MakeForm(PART,"Cyl")
736
					if LASTBRANCH == nil then
737
						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)
738
					else
739
						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)
740
					end
741
					LASTBRANCH = PART
742
				end
743
			end
744
		end
745
	end
746
	if Dissapear == true then
747
		coroutine.resume(coroutine.create(function()
748
			for i = 1, FadeTime do
749
				Swait()
750
				for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
751
					if c.ClassName == "Part" then
752
						c.Transparency = c.Transparency + (i/FadeTime)/10
753
					end
754
				end
755
			end
756
			LIGHTNINGMODEL:remove()
757
		end))
758
	elseif Dissapear == false then
759
		Debris:AddItem(LIGHTNINGMODEL,0.1)
760
	end
761
	return {Hit = HIT,Pos = HITPOS,End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
762
end
763
764
function MakeForm(PART,TYPE)
765
	if TYPE == "Cyl" then
766
		local MSH = IT("CylinderMesh",PART)
767
	elseif TYPE == "Ball" then
768
		local MSH = IT("SpecialMesh",PART)
769
		MSH.MeshType = "Sphere"
770
	elseif TYPE == "Wedge" then
771
		local MSH = IT("SpecialMesh",PART)
772
		MSH.MeshType = "Wedge"
773
	end
774
end
775
776
Debris = game:GetService("Debris")
777
778
function CastProperRay(StartPos, EndPos, Distance, Ignore)
779
	local DIRECTION = CF(StartPos,EndPos).lookVector
780
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
781
end
782
783
function turnto(position)
784
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
785
end
786
787
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
788
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
789
end
790
791
function PositiveAngle(NUMBER)
792
	if NUMBER >= 0 then
793
		NUMBER = 0
794
	end
795
	return NUMBER
796
end
797
798
function NegativeAngle(NUMBER)
799
	if NUMBER <= 0 then
800
		NUMBER = 0
801
	end
802
	return NUMBER
803
end
804
805
function Swait(NUMBER)
806
	if NUMBER == 0 or NUMBER == nil then
807
		ArtificialHB.Event:wait()
808
	else
809
		for i = 1, NUMBER do
810
			ArtificialHB.Event:wait()
811
		end
812
	end
813
end
814
815
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
816
	local NEWMESH = IT(MESH)
817
	if MESH == "SpecialMesh" then
818
		NEWMESH.MeshType = MESHTYPE
819
		if MESHID ~= "nil" and MESHID ~= "" then
820
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
821
		end
822
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
823
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
824
		end
825
	end
826
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
827
	NEWMESH.Scale = SCALE
828
	NEWMESH.Parent = PARENT
829
	return NEWMESH
830
end
831
832
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
833
	local NEWPART = IT("Part")
834
	NEWPART.formFactor = FORMFACTOR
835
	NEWPART.Reflectance = REFLECTANCE
836
	NEWPART.Transparency = TRANSPARENCY
837
	NEWPART.CanCollide = false
838
	NEWPART.Locked = true
839
	NEWPART.Anchored = true
840
	if ANCHOR == false then
841
		NEWPART.Anchored = false
842
	end
843
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
844
	NEWPART.Name = NAME
845
	NEWPART.Size = SIZE
846
	NEWPART.Position = Torso.Position
847
	NEWPART.Material = MATERIAL
848
	NEWPART:BreakJoints()
849
	NEWPART.Parent = PARENT
850
	return NEWPART
851
end
852
853
	local function weldBetween(a, b)
854
	    local weldd = Instance.new("ManualWeld")
855
	    weldd.Part0 = a
856
	    weldd.Part1 = b
857
	    weldd.C0 = CFrame.new()
858
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
859
	    weldd.Parent = a
860
	    return weldd
861
	end
862
863
864
function QuaternionFromCFrame(cf)
865
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
866
	local trace = m00 + m11 + m22
867
	if trace > 0 then 
868
		local s = math.sqrt(1 + trace)
869
		local recip = 0.5 / s
870
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
871
	else
872
		local i = 0
873
		if m11 > m00 then
874
			i = 1
875
		end
876
		if m22 > (i == 0 and m00 or m11) then
877
			i = 2
878
		end
879
		if i == 0 then
880
			local s = math.sqrt(m00 - m11 - m22 + 1)
881
			local recip = 0.5 / s
882
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
883
		elseif i == 1 then
884
			local s = math.sqrt(m11 - m22 - m00 + 1)
885
			local recip = 0.5 / s
886
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
887
		elseif i == 2 then
888
			local s = math.sqrt(m22 - m00 - m11 + 1)
889
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
890
		end
891
	end
892
end
893
 
894
function QuaternionToCFrame(px, py, pz, x, y, z, w)
895
	local xs, ys, zs = x + x, y + y, z + z
896
	local wx, wy, wz = w * xs, w * ys, w * zs
897
	local xx = x * xs
898
	local xy = x * ys
899
	local xz = x * zs
900
	local yy = y * ys
901
	local yz = y * zs
902
	local zz = z * zs
903
	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))
904
end
905
 
906
function QuaternionSlerp(a, b, t)
907
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
908
	local startInterp, finishInterp;
909
	if cosTheta >= 0.0001 then
910
		if (1 - cosTheta) > 0.0001 then
911
			local theta = ACOS(cosTheta)
912
			local invSinTheta = 1 / SIN(theta)
913
			startInterp = SIN((1 - t) * theta) * invSinTheta
914
			finishInterp = SIN(t * theta) * invSinTheta
915
		else
916
			startInterp = 1 - t
917
			finishInterp = t
918
		end
919
	else
920
		if (1 + cosTheta) > 0.0001 then
921
			local theta = ACOS(-cosTheta)
922
			local invSinTheta = 1 / SIN(theta)
923
			startInterp = SIN((t - 1) * theta) * invSinTheta
924
			finishInterp = SIN(t * theta) * invSinTheta
925
		else
926
			startInterp = t - 1
927
			finishInterp = t
928
		end
929
	end
930
	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
931
end
932
933
function Clerp(a, b, t)
934
	local qa = {QuaternionFromCFrame(a)}
935
	local qb = {QuaternionFromCFrame(b)}
936
	local ax, ay, az = a.x, a.y, a.z
937
	local bx, by, bz = b.x, b.y, b.z
938
	local _t = 1 - t
939
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
940
end
941
942
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
943
	local frame = IT("Frame")
944
	frame.BackgroundTransparency = TRANSPARENCY
945
	frame.BorderSizePixel = BORDERSIZEPIXEL
946
	frame.Position = POSITION
947
	frame.Size = SIZE
948
	frame.BackgroundColor3 = COLOR
949
	frame.BorderColor3 = BORDERCOLOR
950
	frame.Name = NAME
951
	frame.Parent = PARENT
952
	return frame
953
end
954
955
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
956
	local label = IT("TextLabel")
957
	label.BackgroundTransparency = 1
958
	label.Size = UD2(1, 0, 1, 0)
959
	label.Position = UD2(0, 0, 0, 0)
960
	label.TextColor3 = TEXTCOLOR
961
	label.TextStrokeTransparency = STROKETRANSPARENCY
962
	label.TextTransparency = TRANSPARENCY
963
	label.FontSize = TEXTFONTSIZE
964
	label.Font = TEXTFONT
965
	label.BorderSizePixel = BORDERSIZEPIXEL
966
	label.TextScaled = false
967
	label.Text = TEXT
968
	label.Name = NAME
969
	label.Parent = PARENT
970
	return label
971
end
972
973
function NoOutlines(PART)
974
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
975
end
976
977
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
978
	local NEWWELD = IT(TYPE)
979
	NEWWELD.Part0 = PART0
980
	NEWWELD.Part1 = PART1
981
	NEWWELD.C0 = C0
982
	NEWWELD.C1 = C1
983
	NEWWELD.Parent = PARENT
984
	return NEWWELD
985
end
986
987
local S = IT("Sound")
988
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
989
	local NEWSOUND = nil
990
	coroutine.resume(coroutine.create(function()
991
		NEWSOUND = S:Clone()
992
		NEWSOUND.Parent = PARENT
993
		NEWSOUND.Volume = VOLUME
994
		NEWSOUND.Pitch = PITCH
995
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
996
		NEWSOUND:play()
997
		if DOESLOOP == true then
998
			NEWSOUND.Looped = true
999
		else
1000
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
1001
			NEWSOUND:remove()
1002
		end
1003
	end))
1004
	return NEWSOUND
1005
end
1006
1007
function CFrameFromTopBack(at, top, back)
1008
	local right = top:Cross(back)
1009
	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)
1010
end
1011
1012
--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(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1013
function WACKYEFFECT(Table)
1014
	local TYPE = (Table.EffectType or "Sphere")
1015
	local SIZE = (Table.Size or VT(1,1,1))
1016
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
1017
	local TRANSPARENCY = (Table.Transparency or 0)
1018
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
1019
	local CFRAME = (Table.CFrame or Torso.CFrame)
1020
	local MOVEDIRECTION = (Table.MoveToPos or nil)
1021
	local ROTATION1 = (Table.RotationX or 0)
1022
	local ROTATION2 = (Table.RotationY or 0)
1023
	local ROTATION3 = (Table.RotationZ or 0)
1024
	local MATERIAL = (Table.Material or "Neon")
1025
	local COLOR = (Table.Color or C3(0,0,0))
1026
	local TIME = (Table.Time or 45)
1027
	local SOUNDID = (Table.SoundID or nil)
1028
	local SOUNDPITCH = (Table.SoundPitch or nil)
1029
	local SOUNDVOLUME = (Table.SoundVolume or nil)
1030
	coroutine.resume(coroutine.create(function()
1031
		local PLAYSSOUND = false
1032
		local SOUND = nil
1033
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
1034
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
1035
			PLAYSSOUND = true
1036
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
1037
		end
1038
		EFFECT.Color = COLOR
1039
		local MSH = nil
1040
		if TYPE == "Sphere" then
1041
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
1042
		elseif TYPE == "Block" then
1043
			MSH = IT("BlockMesh",EFFECT)
1044
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
1045
		elseif TYPE == "Wave" then
1046
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
1047
		elseif TYPE == "Ring" then
1048
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
1049
		elseif TYPE == "Slash" then
1050
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1051
		elseif TYPE == "Round Slash" then
1052
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1053
		elseif TYPE == "Swirl" then
1054
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1055
		elseif TYPE == "Skull" then
1056
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1057
		elseif TYPE == "Crystal" then
1058
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1059
		end
1060
		if MSH ~= nil then
1061
			local MOVESPEED = nil
1062
			if MOVEDIRECTION ~= nil then
1063
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
1064
			end
1065
			local GROWTH = SIZE - ENDSIZE
1066
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1067
			if TYPE == "Block" then
1068
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1069
			else
1070
				EFFECT.CFrame = CFRAME
1071
			end
1072
			for LOOP = 1, TIME+1 do
1073
				Swait()
1074
				MSH.Scale = MSH.Scale - GROWTH/TIME
1075
				if TYPE == "Wave" then
1076
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
1077
				end
1078
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1079
				if TYPE == "Block" then
1080
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1081
				else
1082
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1083
				end
1084
				if MOVEDIRECTION ~= nil then
1085
					local ORI = EFFECT.Orientation
1086
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
1087
					EFFECT.Orientation = ORI
1088
				end
1089
			end
1090
			if PLAYSSOUND == false then
1091
				EFFECT:remove()
1092
			else
1093
				SOUND.Stopped:Connect(function()
1094
					EFFECT:remove()
1095
				end)
1096
			end
1097
		else
1098
			if PLAYSSOUND == false then
1099
				EFFECT:remove()
1100
			else
1101
				repeat Swait() until SOUND.Playing == false
1102
				EFFECT:remove()
1103
			end
1104
		end
1105
	end))
1106
end
1107
--Lightning({Material = "Neon", FadeIn = false, 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, FadeTime = 15, Thicken = false})
1108
function Lightning(Table)
1109
	local Color = Table.Color or C3(1,1,1)
1110
	local StartPos = Table.Start or Torso.Position
1111
	local EndPos = Table.End or Mouse.Hit.p
1112
	local SegmentLength = Table.SegmentL or 2
1113
	local Thickness = Table.Thickness or 0.1
1114
	local Dissapear = Table.DoesFade or false
1115
	local Parent = Table.Ignore or Character
1116
	local MaxDist = Table.MaxDist or 400
1117
	local Branches = Table.Branches or false
1118
	local Thicken = Table.Thicken or false
1119
	local FadeTime = Table.FadeTime or 15
1120
	local FadeIn = Table.FadeIn or false
1121
	local Material = Table.Material or "Neon"
1122
	local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
1123
	local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/((SegmentLength/SegmentLength)/1.5))
1124
	local LIGHTNINGMODEL = IT("Model",Effects)
1125
	LIGHTNINGMODEL.Name = "Lightning"
1126
	local LastBolt = nil
1127
	for E = 1, DISTANCE do
1128
		local ExtraSize = 0
1129
		if Thicken == true then
1130
			ExtraSize = (DISTANCE-E)/15
1131
		end
1132
		local TRANSPARENCY = 0
1133
		if FadeIn == true then
1134
			TRANSPARENCY = 1-(E/(DISTANCE/1.5))
1135
			if TRANSPARENCY < 0 then
1136
				TRANSPARENCY = 0
1137
			end
1138
		end
1139
		local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
1140
		PART.Color = Color
1141
		MakeForm(PART,"Cyl")
1142
		if LastBolt == nil then
1143
			PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
1144
		else
1145
			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,DISTANCE-E).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
1146
		end
1147
		LastBolt = PART
1148
		if Branches == true and E < (DISTANCE-5) then
1149
			local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
1150
			if CHOICE == 1 then
1151
				local LASTBRANCH = nil
1152
				for i = 1, MRANDOM(2,5) do
1153
					local ExtraSize2 = 0
1154
					if Thicken == true then
1155
						ExtraSize = ((DISTANCE-E)/25)/i
1156
					end
1157
					local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
1158
					PART.Color = Color
1159
					MakeForm(PART,"Cyl")
1160
					if LASTBRANCH == nil then
1161
						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)
1162
					else
1163
						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)
1164
					end
1165
					LASTBRANCH = PART
1166
				end
1167
			end
1168
		end
1169
	end
1170
	if Dissapear == true then
1171
		coroutine.resume(coroutine.create(function()
1172
			for i = 1, FadeTime do
1173
				Swait()
1174
				for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
1175
					if c.ClassName == "Part" then
1176
						c.Transparency = c.Transparency + (i/FadeTime)/10
1177
					end
1178
				end
1179
			end
1180
			LIGHTNINGMODEL:remove()
1181
		end))
1182
	elseif Dissapear == false then
1183
		Debris:AddItem(LIGHTNINGMODEL,0.1)
1184
	end
1185
	return {Hit = HIT,Pos = HITPOS,End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
1186
end
1187
function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1188
    local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1189
    wave.Color = COLOR
1190
    local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1191
    wave.CFrame = CFRAME
1192
    coroutine.resume(coroutine.create(function(PART)
1193
        for i = 1, WAIT do
1194
            Swait()
1195
            mesh.Scale = mesh.Scale + GROW
1196
            mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1197
            if DOESROT == true then
1198
                wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1199
            end
1200
            wave.Transparency = wave.Transparency + (0.5/WAIT)
1201
            if wave.Transparency > 0.99 then
1202
                wave:remove()
1203
            end
1204
        end
1205
    end))
1206
end
1207
1208
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
1209
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
1210
    wave.Color = COLOR
1211
    local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
1212
    wave.CFrame = CFRAME
1213
    coroutine.resume(coroutine.create(function(PART)
1214
        for i = 1, WAIT do
1215
            Swait()
1216
            mesh.Scale = mesh.Scale + GROW
1217
            wave.Transparency = wave.Transparency + (1/WAIT)
1218
            if wave.Transparency > 0.99 then
1219
                wave:remove()
1220
            end
1221
        end
1222
    end))
1223
end
1224
function MakeForm(PART,TYPE)
1225
	if TYPE == "Cyl" then
1226
		local MSH = IT("BlockMesh",PART)
1227
	elseif TYPE == "Ball" then
1228
		local MSH = IT("SpecialMesh",PART)
1229
		MSH.MeshType = "Sphere"
1230
	elseif TYPE == "Cyl2" then
1231
		local MSH = IT("CylinderMesh",PART)
1232
	elseif TYPE == "Wedge" then
1233
		local MSH = IT("SpecialMesh",PART)
1234
		MSH.MeshType = "Wedge"
1235
	end
1236
end
1237
1238
function SpawnTrail(FROM,TO,BIG)
1239
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Light gray", "Trail", VT(0,0,0))
1240
	MakeForm(TRAIL,"Cyl")
1241
	local DIST = (FROM - TO).Magnitude
1242
	if BIG == true then
1243
		TRAIL.Size = VT(0.5,DIST,0.5)
1244
	else
1245
		TRAIL.Size = VT(0.25,DIST,0.25)
1246
	end
1247
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
1248
	coroutine.resume(coroutine.create(function()
1249
		for i = 1, 5 do
1250
			Swait()
1251
			TRAIL.Transparency = TRAIL.Transparency + 0.1
1252
		end
1253
		TRAIL:remove()
1254
	end))
1255
end
1256
1257
Debris = game:GetService("Debris")
1258
1259
function CastProperRay(StartPos, EndPos, Distance, Ignore)
1260
	local DIRECTION = CF(StartPos,EndPos).lookVector
1261
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
1262
end
1263
1264
function turnto(position)
1265
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1266
end
1267
1268
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
1269
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
1270
end
1271
1272
function PositiveAngle(NUMBER)
1273
	if NUMBER >= 0 then
1274
		NUMBER = 0
1275
	end
1276
	return NUMBER
1277
end
1278
1279
function NegativeAngle(NUMBER)
1280
	if NUMBER <= 0 then
1281
		NUMBER = 0
1282
	end
1283
	return NUMBER
1284
end
1285
1286
function Swait(NUMBER)
1287
	if NUMBER == 0 or NUMBER == nil then
1288
		ArtificialHB.Event:wait()
1289
	else
1290
		for i = 1, NUMBER do
1291
			ArtificialHB.Event:wait()
1292
		end
1293
	end
1294
end
1295
1296
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
1297
	local NEWMESH = IT(MESH)
1298
	if MESH == "SpecialMesh" then
1299
		NEWMESH.MeshType = MESHTYPE
1300
		if MESHID ~= "nil" and MESHID ~= "" then
1301
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
1302
		end
1303
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
1304
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
1305
		end
1306
	end
1307
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
1308
	NEWMESH.Scale = SCALE
1309
	NEWMESH.Parent = PARENT
1310
	return NEWMESH
1311
end
1312
1313
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
1314
	local NEWPART = IT("Part")
1315
	NEWPART.formFactor = FORMFACTOR
1316
	NEWPART.Reflectance = REFLECTANCE
1317
	NEWPART.Transparency = TRANSPARENCY
1318
	NEWPART.CanCollide = false
1319
	NEWPART.Locked = true
1320
	NEWPART.Anchored = true
1321
	if ANCHOR == false then
1322
		NEWPART.Anchored = false
1323
	end
1324
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
1325
	NEWPART.Name = NAME
1326
	NEWPART.Size = SIZE
1327
	NEWPART.Position = Torso.Position
1328
	NEWPART.Material = MATERIAL
1329
	NEWPART:BreakJoints()
1330
	NEWPART.Parent = PARENT
1331
	return NEWPART
1332
end
1333
1334
	local function weldBetween(a, b)
1335
	    local weldd = IT("Weld")
1336
	    weldd.Part0 = a
1337
	    weldd.Part1 = b
1338
	    weldd.C0 = CF()
1339
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
1340
	    weldd.Parent = a
1341
	    return weldd
1342
	end
1343
1344
1345
function QuaternionFromCFrame(cf)
1346
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
1347
	local trace = m00 + m11 + m22
1348
	if trace > 0 then 
1349
		local s = math.sqrt(1 + trace)
1350
		local recip = 0.5 / s
1351
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
1352
	else
1353
		local i = 0
1354
		if m11 > m00 then
1355
			i = 1
1356
		end
1357
		if m22 > (i == 0 and m00 or m11) then
1358
			i = 2
1359
		end
1360
		if i == 0 then
1361
			local s = math.sqrt(m00 - m11 - m22 + 1)
1362
			local recip = 0.5 / s
1363
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
1364
		elseif i == 1 then
1365
			local s = math.sqrt(m11 - m22 - m00 + 1)
1366
			local recip = 0.5 / s
1367
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
1368
		elseif i == 2 then
1369
			local s = math.sqrt(m22 - m00 - m11 + 1)
1370
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
1371
		end
1372
	end
1373
end
1374
 
1375
function QuaternionToCFrame(px, py, pz, x, y, z, w)
1376
	local xs, ys, zs = x + x, y + y, z + z
1377
	local wx, wy, wz = w * xs, w * ys, w * zs
1378
	local xx = x * xs
1379
	local xy = x * ys
1380
	local xz = x * zs
1381
	local yy = y * ys
1382
	local yz = y * zs
1383
	local zz = z * zs
1384
	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))
1385
end
1386
 
1387
function QuaternionSlerp(a, b, t)
1388
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
1389
	local startInterp, finishInterp;
1390
	if cosTheta >= 0.0001 then
1391
		if (1 - cosTheta) > 0.0001 then
1392
			local theta = ACOS(cosTheta)
1393
			local invSinTheta = 1 / SIN(theta)
1394
			startInterp = SIN((1 - t) * theta) * invSinTheta
1395
			finishInterp = SIN(t * theta) * invSinTheta
1396
		else
1397
			startInterp = 1 - t
1398
			finishInterp = t
1399
		end
1400
	else
1401
		if (1 + cosTheta) > 0.0001 then
1402
			local theta = ACOS(-cosTheta)
1403
			local invSinTheta = 1 / SIN(theta)
1404
			startInterp = SIN((t - 1) * theta) * invSinTheta
1405
			finishInterp = SIN(t * theta) * invSinTheta
1406
		else
1407
			startInterp = t - 1
1408
			finishInterp = t
1409
		end
1410
	end
1411
	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
1412
end
1413
1414
function Clerp(a, b, t)
1415
	local qa = {QuaternionFromCFrame(a)}
1416
	local qb = {QuaternionFromCFrame(b)}
1417
	local ax, ay, az = a.x, a.y, a.z
1418
	local bx, by, bz = b.x, b.y, b.z
1419
	local _t = 1 - t
1420
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
1421
end
1422
1423
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
1424
	local frame = IT("Frame")
1425
	frame.BackgroundTransparency = TRANSPARENCY
1426
	frame.BorderSizePixel = BORDERSIZEPIXEL
1427
	frame.Position = POSITION
1428
	frame.Size = SIZE
1429
	frame.BackgroundColor3 = COLOR
1430
	frame.BorderColor3 = BORDERCOLOR
1431
	frame.Name = NAME
1432
	frame.Parent = PARENT
1433
	return frame
1434
end
1435
1436
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
1437
	local label = IT("TextLabel")
1438
	label.BackgroundTransparency = 1
1439
	label.Size = UD2(1, 0, 1, 0)
1440
	label.Position = UD2(0, 0, 0, 0)
1441
	label.TextColor3 = TEXTCOLOR
1442
	label.TextStrokeTransparency = STROKETRANSPARENCY
1443
	label.TextTransparency = TRANSPARENCY
1444
	label.FontSize = TEXTFONTSIZE
1445
	label.Font = TEXTFONT
1446
	label.BorderSizePixel = BORDERSIZEPIXEL
1447
	label.TextScaled = false
1448
	label.Text = TEXT
1449
	label.Name = NAME
1450
	label.Parent = PARENT
1451
	return label
1452
end
1453
1454
function NoOutlines(PART)
1455
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
1456
end
1457
1458
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
1459
	local NEWWELD = IT(TYPE)
1460
	NEWWELD.Part0 = PART0
1461
	NEWWELD.Part1 = PART1
1462
	NEWWELD.C0 = C0
1463
	NEWWELD.C1 = C1
1464
	NEWWELD.Parent = PARENT
1465
	return NEWWELD
1466
end
1467
1468
local S = IT("Sound")
1469
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
1470
	local NEWSOUND = nil
1471
	coroutine.resume(coroutine.create(function()
1472
		NEWSOUND = S:Clone()
1473
		NEWSOUND.Parent = PARENT
1474
		NEWSOUND.Volume = VOLUME
1475
		NEWSOUND.Pitch = PITCH
1476
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
1477
		NEWSOUND:play()
1478
		if DOESLOOP == true then
1479
			NEWSOUND.Looped = true
1480
		else
1481
			repeat wait(1) until NEWSOUND.Playing == false
1482
			NEWSOUND:remove()
1483
		end
1484
	end))
1485
	return NEWSOUND
1486
end
1487
1488
function CFrameFromTopBack(at, top, back)
1489
	local right = top:Cross(back)
1490
	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)
1491
end
1492
1493
--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})
1494
function WACKYEFFECT(Table)
1495
	local TYPE = (Table.EffectType or "Sphere")
1496
	local SIZE = (Table.Size or VT(1,1,1))
1497
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
1498
	local TRANSPARENCY = (Table.Transparency or 0)
1499
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
1500
	local CFRAME = (Table.CFrame or Torso.CFrame)
1501
	local MOVEDIRECTION = (Table.MoveToPos or nil)
1502
	local ROTATION1 = (Table.RotationX or 0)
1503
	local ROTATION2 = (Table.RotationY or 0)
1504
	local ROTATION3 = (Table.RotationZ or 0)
1505
	local MATERIAL = (Table.Material or "Neon")
1506
	local COLOR = (Table.Color or C3(1,1,1))
1507
	local TIME = (Table.Time or 45)
1508
	local SOUNDID = (Table.SoundID or nil)
1509
	local SOUNDPITCH = (Table.SoundPitch or nil)
1510
	local SOUNDVOLUME = (Table.SoundVolume or nil)
1511
	coroutine.resume(coroutine.create(function()
1512
		local PLAYSSOUND = false
1513
		local SOUND = nil
1514
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
1515
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
1516
			PLAYSSOUND = true
1517
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
1518
		end
1519
		EFFECT.Color = COLOR
1520
		local MSH = nil
1521
		if TYPE == "Sphere" then
1522
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
1523
		elseif TYPE == "Block" then
1524
			MSH = IT("BlockMesh",EFFECT)
1525
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
1526
		elseif TYPE == "Wave" then
1527
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
1528
		elseif TYPE == "Ring" then
1529
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
1530
		elseif TYPE == "Slash" then
1531
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1532
		elseif TYPE == "Round Slash" then
1533
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1534
		elseif TYPE == "Swirl" then
1535
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1536
		elseif TYPE == "Skull" then
1537
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1538
		elseif TYPE == "Crystal" then
1539
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1540
		end
1541
		if MSH ~= nil then
1542
			local MOVESPEED = nil
1543
			if MOVEDIRECTION ~= nil then
1544
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
1545
			end
1546
			local GROWTH = SIZE - ENDSIZE
1547
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1548
			if TYPE == "Block" then
1549
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1550
			else
1551
				EFFECT.CFrame = CFRAME
1552
			end
1553
			for LOOP = 1, TIME+1 do
1554
				Swait()
1555
				MSH.Scale = MSH.Scale - GROWTH/TIME
1556
				if TYPE == "Wave" then
1557
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
1558
				end
1559
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1560
				if TYPE == "Block" then
1561
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1562
				else
1563
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1564
				end
1565
				if MOVEDIRECTION ~= nil then
1566
					local ORI = EFFECT.Orientation
1567
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
1568
					EFFECT.Orientation = ORI
1569
				end
1570
			end
1571
			if PLAYSSOUND == false then
1572
				EFFECT:remove()
1573
			else
1574
				SOUND.Stopped:Connect(function()
1575
					EFFECT:remove()
1576
				end)
1577
			end
1578
		else
1579
			if PLAYSSOUND == false then
1580
				EFFECT:remove()
1581
			else
1582
				repeat Swait() until SOUND.Playing == false
1583
				EFFECT:remove()
1584
			end
1585
		end
1586
	end))
1587
end
1588
1589
function MakeForm(PART,TYPE)
1590
	if TYPE == "Cyl" then
1591
		local MSH = IT("CylinderMesh",PART)
1592
	elseif TYPE == "Ball" then
1593
		local MSH = IT("SpecialMesh",PART)
1594
		MSH.MeshType = "Sphere"
1595
	elseif TYPE == "Wedge" then
1596
		local MSH = IT("SpecialMesh",PART)
1597
		MSH.MeshType = "Wedge"
1598
	end
1599
end
1600
1601
Debris = game:GetService("Debris")
1602
1603
function CastProperRay(StartPos, EndPos, Distance, Ignore)
1604
	local DIRECTION = CF(StartPos,EndPos).lookVector
1605
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
1606
end
1607
1608
function turnto(position)
1609
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1610
end
1611
1612
function SpawnTrail(FROM,TO,BIG)
1613
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
1614
	MakeForm(TRAIL,"Cyl")
1615
	local DIST = (FROM - TO).Magnitude
1616
	if BIG == true then
1617
		TRAIL.Size = VT(0.5,DIST,0.5)
1618
	else
1619
		TRAIL.Size = VT(0.25,DIST,0.25)
1620
	end
1621
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
1622
	coroutine.resume(coroutine.create(function()
1623
		for i = 1, 5 do
1624
			Swait()
1625
			TRAIL.Transparency = TRAIL.Transparency + 0.1
1626
		end
1627
		TRAIL:remove()
1628
	end))
1629
end
1630
1631
local asd = Instance.new("ParticleEmitter")
1632
asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
1633
asd.LightEmission = .1
1634
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
1635
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
1636
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
1637
asd.Transparency = bbb
1638
asd.Size = aaa
1639
asd.ZOffset = .9
1640
asd.Acceleration = Vector3.new(0, -15, 0)
1641
asd.LockedToPart = false
1642
asd.EmissionDirection = "Back"
1643
asd.Lifetime = NumberRange.new(1, 2)
1644
asd.Rotation = NumberRange.new(-100, 100)
1645
asd.RotSpeed = NumberRange.new(-100, 100)
1646
asd.Speed = NumberRange.new(10)
1647
asd.Enabled = false
1648
asd.VelocitySpread = 999
1649
1650
function getbloody(victim,amount)
1651
	local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
1652
	PART.CFrame = victim.CFrame
1653
	local HITPLAYERSOUNDS = {"356551938","264486467"}
1654
	Debris:AddItem(PART,5)
1655
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1656
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1657
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1658
	local prtcl = asd:Clone()
1659
	prtcl.Parent = PART
1660
	prtcl:Emit(amount*10)
1661
end
1662
1663
local Particle = IT("ParticleEmitter",nil)
1664
Particle.Enabled = false
1665
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
1666
Particle.LightEmission = 0.5
1667
Particle.Rate = 150
1668
Particle.ZOffset = 1
1669
Particle.Rotation = NumberRange.new(-180, 180)
1670
Particle.RotSpeed = NumberRange.new(-180, 180)
1671
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
1672
Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
1673
1674
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
1675
function ParticleEmitter(Table)
1676
	local PRTCL = Particle:Clone()
1677
	local Speed = Table.Speed or 5
1678
	local Drag = Table.Drag or 0
1679
	local Size1 = Table.Size1 or 1
1680
	local Size2 = Table.Size2 or 5
1681
	local Lifetime1 = Table.Lifetime1 or 1
1682
	local Lifetime2 = Table.Lifetime2 or 1.5
1683
	local Parent = Table.Parent or Torso
1684
	local Emit = Table.Emit or 100
1685
	local Offset = Table.Offset or 360
1686
	local Acel = Table.Acel or VT(0,0,0)
1687
	local Enabled = Table.Enabled or false
1688
	PRTCL.Parent = Parent
1689
	PRTCL.Size = NumberSequence.new(Size1,Size2)
1690
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1691
	PRTCL.Speed = NumberRange.new(Speed)
1692
	PRTCL.VelocitySpread = Offset
1693
	PRTCL.Drag = Drag
1694
	PRTCL.Acceleration = Acel
1695
	if Enabled == false then
1696
		PRTCL:Emit(Emit)
1697
		Debris:AddItem(PRTCL,Lifetime2)
1698
	else
1699
		PRTCL.Enabled = true
1700
	end
1701
	return PRTCL
1702
end
1703
1704
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
1705
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
1706
end
1707
1708
function PositiveAngle(NUMBER)
1709
	if NUMBER >= 0 then
1710
		NUMBER = 0
1711
	end
1712
	return NUMBER
1713
end
1714
1715
function NegativeAngle(NUMBER)
1716
	if NUMBER <= 0 then
1717
		NUMBER = 0
1718
	end
1719
	return NUMBER
1720
end
1721
1722
function Swait(NUMBER)
1723
	if NUMBER == 0 or NUMBER == nil then
1724
		ArtificialHB.Event:wait()
1725
	else
1726
		for i = 1, NUMBER do
1727
			ArtificialHB.Event:wait()
1728
		end
1729
	end
1730
end
1731
1732
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
1733
	local NEWMESH = IT(MESH)
1734
	if MESH == "SpecialMesh" then
1735
		NEWMESH.MeshType = MESHTYPE
1736
		if MESHID ~= "nil" and MESHID ~= "" then
1737
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
1738
		end
1739
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
1740
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
1741
		end
1742
	end
1743
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
1744
	NEWMESH.Scale = SCALE
1745
	NEWMESH.Parent = PARENT
1746
	return NEWMESH
1747
end
1748
1749
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
1750
	local NEWPART = IT("Part")
1751
	NEWPART.formFactor = FORMFACTOR
1752
	NEWPART.Reflectance = REFLECTANCE
1753
	NEWPART.Transparency = TRANSPARENCY
1754
	NEWPART.CanCollide = false
1755
	NEWPART.Locked = true
1756
	NEWPART.Anchored = true
1757
	if ANCHOR == false then
1758
		NEWPART.Anchored = false
1759
	end
1760
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
1761
	NEWPART.Name = NAME
1762
	NEWPART.Size = SIZE
1763
	NEWPART.Position = Torso.Position
1764
	NEWPART.Material = MATERIAL
1765
	NEWPART:BreakJoints()
1766
	NEWPART.Parent = PARENT
1767
	return NEWPART
1768
end
1769
1770
	local function weldBetween(a, b)
1771
	    local weldd = Instance.new("ManualWeld")
1772
	    weldd.Part0 = a
1773
	    weldd.Part1 = b
1774
	    weldd.C0 = CFrame.new()
1775
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
1776
	    weldd.Parent = a
1777
	    return weldd
1778
	end
1779
1780
1781
function QuaternionFromCFrame(cf)
1782
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
1783
	local trace = m00 + m11 + m22
1784
	if trace > 0 then 
1785
		local s = math.sqrt(1 + trace)
1786
		local recip = 0.5 / s
1787
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
1788
	else
1789
		local i = 0
1790
		if m11 > m00 then
1791
			i = 1
1792
		end
1793
		if m22 > (i == 0 and m00 or m11) then
1794
			i = 2
1795
		end
1796
		if i == 0 then
1797
			local s = math.sqrt(m00 - m11 - m22 + 1)
1798
			local recip = 0.5 / s
1799
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
1800
		elseif i == 1 then
1801
			local s = math.sqrt(m11 - m22 - m00 + 1)
1802
			local recip = 0.5 / s
1803
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
1804
		elseif i == 2 then
1805
			local s = math.sqrt(m22 - m00 - m11 + 1)
1806
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
1807
		end
1808
	end
1809
end
1810
 
1811
function QuaternionToCFrame(px, py, pz, x, y, z, w)
1812
	local xs, ys, zs = x + x, y + y, z + z
1813
	local wx, wy, wz = w * xs, w * ys, w * zs
1814
	local xx = x * xs
1815
	local xy = x * ys
1816
	local xz = x * zs
1817
	local yy = y * ys
1818
	local yz = y * zs
1819
	local zz = z * zs
1820
	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))
1821
end
1822
 
1823
function QuaternionSlerp(a, b, t)
1824
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
1825
	local startInterp, finishInterp;
1826
	if cosTheta >= 0.0001 then
1827
		if (1 - cosTheta) > 0.0001 then
1828
			local theta = ACOS(cosTheta)
1829
			local invSinTheta = 1 / SIN(theta)
1830
			startInterp = SIN((1 - t) * theta) * invSinTheta
1831
			finishInterp = SIN(t * theta) * invSinTheta
1832
		else
1833
			startInterp = 1 - t
1834
			finishInterp = t
1835
		end
1836
	else
1837
		if (1 + cosTheta) > 0.0001 then
1838
			local theta = ACOS(-cosTheta)
1839
			local invSinTheta = 1 / SIN(theta)
1840
			startInterp = SIN((t - 1) * theta) * invSinTheta
1841
			finishInterp = SIN(t * theta) * invSinTheta
1842
		else
1843
			startInterp = t - 1
1844
			finishInterp = t
1845
		end
1846
	end
1847
	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
1848
end
1849
1850
function Clerp(a, b, t)
1851
	local qa = {QuaternionFromCFrame(a)}
1852
	local qb = {QuaternionFromCFrame(b)}
1853
	local ax, ay, az = a.x, a.y, a.z
1854
	local bx, by, bz = b.x, b.y, b.z
1855
	local _t = 1 - t
1856
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
1857
end
1858
1859
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
1860
	local frame = IT("Frame")
1861
	frame.BackgroundTransparency = TRANSPARENCY
1862
	frame.BorderSizePixel = BORDERSIZEPIXEL
1863
	frame.Position = POSITION
1864
	frame.Size = SIZE
1865
	frame.BackgroundColor3 = COLOR
1866
	frame.BorderColor3 = BORDERCOLOR
1867
	frame.Name = NAME
1868
	frame.Parent = PARENT
1869
	return frame
1870
end
1871
1872
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
1873
	local label = IT("TextLabel")
1874
	label.BackgroundTransparency = 1
1875
	label.Size = UD2(1, 0, 1, 0)
1876
	label.Position = UD2(0, 0, 0, 0)
1877
	label.TextColor3 = TEXTCOLOR
1878
	label.TextStrokeTransparency = STROKETRANSPARENCY
1879
	label.TextTransparency = TRANSPARENCY
1880
	label.FontSize = TEXTFONTSIZE
1881
	label.Font = TEXTFONT
1882
	label.BorderSizePixel = BORDERSIZEPIXEL
1883
	label.TextStrokeColor3 = C3(1,1,1)
1884
	label.TextScaled = false
1885
	label.Text = TEXT
1886
	label.Name = NAME
1887
	label.Parent = PARENT
1888
	return label
1889
end
1890
1891
function NoOutlines(PART)
1892
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
1893
end
1894
1895
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
1896
	local NEWWELD = IT(TYPE)
1897
	NEWWELD.Part0 = PART0
1898
	NEWWELD.Part1 = PART1
1899
	NEWWELD.C0 = C0
1900
	NEWWELD.C1 = C1
1901
	NEWWELD.Parent = PARENT
1902
	return NEWWELD
1903
end
1904
1905
local S = IT("Sound")
1906
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
1907
	local NEWSOUND = nil
1908
	coroutine.resume(coroutine.create(function()
1909
		NEWSOUND = S:Clone()
1910
		NEWSOUND.Parent = PARENT
1911
		NEWSOUND.Volume = VOLUME
1912
		NEWSOUND.Pitch = PITCH
1913
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
1914
		NEWSOUND:play()
1915
		if DOESLOOP == true then
1916
			NEWSOUND.Looped = true
1917
		else
1918
			repeat wait(1) until NEWSOUND.Playing == false
1919
			NEWSOUND:remove()
1920
		end
1921
	end))
1922
	return NEWSOUND
1923
end
1924
1925
function CFrameFromTopBack(at, top, back)
1926
	local right = top:Cross(back)
1927
	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)
1928
end
1929
1930
--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})
1931
function WACKYEFFECT(Table)
1932
	local TYPE = (Table.EffectType or "Sphere")
1933
	local SIZE = (Table.Size or VT(1,1,1))
1934
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
1935
	local TRANSPARENCY = (Table.Transparency or 0)
1936
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
1937
	local CFRAME = (Table.CFrame or Torso.CFrame)
1938
	local MOVEDIRECTION = (Table.MoveToPos or nil)
1939
	local ROTATION1 = (Table.RotationX or 0)
1940
	local ROTATION2 = (Table.RotationY or 0)
1941
	local ROTATION3 = (Table.RotationZ or 0)
1942
	local MATERIAL = (Table.Material or "Neon")
1943
	local COLOR = (Table.Color or C3(66/255, 0/255, 127/2551))
1944
	local TIME = (Table.Time or 45)
1945
	local SOUNDID = (Table.SoundID or nil)
1946
	local SOUNDPITCH = (Table.SoundPitch or nil)
1947
	local SOUNDVOLUME = (Table.SoundVolume or nil)
1948
	coroutine.resume(coroutine.create(function()
1949
		local PLAYSSOUND = false
1950
		local SOUND = nil
1951
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Dark indigo"), "Effect", VT(1,1,1), true)
1952
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
1953
			PLAYSSOUND = true
1954
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
1955
		end
1956
		EFFECT.Color = COLOR
1957
		local MSH = nil
1958
		if TYPE == "Sphere" then
1959
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
1960
		elseif TYPE == "Block" then
1961
			MSH = IT("BlockMesh",EFFECT)
1962
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
1963
		elseif TYPE == "Wave" then
1964
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
1965
		elseif TYPE == "Ring" then
1966
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
1967
		elseif TYPE == "Slash" then
1968
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1969
		elseif TYPE == "Round Slash" then
1970
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1971
		elseif TYPE == "Swirl" then
1972
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1973
		elseif TYPE == "Skull" then
1974
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1975
		elseif TYPE == "Crystal" then
1976
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1977
		end
1978
		if MSH ~= nil then
1979
			local MOVESPEED = nil
1980
			if MOVEDIRECTION ~= nil then
1981
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
1982
			end
1983
			local GROWTH = SIZE - ENDSIZE
1984
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1985
			if TYPE == "Block" then
1986
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1987
			else
1988
				EFFECT.CFrame = CFRAME
1989
			end
1990
			for LOOP = 1, TIME+1 do
1991
				Swait()
1992
				MSH.Scale = MSH.Scale - GROWTH/TIME
1993
				if TYPE == "Wave" then
1994
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
1995
				end
1996
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1997
				if TYPE == "Block" then
1998
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1999
				else
2000
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
2001
				end
2002
				if MOVEDIRECTION ~= nil then
2003
					local ORI = EFFECT.Orientation
2004
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
2005
					EFFECT.Orientation = ORI
2006
				end
2007
			end
2008
			if PLAYSSOUND == false then
2009
				EFFECT:remove()
2010
			else
2011
				repeat Swait() until SOUND.Playing == false
2012
				EFFECT:remove()
2013
			end
2014
		else
2015
			if PLAYSSOUND == false then
2016
				EFFECT:remove()
2017
			else
2018
				repeat Swait() until SOUND.Playing == false
2019
				EFFECT:remove()
2020
			end
2021
		end
2022
	end))
2023
end
2024
2025
function MakeForm(PART,TYPE)
2026
	if TYPE == "Cyl" then
2027
		local MSH = IT("CylinderMesh",PART)
2028
	elseif TYPE == "Ball" then
2029
		local MSH = IT("SpecialMesh",PART)
2030
		MSH.MeshType = "Sphere"
2031
	elseif TYPE == "Wedge" then
2032
		local MSH = IT("SpecialMesh",PART)
2033
		MSH.MeshType = "Wedge"
2034
	end
2035
end
2036
2037
Debris = game:GetService("Debris")
2038
2039
function CastProperRay(StartPos, EndPos, Distance, Ignore)
2040
	local DIRECTION = CF(StartPos,EndPos).lookVector
2041
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
2042
end
2043
2044
function turnto(position)
2045
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
2046
end
2047
2048
--//=================================\\
2049
--||	     WEAPON CREATION
2050
--\\=================================//
2051
2052
Humanoid.Parent = nil
2053
RootPart.Size = RootPart.Size*SIZE
2054
Torso.Size = Torso.Size*SIZE
2055
RightArm.Size = RightArm.Size*SIZE
2056
RightLeg.Size = RightLeg.Size*SIZE
2057
LeftArm.Size = LeftArm.Size*SIZE
2058
LeftLeg.Size = LeftLeg.Size*SIZE
2059
RootJoint.C0 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
2060
RootJoint.C1 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
2061
Neck.C0 = NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1 * SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
2062
Neck.C1 = CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180))
2063
RightShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
2064
LeftShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
2065
RightHip.C0 = CF(1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
2066
LeftHip.C0 = CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
2067
RightHip.C1 = CF(0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
2068
LeftHip.C1 = CF(-0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
2069
Head.Size = Head.Size*SIZE
2070
RootJoint.Parent = RootPart
2071
Neck.Parent = Torso
2072
RightShoulder.Parent = Torso
2073
LeftShoulder.Parent = Torso
2074
RightHip.Parent = Torso
2075
LeftHip.Parent = Torso
2076
2077
Humanoid.DisplayDistanceType = "None"
2078
local naeeym2 = IT("BillboardGui",Character)
2079
naeeym2.AlwaysOnTop = true
2080
naeeym2.Size = UDim2.new(5,35,2,15)
2081
naeeym2.StudsOffset = Vector3.new(0,2,0)
2082
naeeym2.MaxDistance = 75
2083
naeeym2.Adornee = Character.Head
2084
naeeym2.Name = "Name"
2085
local tecks2 = IT("TextLabel",naeeym2)
2086
tecks2.BackgroundTransparency = 1
2087
tecks2.TextScaled = true
2088
tecks2.BorderSizePixel = 0
2089
tecks2.Text = "The Ruler Of Space And Time"
2090
tecks2.Font = "Fantasy"
2091
tecks2.TextSize = 30
2092
tecks2.TextStrokeTransparency = 0
2093
tecks2.TextColor3 = C3(0,0,0)
2094
tecks2.TextStrokeColor3 = C3(255/255, 255/255, 0/255)
2095
tecks2.Size = UDim2.new(1,0,0.5,0)
2096
tecks2.Parent = naeeym2
2097
local top = Instance.new("Shirt")
2098
top.ShirtTemplate = "rbxassetid://36929738"
2099
top.Parent = Character
2100
top.Name = "Cloth"
2101
local bottom = Instance.new("Pants")
2102
bottom.PantsTemplate = "rbxassetid://36929780"
2103
bottom.Parent = Character
2104
bottom.Name = "Cloth"
2105
2106
local PRT = CreatePart(3, Weapon, "Fabric", 0, 0, "Really black", "Hat", VT(1,1,1),false)
2107
PRT.Color = C3(0,0,0)
2108
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.72*SIZE,0.1) * ANGLES(RAD(15), RAD(0), RAD(0)), CF(0, 0, 0))
2109
CreateMesh("SpecialMesh", PRT, "FileMesh", "", "", VT(1,1,1)*SIZE, VT(0,0,0))
2110
PRT.Transparency = 1
2111
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Detail", VT(1,1,1),false)
2112
PRT.Color = C3(0,0,0)
2113
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
2114
CreateMesh("SpecialMesh", PRT, "FileMesh", "636922328", "636922344", VT(0.06,0.06,0.06)*SIZE, VT(0,0.08,1))
2115
local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(1,1.2,0.2),false)
2116
PRT.Color = C3(255/255, 0/255, 0/255)
2117
MakeForm(PRT,"Ball")
2118
PRT.Transparency = 1
2119
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
2120
local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.4,0.5),false)
2121
PRT.Transparency = 1
2122
PRT.Color = C3(255/255, 255/255, 0/255)
2123
MakeForm(PRT,"Ball")
2124
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,-0.3,-.5*SIZE), CF(0, 0, 0))
2125
local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
2126
PRT.Transparency = 1
2127
PRT.Color = C3(255/255, 255/255, 0/255)
2128
MakeForm(PRT,"Ball")
2129
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0.25,0.25,-.5*SIZE), CF(0, 0, 0))
2130
local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
2131
PRT.Color = C3(255/255, 255/255, 0/255)
2132
MakeForm(PRT,"Ball")
2133
PRT.Transparency = 1
2134
2135
local Aura = Instance.new('ParticleEmitter')
2136
Aura.Name = "Aura"
2137
Aura.Texture = "rbxassetid://"
2138
Aura.Parent = PRT
2139
Aura.LightEmission = 0.3
2140
Aura.Transparency = NumberSequence.new(0,0.6,1)
2141
Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(255/255, 0/255, 0/255))
2142
Aura.Size = NumberSequence.new(0.3,0.2,0.1)
2143
Aura.LockedToPart = false
2144
Aura.Lifetime = NumberRange.new(2)
2145
Aura.Rate = 30
2146
Aura.Speed = NumberRange.new(1)
2147
Aura.EmissionDirection = "Top"
2148
CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(-0.25,0.25,-.5*SIZE), CF(0, 0, 0))
2149
2150
local Particle = IT("ParticleEmitter",nil)
2151
Particle.Enabled = false
2152
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
2153
Particle.LightEmission = 0.5
2154
Particle.Rate = 150
2155
Particle.ZOffset = 0.2
2156
Particle.Rotation = NumberRange.new(-180, 180)
2157
Particle.RotSpeed = NumberRange.new(-180, 180)
2158
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
2159
Particle.Color = ColorSequence.new(C3(0,0,0),C3(0,0,0))
2160
2161
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
2162
function ParticleEmitter(Table)
2163
	local PRTCL = Particle:Clone()
2164
	local Speed = Table.Speed or 5
2165
	local Drag = Table.Drag or 0
2166
	local Size1 = Table.Size1 or 1
2167
	local Size2 = Table.Size2 or 5
2168
	local Lifetime1 = Table.Lifetime1 or 1
2169
	local Lifetime2 = Table.Lifetime2 or 1.5
2170
	local Parent = Table.Parent or Torso
2171
	local Emit = Table.Emit or 100
2172
	local Offset = Table.Offset or 360
2173
	local Acel = Table.Acel or VT(0,0,0)
2174
	local Enabled = Table.Enabled or false
2175
	PRTCL.Parent = Parent
2176
	PRTCL.Size = NumberSequence.new(Size1,Size2)
2177
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
2178
	PRTCL.Speed = NumberRange.new(Speed)
2179
	PRTCL.VelocitySpread = Offset
2180
	PRTCL.Drag = Drag
2181
	PRTCL.Acceleration = Acel
2182
	if Enabled == false then
2183
		PRTCL:Emit(Emit)
2184
		Debris:AddItem(PRTCL,Lifetime2)
2185
	else
2186
		PRTCL.Enabled = true
2187
	end
2188
	return PRTCL
2189
end
2190
2191
2192
local Handle = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.6,0.2),false)
2193
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
2194
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.5,0.2),false)
2195
MakeForm(Part,"Wedge")
2196
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
2197
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.3,0.2),false)
2198
MakeForm(Part,"Wedge")
2199
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
2200
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.3,0.3,0.3),false)
2201
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
2202
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.3,0.5,0.5),false)
2203
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
2204
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.4,0.4,0.4),false)
2205
MakeForm(Part,"Cyl")
2206
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2207
for i = 1, 8 do
2208
	local Piece = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Eye", VT(0,0.35,0.41),false)
2209
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
2210
end
2211
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Eye", VT(0.38,0.41,0.38),false)
2212
MakeForm(Part,"Cyl")
2213
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2214
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.37,0.5,0.37),false)
2215
MakeForm(Part,"Ball")
2216
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2217
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.7,0.4),false)
2218
MakeForm(Part,"Wedge")
2219
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
2220
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.3,0.4,0.2),false)
2221
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
2222
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.35,0.35,0.35),false)
2223
MakeForm(Part,"Cyl")
2224
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2225
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.5,0.1,0.5),false)
2226
MakeForm(Part,"Cyl")
2227
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2228
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.5,0.1,0.45),false)
2229
MakeForm(Part,"Cyl")
2230
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2231
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.5,0.2),false)
2232
MakeForm(Part,"Wedge")
2233
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
2234
local LASTPART = Handle
2235
for i = 1, 10 do
2236
	if LASTPART == Handle then
2237
		local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.1,0.2,0),false)
2238
		LASTPART = Part
2239
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2240
	else
2241
		local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.1,0.05,0),false)
2242
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
2243
		LASTPART = Part
2244
	end
2245
end
2246
2247
local Barrel = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.15,2,0.15),false)
2248
MakeForm(Barrel,"Cyl")
2249
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2250
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.25,1,0.25),false)
2251
MakeForm(Part,"Cyl")
2252
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
2253
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0,0.1,0.2),false)
2254
MakeForm(Part,"Wedge")
2255
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
2256
local Hole = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Eye", VT(0.125,0,0.125),false)
2257
MakeForm(Hole,"Cyl")
2258
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
2259
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0,0,0),false)
2260
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
2261
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
2262
local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0.5, "Light gray", "Eye", VT(0,0,0),false)
2263
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
2264
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
2265
coroutine.resume(coroutine.create(function()
2266
	while wait() do
2267
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
2268
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
2269
	end
2270
end))
2271
2272
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)})
2273
--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)})
2274
2275
for _, c in pairs(Weapon:GetDescendants()) do
2276
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
2277
		c.Material = "Glass"
2278
		c.Color = C3(0,0,0)
2279
	elseif c.ClassName == "Part" and c.Name == "Eye" then
2280
		c.Color = C3(0,0,0)
2281
		c.Material = "Neon"
2282
	end
2283
end
2284
2285
Weapon.Parent = Character
2286
for _, c in pairs(Weapon:GetChildren()) do
2287
	if c.ClassName == "Part" then
2288
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
2289
	end
2290
end
2291
2292
local BODY = {}
2293
for _, c in pairs(Character:GetDescendants()) do
2294
	if c:IsA("BasePart") and c.Name ~= "Handle" then
2295
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
2296
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
2297
		end
2298
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
2299
	elseif c:IsA("JointInstance") then
2300
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
2301
	end
2302
end
2303
for e = 1, #BODY do
2304
	if BODY[e] ~= nil then
2305
		local STUFF = BODY[e]
2306
		local PART = STUFF[1]
2307
		local PARENT = STUFF[2]
2308
		local MATERIAL = STUFF[3]
2309
		local COLOR = STUFF[4]
2310
		local TRANSPARENCY = STUFF[5]
2311
		if PART.ClassName == "Part" and PART ~= RootPart then
2312
			PART.Material = MATERIAL
2313
			PART.Color = COLOR
2314
			PART.Transparency = TRANSPARENCY
2315
		end
2316
		PART.AncestryChanged:Connect(function()
2317
			PART.Parent = PARENT
2318
		end)
2319
	end
2320
end
2321
2322
Humanoid.Died:connect(function()
2323
    Humanoid.Parent = nil
2324
    Humanoid.MaxHealth = "inf"
2325
    Humanoid.Health = "inf"
2326
    refit()
2327
    Humanoid.Parent = Character
2328
    CreateSound("907330011", Head, 10, 1.2)
2329
end)
2330
2331
local LASTPART = Head
2332
for i = 1, 24 do
2333
	local MATH = (1-(i/30))
2334
	if LASTPART == Head then
2335
		
2336
		local Aura = Instance.new('ParticleEmitter')
2337
Aura.Name = "Aura"
2338
Aura.Texture = "rbxassetid://"
2339
Aura.Parent = Horn
2340
Aura.LightEmission = 0.8
2341
Aura.Transparency = NumberSequence.new(0,0.6,1)
2342
Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
2343
Aura.Size = NumberSequence.new(0.3,0.2,0.1)
2344
Aura.LockedToPart = true
2345
Aura.Lifetime = NumberRange.new(2)
2346
Aura.Rate = 25
2347
Aura.Speed = NumberRange.new(0.1)
2348
Aura.EmissionDirection = "Top"
2349
	else
2350
		
2351
				local Aura = Instance.new('ParticleEmitter')
2352
Aura.Name = "Aura"
2353
Aura.Texture = "rbxassetid://"
2354
Aura.Parent = Horn
2355
Aura.LightEmission = 0.8
2356
Aura.Transparency = NumberSequence.new(0,0.6,1)
2357
Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
2358
Aura.Size = NumberSequence.new(0.3,0.2,0.1)
2359
Aura.LockedToPart = true
2360
Aura.Lifetime = NumberRange.new(2)
2361
Aura.Rate = 25
2362
Aura.Speed = NumberRange.new(0.1)
2363
Aura.EmissionDirection = "Top"
2364
	end
2365
end
2366
local LASTPART = Head
2367
for i = 1, 24 do
2368
	local MATH = (1-(i/30))
2369
	if LASTPART == Head then
2370
		
2371
				local Aura = Instance.new('ParticleEmitter')
2372
Aura.Name = "Aura"
2373
Aura.Texture = "rbxassetid://"
2374
Aura.LightEmission = 0.8
2375
Aura.Transparency = NumberSequence.new(0,0.6,1)
2376
Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
2377
Aura.Size = NumberSequence.new(0.3,0.2,0.1)
2378
Aura.LockedToPart = true
2379
Aura.Lifetime = NumberRange.new(2)
2380
Aura.Rate = 25
2381
Aura.Speed = NumberRange.new(0.1)
2382
Aura.EmissionDirection = "Top"
2383
	else
2384
Aura.Name = "Aura"
2385
Aura.Texture = "rbxassetid://"
2386
Aura.LightEmission = 0.8
2387
Aura.Transparency = NumberSequence.new(0,0.6,1)
2388
Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
2389
Aura.Size = NumberSequence.new(0.3,0.2,0.1)
2390
Aura.LockedToPart = true
2391
Aura.Lifetime = NumberRange.new(2)
2392
Aura.Rate = 25
2393
Aura.Speed = NumberRange.new(0.1)
2394
Aura.EmissionDirection = "Top"
2395
	end
2396
end
2397
local LASTPART = Head
2398
for i = 1, 8 do
2399
	local MATH = (1-(i/14))
2400
	if LASTPART == Head then
2401
		
2402
				local Aura = Instance.new('ParticleEmitter')
2403
Aura.Name = "Aura"
2404
Aura.Texture = "rbxassetid://"
2405
Aura.LightEmission = 0.8
2406
Aura.Transparency = NumberSequence.new(0,0.6,1)
2407
Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
2408
Aura.Size = NumberSequence.new(0.3,0.2,0.1)
2409
Aura.LockedToPart = true
2410
Aura.Lifetime = NumberRange.new(2)
2411
Aura.Rate = 25
2412
Aura.Speed = NumberRange.new(0.1)
2413
Aura.EmissionDirection = "Top"
2414
	else
2415
		
2416
				local Aura = Instance.new('ParticleEmitter')
2417
Aura.Name = "Aura"
2418
Aura.Texture = "rbxassetid://"
2419
Aura.Parent = Horn
2420
Aura.LightEmission = 0.8
2421
Aura.Transparency = NumberSequence.new(0,0.6,1)
2422
Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
2423
Aura.Size = NumberSequence.new(0.3,0.2,0.1)
2424
Aura.LockedToPart = true
2425
Aura.Lifetime = NumberRange.new(2)
2426
Aura.Rate = 25
2427
Aura.Speed = NumberRange.new(0.1)
2428
Aura.EmissionDirection = "Top"
2429
	end
2430
end
2431
local LASTPART = Head
2432
for i = 1, 8 do
2433
	local MATH = (1-(i/14))
2434
	if LASTPART == Head then
2435
				local Aura = Instance.new('ParticleEmitter')
2436
Aura.Name = "Aura"
2437
Aura.Texture = "rbxassetid://"
2438
Aura.Parent = Horn
2439
Aura.LightEmission = 0.8
2440
Aura.Transparency = NumberSequence.new(0,0.6,1)
2441
Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
2442
Aura.Size = NumberSequence.new(0.3,0.2,0.1)
2443
Aura.LockedToPart = true
2444
Aura.Lifetime = NumberRange.new(2)
2445
Aura.Rate = 25
2446
Aura.Speed = NumberRange.new(0.1)
2447
Aura.EmissionDirection = "Top"
2448
	else
2449
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Detail", VT(0.25*MATH,0.15,0.25*MATH),false)
2450
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(10), RAD(-3), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
2451
		LASTPART = Horn
2452
		Horn.Color = C3(1-((i*4-4)/255),1-((i*6-6)/255),0/255)
2453
				local Aura = Instance.new('ParticleEmitter')
2454
Aura.Name = "Aura"
2455
Aura.Texture = "rbxassetid://"
2456
Aura.Parent = Horn
2457
Aura.LightEmission = 0.8
2458
Aura.Transparency = NumberSequence.new(0,0.6,1)
2459
Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
2460
Aura.Size = NumberSequence.new(0.3,0.2,0.1)
2461
Aura.LockedToPart = true
2462
Aura.Lifetime = NumberRange.new(2)
2463
Aura.Rate = 25
2464
Aura.Speed = NumberRange.new(0.1)
2465
Aura.EmissionDirection = "Top"
2466
	end
2467
end
2468
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(1.05,0.06,1.05)*SIZE,false)
2469
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
2470
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0.5,0.1,0.5)*SIZE,false)
2471
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
2472
MakeForm(PRT,"Cyl")
2473
local PRT = CreatePart(3, Weapon, "Neon", 0, 0, "Mid gray", "Watch", VT(0.45,0.11,0.45)*SIZE,false)
2474
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
2475
MakeForm(PRT,"Cyl")
2476
PRT.Color = C3(255/255, 255/255, 0/255)
2477
local RING = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0.055,0.15,0.055)*SIZE,false)
2478
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RING, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
2479
MakeForm(RING,"Cyl")
2480
RING.Color = C3(0,0,0)
2481
for i = 1, 12 do
2482
	local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0)*SIZE,false)
2483
	PRT.Color = C3(0,0,0)
2484
	local MSH = IT("BlockMesh",PRT)
2485
	MSH.Scale = VT(0.6,1,1)
2486
	CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD((360/12)*i), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.2*SIZE))
2487
end
2488
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0.15)*SIZE,false)
2489
PRT.Color = C3(0,0,0)
2490
local MSH = IT("BlockMesh",PRT)
2491
MSH.Scale = VT(0.4,1,1)
2492
local WATCH1 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.075*SIZE))
2493
local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0.15/1.5)*SIZE,false)
2494
PRT.Color = C3(0,0,0)
2495
local MSH = IT("BlockMesh",PRT)
2496
MSH.Scale = VT(0.4,1,1)
2497
local WATCH2 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -(0.075/1.5)*SIZE))
2498
coroutine.resume(coroutine.create(function()
2499
	while true do
2500
		Swait()
2501
		CLOCKLOOP = CLOCKLOOP - 1*CLOCKSPEED
2502
		WATCH1.C0 = Clerp(WATCH1.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5), RAD(0)), 1 / Animation_Speed)
2503
		WATCH2.C0 = Clerp(WATCH2.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5/2), RAD(0)), 1 / Animation_Speed)
2504
		if CLOCKLOOP <= -150 then
2505
			if VALUE1 == false then
2506
				CLOCKLOOP = 0
2507
				WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = RING.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(255, 255, 0), SoundID = 743521450, SoundPitch = 1.2, SoundVolume = 2})
2508
				local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
2509
				ApplyAoE(HITPOS,10,15,45,75,true)
2510
				WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(15,2,15), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(255, 255, 0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 4})
2511
				WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(12,3,12), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(255, 255, 0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 4})
2512
				if CLOCKTARGET ~= nil then
2513
					CLOCKTARGET.Health = CLOCKTARGET.Health - 20
2514
					if CLOCKTARGET.Torso ~= nil then
2515
						CLOCKTARGET.Torso.CFrame = CLOCKTARGET.Torso.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
2516
					end
2517
					if CLOCKTARGET.Health == 0 then
2518
						CLOCKTARGET = nil
2519
					end
2520
				end
2521
			end
2522
		end
2523
	end
2524
end))
2525
2526
for _, c in pairs(Weapon:GetChildren()) do
2527
	if c.ClassName == "Part" then
2528
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
2529
	end
2530
end
2531
2532
Neck.Name = "Weld"
2533
RootJoint.Name = "Weld"
2534
RightShoulder.Name = "Weld"
2535
LeftShoulder.Name = "Weld"
2536
RightHip.Name = "Weld"
2537
LeftHip.Name = "Weld"
2538
2539
local BODY = {}
2540
for _, c in pairs(Character:GetDescendants()) do
2541
	if c:IsA("BasePart") and c.Name ~= "Handle" then
2542
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
2543
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
2544
		end
2545
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
2546
	elseif c:IsA("JointInstance") then
2547
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
2548
	end
2549
end
2550
for e = 1, #BODY do
2551
	if BODY[e] ~= nil then
2552
		local STUFF = BODY[e]
2553
		local PART = STUFF[1]
2554
		local PARENT = STUFF[2]
2555
		local MATERIAL = STUFF[3]
2556
		local COLOR = STUFF[4]
2557
		local TRANSPARENCY = STUFF[5]
2558
		if PART.ClassName == "Part" and PART ~= RootPart then
2559
			PART.Material = MATERIAL
2560
			PART.Color = COLOR
2561
			PART.Transparency = TRANSPARENCY
2562
		end
2563
		PART.AncestryChanged:Connect(function()
2564
			PART.Parent = PARENT
2565
		end)
2566
	end
2567
end
2568
2569
function refit()
2570
	Character.Parent = workspace
2571
	for e = 1, #BODY do
2572
		if BODY[e] ~= nil then
2573
			local STUFF = BODY[e]
2574
			local PART = STUFF[1]
2575
			local PARENT = STUFF[2]
2576
			local MATERIAL = STUFF[3]
2577
			local COLOR = STUFF[4]
2578
			local TRANSPARENCY = STUFF[5]
2579
			if PART.ClassName == "Part" and PART ~= RootPart then
2580
				PART.Material = MATERIAL
2581
				PART.Color = COLOR
2582
				PART.Transparency = TRANSPARENCY
2583
			end
2584
			if PART.Parent ~= PARENT then
2585
				Humanoid:remove()
2586
				PART.Parent = PARENT
2587
				Humanoid = IT("Humanoid",Character)
2588
			end
2589
		end
2590
	end
2591
end
2592
local SKILLTEXTCOLOR = C3(255/255, 255/255, 0/255)
2593
local SKILLFONT = "Fantasy"
2594
local SKILLTEXTSIZE = 7
2595
2596
Weapon.Parent = Character
2597
Humanoid.Parent = Character
2598
2599
Humanoid.Died:connect(function()
2600
    Humanoid.Parent = nil
2601
    Humanoid.MaxHealth = "inf"
2602
    Humanoid.Health = "inf"
2603
    refit()
2604
    Humanoid.Parent = Character
2605
    CreateSound("907330011", Head, 10, 1.2)
2606
end)
2607
2608
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")
2609
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")
2610
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")
2611
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")
2612
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")
2613
local SKILL7FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.85, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 7 Frame")
2614
local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.100, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
2615
local SKILL9FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.475, 0, 0.100, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 9 Frame")
2616
local SKILL10FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.225, 0, 0.100, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 10 Frame")
2617
2618
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Time Spikes", SKILLTEXTCOLOR, SKILLTEXTSIZE-1, SKILLFONT, 0, 2, 0, "Text 1")
2619
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Time Stop", SKILLTEXTCOLOR, SKILLTEXTSIZE-1, SKILLFONT, 0, 2, 0, "Text 2")
2620
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Space's Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
2621
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Time Shot", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 4")
2622
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Red Star", SKILLTEXTCOLOR, SKILLTEXTSIZE+1, SKILLFONT, 0, 2, 0, "Text 5")
2623
local SKILL7TEXT = CreateLabel(SKILL7FRAME, "[R] Time Blast", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 7")
2624
local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[F] Ultimate Blast", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 6")
2625
local SKILL9TEXT = CreateLabel(SKILL9FRAME, "[Q] Warp", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 9")
2626
local SKILL10TEXT = CreateLabel(SKILL10FRAME, "[E] God Mode", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 10")
2627
2628
function printbye(Name)
2629
	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, "}
2630
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
2631
end
2632
2633
workspace.ChildAdded:connect(function(instance)
2634
    for BANISH = 1, #TOBANISH do
2635
		if TOBANISH[BANISH] ~= nil then
2636
			if instance.Name == TOBANISH[BANISH] then
2637
				coroutine.resume(coroutine.create(function()
2638
					printbye(instance.Name)
2639
					instance:ClearAllChildren()
2640
					Debris:AddItem(instance,0.0005)
2641
				end))
2642
			end
2643
		end
2644
	end
2645
end)
2646
2647
2648
--//=================================\\
2649
--||			DAMAGING
2650
--\\=================================//
2651
2652
function Kill(Foe)
2653
	if Foe then
2654
		coroutine.resume(coroutine.create(function()
2655
			--if game.Players:FindFirstChild(Foe.Name) then
2656
				table.insert(TOBANISH,Foe.Name)
2657
				printbye(Foe.Name)
2658
			--end
2659
			Foe.Archivable = true
2660
			local CLONE = Foe:Clone()
2661
			Foe:Destroy()
2662
			CLONE.Parent = Effects
2663
			CLONE:BreakJoints()
2664
			local MATERIALS = {"Glass","Neon"}
2665
			for _, c in pairs(CLONE:GetDescendants()) do
2666
				if c:IsA("BasePart") then
2667
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
2668
 						CreateSound(340722848, c, 10, 1, false)
2669
					end
2670
					c.Anchored = true
2671
					c.Transparency = c.Transparency + 0.2
2672
					c.Material = MATERIALS[MRANDOM(1,2)]
2673
					c.Color = C3(0,0,0)
2674
					if c.ClassName == "MeshPart" then
2675
						c.TextureID = ""
2676
					end
2677
					if c:FindFirstChildOfClass("SpecialMesh") then
2678
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
2679
					end
2680
					if c:FindFirstChildOfClass("Decal") then
2681
						c:FindFirstChildOfClass("Decal"):remove()
2682
					end
2683
					c.Name = "Banished"
2684
					c.CanCollide = false
2685
				else
2686
					c:remove()
2687
				end
2688
			end
2689
			local A = false
2690
			for i = 1, 35 do
2691
				if A == false then
2692
					A = true
2693
				elseif A == true then
2694
					A = false
2695
				end
2696
				for _, c in pairs(CLONE:GetDescendants()) do
2697
					if c:IsA("BasePart") then
2698
						c.Anchored = true
2699
						c.Material = MATERIALS[MRANDOM(1,2)]
2700
						c.Transparency = c.Transparency + 0.8/35
2701
						if A == false then
2702
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
2703
						elseif A == true then
2704
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
2705
						end
2706
					end
2707
				end
2708
				Swait()
2709
			end
2710
			CLONE:remove()
2711
		end))
2712
	end
2713
end
2714
2715
local asd = Instance.new("ParticleEmitter")
2716
asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
2717
asd.LightEmission = .1
2718
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
2719
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
2720
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
2721
asd.Transparency = bbb
2722
asd.Size = aaa
2723
asd.ZOffset = .9
2724
asd.Acceleration = Vector3.new(0, -15, 0)
2725
asd.LockedToPart = false
2726
asd.EmissionDirection = "Back"
2727
asd.Lifetime = NumberRange.new(1, 2)
2728
asd.Rotation = NumberRange.new(-100, 100)
2729
asd.RotSpeed = NumberRange.new(-100, 100)
2730
asd.Speed = NumberRange.new(10)
2731
asd.Enabled = false
2732
asd.VelocitySpread = 999
2733
function getbloody(victim,amount)
2734
	local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
2735
	PART.CFrame = victim.CFrame
2736
	local HITPLAYERSOUNDS = {"356551938","264486467"}
2737
	Debris:AddItem(PART,5)
2738
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
2739
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
2740
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
2741
	local prtcl = asd:Clone()
2742
	prtcl.Parent = PART
2743
	prtcl:Emit(amount*10)
2744
end
2745
function Banish(Char)
2746
	local NewCharacter = Instance.new("Model",Effects)
2747
	NewCharacter.Name = "Ow im ded ;-;"
2748
	for _, c in pairs(Char:GetDescendants()) do
2749
		if c:IsA("BasePart") and c.Transparency == 0 then
2750
			if c.Parent == Char then
2751
				getbloody(c,5)
2752
			end
2753
			c:BreakJoints()
2754
			c.Material = "Glass"
2755
			c.Color = C3(0.5,0,0)
2756
			c.CanCollide = true
2757
			c.Transparency = 0.3
2758
			if c:FindFirstChildOfClass("SpecialMesh") then
2759
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
2760
			end
2761
			if c.Name == "Head" then
2762
				c:ClearAllChildren()
2763
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
2764
			end
2765
			if c.ClassName == "MeshPart" then
2766
				c.TextureID = ""
2767
			end
2768
			if c:FindFirstChildOfClass("BodyPosition") then
2769
				c:FindFirstChildOfClass("BodyPosition"):remove()
2770
			end
2771
			if c:FindFirstChildOfClass("ParticleEmitter") then
2772
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
2773
			end
2774
			c.Parent = NewCharacter
2775
			c.Name = "DeadPart"
2776
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
2777
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
2778
		end
2779
	end
2780
	Char:remove()
2781
	Debris:AddItem(NewCharacter,5)
2782
end
2783
2784
function ApplyAoE(POSITION,RANGE,ISBANISH)
2785
	local CHILDREN = workspace:GetDescendants()
2786
	for index, CHILD in pairs(CHILDREN) do
2787
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2788
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2789
			if HUM then
2790
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2791
				if TORSO then
2792
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
2793
						if ISBANISH == true then
2794
							Banish(CHILD)
2795
						else
2796
							if ISBANISH == "Gravity" then
2797
								HUM.PlatformStand = true
2798
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
2799
									local grav = Instance.new("BodyPosition",TORSO)
2800
									grav.D = 15
2801
									grav.P = 20000
2802
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
2803
									grav.position = TORSO.Position
2804
									grav.Name = "V3BanishForce"..Player.Name
2805
								else
2806
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
2807
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
2808
								end
2809
							else
2810
								HUM.PlatformStand = false
2811
							end
2812
						end
2813
					elseif ISBANISH == "Gravity" then
2814
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
2815
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
2816
							HUM.PlatformStand = false
2817
						end
2818
					end
2819
				end
2820
			end
2821
		end
2822
	end
2823
end
2824
function ApplyKill(POSITION,RANGE,BRUTAL)
2825
	local CHILDREN = workspace:GetDescendants()
2826
	for index, CHILD in pairs(CHILDREN) do
2827
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2828
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2829
			if HUM then
2830
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2831
				if TORSO then
2832
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
2833
						if BRUTAL == true then
2834
							Banish(CHILD)
2835
						else
2836
							CHILD:BreakJoints()
2837
						end
2838
					end
2839
				end
2840
			end
2841
		end
2842
	end
2843
end
2844
2845
function ApplyDamage(Humanoid,Damage)
2846
	Damage = Damage * DAMAGEMULTIPLIER
2847
	if Humanoid.Health ~= 0 then
2848
		Humanoid.Health = Humanoid.Health - Damage
2849
	end
2850
end
2851
2852
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL,OPTION)
2853
	local CHILDREN = workspace:GetDescendants()
2854
	for index, CHILD in pairs(CHILDREN) do
2855
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2856
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2857
			if HUM then
2858
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2859
				if TORSO then
2860
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
2861
						if INSTAKILL == true then
2862
							CHILD:BreakJoints()
2863
							if OPTION ~= nil then
2864
								Kill(CHILD,OPTION)
2865
							end
2866
						else
2867
							local DMG = MRANDOM(MINDMG,MAXDMG)
2868
							ApplyDamage(HUM,DMG)
2869
						end
2870
						if FLING ~= 0 then
2871
							for _, c in pairs(CHILD:GetChildren()) do
2872
								if c:IsA("BasePart") then
2873
									local bv = Instance.new("BodyVelocity") 
2874
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2875
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
2876
									bv.Parent = c
2877
									Debris:AddItem(bv,0.05)
2878
								end
2879
							end
2880
						end
2881
					end
2882
				end
2883
			end
2884
		end
2885
	end
2886
end
2887
2888
function Kill(Victim,Fire)
2889
	coroutine.resume(coroutine.create(function()
2890
		local NIL = script.TotalNil:Clone()
2891
		NIL.Parent = Victim
2892
		NIL.Disabled = false
2893
		if Fire ~= true then
2894
			Victim:BreakJoints()
2895
			for _, c in pairs(Victim:GetChildren()) do
2896
				if c:IsA("BasePart") then
2897
					c.Anchored = true
2898
				end
2899
			end
2900
			for _, c in pairs(Victim:GetChildren()) do
2901
				if c:IsA("BasePart") then
2902
					Shatter(c)
2903
				end
2904
			end
2905
		else
2906
			Victim:BreakJoints()
2907
			local FIRES = {}
2908
			for _, e in pairs(Victim:GetDescendants()) do
2909
				if e:IsA("BasePart") and e.Name ~= "HumanoidRootPart" and e.Parent.ClassName ~= "Folder" then
2910
					e.Transparency = 1
2911
					e:ClearAllChildren()
2912
					local FIRE = script.HellFire:Clone()
2913
					FIRE.Parent = e
2914
					FIRE.Enabled = true
2915
					table.insert(FIRES,FIRE)
2916
				elseif e.ClassName == "Decal" then
2917
					e:remove()
2918
				end	
2919
			end
2920
			for i = 1, 50 do
2921
				Victim:BreakJoints()
2922
				wait()
2923
			end
2924
			for i = 1, #FIRES do
2925
				FIRES[i].Enabled = false
2926
			end
2927
			wait(1.1)
2928
			Victim:remove()
2929
		end
2930
	end))
2931
end
2932
2933
--//=================================\\
2934
--||	ATTACK FUNCTIONS AND STUFF
2935
--\\=================================//
2936
2937
function Kill(Foe)
2938
	if Foe then
2939
		coroutine.resume(coroutine.create(function()
2940
			--if game.Players:FindFirstChild(Foe.Name) then
2941
				table.insert(TOBANISH,Foe.Name)
2942
				printbye(Foe.Name)
2943
			--end
2944
			Foe.Archivable = true
2945
			local CLONE = Foe:Clone()
2946
			Foe:Destroy()
2947
			CLONE.Parent = Effects
2948
			CLONE:BreakJoints()
2949
			local MATERIALS = {"Glass","Neon"}
2950
			for _, c in pairs(CLONE:GetDescendants()) do
2951
				if c:IsA("BasePart") then
2952
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
2953
 						CreateSound(340722848, c, 10, 1, false)
2954
					end
2955
					c.Anchored = true
2956
					c.Transparency = c.Transparency + 0.2
2957
					c.Material = MATERIALS[MRANDOM(1,2)]
2958
					c.Color = C3(0,0,0)
2959
					if c.ClassName == "MeshPart" then
2960
						c.TextureID = ""
2961
					end
2962
					if c:FindFirstChildOfClass("SpecialMesh") then
2963
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
2964
					end
2965
					if c:FindFirstChildOfClass("Decal") then
2966
						c:FindFirstChildOfClass("Decal"):remove()
2967
					end
2968
					c.Name = "Banished"
2969
					c.CanCollide = false
2970
				else
2971
					c:remove()
2972
				end
2973
			end
2974
			local A = false
2975
			for i = 1, 35 do
2976
				if A == false then
2977
					A = true
2978
				elseif A == true then
2979
					A = false
2980
				end
2981
				for _, c in pairs(CLONE:GetDescendants()) do
2982
					if c:IsA("BasePart") then
2983
						c.Anchored = true
2984
						c.Material = MATERIALS[MRANDOM(1,2)]
2985
						c.Transparency = c.Transparency + 0.8/35
2986
						if A == false then
2987
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
2988
						elseif A == true then
2989
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
2990
						end
2991
					end
2992
				end
2993
				Swait()
2994
			end
2995
			CLONE:remove()
2996
		end))
2997
	end
2998
end
2999
3000
function Madness()
3001
	ATTACK = true
3002
	Rooted = false
3003
	local GYRO = IT("BodyGyro",RootPart)
3004
	GYRO.D = 750
3005
	GYRO.P = 20000
3006
	GYRO.MaxTorque = VT(0,40000000,0)
3007
	local LOCKED = true
3008
	local SHOT = false
3009
	coroutine.resume(coroutine.create(function()
3010
		for i=0, 1, 0.1 / Animation_Speed do
3011
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
3012
			Swait()
3013
			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(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3014
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3015
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3016
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3017
		end
3018
		LOCKED = false
3019
		SHOT = true
3020
		repeat
3021
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
3022
			Swait()
3023
			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(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3024
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3025
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3026
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3027
		until HOLD == false and SHOT == false
3028
		for i=0, 0.3, 0.1 / Animation_Speed do
3029
			Swait()
3030
			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(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3031
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3032
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3033
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3034
		end
3035
		GYRO:remove()
3036
		ATTACK = false
3037
		Rooted = false
3038
	end))
3039
	repeat wait() until LOCKED == false
3040
	repeat
3041
		SHOT = true
3042
		wait(0.2)
3043
		SHOT = false
3044
		local BULLET = Lightning({Material = "Glass", FadeIn = true, Color = C3(0,0,0), Start = Hole.CFrame*CF(0, 1, 0.045).p, End = Mouse.Hit.p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
3045
		local HIT = BULLET.Hit
3046
		local HITPOS = BULLET.End
3047
		if HIT then
3048
			if HIT.Parent:FindFirstChildOfClass("Humanoid") then
3049
				Kill(HIT.Parent)
3050
			end
3051
		end
3052
		WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 2, SoundVolume = 1})
3053
		WACKYEFFECT({Time = 15, EffectType = "Skull", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 2})
3054
		WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(1,1.2,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 145080998, SoundPitch = 1, SoundVolume = 2})
3055
		WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(2,1,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 145080998, SoundPitch = 1, SoundVolume = 2})
3056
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
3057
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
3058
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
3059
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
3060
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
3061
	until HOLD == false
3062
end
3063
3064
function Banisher_Bullet()
3065
	ATTACK = true
3066
	Rooted = false
3067
	for i=0, 0.4, 0.1 / Animation_Speed do
3068
		Swait()
3069
		turnto(Mouse.Hit.p)
3070
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
3071
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
3072
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
3073
	end
3074
	repeat
3075
		for i=0, 0.2, 0.1 / Animation_Speed do
3076
			Swait()
3077
			turnto(Mouse.Hit.p)
3078
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
3079
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
3080
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
3081
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
3082
		end
3083
		local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
3084
		SpawnTrail(Hole.Position,POS)
3085
		if HIT ~= nil then
3086
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
3087
				Banish(HIT.Parent)
3088
			end
3089
		end
3090
		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(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3091
		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(0,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
3092
		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(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
3093
		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(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
3094
		for i=0, 0.3, 0.1 / Animation_Speed do
3095
			Swait()
3096
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
3097
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
3098
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
3099
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
3100
		end
3101
	until KEYHOLD == false
3102
	ATTACK = false
3103
	Rooted = false
3104
end
3105
3106
function AttackTemplate()
3107
	ATTACK = true
3108
	Rooted = false
3109
	for i=0, 1, 0.1 / Animation_Speed do
3110
		Swait()
3111
		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)
3112
		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)
3113
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3114
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3115
		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)
3116
		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)
3117
	end
3118
	ATTACK = false
3119
	Rooted = false
3120
end
3121
3122
function HI()
3123
	ATTACK = true
3124
	Rooted = false
3125
	local LOOP = 0
3126
	for i=0, 0.1, 0.1 / Animation_Speed do
3127
		Swait()
3128
		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)
3129
		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)
3130
		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)
3131
		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)
3132
	end
3133
	for i=0, 3, 0.1 / Animation_Speed do
3134
		Swait()
3135
		LOOP = LOOP + 1
3136
		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)
3137
		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)
3138
		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)
3139
		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)
3140
	end
3141
	for i=0, 0.1, 0.1 / Animation_Speed do
3142
		Swait()
3143
		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)
3144
		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)
3145
		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)
3146
		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)
3147
	end
3148
	ATTACK = false
3149
	Rooted = false
3150
end
3151
3152
function Mercy()
3153
	ATTACK = true
3154
	Rooted = true
3155
	local SPOTS = {}
3156
		for i = 1, 15 do
3157
			Swait()
3158
			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)
3159
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 0.1 / Animation_Speed)
3160
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
3161
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3162
		end
3163
		WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Maroon".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
3164
		for i=0, 0.5, 0.1 / Animation_Speed do
3165
			Swait()
3166
			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(65 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3167
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-65 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3168
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3169
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3170
		end
3171
		local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character)
3172
		table.insert(SPOTS,HITPOS)
3173
		CreateSound(145080998, Hole, 2, 1, false)
3174
		Lightning({Material = "Neon", FadeIn = false, Color = C3(1,0,0), Start = Hole.CFrame*CF(0, 1, 0.045).p, End = Hole.CFrame*CF(0, 1000, 0.045).p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
3175
	coroutine.resume(coroutine.create(function()
3176
		local POS = Mouse.Hit.p
3177
		local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,0,0))
3178
		MakeForm(RAY,"Cyl")
3179
		local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,0,0))
3180
		MakeForm(SPHERE,"Ball")
3181
		local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Strike", VT(0,0,0))
3182
		MakeForm(SHIELD,"Ball")
3183
		SHIELD.CFrame = CF(POS)
3184
		RAY.CFrame = CF(POS)
3185
		SPHERE.CFrame = CF(POS)
3186
		CreateSound(440145570, SPHERE, 10, 0.8, false)
3187
		CreateSound(415700134, SPHERE, 10, 0.8, false)
3188
		for i = 1, 200 do
3189
			Swait()
3190
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*1.2,5+(i),SPHERE.Size.X*1.2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(0), RAD(i), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3191
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
3192
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*2,5+(i),SPHERE.Size.X*2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
3193
			RAY.Size = RAY.Size + VT(0.05,0,0.05)
3194
			SPHERE.Size = SPHERE.Size + VT(0.4,0.4,0.4)
3195
			SHIELD.Size = SPHERE.Size + VT(0.5,0.5,0.5)
3196
			ApplyKill(SPHERE.Position,SPHERE.Size.X/2,true)
3197
		end	
3198
		for i = 1, 45 do
3199
			Swait()
3200
			RAY.Transparency = RAY.Transparency + 1/45
3201
			SPHERE.Transparency = RAY.Transparency 
3202
			SHIELD.Transparency = SPHERE.Transparency + 1/45
3203
		end
3204
		RAY:remove()
3205
		SHIELD:remove()
3206
		SPHERE:remove()
3207
	end))
3208
	ATTACK = false
3209
	Rooted = false
3210
end
3211
function Warp()
3212
	for e = 1, #BODY do
3213
		if BODY[e] ~= nil then
3214
			local STUFF = BODY[e]
3215
			local PART = STUFF[1]
3216
			if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
3217
				local PRT = PART:Clone()
3218
				PRT.Anchored = true
3219
				PRT.CanCollide = false
3220
				PRT.Material = "Neon"
3221
				PRT.Color = C3(0,0,0)
3222
				PRT.Name = "WarpEffect"
3223
				PRT.Parent = Effects
3224
				PRT.CFrame = PART.CFrame
3225
				PRT:BreakJoints()
3226
				if PRT:FindFirstChildOfClass("Sound") then
3227
					PRT:FindFirstChildOfClass("Sound"):remove()
3228
				end
3229
				if PRT:FindFirstChildOfClass("Decal") then
3230
					PRT:FindFirstChildOfClass("Decal"):remove()
3231
				end
3232
				coroutine.resume(coroutine.create(function()
3233
					for i = 1, 100 do
3234
						Swait()
3235
						PRT.Transparency = PRT.Transparency + 1/100
3236
					end
3237
					PRT:remove()
3238
				end))
3239
			end
3240
		end
3241
	end
3242
	CreateSound(217767125, Torso, 10, 1)
3243
	local POS = RootPart.Orientation
3244
	RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
3245
	RootPart.Orientation = POS
3246
	RootJoint.Parent = RootPart
3247
			WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Eyes.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
3248
	ATTACK = false
3249
	Rooted = false
3250
end
3251
function killnearest(position,range,maxstrength,BRUTAL,RANGE)
3252
    for i,v in ipairs(workspace:GetChildren()) do
3253
    local body = v:GetChildren()
3254
        for part = 1, #body do
3255
            if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
3256
                if(body[part].Position - position).Magnitude < range then
3257
                    if v.ClassName == "Model" then
3258
                        v:BreakJoints()
3259
                    end
3260
                    --table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
3261
                    local bv = Instance.new("BodyVelocity")
3262
                    bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
3263
                    bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
3264
                    bv.Parent = body[part]
3265
                    Debris:AddItem(bv,0.2)
3266
                end
3267
            end
3268
        end
3269
        if v.ClassName == "Part" then
3270
            if v.Anchored == false and (v.Position - position).Magnitude < range then
3271
                --table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
3272
                v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
3273
            end
3274
        end
3275
    end
3276
end
3277
function Darkness()
3278
        ATTACK = true
3279
        Rooted = true
3280
        local GYRO = IT("BodyGyro",RootPart)
3281
        GYRO.D = 100
3282
        GYRO.P = 2000
3283
        GYRO.MaxTorque = VT(0,4000000,0)
3284
        GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
3285
        CreateSound("429459101", RightArm, 10, 0.8)
3286
        for i=0, 3.5, 0.1 / Animation_Speed do
3287
            Swait()
3288
            GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
3289
 					WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,10,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
3290
 				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)
3291
				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)
3292
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.75 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3293
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3294
        end
3295
        GYRO:remove()
3296
        for i=0, 0.15, 0.1 / Animation_Speed do
3297
            Swait()
3298
            GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
3299
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,10,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
3300
				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)
3301
				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)
3302
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.75 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3303
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3304
        end
3305
        local BOMBSPOTS = {}
3306
        for i = 1, 25 do
3307
            local SPOT = CreatePart(3, Effects, "Neon", 0, 0, "Relly black", "Blade", VT(8,1,8))
3308
            SPOT.Color = SKILLTEXTCOLOR
3309
            SPOT.CFrame = RootPart.CFrame*CF((MRANDOM(-15,15)/40)*i,-5,-i*5)
3310
            table.insert(BOMBSPOTS,SPOT)
3311
            MakeForm(SPOT,"Cyl2")
3312
        end
3313
        for i=0, 0.2, 0.1 / Animation_Speed do
3314
            Swait()
3315
		WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
3316
				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)
3317
				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)
3318
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.75 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3319
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3320
        end
3321
        ATTACK = false
3322
        Rooted = false
3323
        coroutine.resume(coroutine.create(function()
3324
            Swait(3)
3325
            for i = 1, #BOMBSPOTS do
3326
                if BOMBSPOTS[i] ~= nil then
3327
                    local E = BOMBSPOTS[i]
3328
                    coroutine.resume(coroutine.create(function()
3329
                        local BLADE = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Relly black", "Blade", VT(0,0,0))
3330
                        BLADE.Color = SKILLTEXTCOLOR
3331
                        CreateMesh("SpecialMesh", BLADE, "FileMesh", "93108071", "", VT(0.6,1,0.4)*3, VT(0,0,0))
3332
                        CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], BLADE, 4, 0.6)
3333
                        BLADE.CFrame = E.CFrame*CF(0,-3,0)*ANGLES(RAD(MRANDOM(-15,15)),RAD(90),RAD(MRANDOM(-15,15)))
3334
                        for i = 1, 10 do
3335
                            Swait()
3336
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.5,0.5,0.5), Size2 = VT(0,50,0), Transparency = 0, Transparency2 = 1, CFrame = CF(BLADE.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
3337
                            killnearest(BLADE.Position,6,80)
3338
                            BLADE.CFrame = BLADE.CFrame*CF(0,0.3,0)
3339
                            BLADE.Transparency = BLADE.Transparency - 0.1
3340
                        end
3341
                        Swait(45)
3342
                        for i = 1, 100 do
3343
                            Swait()
3344
                            BLADE.Transparency = BLADE.Transparency + 0.01
3345
                            E.Transparency = E.Transparency + 0.01
3346
                        end
3347
                        BLADE:remove()
3348
                        E:remove()
3349
                    end))
3350
                end
3351
            end
3352
        end))
3353
end
3354
function Death()
3355
	if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
3356
		local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
3357
		local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
3358
		if TORSO and HUM.Health > 0 then
3359
			ATTACK = true
3360
			Rooted = true
3361
			local GYRO = IT("BodyGyro",RootPart)
3362
			GYRO.D = 175
3363
			GYRO.P = 20000
3364
			GYRO.MaxTorque = VT(0,40000,0)
3365
				for i=0, 1, 0.1 / Animation_Speed do
3366
					Swait()
3367
					GYRO.cframe = CF(RootPart.Position,TORSO.Position)
3368
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(50)), 1 / Animation_Speed)
3369
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-50)), 1 / Animation_Speed)
3370
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3371
				end
3372
		WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
3373
		WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
3374
			local MAGIC = ParticleEmitter({Speed = 5, Drag = 3, Size1 = 1.7, Size2 = 0, Lifetime1 = 1, Lifetime2 = 3, Parent = TORSO, Emit = 100, Offset = 360, Enabled = true})
3375
			MAGIC.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(1,0)})
3376
			local grav = Instance.new("BodyPosition",TORSO)
3377
			grav.D = 1500
3378
			grav.P = 20000
3379
			grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
3380
			grav.position = TORSO.Position+VT(0,15,0)
3381
			Debris:AddItem(grav,10)
3382
			Debris:AddItem(MAGIC,10)
3383
			CreateSound(429459101, Torso, 7, 1, false)
3384
			CreateSound(429459101, TORSO, 7, 1, false)
3385
			GYRO:remove()
3386
			ATTACK = false
3387
			Rooted = false
3388
		end
3389
	end
3390
end
3391
3392
function TakeOnMe()
3393
	Speed = 5
3394
	local MEME = CreateSound(288703954, Effects, 2, 1, false)
3395
	ATTACK = true
3396
	Rooted = false
3397
	local DANCE = true
3398
	local KEY = Mouse.KeyDown:connect(function(NEWKEY)
3399
		if NEWKEY == "p" then
3400
			DANCE = false
3401
		end
3402
	end)
3403
	while true do
3404
		for i = 1, 15 do
3405
			Swait()
3406
			MEME.Parent = Effects
3407
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3408
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3409
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3410
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3411
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3412
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -1) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3413
		end
3414
		if DANCE == false then
3415
			break
3416
		end
3417
		for i = 1, 15 do
3418
			Swait()
3419
			MEME.Parent = Effects
3420
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3421
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3422
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3423
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(10)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3424
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3425
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3426
		end
3427
	end
3428
	KEY:Disconnect()
3429
	MEME:remove()
3430
	Speed = 25
3431
	ATTACK = false
3432
	Rooted = false
3433
end
3434
3435
function TimeStop ()
3436
	local HITFLOOR,HITPOS = Raycast(RootPart.CFrame*CF(0,0,-6.5).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
3437
	CHOICE = 6
3438
	CreateSound(1193182658, Character, 5, 1, false)
3439
     back = CreateSound(1841228386, Character, 9999, 1, false)
3440
	local killsky = Instance.new('Sky', game:GetService'Lighting')
3441
killsky.SkyboxBk = "rbxassetid://1013852"
3442
killsky.SkyboxDn = "rbxassetid://1013853"
3443
killsky.SkyboxFt = "rbxassetid://1013850"
3444
killsky.SkyboxLf = "rbxassetid://1013851"
3445
killsky.SkyboxRt = "rbxassetid://1013849"
3446
killsky.SkyboxUp = "rbxassetid://1013854"
3447
killsky.StarCount = 0
3448
killsky.SunAngularSize = 0
3449
killsky.MoonAngularSize = 0
3450
killsky.MoonTextureId = ""
3451
killsky.CelestialBodiesShown = false
3452
game.Lighting.FogColor = Color3.new(1,1,0)
3453
game.Lighting.FogEnd = 1400
3454
	if HITFLOOR ~= nil then
3455
		ATTACK = false
3456
		Rooted = false
3457
		local RINGSPIN = true
3458
		local CONSTRUCTING = true
3459
		local RING = CreatePart(3, Effects, "Neon", 0, 1, "New Yeller", "Ring", VT(0,0,0))
3460
		RING.Color = C3(0,0,0)
3461
		MakeForm(RING,"Cyl")
3462
		RING.CFrame = CF(HITPOS)
3463
		coroutine.resume(coroutine.create(function()
3464
			repeat
3465
				Swait()
3466
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
3467
			until CONSTRUCTING == false
3468
			repeat 
3469
				Swait() 
3470
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
3471
			until RINGSPIN == false
3472
			for i = 1, 25 do
3473
				Swait()
3474
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
3475
				RING.Size = RING.Size - VT(0.15,0,0.15)
3476
				--DECAL.Transparency = DECAL.Transparency + 1/25
3477
				RING.Transparency = RING.Transparency + 1/25
3478
			end
3479
			RING:remove()
3480
		end))
3481
		for i = 1, 15 do
3482
			Swait()
3483
			RING.Size = RING.Size + VT(0,0,0)
3484
			RING.Transparency = RING.Transparency - 1/15
3485
		end
3486
		end
3487
	local RANDOMEFFECT = MRANDOM(1)
3488
	local BASE = CreatePart(3, Character, "Neon", 0, 0, "New Yeller", "Black", VT(2,1.8,2))
3489
			BASE.Color = C3(0,0,0)
3490
			BASE.Transparency = 1
3491
			BASE.CFrame = CF(HITPOS+VT(0,-8,0),VT(RootPart.Position.X,HITPOS.Y-8,RootPart.Position.Z))
3492
	if RANDOMEFFECT == 1 then
3493
				local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "New Yeller", "Field", VT(0.3,0.3,0.3))
3494
				FIELD.CFrame = BASE.CFrame
3495
				MakeForm(FIELD,"Ball")
3496
				for i = 1, 50 do
3497
					Swait()
3498
					FIELD.Size = VT(0,0,0)
3499
					FIELD.CFrame = FIELD.CFrame * CF(0,0.75-(i/45),0)
3500
				end
3501
				end
3502
				wait(0.2)
3503
				local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "New Yeller", "Field", VT(0.3,0.3,0.3))
3504
				FIELD.CFrame = BASE.CFrame
3505
				local LOOP = CreateSound(1393698948, Character, 0, 1, true)
3506
				coroutine.resume(coroutine.create(function()
3507
					for i = 1, 75 do
3508
						Swait()
3509
						LOOP.Volume = LOOP.Volume + 10/75
3510
						LOOP.Parent = FIELD
3511
						local CHILDREN = workspace:GetDescendants()
3512
						for index, CHILD in pairs(CHILDREN) do
3513
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
3514
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
3515
								if HUM then
3516
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
3517
									if TORSO then
3518
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
3519
											HUM.Health = HUM.Health - 0
3520
											TORSO.Velocity = VT(0,5,0)
3521
											HUM.PlatformStand = true
3522
											if TORSO.RotVelocity.Magnitude < 15 then
3523
										 		TORSO.Anchored = true
3524
											end
3525
										end
3526
									end
3527
								end
3528
							end
3529
						end
3530
						FIELD.Size = FIELD.Size + VT(90,90,90)
3531
						FIELD.Transparency = FIELD.Transparency + 0.8/75
3532
					end
3533
				for i = 1, 500 do
3534
						Swait()
3535
						LOOP.Parent = FIELD
3536
						local CHILDREN = workspace:GetDescendants()
3537
						for index, CHILD in pairs(CHILDREN) do
3538
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
3539
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
3540
								if HUM then
3541
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
3542
									if TORSO then
3543
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
3544
											TORSO.Velocity = VT(0,5,0)
3545
											HUM.Health = HUM.Health - 0
3546
											HUM.PlatformStand = true
3547
											if TORSO.RotVelocity.Magnitude < 15 then
3548
										 		TORSO.Anchored = true
3549
											end
3550
										end
3551
									end
3552
								end
3553
							end
3554
						end
3555
					end
3556
 wait (20)
3557
back:Remove()
3558
		CreateSound(1538466750, Character, 99999, 1, false)
3559
		killsky:Remove()
3560
		game.Lighting.FogEnd = 90000000
3561
		wait (5)
3562
		CHOICE = MRANDOM (1,5)
3563
					for i = 1, 25 do
3564
						Swait()
3565
						LOOP.Volume = LOOP.Volume + 10/25
3566
						LOOP.Parent = FIELD
3567
						local CHILDREN = workspace:GetDescendants()
3568
						for index, CHILD in pairs(CHILDREN) do
3569
							if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
3570
								local HUM = CHILD:FindFirstChildOfClass("Humanoid")
3571
								if HUM then
3572
									local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
3573
									if TORSO then
3574
										if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/1.8 then
3575
											TORSO.Velocity = VT(0,5,0)
3576
											HUM.Health = HUM.Health - 0
3577
											HUM.PlatformStand = false
3578
											if TORSO.RotVelocity.Magnitude < 15 then
3579
										 		TORSO.Anchored = false
3580
										end
3581
									end
3582
								end
3583
							end
3584
						end
3585
						FIELD.Size = FIELD.Size - VT(3,3,3)
3586
						FIELD.Transparency = FIELD.Transparency + 0.2/25
3587
						     end
3588
						end
3589
				end))	
3590
				FIELD:Remove()
3591
           ATTACK = false
3592
		Rooted = false
3593
	end
3594
3595
function FingerMagic()
3596
	ATTACK = true
3597
	Rooted = false
3598
	for i=0, 0.1, 0.1 / Animation_Speed do
3599
		Swait()
3600
		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)
3601
		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)
3602
		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)
3603
		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)
3604
	end
3605
	for i=0, 1, 0.1 / Animation_Speed do
3606
		Swait()
3607
		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(0 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3608
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3609
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 7.5 * SIN(SINE / 12))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3610
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.15 + 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(160), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3611
	end
3612
	WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
3613
	for i = 1, 5 do
3614
		WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(1,1,1), Size2 = VT(0,7,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 2, SoundVolume = 1})
3615
	end
3616
	CreateSound(217767125, LeftArm, 10, 1, false)
3617
	coroutine.resume(coroutine.create(function()
3618
		local EXPLODED = false
3619
		for i = 1, 3 do
3620
			coroutine.resume(coroutine.create(function()
3621
				local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 15, Character)
3622
				if HITFLOOR then
3623
					local CFRAME = CF(HITPOS) * ANGLES(RAD(0), RAD((360/3)*i), RAD(0))
3624
					for i = 1, 35 do
3625
						wait()
3626
						for _, c in pairs(workspace:GetChildren()) do
3627
							if EXPLODED == false and c.ClassName == "Model" and c:FindFirstChildOfClass("Humanoid") and c ~= Character then
3628
								local HUM = c:FindFirstChildOfClass("Humanoid")
3629
								local TORSO = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
3630
								if TORSO and HUM.Health > 0 then
3631
									if (TORSO.Position - CFRAME.p).Magnitude < 10 then
3632
										EXPLODED = true
3633
										coroutine.resume(coroutine.create(function()
3634
											for i = 1, 15 do
3635
												Kill(CFRAME*CF(0,10,0).p,30+(i*4),0,0,-35,false)
3636
												wait(0.2)
3637
												WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(15+(i*2),5,15+(i*2)), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
3638
												WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(15,15,15)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
3639
												WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(12,12,12)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.7,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 1})
3640
											end
3641
											WACKYEFFECT({Time = 50, EffectType = "Block", Size = VT(15,15,15)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
3642
											wait(1)
3643
											WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(100,100,100)*5, Transparency = 0.4, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.3,0,0), SoundID = 461105534, SoundPitch = 1, SoundVolume = 10})
3644
											local PART = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
3645
											PART.CFrame = CFRAME*CF(0,10,0)
3646
											Debris:AddItem(PART,10)
3647
											local PARTICLES = script.Explode:Clone()
3648
											PARTICLES.Parent = PART
3649
											PARTICLES:Emit(500)
3650
											Kill(CFRAME*CF(0,10,0).p,45*2,0,0,350,true)
3651
											WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(90,90,90)*2, Transparency = 0.8, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 3})
3652
											WACKYEFFECT({EffectType = "Ring", Size = VT(00,0.01)/20, Size2 = VT(35,35,0.01), Transparency = 0.7, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0)*ANGLES(RAD(0), RAD(90), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3653
											WACKYEFFECT({EffectType = "Ring", Size = VT(00,0.01)/20, Size2 = VT(35,35,0.01), Transparency = 0.7, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0)*ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3654
										end))
3655
									end
3656
								end
3657
							end
3658
						end
3659
						if EXPLODED == true then
3660
							break
3661
						end
3662
						CFRAME = CFRAME * ANGLES(RAD(0), RAD(10), RAD(0)) * CF(0,0,-3)
3663
						WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(10,15,10), Size2 = VT(0,35,0), Transparency = 1, Transparency2 = 0.9, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
3664
						WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(15,15,15), Size2 = VT(0,25,0), Transparency = 1, Transparency2 = 0.6, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Maroon".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
3665
					end
3666
				end
3667
			end))
3668
		end
3669
	end))
3670
	for i=0, 1, 0.1 / Animation_Speed do
3671
		Swait()
3672
		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(0 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3673
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3674
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 7.5 * SIN(SINE / 12))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3675
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15 + 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(170), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3676
	end
3677
	ATTACK = false
3678
	Rooted = false
3679
end
3680
3681
function PainlessRain()
3682
	ATTACK = true
3683
	Rooted = true
3684
	local SPOTS = {}
3685
	local BULLETS = 0
3686
	repeat
3687
		BULLETS = BULLETS + 1
3688
		for i = 1, 15 do
3689
			Swait()
3690
			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)
3691
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 0.1 / Animation_Speed)
3692
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
3693
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3694
		end
3695
	until KEYHOLD == false
3696
	for i = 1, BULLETS do
3697
		for i=0, 0.5, 0.1 / Animation_Speed do
3698
			Swait()
3699
			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(65 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3700
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-65 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3701
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3702
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3703
		end
3704
		local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character)
3705
		table.insert(SPOTS,HITPOS)
3706
		
3707
		for i=0, 0.35, 0.1 / Animation_Speed do
3708
			Swait()
3709
		
3710
			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(65 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3711
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-65 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3712
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3713
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3714
		end
3715
	end
3716
	coroutine.resume(coroutine.create(function()
3717
		for i = 1, #SPOTS do
3718
			wait(0.1)
3719
			coroutine.resume(coroutine.create(function()
3720
				local SPOT = SPOTS[i]
3721
				local BOLT = Lightning({Material = "Neon", FadeIn = true, Color = C3(1,0,0), Start = SPOT+VT(0,150,0), End = SPOT, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 125, Thicken = true})
3722
				local POSITION = BOLT.Pos
3723
				ApplyAoE(POSITION,75/2,0,0,350,true)
3724
				WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(50,150,50), Transparency = 0.3, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 3})
3725
				WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(15,0,15), Size2 = VT(75,5,75), Transparency = 0, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = 165970126, SoundPitch = 1, SoundVolume = 4})
3726
				WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(15,0,15), Size2 = VT(35,15,35), Transparency = 0, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
3727
			end))
3728
		end
3729
	end))
3730
	ATTACK = false
3731
	Rooted = false
3732
end
3733
3734
function Noclip()
3735
	ATTACK = true
3736
	Rooted = true
3737
	UNANCHOR = false
3738
	RootPart.Anchored = true
3739
	local CLIPPING = true
3740
	local MOVEMENT = nil
3741
	CreateSound(96098241, Torso, 3, MRANDOM(9,12)/10, false)
3742
	for i = 1, 50 do
3743
		Swait()
3744
		EXTRATRANS = EXTRATRANS + 0.5/50
3745
		RootPart.CFrame = RootPart.CFrame * CF(0,(1-(i/50))/4.3,0)
3746
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3747
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3748
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3749
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3750
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
3751
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
3752
	end
3753
	local AURA = CreateSound(1393698948, Torso, 3, 1, true)
3754
	local KEY = Mouse.KeyDown:connect(function(NEWKEY)
3755
		if NEWKEY == "w" then
3756
			MOVEMENT = "Forward"
3757
			repeat
3758
				Swait()
3759
				RootPart.CFrame = RootPart.CFrame * CF(0,0,-0.2)
3760
			until KEYHOLD == false
3761
		elseif NEWKEY == "s" then
3762
			MOVEMENT = "Backwards"
3763
			repeat
3764
				Swait()
3765
				RootPart.CFrame = RootPart.CFrame * CF(0,0,0.2)
3766
			until KEYHOLD == false
3767
		elseif NEWKEY == "a" then
3768
			MOVEMENT = "Strafe"
3769
			repeat
3770
				Swait()
3771
				RootPart.CFrame = RootPart.CFrame * CF(0.2,0,0)
3772
			until KEYHOLD == false
3773
		elseif NEWKEY == "d" then
3774
			MOVEMENT = "Strafe"
3775
			repeat
3776
				Swait()
3777
				RootPart.CFrame = RootPart.CFrame * CF(-0.2,0,0)
3778
			until KEYHOLD == false
3779
		elseif NEWKEY == "e" then
3780
			CLIPPING = false
3781
		end
3782
		MOVEMENT = nil
3783
	end)
3784
	local LOOP = 0
3785
	repeat
3786
		Swait()
3787
		AURA.Parent = Torso
3788
		LOOP = LOOP + 1
3789
		if LOOP >= 15 then
3790
			LOOP = 0
3791
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(15,1,15), Transparency = 0.7, Transparency2 = 1, CFrame = CF(RootPart.CFrame*CF(0,-3.5,0).p), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3792
		end
3793
		if MOVEMENT == nil then
3794
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3795
			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)
3796
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3797
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3798
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
3799
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
3800
		elseif MOVEMENT == "Forward" then
3801
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
3802
			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)
3803
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3804
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3805
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
3806
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
3807
		elseif MOVEMENT == "Backwards" then
3808
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
3809
			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)
3810
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3811
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3812
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
3813
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
3814
		elseif MOVEMENT == "Strafe" then
3815
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(2), RAD(0), RAD(0)), 1 / Animation_Speed)
3816
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3817
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3818
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3819
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
3820
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
3821
		end
3822
	until CLIPPING == false
3823
	KEY:Disconnect()
3824
	coroutine.resume(coroutine.create(function()
3825
		for i = 1, 20 do
3826
			Swait()
3827
			AURA.Volume = AURA.Volume - 3/20
3828
		end
3829
		AURA:remove()
3830
	end))
3831
	CreateSound(814168787, Torso, 1, MRANDOM(9,12)/10, false)
3832
	for i = 1, 50 do
3833
		Swait()
3834
		EXTRATRANS = EXTRATRANS - 0.5/50
3835
		RootPart.CFrame = RootPart.CFrame * CF(0,-(1-(i/50))/4.3,0)
3836
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3837
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3838
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3839
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3840
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
3841
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
3842
	end
3843
	EXTRATRANS = 0
3844
	UNANCHOR = true
3845
	ATTACK = false
3846
	Rooted = false
3847
end
3848
3849
--//=================================\\
3850
--||	  ASSIGN THINGS TO KEYS
3851
--\\=================================//
3852
3853
function MouseDown(Mouse)
3854
	HOLD = true
3855
	if ATTACK == false then
3856
	end
3857
end
3858
3859
function MouseUp(Mouse)
3860
HOLD = false
3861
end
3862
3863
function KeyDown(Key)
3864
	KEYHOLD = true
3865
	if Key == "q" and ATTACK == false then
3866
		Warp()
3867
	end
3868
3869
	if Key == "b" and ATTACK == false then
3870
		TimeStop()
3871
	end
3872
3873
	if Key == "v" and ATTACK == false then
3874
		Madness()
3875
	end
3876
3877
	if Key == "x" and ATTACK == false then
3878
		Mercy()
3879
	end
3880
3881
	if Key == "t" and ATTACK == false then
3882
		HI()
3883
	end
3884
	
3885
	if Key == "f" and ATTACK == false then
3886
		FingerMagic()
3887
	end
3888
3889
	if Key == "r" and ATTACK == false then
3890
		PainlessRain()
3891
	end
3892
	
3893
	if Key == "z" and ATTACK == false then
3894
		Darkness()
3895
	end
3896
	
3897
	if Key == "c" and ATTACK == false then
3898
		Banisher_Bullet()
3899
	end
3900
	
3901
	if Key == "e" and ATTACK == false then
3902
		Noclip()
3903
	end
3904
	
3905
	if Key == "p" and ATTACK == false then
3906
		TakeOnMe()
3907
	end
3908
end
3909
3910
function KeyUp(Key)
3911
	KEYHOLD = false
3912
end
3913
3914
	Mouse.Button1Down:connect(function(NEWKEY)
3915
		MouseDown(NEWKEY)
3916
	end)
3917
	Mouse.Button1Up:connect(function(NEWKEY)
3918
		MouseUp(NEWKEY)
3919
	end)
3920
	Mouse.KeyDown:connect(function(NEWKEY)
3921
		KeyDown(NEWKEY)
3922
	end)
3923
	Mouse.KeyUp:connect(function(NEWKEY)
3924
		KeyUp(NEWKEY)
3925
	end)
3926
3927
--//=================================\\
3928
--\\=================================//
3929
3930
3931
function unanchor()
3932
	if UNANCHOR == true then
3933
		RootPart.Anchored = false
3934
	end
3935
	g = Character:GetChildren()
3936
	for i = 1, #g do
3937
		if g[i].ClassName == "Part" and g[i] ~= RootPart then
3938
			g[i].Anchored = false
3939
		end
3940
	end
3941
	g = Weapon:GetChildren()
3942
	for i = 1, #g do
3943
		if g[i].ClassName == "Part" then
3944
			g[i].Anchored = false
3945
		end
3946
	end
3947
end
3948
3949
3950
--//=================================\\
3951
--||	WRAP THE WHOLE SCRIPT UP
3952
--\\=================================//
3953
3954
Humanoid.Changed:connect(function(Jump)
3955
	if Jump == "Jump" and (Disable_Jump == true) then
3956
		Humanoid.Jump = false
3957
	end
3958
end)
3959
3960
while true do
3961
	Swait()
3962
           refit()
3963
	script.Parent = WEAPONGUI
3964
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
3965
	    v:Stop();
3966
	end
3967
	ANIMATE.Parent = nil
3968
	SINE = SINE + CHANGE*1.5
3969
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
3970
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
3971
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
3972
	local WALKSPEEDVALUE = 10 / (Humanoid.WalkSpeed / 16)
3973
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
3974
        RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0 * COS(SINE / (WALKSPEEDVALUE / 2)) * SIZE) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3975
        Neck.C1 = Clerp(Neck.C1, CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3976
    elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
3977
        RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3978
        Neck.C1 = Clerp(Neck.C1, CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3979
	end
3980
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
3981
		ANIM = "Jump"
3982
		if ATTACK == false then
3983
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3984
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
3985
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3986
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3987
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
3988
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
3989
	    end
3990
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
3991
		ANIM = "Fall"
3992
		if ATTACK == false then
3993
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
3994
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
3995
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3996
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3997
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 1 / Animation_Speed)
3998
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
3999
		end
4000
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
4001
		ANIM = "Idle"
4002
		if ATTACK == false then
4003
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.5 * COS(SINE / 12)) * ANGLES(RAD(0 - 3 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4004
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4005
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75*SIZE, 0.5*SIZE, -1*SIZE) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
4006
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1*SIZE, 0.2*SIZE, -0.5*SIZE) * ANGLES(RAD(25), RAD(0), RAD(85)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
4007
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE - 0.05*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4008
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -0.8*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4009
			end
4010
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
4011
		ANIM = "Walk"
4012
		if ATTACK == false then
4013
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.5 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
4014
		    Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4015
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(-55 + 2.5 * SIN(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4016
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(55 - 2.5 * SIN(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
4017
			RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE - 0.05*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4018
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -0.8*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4019
		end
4020
	end
4021
	unanchor()
4022
	Humanoid.MaxHealth = "inf"
4023
	Humanoid.Health = "inf"
4024
	if Rooted == false then
4025
		Disable_Jump = false
4026
		Humanoid.WalkSpeed = Speed
4027
	elseif Rooted == true then
4028
		Disable_Jump = true
4029
		Humanoid.WalkSpeed = 0
4030
	end
4031
	for _, c in pairs(Character:GetChildren()) do
4032
		if c.ClassName == "Part" and c.Name ~= "Detail" then
4033
			c.Material = "Fabric"
4034
			if c:FindFirstChildOfClass("ParticleEmitter") then
4035
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
4036
			end
4037
			if c ~= Head then
4038
				c.Color = C3(0,0,0)
4039
			else
4040
				c.Color = C3(0,0,0)
4041
			end
4042
			if c == Head then
4043
				if c:FindFirstChild("face") then
4044
					c.face:remove()
4045
				end
4046
			end
4047
		elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
4048
			c:remove()
4049
		elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
4050
			c:remove()
4051
		end
4052
	end
4053
	sick.SoundId = "rbxassetid://"..bored[CHOICE]
4054
	sick.Looped = true
4055
	sick.Pitch = 1
4056
	sick.Volume = 999999
4057
	sick.Parent = Character
4058
	sick:Resume()
4059
	--sick.Playing = false
4060
	Humanoid.Name = "Master of Time = "..Player.Name
4061
end
4062
4063
--//=================================\\
4064
--\\=================================//
4065
4066
4067
4068
4069
4070
--//====================================================\\--
4071
--||			  		 END OF SCRIPT
4072
--\\====================================================//--