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