View difference between Paste ID: cizwxQuE and rqTW25AP
SHOW: | | - or go back to the newest paste.
1
warn("Wew")
2
print("Alo this took a day and a few hours rip me")
3
4
Player = owner
5
    Character = Player.Character
6
    local txt = Instance.new("BillboardGui", Character)
7
    txt.Adornee = Character.Head
8
    txt.Name = "_status"
9
    txt.Size = UDim2.new(2, 0, 1.2, 0)
10
    txt.StudsOffset = Vector3.new(-9, 8, 0)
11
    local text = Instance.new("TextLabel", txt)
12
    text.Size = UDim2.new(10, 0, 7, 0)
13
    text.FontSize = "Size24"
14
    text.TextScaled = true
15
    text.TextTransparency = 0
16
    text.BackgroundTransparency = 1
17
    text.TextTransparency = 0
18
    text.TextStrokeTransparency = 0
19
    text.Font = "Antique"
20
    text.TextStrokeColor3 = Color3.new(0,0,0)
21
        text.Text = "Ultimate Being"
22
print([[
23
-------------------------------------------------
24
Forgotten Controls-Ultimate Being's Secret Attacks
25
Your attack is an INSULT-1
26
Holy Punishment-2
27
Winter God's Love-3
28
Devils Destructive Power-4
29
]])
30
script:ClearAllChildren()
31
wait(0.2)
32
-- This script has been converted to FE by iPxter
33
34
35
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
36
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
37
do
38
	print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
39
	script.Parent = Player.Character
40
41
	--RemoteEvent for communicating
42
	local Event = Instance.new("RemoteEvent")
43
	Event.Name = "UserInput_Event"
44
45
	--Fake event to make stuff like Mouse.KeyDown work
46
	local function fakeEvent()
47
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
48
		t.connect = t.Connect
49
		return t
50
	end
51
52
	--Creating fake input objects with fake variables
53
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
54
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
55
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
56
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
57
	end}
58
	--Merged 2 functions into one by checking amount of arguments
59
	CAS.UnbindAction = CAS.BindAction
60
61
	--This function will trigger the events that have been :Connect()'ed
62
	local function te(self,ev,...)
63
		local t = m[ev]
64
		if t and t._fakeEvent and t.Function then
65
			t.Function(...)
66
		end
67
	end
68
	m.TrigEvent = te
69
	UIS.TrigEvent = te
70
71
	Event.OnServerEvent:Connect(function(plr,io)
72
	    if plr~=Player then return end
73
		if io.isMouse then
74
			m.Target = io.Target
75
			m.Hit = io.Hit
76
		else
77
			local b = io.UserInputState == Enum.UserInputState.Begin
78
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
79
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
80
			end
81
			for _,t in pairs(CAS.Actions) do
82
				for _,k in pairs(t.Keys) do
83
					if k==io.KeyCode then
84
						t.Function(t.Name,io.UserInputState,io)
85
					end
86
				end
87
			end
88
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
89
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
90
	    end
91
	end)
92
	Event.Parent = NLS([==[
93
	local Player = game:GetService("Players").LocalPlayer
94
	local Event = script:WaitForChild("UserInput_Event")
95
96
	local UIS = game:GetService("UserInputService")
97
	local input = function(io,a)
98
		if a then return end
99
		--Since InputObject is a client-side instance, we create and pass table instead
100
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
101
	end
102
	UIS.InputBegan:Connect(input)
103
	UIS.InputEnded:Connect(input)
104
105
	local Mouse = Player:GetMouse()
106
	local h,t
107
	--Give the server mouse data 30 times every second, but only if the values changed
108
	--If player is not moving their mouse, client won't fire events
109
	while wait(1/30) do
110
		if h~=Mouse.Hit or t~=Mouse.Target then
111
			h,t=Mouse.Hit,Mouse.Target
112
			Event:FireServer({isMouse=true,Target=t,Hit=h})
113
		end
114
	end]==],Player.Character)
115
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
116
end
117
118
Player = owner
119
PlayerGui = Player.PlayerGui
120
Cam = workspace.CurrentCamera
121
Backpack = Player.Backpack
122
Character = Player.Character
123
Humanoid = Character.Humanoid
124
RootPart = Character["HumanoidRootPart"]
125
Torso = Character["Torso"]
126
Head = Character["Head"]
127
RightArm = Character["Right Arm"]
128
LeftArm = Character["Left Arm"]
129
RightLeg = Character["Right Leg"]
130
LeftLeg = Character["Left Leg"]
131
RootJoint = RootPart["RootJoint"]
132
Neck = Torso["Neck"]
133
RightShoulder = Torso["Right Shoulder"]
134
LeftShoulder = Torso["Left Shoulder"]
135
RightHip = Torso["Right Hip"]
136
LeftHip = Torso["Left Hip"]
137
local TIME = 0
138
local sick = Instance.new("Sound",Torso)
139
sick.SoundId = "rbxassetid://751167162"
140
sick.Looped = true
141
sick.Pitch = 1
142
sick.Volume = 10
143
sick:Play()
144
Player_Size = 1
145
146
IT = Instance.new
147
CF = CFrame.new
148
VT = Vector3.new
149
RAD = math.rad
150
C3 = Color3.new
151
UD2 = UDim2.new
152
BRICKC = BrickColor.new
153
ANGLES = CFrame.Angles
154
EULER = CFrame.fromEulerAnglesXYZ
155
COS = math.cos
156
ACOS = math.acos
157
SIN = math.sin
158
ASIN = math.asin
159
ABS = math.abs
160
MRANDOM = math.random
161
FLOOR = math.floor
162
163
--//=================================\\
164
--|| 	      USEFUL VALUES
165
--\\=================================//
166
167
Animation_Speed = 3
168
local FORCERESET = false
169
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
170
local Speed = 16
171
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
172
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
173
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
174
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
175
local DAMAGEMULTIPLIER = 1
176
local ANIM = "Idle"
177
local ATTACK = false
178
local EQUIPPED = false
179
local HOLD = false
180
local COMBO = 1
181
local Rooted = false
182
local SINE = 0
183
local KEYHOLD = false
184
local CHANGE = 2 / Animation_Speed
185
local WALKINGANIM = false
186
local VALUE1 = false
187
local VALUE2 = false
188
local ROBLOXIDLEANIMATION = IT("Animation")
189
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
190
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
191
--ROBLOXIDLEANIMATION.Parent = Humanoid
192
local WEAPONGUI = IT("ScreenGui", PlayerGui)
193
WEAPONGUI.Name = "BanishV3Gui"
194
local Weapon = IT("Model")
195
Weapon.Name = "Adds"
196
local Effects = IT("Folder", Weapon)
197
Effects.Name = "Effects"
198
local ANIMATOR = Humanoid.Animator
199
local ANIMATE = Character:FindFirstChild("Animate")
200
local UNANCHOR = true
201
local TOBANISH = {}
202
script.Parent = PlayerGui
203
--//=================================\\
204
--\\=================================//
205
206
207
--//=================================\\
208
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
209
--\\=================================//
210
211
ArtificialHB = Instance.new("BindableEvent", script)
212
ArtificialHB.Name = "ArtificialHB"
213
214
script:WaitForChild("ArtificialHB")
215
216
frame = Frame_Speed
217
tf = 0
218
allowframeloss = false
219
tossremainder = false
220
lastframe = tick()
221
script.ArtificialHB:Fire()
222
223
game:GetService("RunService").Heartbeat:connect(function(s, p)
224
	tf = tf + s
225
	if tf >= frame then
226
		if allowframeloss then
227
			script.ArtificialHB:Fire()
228
			lastframe = tick()
229
		else
230
			for i = 1, math.floor(tf / frame) do
231
				script.ArtificialHB:Fire()
232
			end
233
		lastframe = tick()
234
		end
235
		if tossremainder then
236
			tf = 0
237
		else
238
			tf = tf - frame * math.floor(tf / frame)
239
		end
240
	end
241
end)
242
243
--//=================================\\
244
--\\=================================//
245
246
--//=================================\\
247
--|| 	      SOME FUNCTIONS
248
--\\=================================//
249
function GoombaStomp(OBJECT)
250
    for _, c in pairs(OBJECT:GetChildren()) do
251
        if c:IsA("BasePart") then
252
            c.Size = VT(c.Size.X,0,c.Size.Z)
253
        end
254
    end
255
end
256
257
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
258
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
259
end
260
261
function PositiveAngle(NUMBER)
262
	if NUMBER >= 0 then
263
		NUMBER = 0
264
	end
265
	return NUMBER
266
end
267
268
function NegativeAngle(NUMBER)
269
	if NUMBER <= 0 then
270
		NUMBER = 0
271
	end
272
	return NUMBER
273
end
274
275
function Swait(NUMBER)
276
	if NUMBER == 0 or NUMBER == nil then
277
		ArtificialHB.Event:wait()
278
	else
279
		for i = 1, NUMBER do
280
			ArtificialHB.Event:wait()
281
		end
282
	end
283
end
284
285
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
286
	local NEWMESH = IT(MESH)
287
	if MESH == "SpecialMesh" then
288
		NEWMESH.MeshType = MESHTYPE
289
		if MESHID ~= "nil" and MESHID ~= "" then
290
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
291
		end
292
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
293
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
294
		end
295
	end
296
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
297
	NEWMESH.Scale = SCALE
298
	NEWMESH.Parent = PARENT
299
	return NEWMESH
300
end
301
302
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
303
	local NEWPART = IT("Part")
304
	NEWPART.formFactor = FORMFACTOR
305
	NEWPART.Reflectance = REFLECTANCE
306
	NEWPART.Transparency = TRANSPARENCY
307
	NEWPART.CanCollide = false
308
	NEWPART.Locked = true
309
	NEWPART.Anchored = true
310
	if ANCHOR == false then
311
		NEWPART.Anchored = false
312
	end
313
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
314
	NEWPART.Name = NAME
315
	NEWPART.Size = SIZE
316
	NEWPART.Position = Torso.Position
317
	NEWPART.Material = MATERIAL
318
	NEWPART:BreakJoints()
319
	NEWPART.Parent = PARENT
320
	return NEWPART
321
end
322
323
	local function weldBetween(a, b)
324
	    local weldd = Instance.new("ManualWeld")
325
	    weldd.Part0 = a
326
	    weldd.Part1 = b
327
	    weldd.C0 = CFrame.new()
328
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
329
	    weldd.Parent = a
330
	    return weldd
331
	end
332
333
334
function QuaternionFromCFrame(cf)
335
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
336
	local trace = m00 + m11 + m22
337
	if trace > 0 then 
338
		local s = math.sqrt(1 + trace)
339
		local recip = 0.5 / s
340
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
341
	else
342
		local i = 0
343
		if m11 > m00 then
344
			i = 1
345
		end
346
		if m22 > (i == 0 and m00 or m11) then
347
			i = 2
348
		end
349
		if i == 0 then
350
			local s = math.sqrt(m00 - m11 - m22 + 1)
351
			local recip = 0.5 / s
352
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
353
		elseif i == 1 then
354
			local s = math.sqrt(m11 - m22 - m00 + 1)
355
			local recip = 0.5 / s
356
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
357
		elseif i == 2 then
358
			local s = math.sqrt(m22 - m00 - m11 + 1)
359
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
360
		end
361
	end
362
end
363
 
364
function QuaternionToCFrame(px, py, pz, x, y, z, w)
365
	local xs, ys, zs = x + x, y + y, z + z
366
	local wx, wy, wz = w * xs, w * ys, w * zs
367
	local xx = x * xs
368
	local xy = x * ys
369
	local xz = x * zs
370
	local yy = y * ys
371
	local yz = y * zs
372
	local zz = z * zs
373
	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))
374
end
375
 
376
function QuaternionSlerp(a, b, t)
377
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
378
	local startInterp, finishInterp;
379
	if cosTheta >= 0.0001 then
380
		if (1 - cosTheta) > 0.0001 then
381
			local theta = ACOS(cosTheta)
382
			local invSinTheta = 1 / SIN(theta)
383
			startInterp = SIN((1 - t) * theta) * invSinTheta
384
			finishInterp = SIN(t * theta) * invSinTheta
385
		else
386
			startInterp = 1 - t
387
			finishInterp = t
388
		end
389
	else
390
		if (1 + cosTheta) > 0.0001 then
391
			local theta = ACOS(-cosTheta)
392
			local invSinTheta = 1 / SIN(theta)
393
			startInterp = SIN((t - 1) * theta) * invSinTheta
394
			finishInterp = SIN(t * theta) * invSinTheta
395
		else
396
			startInterp = t - 1
397
			finishInterp = t
398
		end
399
	end
400
	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
401
end
402
403
function Clerp(a, b, t)
404
	local qa = {QuaternionFromCFrame(a)}
405
	local qb = {QuaternionFromCFrame(b)}
406
	local ax, ay, az = a.x, a.y, a.z
407
	local bx, by, bz = b.x, b.y, b.z
408
	local _t = 1 - t
409
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
410
end
411
412
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
413
	local frame = IT("Frame")
414
	frame.BackgroundTransparency = TRANSPARENCY
415
	frame.BorderSizePixel = BORDERSIZEPIXEL
416
	frame.Position = POSITION
417
	frame.Size = SIZE
418
	frame.BackgroundColor3 = COLOR
419
	frame.BorderColor3 = BORDERCOLOR
420
	frame.Name = NAME
421
	frame.Parent = PARENT
422
	return frame
423
end
424
425
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
426
	local label = IT("TextLabel")
427
	label.BackgroundTransparency = 1
428
	label.Size = UD2(1, 0, 1, 0)
429
	label.Position = UD2(0, 0, 0, 0)
430
	label.TextColor3 = TEXTCOLOR
431
	label.TextStrokeTransparency = STROKETRANSPARENCY
432
	label.TextTransparency = TRANSPARENCY
433
	label.FontSize = TEXTFONTSIZE
434
	label.Font = TEXTFONT
435
	label.BorderSizePixel = BORDERSIZEPIXEL
436
	label.TextScaled = false
437
	label.Text = TEXT
438
	label.Name = NAME
439
	label.Parent = PARENT
440
	return label
441
end
442
443
function NoOutlines(PART)
444
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
445
end
446
447
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
448
	local NEWWELD = IT(TYPE)
449
	NEWWELD.Part0 = PART0
450
	NEWWELD.Part1 = PART1
451
	NEWWELD.C0 = C0
452
	NEWWELD.C1 = C1
453
	NEWWELD.Parent = PARENT
454
	return NEWWELD
455
end
456
457
local S = IT("Sound")
458
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
459
	local NEWSOUND = nil
460
	coroutine.resume(coroutine.create(function()
461
		NEWSOUND = S:Clone()
462
		NEWSOUND.Parent = PARENT
463
		NEWSOUND.Volume = VOLUME
464
		NEWSOUND.Pitch = PITCH
465
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
466
		NEWSOUND:play()
467
		if DOESLOOP == true then
468
			NEWSOUND.Looped = true
469
		else
470
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
471
			NEWSOUND:remove()
472
		end
473
	end))
474
	return NEWSOUND
475
end
476
477
function CFrameFromTopBack(at, top, back)
478
	local right = top:Cross(back)
479
	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)
480
end
481
482
--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})
483
function WACKYEFFECT(Table)
484
	local TYPE = (Table.EffectType or "Sphere")
485
	local SIZE = (Table.Size or VT(1,1,1))
486
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
487
	local TRANSPARENCY = (Table.Transparency or 0)
488
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
489
	local CFRAME = (Table.CFrame or Torso.CFrame)
490
	local MOVEDIRECTION = (Table.MoveToPos or nil)
491
	local ROTATION1 = (Table.RotationX or 0)
492
	local ROTATION2 = (Table.RotationY or 0)
493
	local ROTATION3 = (Table.RotationZ or 0)
494
	local MATERIAL = (Table.Material or "Neon")
495
	local COLOR = (Table.Color or C3(1,1,1))
496
	local TIME = (Table.Time or 45)
497
	local SOUNDID = (Table.SoundID or nil)
498
	local SOUNDPITCH = (Table.SoundPitch or nil)
499
	local SOUNDVOLUME = (Table.SoundVolume or nil)
500
	coroutine.resume(coroutine.create(function()
501
		local PLAYSSOUND = false
502
		local SOUND = nil
503
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
504
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
505
			PLAYSSOUND = true
506
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
507
		end
508
		EFFECT.Color = COLOR
509
		local MSH = nil
510
		if TYPE == "Sphere" then
511
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
512
		elseif TYPE == "Block" then
513
			MSH = IT("BlockMesh",EFFECT)
514
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
515
		elseif TYPE == "Wave" then
516
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
517
		elseif TYPE == "Ring" then
518
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
519
		elseif TYPE == "Slash" then
520
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
521
		elseif TYPE == "Round Slash" then
522
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
523
		elseif TYPE == "Swirl" then
524
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
525
		elseif TYPE == "Skull" then
526
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
527
		elseif TYPE == "Crystal" then
528
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
529
		end
530
		if MSH ~= nil then
531
			local MOVESPEED = nil
532
			if MOVEDIRECTION ~= nil then
533
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
534
			end
535
			local GROWTH = SIZE - ENDSIZE
536
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
537
			if TYPE == "Block" then
538
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
539
			else
540
				EFFECT.CFrame = CFRAME
541
			end
542
			for LOOP = 1, TIME+1 do
543
				Swait()
544
				MSH.Scale = MSH.Scale - GROWTH/TIME
545
				if TYPE == "Wave" then
546
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
547
				end
548
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
549
				if TYPE == "Block" then
550
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
551
				else
552
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
553
				end
554
				if MOVEDIRECTION ~= nil then
555
					local ORI = EFFECT.Orientation
556
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
557
					EFFECT.Orientation = ORI
558
				end
559
			end
560
			if PLAYSSOUND == false then
561
				EFFECT:remove()
562
			else
563
				SOUND.Stopped:Connect(function()
564
					EFFECT:remove()
565
				end)
566
			end
567
		else
568
			if PLAYSSOUND == false then
569
				EFFECT:remove()
570
			else
571
				repeat Swait() until SOUND.Playing == false
572
				EFFECT:remove()
573
			end
574
		end
575
	end))
576
end
577
function MakeForm(PART,TYPE)
578
	if TYPE == "Cyl" then
579
		local MSH = IT("CylinderMesh",PART)
580
	elseif TYPE == "Ball" then
581
		local MSH = IT("SpecialMesh",PART)
582
		MSH.MeshType = "Sphere"
583
	elseif TYPE == "Wedge" then
584
		local MSH = IT("SpecialMesh",PART)
585
		MSH.MeshType = "Wedge"
586
	end
587
end
588
589
function SpawnTrail(FROM,TO,BIG)
590
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
591
	MakeForm(TRAIL,"Cyl")
592
	local DIST = (FROM - TO).Magnitude
593
	if BIG == true then
594
		TRAIL.Size = VT(0.5,DIST,0.5)
595
	else
596
		TRAIL.Size = VT(0.25,DIST,0.25)
597
	end
598
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
599
	coroutine.resume(coroutine.create(function()
600
		for i = 1, 5 do
601
			Swait()
602
			TRAIL.Transparency = TRAIL.Transparency + 0.1
603
		end
604
		TRAIL:remove()
605
	end))
606
end
607
608
Debris = game:GetService("Debris")
609
610
function CastProperRay(StartPos, EndPos, Distance, Ignore)
611
	local DIRECTION = CF(StartPos,EndPos).lookVector
612
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
613
end
614
615
function turnto(position)
616
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
617
end
618
function MakeForm(PART,TYPE)
619
	if TYPE == "Cyl" then
620
		local MSH = IT("CylinderMesh",PART)
621
	elseif TYPE == "Ball" then
622
		local MSH = IT("SpecialMesh",PART)
623
		MSH.MeshType = "Sphere"
624
	elseif TYPE == "Wedge" then
625
		local MSH = IT("SpecialMesh",PART)
626
		MSH.MeshType = "Wedge"
627
	end
628
end
629
630
function SpawnTrail(FROM,TO,BIG)
631
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Lime green", "Trail", VT(0,0,0))
632
	MakeForm(TRAIL,"Cyl")
633
	local DIST = (FROM - TO).Magnitude
634
	if BIG == true then
635
		TRAIL.Size = VT(0.5,DIST,0.5)
636
	else
637
		TRAIL.Size = VT(0.25,DIST,0.25)
638
	end
639
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
640
	coroutine.resume(coroutine.create(function()
641
		for i = 1, 5 do
642
			Swait()
643
			TRAIL.Transparency = TRAIL.Transparency + 0.1
644
		end
645
		TRAIL:remove()
646
	end))
647
end
648
649
Debris = game:GetService("Debris")
650
651
function CastProperRay(StartPos, EndPos, Distance, Ignore)
652
	local DIRECTION = CF(StartPos,EndPos).lookVector
653
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
654
end
655
656
function turnto(position)
657
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
658
end
659
660
local asd = Instance.new("ParticleEmitter")
661
asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
662
asd.LightEmission = .1
663
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
664
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
665
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
666
asd.Transparency = bbb
667
asd.Size = aaa
668
asd.ZOffset = .9
669
asd.Acceleration = Vector3.new(0, -15, 0)
670
asd.LockedToPart = false
671
asd.EmissionDirection = "Back"
672
asd.Lifetime = NumberRange.new(1, 2)
673
asd.Rotation = NumberRange.new(-100, 100)
674
asd.RotSpeed = NumberRange.new(-100, 100)
675
asd.Speed = NumberRange.new(10)
676
asd.Enabled = false
677
asd.VelocitySpread = 999
678
679
function getbloody(victim,amount)
680
	local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
681
	PART.CFrame = victim.CFrame
682
	local HITPLAYERSOUNDS = {"356551938","264486467"}
683
	Debris:AddItem(PART,5)
684
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
685
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
686
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
687
	local prtcl = asd:Clone()
688
	prtcl.Parent = PART
689
	prtcl:Emit(amount*10)
690
end
691
692
local Particle = IT("ParticleEmitter",nil)
693
Particle.Enabled = false
694
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
695
Particle.LightEmission = 0.5
696
Particle.Rate = 150
697
Particle.ZOffset = 1
698
Particle.Rotation = NumberRange.new(-180, 180)
699
Particle.RotSpeed = NumberRange.new(-180, 180)
700
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
701
Particle.Color = ColorSequence.new(C3(0,1,0),C3(0.4,0,0))
702
703
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
704
function ParticleEmitter(Table)
705
	local PRTCL = Particle:Clone()
706
	local Speed = Table.Speed or 5
707
	local Drag = Table.Drag or 0
708
	local Size1 = Table.Size1 or 1
709
	local Size2 = Table.Size2 or 5
710
	local Lifetime1 = Table.Lifetime1 or 1
711
	local Lifetime2 = Table.Lifetime2 or 1.5
712
	local Parent = Table.Parent or Torso
713
	local Emit = Table.Emit or 100
714
	local Offset = Table.Offset or 360
715
	local Acel = Table.Acel or VT(0,0,0)
716
	local Enabled = Table.Enabled or false
717
	PRTCL.Parent = Parent
718
	PRTCL.Size = NumberSequence.new(Size1,Size2)
719
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
720
	PRTCL.Speed = NumberRange.new(Speed)
721
	PRTCL.VelocitySpread = Offset
722
	PRTCL.Drag = Drag
723
	PRTCL.Acceleration = Acel
724
	if Enabled == false then
725
		PRTCL:Emit(Emit)
726
		Debris:AddItem(PRTCL,Lifetime2)
727
	else
728
		PRTCL.Enabled = true
729
	end
730
	return PRTCL
731
end
732
function MakeForm(PART,TYPE)
733
    if TYPE == "Cyl" then
734
        local MSH = IT("CylinderMesh",PART)
735
    elseif TYPE == "Ball" then
736
        local MSH = IT("SpecialMesh",PART)
737
        MSH.MeshType = "Sphere"
738
    elseif TYPE == "Wedge" then
739
        local MSH = IT("SpecialMesh",PART)
740
        MSH.MeshType = "Wedge"
741
    end
742
end
743
 
744
Debris = game:GetService("Debris")
745
 
746
function CastProperRay(StartPos, EndPos, Distance, Ignore)
747
    local DIRECTION = CF(StartPos,EndPos).lookVector
748
    return Raycast(StartPos, DIRECTION, Distance, Ignore)
749
end
750
 
751
local HATWELD = nil
752
function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
753
    PLAYMAINANIM = false
754
    if WhichPose == "Cast1" then
755
        for i=0, Time, 0.1 / Animation_Speed do
756
            Swait()
757
            if Magic == true then
758
                WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
759
            end
760
            if Gyro ~= nil and Gyro ~= false then
761
                Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
762
            end
763
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
764
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
765
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
766
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
767
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
768
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
769
        end
770
    elseif WhichPose == "Cast2" then
771
        for i=0, Time, 0.1 / Animation_Speed do
772
            Swait()
773
            if Magic == true then
774
                WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
775
                WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
776
            end
777
            if Gyro ~= nil and Gyro ~= false then
778
                Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
779
            end
780
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
781
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
782
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
783
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
784
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
785
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
786
        end
787
    elseif WhichPose == "RightArmUp" then
788
        for i=0, Time, 0.1 / Animation_Speed do
789
            Swait()
790
            if Magic == true then
791
                WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
792
            end
793
            if Gyro ~= nil and Gyro ~= false then
794
                Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
795
            end
796
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
797
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
798
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
799
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
800
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
801
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
802
        end
803
    elseif WhichPose == "Taunt" then
804
        for i=0, Time, 0.1 / Animation_Speed do
805
            Swait()
806
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
807
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
808
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
809
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
810
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
811
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
812
        end
813
        HATWELD.Part0 = RightArm
814
        HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
815
        CreateSound(221057812,Torso,10,1,false)
816
        for i=0, Time*2, 0.1 / Animation_Speed do
817
            Swait()
818
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
819
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
820
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
821
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
822
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
823
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
824
        end
825
        for i=0, Time, 0.1 / Animation_Speed do
826
            Swait()
827
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
828
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
829
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
830
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
831
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
832
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
833
            HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
834
        end
835
        HATWELD.Part0 = Head
836
        HATWELD.C0 = CF(0,0.35,0)
837
    elseif WhichPose == "Prepare key" then
838
        for i=0, Time, 0.1 / Animation_Speed do
839
            Swait()
840
            if Gyro ~= nil and Gyro ~= false then
841
                Gyro.cframe = CF(RootPart.Position,Tors.Position)
842
            end
843
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
844
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
845
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
846
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
847
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
848
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
849
        end
850
    elseif WhichPose == "Turn key" then
851
        for i=0, Time, 0.1 / Animation_Speed do
852
            Swait()
853
            if Gyro ~= nil and Gyro ~= false then
854
                Gyro.cframe = CF(RootPart.Position,Tors.Position)
855
            end
856
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
857
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
858
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
859
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
860
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
861
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
862
        end
863
    end
864
    PLAYMAINANIM = true
865
end
866
 
867
--Lightning({Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
868
function Lightning(Table)
869
    local Color = Table.Color or C3(1,1,1)
870
    local StartPos = Table.Start or Torso.Position
871
    local EndPos = Table.End or Mouse.Hit.p
872
    local SegmentLength = Table.SegmentL or 2
873
    local Thickness = Table.Thickness or 0.1
874
    local Dissapear = Table.DoesFade or false
875
    local Parent = Table.Ignore or Character
876
    local MaxDist = Table.MaxDist or 400
877
    local Branches = Table.Branches or false
878
    local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
879
    local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
880
    local LIGHTNINGMODEL = IT("Model",Effects)
881
    LIGHTNINGMODEL.Name = "Lightning"
882
    local LastBolt = nil
883
    for E = 1, DISTANCE do
884
        local ExtraSize = (DISTANCE-E)/15
885
        local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
886
        PART.Color = Color
887
        MakeForm(PART,"Cyl")
888
        if LastBolt == nil then
889
            PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
890
        else
891
            PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
892
        end
893
        LastBolt = PART
894
        if Branches == true then
895
            local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
896
            if CHOICE == 1 then
897
                local LASTBRANCH = nil
898
                for i = 1, MRANDOM(2,5) do
899
                    local ExtraSize2 = ((DISTANCE-E)/25)/i
900
                    local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
901
                    PART.Color = Color
902
                    MakeForm(PART,"Cyl")
903
                    if LASTBRANCH == nil then
904
                        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)
905
                    else
906
                        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)
907
                    end
908
                    LASTBRANCH = PART
909
                end
910
            end
911
        end
912
    end
913
    if Dissapear == true then
914
        coroutine.resume(coroutine.create(function()
915
            for i = 1, 10 do
916
                Swait()
917
                for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
918
                    if c.ClassName == "Part" then
919
                        c.Transparency = i/10
920
                    end
921
                end
922
            end
923
            LIGHTNINGMODEL:remove()
924
        end))
925
    elseif Dissapear == false then
926
        Debris:AddItem(LIGHTNINGMODEL,0.1)
927
    end
928
    return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
929
end
930
931
--//=================================\\
932
--||	     WEAPON CREATION
933
--\\=================================//
934
935
local A = IT("Attachment",RightBarrel)
936
A.Position = VT(0,-2.5,0)
937
local B = IT("Attachment",RightBarrel)
938
B.Position = VT(0,2.5,0)
939
local Trail = IT("Trail",RightBarrel)
940
Trail.Attachment0 = A
941
Trail.Attachment1 = B
942
Trail.Lifetime = 0.2
943
Trail.Color = ColorSequence.new(BRICKC"Really red".Color)
944
Trail.Transparency = NumberSequence.new(0, 1)
945
Trail.Enabled = false
946
947
for _, c in pairs(Weapon:GetDescendants()) do
948
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
949
		c.Material = "Glass"
950
		c.Color = C3(0,0,0)
951
	elseif c.ClassName == "Part" and c.Name == "Eye" then
952
		c.Color = C3(1,0,0)
953
		c.Material = "Neon"
954
	end
955
end
956
957
Weapon.Parent = Character
958
for _, c in pairs(Weapon:GetChildren()) do
959
	if c.ClassName == "Part" then
960
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
961
	end
962
end
963
964
local SKILLTEXTCOLOR = C3(0,0,0)
965
local SKILLFONT = "Antique"
966
local SKILLTEXTSIZE = 7
967
968
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")
969
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")
970
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")
971
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")
972
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")
973
local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.85, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
974
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")
975
976
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[E] God's Prison", SKILLTEXTCOLOR, SKILLTEXTSIZE-1, SKILLFONT, 0, 2, 0, "Text 1")
977
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[R] Devil's Strike", SKILLTEXTCOLOR, SKILLTEXTSIZE-1, SKILLFONT, 0, 2, 0, "Text 2")
978
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[T] Devil's Bomb", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
979
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[X] Angel's Smite", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 4")
980
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[C] Devil's Escape", SKILLTEXTCOLOR, SKILLTEXTSIZE+1, SKILLFONT, 0, 2, 0, "Text 5")
981
local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[Q] Godly Rage", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 6")
982
local SKILL7TEXT = CreateLabel(SKILL7FRAME, "[V] Demon's ground", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 7")
983
function printbye(Name)
984
	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, "}
985
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
986
end
987
988
workspace.ChildAdded:connect(function(instance)
989
    for BANISH = 1, #TOBANISH do
990
		if TOBANISH[BANISH] ~= nil then
991
			if instance.Name == TOBANISH[BANISH] then
992
				coroutine.resume(coroutine.create(function()
993
					printbye(instance.Name)
994
					instance:ClearAllChildren()
995
					Debris:AddItem(instance,0.0005)
996
				end))
997
			end
998
		end
999
	end
1000
end)
1001
--//=================================\\
1002
--||			DAMAGING
1003
--\\=================================//
1004
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
1005
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
1006
end
1007
function PositiveAngle(NUMBER)
1008
	if NUMBER >= 0 then
1009
		NUMBER = 0
1010
	end
1011
	return NUMBER
1012
end
1013
function NegativeAngle(NUMBER)
1014
	if NUMBER <= 0 then
1015
		NUMBER = 0
1016
	end
1017
	return NUMBER
1018
end
1019
function Swait(NUMBER)
1020
	if NUMBER == 0 or NUMBER == nil then
1021
		ArtificialHB.Event:wait()
1022
	else
1023
		for i = 1, NUMBER do
1024
			ArtificialHB.Event:wait()
1025
		end
1026
	end
1027
end
1028
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
1029
	local NEWMESH = IT(MESH)
1030
	if MESH == "SpecialMesh" then
1031
		NEWMESH.MeshType = MESHTYPE
1032
		if MESHID ~= "nil" and MESHID ~= "" then
1033
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id=" .. MESHID
1034
		end
1035
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
1036
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id=" .. TEXTUREID
1037
		end
1038
	end
1039
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
1040
	NEWMESH.Scale = SCALE
1041
	NEWMESH.Parent = PARENT
1042
	return NEWMESH
1043
end
1044
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
1045
	local NEWPART = IT("Part")
1046
	NEWPART.formFactor = FORMFACTOR
1047
	NEWPART.Reflectance = REFLECTANCE
1048
	NEWPART.Transparency = TRANSPARENCY
1049
	NEWPART.CanCollide = false
1050
	NEWPART.Locked = true
1051
	NEWPART.Anchored = true
1052
	if ANCHOR == false then
1053
		NEWPART.Anchored = false
1054
	end
1055
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
1056
	NEWPART.Name = NAME
1057
	NEWPART.Size = SIZE
1058
	NEWPART.Position = Torso.Position
1059
	NEWPART.Material = MATERIAL
1060
	NEWPART:BreakJoints()
1061
	NEWPART.Parent = PARENT
1062
	return NEWPART
1063
end
1064
1065
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
1066
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
1067
	local mesh = IT("SpecialMesh",wave)
1068
	mesh.MeshType = "Sphere"
1069
	mesh.Scale = SIZE
1070
	mesh.Offset = VT(0,0,0)
1071
	wave.CFrame = CFRAME
1072
	coroutine.resume(coroutine.create(function(PART)
1073
		for i = 1, WAIT do
1074
			Swait()
1075
			mesh.Scale = mesh.Scale + GROW
1076
			wave.Transparency = wave.Transparency + (1/WAIT)
1077
			if wave.Transparency > 0.99 then
1078
				wave:remove()
1079
			end
1080
		end
1081
	end))
1082
end
1083
1084
function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
1085
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1086
	local mesh = IT("SpecialMesh",wave)
1087
	mesh.MeshType = "FileMesh"
1088
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
1089
	mesh.Scale = SIZE
1090
	mesh.Offset = VT(0,0,0)
1091
	wave.CFrame = CFRAME
1092
	coroutine.resume(coroutine.create(function(PART)
1093
		for i = 1, WAIT do
1094
			Swait()
1095
			mesh.Scale = mesh.Scale + GROW
1096
			if DOESROT == true then
1097
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1098
			end
1099
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1100
			if wave.Transparency > 0.99 then
1101
				wave:remove()
1102
			end
1103
		end
1104
	end))
1105
end
1106
1107
function CreateRing2(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
1108
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1109
	local mesh = IT("SpecialMesh",wave)
1110
	mesh.MeshType = "FileMesh"
1111
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
1112
	mesh.Scale = SIZE
1113
	mesh.Offset = VT(0,0,0)
1114
	wave.CFrame = CFRAME
1115
	coroutine.resume(coroutine.create(function(PART)
1116
		for i = 1, WAIT do
1117
			Swait()
1118
			mesh.Scale = mesh.Scale + GROW
1119
			if DOESROT == true then
1120
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1121
			end
1122
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1123
			if wave.Transparency > 0.99 then
1124
				wave:remove()
1125
			end
1126
		end
1127
	end))
1128
end
1129
1130
function MagicSphere3(SIZE,WAIT,CFRAME,COLOR,GROW)
1131
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
1132
	local mesh = IT("SpecialMesh",wave)
1133
	mesh.MeshType = "Sphere"
1134
	mesh.Scale = SIZE
1135
	mesh.Offset = VT(0,0,0)
1136
	wave.CFrame = CFRAME
1137
	coroutine.resume(coroutine.create(function(PART)
1138
		for i = 1, WAIT do
1139
			Swait()
1140
			mesh.Scale = mesh.Scale + GROW
1141
			wave.Transparency = wave.Transparency + (1/WAIT)
1142
			if wave.Transparency > 0.99 then
1143
				wave:remove()
1144
			end
1145
		end
1146
	end))
1147
end
1148
1149
function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1150
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Effect", VT(0,0,0))
1151
	local mesh = IT("SpecialMesh",wave)
1152
	mesh.MeshType = "FileMesh"
1153
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
1154
	mesh.Scale = SIZE
1155
	mesh.Offset = VT(0,0,-SIZE.X/8)
1156
	wave.CFrame = CFRAME
1157
	coroutine.resume(coroutine.create(function(PART)
1158
		for i = 1, WAIT do
1159
			Swait()
1160
			mesh.Scale = mesh.Scale + GROW
1161
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1162
			if DOESROT == true then
1163
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1164
			end
1165
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1166
			if wave.Transparency > 0.99 then
1167
				wave:remove()
1168
			end
1169
		end
1170
	end))
1171
end
1172
1173
function CreateWave2(inair,size,doesrotate,rotatedirection,waitt,part,offset)
1174
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, "Bright orange", "Effect", VT(0,0,0))
1175
	local mesh = IT("SpecialMesh",wave)
1176
	mesh.MeshType = "FileMesh"
1177
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
1178
	mesh.Scale = VT(size,size,size)
1179
	mesh.Offset = VT(0,0,-size/8)
1180
	wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
1181
	coroutine.resume(coroutine.create(function(PART)
1182
		for i = 1, waitt do
1183
			Swait()
1184
			mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
1185
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1186
			if doesrotate == true then
1187
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
1188
			end
1189
			wave.Transparency = wave.Transparency + (0.5/waitt)
1190
			if wave.Transparency > 0.99 then
1191
				wave:remove()
1192
			end
1193
		end
1194
	end))
1195
end
1196
1197
function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1198
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Effect", VT(0,0,0))
1199
	local mesh = IT("SpecialMesh",wave)
1200
	mesh.MeshType = "FileMesh"
1201
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
1202
	mesh.Scale = SIZE
1203
	wave.CFrame = CFRAME
1204
	coroutine.resume(coroutine.create(function(PART)
1205
		for i = 1, WAIT do
1206
			Swait()
1207
			mesh.Scale = mesh.Scale + GROW
1208
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1209
			if DOESROT == true then
1210
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1211
			end
1212
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1213
			if wave.Transparency > 0.99 then
1214
				wave:remove()
1215
			end
1216
		end
1217
	end))
1218
end
1219
1220
local weldBetween = function(a, b)
1221
	local weldd = Instance.new("ManualWeld")
1222
	weldd.Part0 = a
1223
	weldd.Part1 = b
1224
	weldd.C0 = CFrame.new()
1225
	weldd.C1 = b.CFrame:inverse() * a.CFrame
1226
	weldd.Parent = a
1227
	return weldd
1228
end
1229
function QuaternionFromCFrame(cf)
1230
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
1231
	local trace = m00 + m11 + m22
1232
	if trace > 0 then
1233
		local s = math.sqrt(1 + trace)
1234
		local recip = 0.5 / s
1235
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
1236
	else
1237
		local i = 0
1238
		if m00 < m11 then
1239
			i = 1
1240
		end
1241
		if m22 > (i == 0 and m00 or m11) then
1242
			i = 2
1243
		end
1244
		if i == 0 then
1245
			local s = math.sqrt(m00 - m11 - m22 + 1)
1246
			local recip = 0.5 / s
1247
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
1248
		elseif i == 1 then
1249
			local s = math.sqrt(m11 - m22 - m00 + 1)
1250
			local recip = 0.5 / s
1251
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
1252
		elseif i == 2 then
1253
			local s = math.sqrt(m22 - m00 - m11 + 1)
1254
			local recip = 0.5 / s
1255
			return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
1256
		end
1257
	end
1258
end
1259
function QuaternionToCFrame(px, py, pz, x, y, z, w)
1260
	local xs, ys, zs = x + x, y + y, z + z
1261
	local wx, wy, wz = w * xs, w * ys, w * zs
1262
	local xx = x * xs
1263
	local xy = x * ys
1264
	local xz = x * zs
1265
	local yy = y * ys
1266
	local yz = y * zs
1267
	local zz = z * zs
1268
	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))
1269
end
1270
function QuaternionSlerp(a, b, t)
1271
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
1272
	local startInterp, finishInterp
1273
	if cosTheta >= 1.0E-4 then
1274
		if 1 - cosTheta > 1.0E-4 then
1275
			local theta = ACOS(cosTheta)
1276
			local invSinTheta = 1 / SIN(theta)
1277
			startInterp = SIN((1 - t) * theta) * invSinTheta
1278
			finishInterp = SIN(t * theta) * invSinTheta
1279
		else
1280
			startInterp = 1 - t
1281
			finishInterp = t
1282
		end
1283
	elseif 1 + cosTheta > 1.0E-4 then
1284
		local theta = ACOS(-cosTheta)
1285
		local invSinTheta = 1 / SIN(theta)
1286
		startInterp = SIN((t - 1) * theta) * invSinTheta
1287
		finishInterp = SIN(t * theta) * invSinTheta
1288
	else
1289
		startInterp = t - 1
1290
		finishInterp = t
1291
	end
1292
	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
1293
end
1294
function Clerp(a, b, t)
1295
	local qa = {
1296
		QuaternionFromCFrame(a)
1297
	}
1298
	local qb = {
1299
		QuaternionFromCFrame(b)
1300
	}
1301
	local ax, ay, az = a.x, a.y, a.z
1302
	local bx, by, bz = b.x, b.y, b.z
1303
	local _t = 1 - t
1304
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
1305
end
1306
1307
function clerp(startCF,endCF,alpha)
1308
	return startCF:lerp(endCF, alpha)
1309
end
1310
1311
1312
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
1313
	local frame = IT("Frame")
1314
	frame.BackgroundTransparency = TRANSPARENCY
1315
	frame.BorderSizePixel = BORDERSIZEPIXEL
1316
	frame.Position = POSITION
1317
	frame.Size = SIZE
1318
	frame.BackgroundColor3 = COLOR
1319
	frame.BorderColor3 = BORDERCOLOR
1320
	frame.Name = NAME
1321
	frame.Parent = PARENT
1322
	return frame
1323
end
1324
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
1325
	local label = IT("TextLabel")
1326
	label.BackgroundTransparency = 1
1327
	label.Size = UD2(1, 0, 1, 0)
1328
	label.Position = UD2(0, 0, 0, 0)
1329
	label.TextColor3 = TEXTCOLOR
1330
	label.TextStrokeTransparency = STROKETRANSPARENCY
1331
	label.TextTransparency = TRANSPARENCY
1332
	label.FontSize = TEXTFONTSIZE
1333
	label.Font = TEXTFONT
1334
	label.BorderSizePixel = BORDERSIZEPIXEL
1335
	label.TextScaled = false
1336
	label.Text = TEXT
1337
	label.Name = NAME
1338
	label.Parent = PARENT
1339
	return label
1340
end
1341
function NoOutlines(PART)
1342
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
1343
end
1344
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
1345
	local NEWWELD = IT(TYPE)
1346
	NEWWELD.Part0 = PART0
1347
	NEWWELD.Part1 = PART1
1348
	NEWWELD.C0 = C0
1349
	NEWWELD.C1 = C1
1350
	NEWWELD.Parent = PARENT
1351
	return NEWWELD
1352
end
1353
function freezenearest(position, range)
1354
	for i, v in ipairs(workspace:GetChildren()) do
1355
		local body = v:GetChildren()
1356
		for part = 1, #body do
1357
			if (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character and range > (body[part].Position - position).Magnitude and v.ClassName == "Model" and v:FindFirstChildOfClass("Humanoid") then
1358
				v:BreakJoints()
1359
				body[part].Material = "Ice"
1360
				body[part].BrickColor = BRICKC("Really red")
1361
				body[part].Anchored = true
1362
			end
1363
		end
1364
	end
1365
end
1366
1367
function BulletDetection(FROM,TO,BRUTAL)
1368
	local AIMHIT,AIMPOS,NORMAL = CastProperRay(FROM,TO,2000,Character)
1369
	coroutine.resume(coroutine.create(function()
1370
		if AIMHIT ~= nil then
1371
			if AIMHIT.Parent ~= Character then
1372
				if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1373
					if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") then
1374
						if BRUTAL == true then
1375
							Kill(AIMHIT.Parent)
1376
						else
1377
							getbloody(AIMHIT,15)
1378
							AIMHIT.Parent:BreakJoints()
1379
							if AIMHIT.Name == "Head" then
1380
								AIMHIT.Name = "HEADSHOT"
1381
								AIMHIT:remove()
1382
							end
1383
						end
1384
					else
1385
						if BRUTAL == true then
1386
							Kill(AIMHIT.Parent.Parent)
1387
						else
1388
							AIMHIT.Parent.Parent:BreakJoints()
1389
						end
1390
					end
1391
				end
1392
			end
1393
		end
1394
	end))
1395
	SpawnTrail(FROM,AIMPOS)
1396
	return AIMHIT,AIMPOS,NORMAL
1397
end
1398
1399
function Banish(Foe)
1400
	if Foe then
1401
		coroutine.resume(coroutine.create(function()
1402
			--if game.Players:FindFirstChild(Foe.Name) then
1403
				table.insert(TOBANISH,Foe.Name)
1404
				printbye(Foe.Name)
1405
			--end
1406
			Foe.Archivable = true
1407
			local CLONE = Foe:Clone()
1408
			Foe:Destroy()
1409
			CLONE.Parent = Effects
1410
			CLONE:BreakJoints()
1411
			local MATERIALS = {"Glass","Neon"}
1412
			for _, c in pairs(CLONE:GetDescendants()) do
1413
				if c:IsA("BasePart") then
1414
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
1415
 						CreateSound(340722848, c, 10, 1, false)
1416
					end
1417
					c.Anchored = true
1418
					c.Transparency = c.Transparency + 0.2
1419
					c.Material = MATERIALS[MRANDOM(1,2)]
1420
					c.Color = C3(0,1,0)
1421
					if c.ClassName == "MeshPart" then
1422
						c.TextureID = ""
1423
					end
1424
					if c:FindFirstChildOfClass("SpecialMesh") then
1425
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1426
					end
1427
					if c:FindFirstChildOfClass("Decal") then
1428
						c:FindFirstChildOfClass("Decal"):remove()
1429
					end
1430
					c.Name = "Banished"
1431
					c.CanCollide = false
1432
				else
1433
					c:remove()
1434
				end
1435
			end
1436
			local A = false
1437
			for i = 1, 35 do
1438
				if A == false then
1439
					A = true
1440
				elseif A == true then
1441
					A = false
1442
				end
1443
				for _, c in pairs(CLONE:GetDescendants()) do
1444
					if c:IsA("BasePart") then
1445
						c.Anchored = true
1446
						c.Material = MATERIALS[MRANDOM(1,2)]
1447
						c.Transparency = c.Transparency + 0.8/35
1448
						if A == false then
1449
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
1450
						elseif A == true then
1451
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
1452
						end
1453
					end
1454
				end
1455
				Swait()
1456
			end
1457
			CLONE:remove()
1458
		end))
1459
	end
1460
end
1461
1462
function ApplyAoE(POSITION,RANGE,ISBANISH)
1463
	local CHILDREN = workspace:GetDescendants()
1464
	for index, CHILD in pairs(CHILDREN) do
1465
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1466
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1467
			if HUM then
1468
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1469
				if TORSO then
1470
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1471
						if ISBANISH == true then
1472
							Banish(CHILD)
1473
						else
1474
							if ISBANISH == "Gravity" then
1475
								HUM.PlatformStand = true
1476
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1477
									local grav = Instance.new("BodyPosition",TORSO)
1478
									grav.D = 15
1479
									grav.P = 20000
1480
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1481
									grav.position = TORSO.Position
1482
									grav.Name = "V3BanishForce"..Player.Name
1483
								else
1484
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
1485
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
1486
								end
1487
							else
1488
								HUM.PlatformStand = false
1489
							end
1490
						end
1491
					elseif ISBANISH == "Gravity" then
1492
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1493
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
1494
							HUM.PlatformStand = false
1495
						end
1496
					end
1497
				end
1498
			end
1499
		end
1500
	end
1501
end
1502
1503
function Kill(Char)
1504
	local NewCharacter = IT("Model",Effects)
1505
	NewCharacter.Name = "Ow im ded ;-;"
1506
	for _, c in pairs(Char:GetDescendants()) do
1507
		if c:IsA("BasePart") and c.Transparency == 0 then
1508
			if c.Parent == Char then
1509
				getbloody(c,5)
1510
			end
1511
			c:BreakJoints()
1512
			c.Material = "Glass"
1513
			c.Color = C3(0.5,0,0)
1514
			c.CanCollide = true
1515
			c.Transparency = 0.3
1516
			if c:FindFirstChildOfClass("SpecialMesh") then
1517
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1518
			end
1519
			if c.Name == "Head" then
1520
				c:ClearAllChildren()
1521
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
1522
			end
1523
			if c.ClassName == "MeshPart" then
1524
				c.TextureID = ""
1525
			end
1526
			if c:FindFirstChildOfClass("BodyPosition") then
1527
				c:FindFirstChildOfClass("BodyPosition"):remove()
1528
			end
1529
			if c:FindFirstChildOfClass("ParticleEmitter") then
1530
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
1531
			end
1532
			c.Parent = NewCharacter
1533
			c.Name = "DeadPart"
1534
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
1535
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
1536
		end
1537
	end
1538
	Char:remove()
1539
	Debris:AddItem(NewCharacter,5)
1540
end
1541
1542
function ApplyAoE(POSITION,RANGE,BRUTAL)
1543
	local CHILDREN = workspace:GetDescendants()
1544
	for index, CHILD in pairs(CHILDREN) do
1545
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1546
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1547
			if HUM then
1548
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1549
				if TORSO then
1550
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1551
						if BRUTAL == true then
1552
							Kill(CHILD)
1553
						else
1554
							CHILD:BreakJoints()
1555
						end
1556
					end
1557
				end
1558
			end
1559
		end
1560
	end
1561
end
1562
1563
function BulletDetection(FROM,TO,BRUTAL)
1564
	local AIMHIT,AIMPOS,NORMAL = CastProperRay(FROM,TO,2000,Character)
1565
	coroutine.resume(coroutine.create(function()
1566
		if AIMHIT ~= nil then
1567
			if AIMHIT.Parent ~= Character then
1568
				if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1569
					if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") then
1570
						if BRUTAL == true then
1571
							Kill(AIMHIT.Parent)
1572
						else
1573
							getbloody(AIMHIT,15)
1574
							AIMHIT.Parent:BreakJoints()
1575
							if AIMHIT.Name == "Head" then
1576
								AIMHIT.Name = "HEADSHOT"
1577
								AIMHIT:remove()
1578
							end
1579
						end
1580
					else
1581
						if BRUTAL == true then
1582
							Kill(AIMHIT.Parent.Parent)
1583
						else
1584
							AIMHIT.Parent.Parent:BreakJoints()
1585
						end
1586
					end
1587
				end
1588
			end
1589
		end
1590
	end))
1591
	SpawnTrail(FROM,AIMPOS)
1592
	return AIMHIT,AIMPOS,NORMAL
1593
end
1594
1595
function Banish(Foe)
1596
	if Foe then
1597
		coroutine.resume(coroutine.create(function()
1598
			--if game.Players:FindFirstChild(Foe.Name) then
1599
				table.insert(TOBANISH,Foe.Name)
1600
				printbye(Foe.Name)
1601
			--end
1602
			Foe.Archivable = true
1603
			local CLONE = Foe:Clone()
1604
			Foe:Destroy()
1605
			CLONE.Parent = Effects
1606
			CLONE:BreakJoints()
1607
			local MATERIALS = {"Glass","Neon"}
1608
			for _, c in pairs(CLONE:GetDescendants()) do
1609
				if c:IsA("BasePart") then
1610
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
1611
 						CreateSound(340722848, c, 10, 1, false)
1612
					end
1613
					c.Anchored = true
1614
					c.Transparency = c.Transparency + 0.2
1615
					c.Material = MATERIALS[MRANDOM(1,2)]
1616
					c.Color = C3(1,0,0)
1617
					if c.ClassName == "MeshPart" then
1618
						c.TextureID = ""
1619
					end
1620
					if c:FindFirstChildOfClass("SpecialMesh") then
1621
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1622
					end
1623
					if c:FindFirstChildOfClass("Decal") then
1624
						c:FindFirstChildOfClass("Decal"):remove()
1625
					end
1626
					c.Name = "Banished"
1627
					c.CanCollide = false
1628
				else
1629
					c:remove()
1630
				end
1631
			end
1632
			local A = false
1633
			for i = 1, 35 do
1634
				if A == false then
1635
					A = true
1636
				elseif A == true then
1637
					A = false
1638
				end
1639
				for _, c in pairs(CLONE:GetDescendants()) do
1640
					if c:IsA("BasePart") then
1641
						c.Anchored = true
1642
						c.Material = MATERIALS[MRANDOM(1,2)]
1643
						c.Transparency = c.Transparency + 0.8/35
1644
						if A == false then
1645
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
1646
						elseif A == true then
1647
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
1648
						end
1649
					end
1650
				end
1651
				Swait()
1652
			end
1653
			CLONE:remove()
1654
		end))
1655
	end
1656
end
1657
1658
function ApplyAoE(POSITION,RANGE,ISBANISH)
1659
	local CHILDREN = workspace:GetDescendants()
1660
	for index, CHILD in pairs(CHILDREN) do
1661
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1662
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1663
			if HUM then
1664
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1665
				if TORSO then
1666
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1667
						if ISBANISH == true then
1668
							Banish(CHILD)
1669
						else
1670
							if ISBANISH == "Gravity" then
1671
								HUM.PlatformStand = true
1672
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1673
									local grav = Instance.new("BodyPosition",TORSO)
1674
									grav.D = 15
1675
									grav.P = 20000
1676
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1677
									grav.position = TORSO.Position
1678
									grav.Name = "V3BanishForce"..Player.Name
1679
								else
1680
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
1681
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
1682
								end
1683
							else
1684
								HUM.PlatformStand = false
1685
							end
1686
						end
1687
					elseif ISBANISH == "Gravity" then
1688
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1689
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
1690
							HUM.PlatformStand = false
1691
						end
1692
					end
1693
				end
1694
			end
1695
		end
1696
	end
1697
end
1698
1699
function ApplyAoE(POSITION,RANGE,BRUTAL)
1700
	local CHILDREN = workspace:GetDescendants()
1701
	for index, CHILD in pairs(CHILDREN) do
1702
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1703
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1704
			if HUM then
1705
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1706
				if TORSO then
1707
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1708
						if BRUTAL == true then
1709
							Kill(CHILD)
1710
						else
1711
							CHILD:BreakJoints()
1712
						end
1713
					end
1714
				end
1715
			end
1716
		end
1717
	end
1718
end
1719
1720
function Kill(Char)
1721
	local NewCharacter = IT("Model",Effects)
1722
	NewCharacter.Name = "Ow im ded ;-;"
1723
	for _, c in pairs(Char:GetDescendants()) do
1724
		if c:IsA("BasePart") and c.Transparency == 0 then
1725
			if c.Parent == Char then
1726
				getbloody(c,5)
1727
			end
1728
			c:BreakJoints()
1729
			c.Material = "Glass"
1730
			c.Color = C3(1,0,0)
1731
			c.CanCollide = true
1732
			c.Transparency = 0.3
1733
			if c:FindFirstChildOfClass("SpecialMesh") then
1734
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1735
			end
1736
			if c.Name == "Head" then
1737
				c:ClearAllChildren()
1738
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
1739
			end
1740
			if c.ClassName == "MeshPart" then
1741
				c.TextureID = ""
1742
			end
1743
			if c:FindFirstChildOfClass("BodyPosition") then
1744
				c:FindFirstChildOfClass("BodyPosition"):remove()
1745
			end
1746
			if c:FindFirstChildOfClass("ParticleEmitter") then
1747
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
1748
			end
1749
			c.Parent = NewCharacter
1750
			c.Name = "DeadPart"
1751
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
1752
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
1753
		end
1754
	end
1755
	Char:remove()
1756
	Debris:AddItem(NewCharacter,5)
1757
end
1758
1759
function ApplyClock(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
1760
	local CHILDREN = workspace:GetDescendants()
1761
	for index, CHILD in pairs(CHILDREN) do
1762
		if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
1763
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1764
			if HUM then
1765
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1766
				if TORSO then
1767
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1768
						if INSTAKILL == true then
1769
							CHILD:BreakJoints()
1770
						else
1771
							local DMG = MRANDOM(MINDMG,MAXDMG)
1772
							ApplyDamage(HUM,DMG,TORSO)
1773
						end
1774
						if FLING > 0 then
1775
							for _, c in pairs(CHILD:GetChildren()) do
1776
								if c:IsA("BasePart") then
1777
									local bv = Instance.new("BodyVelocity") 
1778
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1779
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
1780
									bv.Parent = c
1781
									Debris:AddItem(bv,0.05)
1782
								end
1783
							end
1784
						end
1785
					end
1786
				end
1787
			end
1788
		end
1789
	end
1790
end
1791
1792
function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
1793
	local TORSO = Torso
1794
	local HUM = Humanoid
1795
	if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
1796
		coroutine.wrap(function()
1797
			VT = Vector3.new
1798
			MRANDOM = math.random
1799
			local A = TIME
1800
			local B = INTENSITY
1801
			local C = true
1802
			local HUMANOID = Humanoid
1803
			local TIMER = A or 35
1804
			local SHAKE = B or 5
1805
			local FADE = C or true
1806
			if HUMANOID then
1807
				local FADER = SHAKE / TIMER
1808
				for i = 1, TIMER do
1809
					wait()
1810
					HUMANOID.CameraOffset = VT(MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10)
1811
				end
1812
				HUMANOID.CameraOffset = VT(0, 0, 0)
1813
			end
1814
1815
		end)()
1816
	end
1817
end
1818
1819
function killnearest(position, range, maxstrength)
1820
	for i, v in ipairs(workspace:GetChildren()) do
1821
		local body = v:GetChildren()
1822
		for part = 1, #body do
1823
			if (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character and range > (body[part].Position - position).Magnitude then
1824
				if v.ClassName == "Model" then
1825
					v:BreakJoints()
1826
				end
1827
				local bv = Instance.new("BodyVelocity")
1828
				bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
1829
				bv.velocity = CF(position, body[part].Position).lookVector * maxstrength
1830
				bv.Parent = body[part]
1831
				Debris:AddItem(bv, 0.2)
1832
			end
1833
		end
1834
		if v.ClassName == "Part" and v.Anchored == false and range > (v.Position - position).Magnitude then
1835
			v.Velocity = CFrame.new(position, v.Position).lookVector * 5 * maxstrength
1836
		end
1837
	end
1838
end
1839
local DECAL = IT("Decal")
1840
function MakeRing()
1841
	local RING = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Gold"), "MagicRing", VT(0, 0, 0), true)
1842
	local MSH = IT("BlockMesh", RING)
1843
	local TOP = DECAL:Clone()
1844
	local BOTTOM = DECAL:Clone()
1845
	TOP.Parent = RING
1846
	BOTTOM.Parent = RING
1847
	TOP.Face = "Top"
1848
	BOTTOM.Face = "Bottom"
1849
	TOP.Texture = "http://www.roblox.com/asset/?id=127817121"
1850
	BOTTOM.Texture = "http://www.roblox.com/asset/?id=127817121"
1851
	local function REMOVE()
1852
		coroutine.resume(coroutine.create(function()
1853
			local SIZE = MSH.Scale.X
1854
			for i = 1, 35 do
1855
				Swait()
1856
				MSH.Scale = MSH.Scale - VT(SIZE, 0, SIZE) / 60
1857
				TOP.Transparency = TOP.Transparency + 0.02857142857142857
1858
				BOTTOM.Transparency = BOTTOM.Transparency + 0.02857142857142857
1859
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(-5), RAD(0))
1860
			end
1861
			RING:remove()
1862
		end))
1863
	end
1864
	return RING, MSH, REMOVE
1865
end
1866
1867
function CreateDebreeRing1(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
1868
	if FLOOR ~= nil then
1869
		coroutine.resume(coroutine.create(function()
1870
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
1871
			PART.CFrame = CF(POSITION)
1872
			for i = 1, 45 do
1873
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
1874
				RingPiece.Material = FLOOR.Material
1875
				RingPiece.Color = FLOOR.Color
1876
				RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
1877
				Debris:AddItem(RingPiece,SWAIT)
1878
			end
1879
			PART:remove()
1880
		end))
1881
	end
1882
end
1883
1884
function CreateFlyingDebree1(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
1885
	if FLOOR ~= nil then
1886
		for i = 1, AMOUNT do
1887
			local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
1888
			DEBREE.Material = FLOOR.Material
1889
			DEBREE.Color = FLOOR.Color
1890
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
1891
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
1892
			coroutine.resume(coroutine.create(function()
1893
				Swait(15)
1894
				DEBREE.Parent = workspace
1895
				DEBREE.CanCollide = true
1896
				Debris:AddItem(DEBREE,SWAIT)
1897
			end))
1898
		end
1899
	end
1900
end
1901
1902
function CreateDebreeRing2(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
1903
	if FLOOR ~= nil then
1904
		coroutine.resume(coroutine.create(function()
1905
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Really black", "DebreeCenter", VT(0,0,0))
1906
			PART.CFrame = CF(POSITION)
1907
			for i = 1, 45 do
1908
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Really black", "DebreePart", BLOCKSIZE)
1909
				RingPiece.Material = FLOOR.Material
1910
				RingPiece.Color = FLOOR.Color
1911
				RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE*4, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
1912
				Debris:AddItem(RingPiece,SWAIT)
1913
			end
1914
			PART:remove()
1915
		end))
1916
	end
1917
end
1918
1919
function CreateFlyingDebree2(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
1920
	if FLOOR ~= nil then
1921
		for i = 1, AMOUNT do
1922
			local DEBREE = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Debree", BLOCKSIZE, false)
1923
			DEBREE.Material = FLOOR.Material
1924
			DEBREE.Color = FLOOR.Color
1925
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
1926
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),STRENGTH,MRANDOM(-STRENGTH,STRENGTH))
1927
			coroutine.resume(coroutine.create(function()
1928
				Swait(15)
1929
				DEBREE.Parent = workspace
1930
				DEBREE.CanCollide = true
1931
				Debris:AddItem(DEBREE,SWAIT)
1932
			end))
1933
		end
1934
	end
1935
end
1936
1937
function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
1938
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1939
	local mesh = IT("SpecialMesh",wave)
1940
	mesh.MeshType = "FileMesh"
1941
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
1942
	mesh.Scale = SIZE
1943
	mesh.Offset = VT(0,0,0)
1944
	wave.CFrame = CFRAME
1945
	coroutine.resume(coroutine.create(function(PART)
1946
		for i = 1, WAIT do
1947
			Swait()
1948
			mesh.Scale = mesh.Scale + GROW
1949
			if DOESROT == true then
1950
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1951
			end
1952
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1953
			if wave.Transparency > 0.99 then
1954
				wave:remove()
1955
			end
1956
		end
1957
	end))
1958
end
1959
1960
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
1961
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
1962
	local mesh = IT("SpecialMesh",wave)
1963
	mesh.MeshType = "Sphere"
1964
	mesh.Scale = SIZE
1965
	mesh.Offset = VT(0,0,0)
1966
	wave.CFrame = CFRAME
1967
	coroutine.resume(coroutine.create(function(PART)
1968
		for i = 1, WAIT do
1969
			Swait()
1970
			mesh.Scale = mesh.Scale + GROW
1971
			wave.Transparency = wave.Transparency + (1/WAIT)
1972
			if wave.Transparency > 0.99 then
1973
				wave:remove()
1974
			end
1975
		end
1976
	end))
1977
end
1978
function MagicSpheres(size,waitt,cframe,color)
1979
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(1,1,1))
1980
    local mesh = IT("SpecialMesh",wave)
1981
    mesh.MeshType = "Sphere"
1982
    mesh.Scale = VT(size,size,size)
1983
    mesh.Offset = VT(0,0,0)
1984
    wave.CFrame = cframe
1985
    coroutine.resume(coroutine.create(function(PART)
1986
        for i = 1, waitt do
1987
            Swait()
1988
            mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
1989
            wave.Transparency = wave.Transparency + (1/waitt)
1990
            if wave.Transparency > 0.99 then
1991
                wave:remove()
1992
            end
1993
        end
1994
    end))
1995
end
1996
1997
function MagicSpheres2(size,waitt,cframe,color)
1998
    local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(1,1,1))
1999
    local mesh = IT("SpecialMesh",wave)
2000
    mesh.MeshType = "Sphere"
2001
    mesh.Scale = VT(size,size,size)
2002
    mesh.Offset = VT(0,0,0)
2003
    wave.CFrame = cframe
2004
    coroutine.resume(coroutine.create(function(PART)
2005
        for i = 1, waitt do
2006
            Swait()
2007
            mesh.Scale = mesh.Scale - VT(size/waitt,size/waitt,size/waitt)
2008
            wave.Transparency = wave.Transparency - (1/waitt)
2009
        end
2010
        wave:remove()
2011
    end))
2012
end
2013
2014
function MagicBlock(size,waitt,part,offset,color)
2015
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(size,size,size))
2016
    local mesh = IT("BlockMesh",wave)
2017
    wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(0),RAD(0),RAD(0))
2018
    coroutine.resume(coroutine.create(function(PART)
2019
        for i = 1, waitt do
2020
            Swait()
2021
            mesh.Scale = mesh.Scale + VT(size/15,size/15,size/15)
2022
            wave.CFrame = CF(wave.Position) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
2023
            wave.Transparency = wave.Transparency + (1/waitt)
2024
            if wave.Transparency > 0.99 then
2025
                wave:remove()
2026
            end
2027
        end
2028
    end))
2029
end
2030
function Banish(Foe)
2031
	if Foe then
2032
		coroutine.resume(coroutine.create(function()
2033
			--if game.Players:FindFirstChild(Foe.Name) then
2034
				table.insert(TOBANISH,Foe.Name)
2035
				printbye(Foe.Name)
2036
			--end
2037
			Foe.Archivable = true
2038
			local CLONE = Foe:Clone()
2039
			Foe:Destroy()
2040
			CLONE.Parent = Effects
2041
			CLONE:BreakJoints()
2042
			local MATERIALS = {"Glass","Neon"}
2043
			for _, c in pairs(CLONE:GetDescendants()) do
2044
				if c:IsA("BasePart") then
2045
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
2046
 						CreateSound(340722848, c, 10, 1, false)
2047
					end
2048
					c.Anchored = true
2049
					c.Transparency = c.Transparency + 0.2
2050
					c.Material = MATERIALS[MRANDOM(1,2)]
2051
					c.Color = C3(1,0,0)
2052
					if c.ClassName == "MeshPart" then
2053
						c.TextureID = ""
2054
					end
2055
					if c:FindFirstChildOfClass("SpecialMesh") then
2056
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
2057
					end
2058
					if c:FindFirstChildOfClass("Decal") then
2059
						c:FindFirstChildOfClass("Decal"):remove()
2060
					end
2061
					c.Name = "Banished"
2062
					c.CanCollide = false
2063
				else
2064
					c:remove()
2065
				end
2066
			end
2067
			local A = false
2068
			for i = 1, 35 do
2069
				if A == false then
2070
					A = true
2071
				elseif A == true then
2072
					A = false
2073
				end
2074
				for _, c in pairs(CLONE:GetDescendants()) do
2075
					if c:IsA("BasePart") then
2076
						c.Anchored = true
2077
						c.Material = MATERIALS[MRANDOM(1,2)]
2078
						c.Transparency = c.Transparency + 0.8/35
2079
						if A == false then
2080
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
2081
						elseif A == true then
2082
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
2083
						end
2084
					end
2085
				end
2086
				Swait()
2087
			end
2088
			CLONE:remove()
2089
		end))
2090
	end
2091
end
2092
2093
function ApplyAoE(POSITION,RANGE,ISBANISH)
2094
	local CHILDREN = workspace:GetDescendants()
2095
	for index, CHILD in pairs(CHILDREN) do
2096
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2097
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2098
			if HUM then
2099
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2100
				if TORSO then
2101
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
2102
						if ISBANISH == true then
2103
							Banish(CHILD)
2104
						else
2105
							if ISBANISH == "Gravity" then
2106
								HUM.PlatformStand = true
2107
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
2108
									local grav = Instance.new("BodyPosition",TORSO)
2109
									grav.D = 15
2110
									grav.P = 20000
2111
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
2112
									grav.position = TORSO.Position
2113
									grav.Name = "V3BanishForce"..Player.Name
2114
								else
2115
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
2116
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
2117
								end
2118
							else
2119
								HUM.PlatformStand = false
2120
							end
2121
						end
2122
					elseif ISBANISH == "Gravity" then
2123
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
2124
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
2125
							HUM.PlatformStand = false
2126
						end
2127
					end
2128
				end
2129
			end
2130
		end
2131
	end
2132
end
2133
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
2134
    if FLOOR ~= nil then
2135
        coroutine.resume(coroutine.create(function()
2136
            local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
2137
            PART.CFrame = CF(POSITION)
2138
            for i = 1, 45 do
2139
                local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
2140
                RingPiece.Material = FLOOR.Material
2141
                RingPiece.Color = FLOOR.Color
2142
                RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
2143
                Debris:AddItem(RingPiece,SWAIT)
2144
            end
2145
            PART:remove()
2146
        end))
2147
    end
2148
end
2149
function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
2150
    if FLOOR ~= nil then
2151
        for i = 1, AMOUNT do
2152
            local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
2153
            DEBREE.Material = FLOOR.Material
2154
            DEBREE.Color = FLOOR.Color
2155
            DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
2156
            DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
2157
            coroutine.resume(coroutine.create(function()
2158
                Swait(15)
2159
                DEBREE.Parent = workspace
2160
                DEBREE.CanCollide = true
2161
                Debris:AddItem(DEBREE,SWAIT)
2162
            end))
2163
        end
2164
    end
2165
end
2166
function Debree(POS,SWAIT)
2167
	coroutine.resume(coroutine.create(function()
2168
		local HOLDER = IT("Model",Effects)
2169
		HOLDER.Name = "Debree"
2170
		local HITFLOOR = Raycast(POS, (CF(POS, POS + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
2171
		MagicSphere(VT(15,1,15),SWAIT,CF(POS),"Reddish brown",VT(0,0,0))
2172
		MagicSphere(VT(13,1,13),SWAIT,CF(POS),"Reddish brown",VT(0,0,0))
2173
		MagicSphere(VT(12,1,12),SWAIT,CF(POS),"Reddish brown",VT(0,0,0))
2174
		repeat Swait() until HITFLOOR ~= nil
2175
		local O = 0
2176
		for i = 1, 18 do
2177
			local Part = CreatePart(3, HOLDER, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "Debree", VT(3,3,3))
2178
			Part.CFrame = CF(CF(POS) * CF((45/4.5)-i,0,O).p) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
2179
			O = O - (45/4)/5+i/4
2180
			coroutine.resume(coroutine.create(function()
2181
				Swait(SWAIT)
2182
				for i = 1, 60 do
2183
					Swait()
2184
					local RayHit, Way = CastProperRay(Part.Position,POS,0.1,workspace)
2185
					Part.CFrame = CF(Way) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
2186
				end
2187
				for i = 1, 50 do
2188
					Swait()
2189
					Part.Size = Part.Size * 0.9
2190
				end
2191
			end))
2192
		end
2193
		local O = 0
2194
		for i = 1, 18 do
2195
			local Part = CreatePart(3, HOLDER, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "Debree", VT(3,3,3))
2196
			Part.CFrame = CF(CF(POS) * CF((45/4.5)-i,0,O).p) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
2197
			O = O + (45/4)/5-i/4
2198
			coroutine.resume(coroutine.create(function()
2199
				Swait(SWAIT)
2200
				for i = 1, 60 do
2201
					Swait()
2202
					local RayHit, Way = CastProperRay(Part.Position,POS,0.1,workspace)
2203
					Part.CFrame = CF(Way) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
2204
				end
2205
				for i = 1, 50 do
2206
					Swait()
2207
					Part.Size = Part.Size * 0.9
2208
				end
2209
			end))
2210
		end
2211
		Swait(SWAIT+110)
2212
		HOLDER:remove()
2213
	end))
2214
end
2215
function Kill(Char)
2216
	local NewCharacter = IT("Model",Effects)
2217
	NewCharacter.Name = "Ow im ded ;-;"
2218
	for _, c in pairs(Char:GetDescendants()) do
2219
		if c:IsA("BasePart") and c.Transparency == 0 then
2220
			if c.Parent == Char then
2221
				getbloody(c,5)
2222
			end
2223
			c:BreakJoints()
2224
			c.Material = "Glass"
2225
			c.Color = C3(0.5,0,0)
2226
			c.CanCollide = true
2227
			c.Transparency = 0.3
2228
			if c:FindFirstChildOfClass("SpecialMesh") then
2229
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
2230
			end
2231
			if c.Name == "Head" then
2232
				c:ClearAllChildren()
2233
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
2234
			end
2235
			if c.ClassName == "MeshPart" then
2236
				c.TextureID = ""
2237
			end
2238
			if c:FindFirstChildOfClass("BodyPosition") then
2239
				c:FindFirstChildOfClass("BodyPosition"):remove()
2240
			end
2241
			if c:FindFirstChildOfClass("ParticleEmitter") then
2242
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
2243
			end
2244
			c.Parent = NewCharacter
2245
			c.Name = "DeadPart"
2246
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
2247
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
2248
		end
2249
	end
2250
	Char:remove()
2251
	Debris:AddItem(NewCharacter,5)
2252
end
2253
function ApplyAoE(POSITION,RANGE,BRUTAL)
2254
	local CHILDREN = workspace:GetDescendants()
2255
	for index, CHILD in pairs(CHILDREN) do
2256
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2257
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2258
			if HUM then
2259
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2260
				if TORSO then
2261
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
2262
						if BRUTAL == true then
2263
							Kill(CHILD)
2264
						else
2265
							CHILD:BreakJoints()
2266
						end
2267
					end
2268
				end
2269
			end
2270
		end
2271
	end
2272
end
2273
function WaveParticles(Position,Size,Color)
2274
    local BASE = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "Shockwave", VT(0,0,0), true)
2275
    BASE.CFrame = CF(Position)
2276
    local A = IT("Attachment",BASE)
2277
    local WAVE = script.Wave:Clone()
2278
    WAVE.Parent = A
2279
    WAVE.Size = NumberSequence.new(0,Size)
2280
    WAVE.Color = ColorSequence.new(Color)
2281
    Debris:AddItem(BASE,0.5)
2282
    WAVE:Emit(1)
2283
end
2284
function SpawnSmite(POS)
2285
    local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
2286
    local EMITPOS = HITPOS
2287
    if HITFLOOR ~= nil then
2288
        if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
2289
            HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
2290
            EMITPOS = HITPOS
2291
        elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
2292
            HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
2293
            EMITPOS = HITPOS
2294
        end
2295
    end
2296
    if HITFLOOR ~= nil then
2297
        ApplyAoE(EMITPOS,10)
2298
        WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
2299
        WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
2300
        WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
2301
        for i = 1, 5 do
2302
            local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
2303
            WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
2304
        end
2305
    end
2306
end
2307
 
2308
function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
2309
    coroutine.resume(coroutine.create(function()
2310
        local METEOR = IT("Model",Effects)
2311
        METEOR.Name = "Meteorite"
2312
        local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
2313
        METEOR.PrimaryPart = CENTER
2314
        local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
2315
        PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
2316
        for i = 1, 15 do
2317
            local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really red", "Fire", VT(5.1,1,5.1)*SIZE)
2318
            FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
2319
        end
2320
        if ISDEBREE ~= true then
2321
            METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
2322
        else
2323
            METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
2324
        end
2325
        local IMPACT = false
2326
        CreateSound(463593339, CENTER, 10, 0.6)
2327
        if SIZE >= 3.5 then
2328
            for i = 1, MRANDOM(3,7) do
2329
                SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
2330
            end
2331
        end
2332
        for i = 1, 200 do
2333
            Swait()
2334
            local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
2335
            if HITFLOOR == nil then
2336
                local ORI = CENTER.Orientation
2337
                METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
2338
            else
2339
                if HITFLOOR.Anchored == true then
2340
                    CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
2341
                    CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
2342
                end
2343
                IMPACT = true
2344
                break
2345
            end
2346
        end
2347
        if IMPACT == true then
2348
            WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
2349
            WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
2350
            WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
2351
            ApplyAoE(CENTER.Position,30*SIZE)
2352
        end
2353
        METEOR:remove()
2354
    end))
2355
end
2356
function Warp(Victim,WarpToVoid)
2357
	print("Warping "..Victim.Name.."...")
2358
	Victim.Anchored = true
2359
	coroutine.resume(coroutine.create(function()
2360
		local GUI,GUI2 = CreateGUICircle(Victim)
2361
		CreateSound("1208650519", Victim, 10, 1)
2362
		for i = 1, 100 do
2363
			Swait()
2364
			GUI.Size = GUI.Size + UDim2.new(0.2,0,0.2,0)
2365
			GUI2.Rotation = GUI2.Rotation + 4
2366
		end
2367
			CastWarpOutlines(Victim.Parent)
2368
			if WarpToVoid == false then
2369
			Victim.CFrame = Victim.CFrame * CF(MRANDOM(-65,65),0,MRANDOM(-65,65))
2370
			CreateSound("1177785010", Victim, 10, 1)
2371
			local HUMANOID = Victim.Parent:FindFirstChildOfClass("Humanoid")
2372
			if HUMANOID ~= nil then
2373
				local dmg = MRANDOM(75,95)
2374
				HUMANOID.Health = HUMANOID.Health - dmg
2375
				StatLabel("Normal", Victim.CFrame * CF(0, 0 + (Victim.Size.z - 1), 0), "WARPED/"..dmg, C3(0.3, 0, 0.3))
2376
			end
2377
			for i = 1, 50 do
2378
				Swait()
2379
				GUI.Size = GUI.Size - UDim2.new(0.4,0,0.4,0)
2380
				GUI2.Rotation = GUI2.Rotation - 8
2381
			end
2382
			Victim.Anchored = false
2383
			GUI:remove()
2384
		elseif WarpToVoid == true then
2385
			CastWarpOutlines(Victim.Parent)
2386
			q = Victim.Parent:GetChildren()
2387
			for i = 1, #q do
2388
				if q[i] ~= Victim then
2389
					q[i]:remove()
2390
				end
2391
			end
2392
			CreateSound("1177785010", Victim, 10, 1)
2393
			Victim.Transparency = 1
2394
			for i = 1, 50 do
2395
				Swait()
2396
				GUI.Size = GUI.Size - UDim2.new(0.4,0,0.4,0)
2397
				GUI2.Rotation = GUI2.Rotation - 8
2398
			end
2399
			Victim.Parent:remove()
2400
		end
2401
	end))
2402
end
2403
wait(0.2)
2404
2405-
Player = game:GetService("Players").LocalPlayer
2405+
2406
PlayerGui = Player.PlayerGui
2407
Cam = workspace.CurrentCamera
2408
Backpack = Player.Backpack
2409
Character = Player.Character
2410
Humanoid = Character.Humanoid
2411-
Mouse = Player:GetMouse()
2411+
2412
Torso = Character["Torso"]
2413
Head = Character["Head"]
2414
RightArm = Character["Right Arm"]
2415
LeftArm = Character["Left Arm"]
2416
RightLeg = Character["Right Leg"]
2417
LeftLeg = Character["Left Leg"]
2418
RootJoint = RootPart["RootJoint"]
2419
Neck = Torso["Neck"]
2420
RightShoulder = Torso["Right Shoulder"]
2421
LeftShoulder = Torso["Left Shoulder"]
2422
RightHip = Torso["Right Hip"]
2423
LeftHip = Torso["Left Hip"]
2424
local sick = Instance.new("Sound",Torso)
2425
sick.SoundId = "rbxassetid://751167162"
2426
sick.Looped = true
2427
sick.Pitch = 1
2428
sick.Volume = 3
2429
sick:Play()
2430
2431
IT = Instance.new
2432
CF = CFrame.new
2433
VT = Vector3.new
2434
RAD = math.rad
2435
C3 = Color3.new
2436
UD2 = UDim2.new
2437
BRICKC = BrickColor.new
2438
ANGLES = CFrame.Angles
2439
EULER = CFrame.fromEulerAnglesXYZ
2440
COS = math.cos
2441
ACOS = math.acos
2442
SIN = math.sin
2443
ASIN = math.asin
2444
ABS = math.abs
2445
MRANDOM = math.random
2446
FLOOR = math.floor
2447
2448
--//=================================\\
2449
--|| 	      SOME FUNCTIONS
2450
--\\=================================//
2451
2452
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
2453
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
2454
end
2455
2456
function PositiveAngle(NUMBER)
2457
	if NUMBER >= 0 then
2458
		NUMBER = 0
2459
	end
2460
	return NUMBER
2461
end
2462
2463
function NegativeAngle(NUMBER)
2464
	if NUMBER <= 0 then
2465
		NUMBER = 0
2466
	end
2467
	return NUMBER
2468
end
2469
2470
function Swait(NUMBER)
2471
	if NUMBER == 0 or NUMBER == nil then
2472
		ArtificialHB.Event:wait()
2473
	else
2474
		for i = 1, NUMBER do
2475
			ArtificialHB.Event:wait()
2476
		end
2477
	end
2478
end
2479
2480
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
2481
	local NEWMESH = IT(MESH)
2482
	if MESH == "SpecialMesh" then
2483
		NEWMESH.MeshType = MESHTYPE
2484
		if MESHID ~= "nil" and MESHID ~= "" then
2485
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
2486
		end
2487
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
2488
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
2489
		end
2490
	end
2491
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
2492
	NEWMESH.Scale = SCALE
2493
	NEWMESH.Parent = PARENT
2494
	return NEWMESH
2495
end
2496
2497
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
2498
	local NEWPART = IT("Part")
2499
	NEWPART.formFactor = FORMFACTOR
2500
	NEWPART.Reflectance = REFLECTANCE
2501
	NEWPART.Transparency = TRANSPARENCY
2502
	NEWPART.CanCollide = false
2503
	NEWPART.Locked = true
2504
	NEWPART.Anchored = true
2505
	if ANCHOR == false then
2506
		NEWPART.Anchored = false
2507
	end
2508
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
2509
	NEWPART.Name = NAME
2510
	NEWPART.Size = SIZE
2511
	NEWPART.Position = Torso.Position
2512
	NEWPART.Material = MATERIAL
2513
	NEWPART:BreakJoints()
2514
	NEWPART.Parent = PARENT
2515
	return NEWPART
2516
end
2517
2518
	local function weldBetween(a, b)
2519
	    local weldd = IT("Weld")
2520
	    weldd.Part0 = a
2521
	    weldd.Part1 = b
2522
	    weldd.C0 = CF()
2523
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
2524
	    weldd.Parent = a
2525
	    return weldd
2526
	end
2527
2528
2529
function QuaternionFromCFrame(cf)
2530
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
2531
	local trace = m00 + m11 + m22
2532
	if trace > 0 then 
2533
		local s = math.sqrt(1 + trace)
2534
		local recip = 0.5 / s
2535
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
2536
	else
2537
		local i = 0
2538
		if m11 > m00 then
2539
			i = 1
2540
		end
2541
		if m22 > (i == 0 and m00 or m11) then
2542
			i = 2
2543
		end
2544
		if i == 0 then
2545
			local s = math.sqrt(m00 - m11 - m22 + 1)
2546
			local recip = 0.5 / s
2547
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
2548
		elseif i == 1 then
2549
			local s = math.sqrt(m11 - m22 - m00 + 1)
2550
			local recip = 0.5 / s
2551
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
2552
		elseif i == 2 then
2553
			local s = math.sqrt(m22 - m00 - m11 + 1)
2554
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
2555
		end
2556
	end
2557
end
2558
 
2559
function QuaternionToCFrame(px, py, pz, x, y, z, w)
2560
	local xs, ys, zs = x + x, y + y, z + z
2561
	local wx, wy, wz = w * xs, w * ys, w * zs
2562
	local xx = x * xs
2563
	local xy = x * ys
2564
	local xz = x * zs
2565
	local yy = y * ys
2566
	local yz = y * zs
2567
	local zz = z * zs
2568
	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))
2569
end
2570
 
2571
function QuaternionSlerp(a, b, t)
2572
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
2573
	local startInterp, finishInterp;
2574
	if cosTheta >= 0.0001 then
2575
		if (1 - cosTheta) > 0.0001 then
2576
			local theta = ACOS(cosTheta)
2577
			local invSinTheta = 1 / SIN(theta)
2578
			startInterp = SIN((1 - t) * theta) * invSinTheta
2579
			finishInterp = SIN(t * theta) * invSinTheta
2580
		else
2581
			startInterp = 1 - t
2582
			finishInterp = t
2583
		end
2584
	else
2585
		if (1 + cosTheta) > 0.0001 then
2586
			local theta = ACOS(-cosTheta)
2587
			local invSinTheta = 1 / SIN(theta)
2588
			startInterp = SIN((t - 1) * theta) * invSinTheta
2589
			finishInterp = SIN(t * theta) * invSinTheta
2590
		else
2591
			startInterp = t - 1
2592
			finishInterp = t
2593
		end
2594
	end
2595
	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
2596
end
2597
2598
function Clerp(a, b, t)
2599
	local qa = {QuaternionFromCFrame(a)}
2600
	local qb = {QuaternionFromCFrame(b)}
2601
	local ax, ay, az = a.x, a.y, a.z
2602
	local bx, by, bz = b.x, b.y, b.z
2603
	local _t = 1 - t
2604
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
2605
end
2606
2607
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
2608
	local frame = IT("Frame")
2609
	frame.BackgroundTransparency = TRANSPARENCY
2610
	frame.BorderSizePixel = BORDERSIZEPIXEL
2611
	frame.Position = POSITION
2612
	frame.Size = SIZE
2613
	frame.BackgroundColor3 = COLOR
2614
	frame.BorderColor3 = BORDERCOLOR
2615
	frame.Name = NAME
2616
	frame.Parent = PARENT
2617
	return frame
2618
end
2619
2620
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
2621
	local label = IT("TextLabel")
2622
	label.BackgroundTransparency = 1
2623
	label.Size = UD2(1, 0, 1, 0)
2624
	label.Position = UD2(0, 0, 0, 0)
2625
	label.TextColor3 = TEXTCOLOR
2626
	label.TextStrokeTransparency = STROKETRANSPARENCY
2627
	label.TextTransparency = TRANSPARENCY
2628
	label.FontSize = TEXTFONTSIZE
2629
	label.Font = TEXTFONT
2630
	label.BorderSizePixel = BORDERSIZEPIXEL
2631
	label.TextScaled = false
2632
	label.Text = TEXT
2633
	label.Name = NAME
2634
	label.Parent = PARENT
2635
	return label
2636
end
2637
2638
function NoOutlines(PART)
2639
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
2640
end
2641
2642
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
2643
	local NEWWELD = IT(TYPE)
2644
	NEWWELD.Part0 = PART0
2645
	NEWWELD.Part1 = PART1
2646
	NEWWELD.C0 = C0
2647
	NEWWELD.C1 = C1
2648
	NEWWELD.Parent = PARENT
2649
	return NEWWELD
2650
end
2651
2652
local S = IT("Sound")
2653
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
2654
	local NEWSOUND = nil
2655
	coroutine.resume(coroutine.create(function()
2656
		NEWSOUND = S:Clone()
2657
		NEWSOUND.Parent = PARENT
2658
		NEWSOUND.Volume = VOLUME
2659
		NEWSOUND.Pitch = PITCH
2660
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
2661
		NEWSOUND:play()
2662
		if DOESLOOP == true then
2663
			NEWSOUND.Looped = true
2664
		else
2665
			repeat wait(1) until NEWSOUND.Playing == false
2666
			NEWSOUND:remove()
2667
		end
2668
	end))
2669
	return NEWSOUND
2670
end
2671
2672
function CFrameFromTopBack(at, top, back)
2673
	local right = top:Cross(back)
2674
	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)
2675
end
2676
2677
--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})
2678
function WACKYEFFECT(Table)
2679
	local TYPE = (Table.EffectType or "Sphere")
2680
	local SIZE = (Table.Size or VT(1,1,1))
2681
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
2682
	local TRANSPARENCY = (Table.Transparency or 0)
2683
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
2684
	local CFRAME = (Table.CFrame or Torso.CFrame)
2685
	local MOVEDIRECTION = (Table.MoveToPos or nil)
2686
	local ROTATION1 = (Table.RotationX or 0)
2687
	local ROTATION2 = (Table.RotationY or 0)
2688
	local ROTATION3 = (Table.RotationZ or 0)
2689
	local MATERIAL = (Table.Material or "Neon")
2690
	local COLOR = (Table.Color or C3(1,1,1))
2691
	local TIME = (Table.Time or 45)
2692
	local SOUNDID = (Table.SoundID or nil)
2693
	local SOUNDPITCH = (Table.SoundPitch or nil)
2694
	local SOUNDVOLUME = (Table.SoundVolume or nil)
2695
	coroutine.resume(coroutine.create(function()
2696
		local PLAYSSOUND = false
2697
		local SOUND = nil
2698
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
2699
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
2700
			PLAYSSOUND = true
2701
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
2702
		end
2703
		EFFECT.Color = COLOR
2704
		local MSH = nil
2705
		if TYPE == "Sphere" then
2706
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
2707
		elseif TYPE == "Block" then
2708
			MSH = IT("BlockMesh",EFFECT)
2709
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
2710
		elseif TYPE == "Wave" then
2711
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
2712
		elseif TYPE == "Ring" then
2713
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
2714
		elseif TYPE == "Slash" then
2715
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
2716
		elseif TYPE == "Round Slash" then
2717
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
2718
		elseif TYPE == "Swirl" then
2719
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
2720
		elseif TYPE == "Skull" then
2721
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
2722
		elseif TYPE == "Crystal" then
2723
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
2724
		end
2725
		if MSH ~= nil then
2726
			local MOVESPEED = nil
2727
			if MOVEDIRECTION ~= nil then
2728
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
2729
			end
2730
			local GROWTH = SIZE - ENDSIZE
2731
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
2732
			if TYPE == "Block" then
2733
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
2734
			else
2735
				EFFECT.CFrame = CFRAME
2736
			end
2737
			for LOOP = 1, TIME+1 do
2738
				Swait()
2739
				MSH.Scale = MSH.Scale - GROWTH/TIME
2740
				if TYPE == "Wave" then
2741
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
2742
				end
2743
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
2744
				if TYPE == "Block" then
2745
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
2746
				else
2747
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
2748
				end
2749
				if MOVEDIRECTION ~= nil then
2750
					local ORI = EFFECT.Orientation
2751
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
2752
					EFFECT.Orientation = ORI
2753
				end
2754
			end
2755
			if PLAYSSOUND == false then
2756
				EFFECT:remove()
2757
			else
2758
				SOUND.Stopped:Connect(function()
2759
					EFFECT:remove()
2760
				end)
2761
			end
2762
		else
2763
			if PLAYSSOUND == false then
2764
				EFFECT:remove()
2765
			else
2766
				repeat Swait() until SOUND.Playing == false
2767
				EFFECT:remove()
2768
			end
2769
		end
2770
	end))
2771
end
2772
2773
function MakeForm(PART,TYPE)
2774
	if TYPE == "Cyl" then
2775
		local MSH = IT("CylinderMesh",PART)
2776
	elseif TYPE == "Ball" then
2777
		local MSH = IT("SpecialMesh",PART)
2778
		MSH.MeshType = "Sphere"
2779
	elseif TYPE == "Wedge" then
2780
		local MSH = IT("SpecialMesh",PART)
2781
		MSH.MeshType = "Wedge"
2782
	end
2783
end
2784
2785
Debris = game:GetService("Debris")
2786
2787
function CastProperRay(StartPos, EndPos, Distance, Ignore)
2788
	local DIRECTION = CF(StartPos,EndPos).lookVector
2789
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
2790
end
2791
2792
function turnto(position)
2793
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
2794
end
2795
2796
function SpawnTrail(FROM,TO,BIG)
2797
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Trail", VT(0,0,0))
2798
	MakeForm(TRAIL,"Cyl")
2799
	local DIST = (FROM - TO).Magnitude
2800
	if BIG == true then
2801
		TRAIL.Size = VT(0.5,DIST,0.5)
2802
	else
2803
		TRAIL.Size = VT(0.25,DIST,0.25)
2804
	end
2805
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
2806
	coroutine.resume(coroutine.create(function()
2807
		for i = 1, 5 do
2808
			Swait()
2809
			TRAIL.Transparency = TRAIL.Transparency + 0.1
2810
		end
2811
		TRAIL:remove()
2812
	end))
2813
end
2814
2815
local asd = Instance.new("ParticleEmitter")
2816
asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
2817
asd.LightEmission = .1
2818
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
2819
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
2820
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
2821
asd.Transparency = bbb
2822
asd.Size = aaa
2823
asd.ZOffset = .9
2824
asd.Acceleration = Vector3.new(0, -15, 0)
2825
asd.LockedToPart = false
2826
asd.EmissionDirection = "Back"
2827
asd.Lifetime = NumberRange.new(1, 2)
2828
asd.Rotation = NumberRange.new(-100, 100)
2829
asd.RotSpeed = NumberRange.new(-100, 100)
2830
asd.Speed = NumberRange.new(10)
2831
asd.Enabled = false
2832
asd.VelocitySpread = 999
2833
2834
function getbloody(victim,amount)
2835
	local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
2836
	PART.CFrame = victim.CFrame
2837
	local HITPLAYERSOUNDS = {"356551938","264486467"}
2838
	Debris:AddItem(PART,5)
2839
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
2840
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
2841
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
2842
	local prtcl = asd:Clone()
2843
	prtcl.Parent = PART
2844
	prtcl:Emit(amount*10)
2845
end
2846
2847
local Particle = IT("ParticleEmitter",nil)
2848
Particle.Enabled = false
2849
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
2850
Particle.LightEmission = 0.5
2851
Particle.Rate = 150
2852
Particle.ZOffset = 1
2853
Particle.Rotation = NumberRange.new(-180, 180)
2854
Particle.RotSpeed = NumberRange.new(-180, 180)
2855
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
2856
Particle.Color = ColorSequence.new(C3(58,125,21),C3(0.4,0,0))
2857
2858
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
2859
function ParticleEmitter(Table)
2860
	local PRTCL = Particle:Clone()
2861
	local Speed = Table.Speed or 5
2862
	local Drag = Table.Drag or 0
2863
	local Size1 = Table.Size1 or 1
2864
	local Size2 = Table.Size2 or 5
2865
	local Lifetime1 = Table.Lifetime1 or 1
2866
	local Lifetime2 = Table.Lifetime2 or 1.5
2867
	local Parent = Table.Parent or Torso
2868
	local Emit = Table.Emit or 100
2869
	local Offset = Table.Offset or 360
2870
	local Acel = Table.Acel or VT(0,0,0)
2871
	local Enabled = Table.Enabled or false
2872
	PRTCL.Parent = Parent
2873
	PRTCL.Size = NumberSequence.new(Size1,Size2)
2874
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
2875
	PRTCL.Speed = NumberRange.new(Speed)
2876
	PRTCL.VelocitySpread = Offset
2877
	PRTCL.Drag = Drag
2878
	PRTCL.Acceleration = Acel
2879
	if Enabled == false then
2880
		PRTCL:Emit(Emit)
2881
		Debris:AddItem(PRTCL,Lifetime2)
2882
	else
2883
		PRTCL.Enabled = true
2884
	end
2885
	return PRTCL
2886
end
2887
2888
if Character:FindFirstChildOfClass("Accessory") then
2889
	Character:FindFirstChildOfClass("Accessory"):remove()
2890
elseif Character:FindFirstChildOfClass("Hat") then
2891
	Character:FindFirstChildOfClass("Hat"):remove()
2892
end
2893
if Head:FindFirstChild("face") then
2894
	Head.face.Texture = "rbxassetid://"
2895
end
2896
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "White", "Hood", VT(1,1,1),false)
2897
PRT.Color = C3(0,0,0)
2898
local HoodWeld = CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.2,0), CF(0, 0, 0))
2899
CreateMesh("SpecialMesh", PRT, "FileMesh", "76062497", "", VT(1,1,1)*1.05, VT(0,0,0))
2900
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Scarf", VT(1,1,1),false)
2901
PRT.Color = C3(0,0,0)
2902
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, PRT, CF(0.05,0.4,-0.1) * ANGLES(RAD(-3), RAD(0), RAD(0)), CF(0, 0, 0))
2903
CreateMesh("SpecialMesh", PRT, "FileMesh", "99856331", "", VT(1.1,1,1.1), VT(0,0,0))
2904
2905
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really white", "Eye", VT(0.6,0.1,1)/2,false)
2906
MakeForm(Eye,"Ball")
2907
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
2908
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.6,0.1,1)/2,false)
2909
MakeForm(Eye,"Ball")
2910
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
2911
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really white", "Eye", VT(0.1,1,1)/2,false)
2912
MakeForm(Eye,"Ball")
2913
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
2914
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.1,1,1)/2,false)
2915
MakeForm(Eye,"Ball")
2916
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
2917
2918
local Hair = CreatePart(3, Character, "Fabric", 0, 0, "White", "Hair", VT(1,1,1),false)
2919
local HairWeld1 = CreateWeldOrSnapOrMotor("Weld", Hair, Head, Hair, CF(0,0.1,-0.25) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
2920
CreateMesh("SpecialMesh", Hair, "FileMesh", "873651376", "", VT(0.025, 0.025, 0.02), VT(0,0,0))
2921
local Hair = CreatePart(3, Character, "Fabric", 0, 0, "White", "Hair", VT(1,1,1),false)
2922
local HairWeld2 = CreateWeldOrSnapOrMotor("Weld", Hair, Head, Hair, CF(0,0.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
2923
CreateMesh("SpecialMesh", Hair, "FileMesh", "873651376", "", VT(0.03, 0.015, 0.01), VT(0,0,-0.1))
2924
2925
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 0.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = RightLeg, Emit = 100, Offset = 360, Enabled = true})
2926
PRT.LockedToPart = true
2927
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 0.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = LeftLeg, Emit = 100, Offset = 360, Enabled = true})
2928
PRT.LockedToPart = true
2929
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 0.1, Size2 = 0.3, Lifetime1 = 0.3, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = true})
2930
PRT.LockedToPart = true
2931
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 0.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = RightArm, Emit = 100, Offset = 360, Enabled = true})
2932
PRT.LockedToPart = true
2933
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 0.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = LeftArm, Emit = 100, Offset = 360, Enabled = true})
2934
PRT.LockedToPart = true
2935
2936
function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping,DoesWarp,Instakill,HasChain)
2937
	local dmg = math.random(min,max)
2938
	for i,v in ipairs(workspace:GetChildren()) do
2939
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
2940
		local body = v:GetChildren()
2941
			for part = 1, #body do
2942
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
2943
					if(body[part].Position - position).Magnitude < radius then
2944
						if v.ClassName == "Model" then
2945
							if v:FindFirstChildOfClass("Humanoid") then
2946
								local HUMAN = v:FindFirstChildOfClass("Humanoid")
2947
								if HUMAN.Health ~= 0 then
2948
									if HasChain == true then
2949
										local defence = Instance.new("BoolValue",v)
2950
										defence.Name = ("HitBy"..Player.Name)
2951
										game:GetService("Debris"):AddItem(defence, 1)
2952
											coroutine.resume(coroutine.create(function()
2953
												local TORSO = v:FindFirstChild("Torso") or v:FindFirstChild("UpperTorso")
2954
												if TORSO then
2955
													--print("Found "..v.Name.."'s Torso")
2956
													local PART = IT("Part",Effects)
2957
													PART.Anchored = true
2958
													PART.CanCollide = false
2959
													PART.Transparency = 1
2960
													PART.CFrame = CF(position)
2961
													Debris:AddItem(PART,15)
2962
													local A = IT("Attachment",PART)
2963
													--TORSO.Anchored = true
2964
													local Front = CreatePart(3, Effects, "Neon", 1, 1, "Really black", "Chain head", VT(1,1,1),false)
2965
													--print("Chain start")
2966
													Front.CFrame = CF(position)
2967
													Front.CanCollide = true
2968
													CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], Front, 10, 1)
2969
													local B = IT("Attachment",Front)
2970
													local ChainLink = IT("Beam",Effects)
2971
													ChainLink.Texture = "rbxassetid://1262544869"
2972
													ChainLink.TextureSpeed = 0
2973
													ChainLink.FaceCamera = true
2974
													ChainLink.Width0 = 3
2975
													ChainLink.Attachment0 = A
2976
													ChainLink.Attachment1 = B
2977
													ChainLink.TextureMode = "Static"
2978
													local bv = Instance.new("BodyVelocity") 
2979
													bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2980
													bv.velocity = CF(Front.Position,TORSO.Position).lookVector*500
2981
													bv.Parent = Front
2982
													bv.Name = "MOVE"
2983
													--print("Chain made")
2984
													coroutine.resume(coroutine.create(function()
2985
														Swait(30)
2986
														bv:remove()
2987
														local POS = Front.Position
2988
														Front.CanCollide = false
2989
														local onefourth = POS:Lerp(position, 0.25) + Vector3.new(0,0,0)
2990
														local threefourths = POS:Lerp(position, 0.75) + Vector3.new(0,0,0)
2991
												  		for i = 0, 1, 0.07 do
2992
												    	  	Swait()
2993
												    	  	Front.CFrame = CFrame.new(newBezier(POS, onefourth, threefourths, position, i))
2994
												    	end
2995
														Front:remove()
2996
														ChainLink:remove()
2997
													end))
2998
													local harm = Front.Touched:Connect(function(hit)
2999
														impale(Front,hit)
3000
													end)
3001
												end
3002
											end))
3003
									elseif DoesWarp == true then
3004
										local defence = Instance.new("BoolValue",v)
3005
										defence.Name = ("HitBy"..Player.Name)
3006
										game:GetService("Debris"):AddItem(defence, 0.001)
3007
										local TORSO = v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso") or v:FindFirstChild("UpperTorso")
3008
										Warp(TORSO,Instakill)
3009
									else
3010
										if CanBeDodgedByJumping == true then
3011
											if body[part].Position.Y < position.Y+5 then
3012
												if math.random(1,100) < critrate+1 then
3013
													HUMAN.Health = HUMAN.Health - dmg*critmultiplier
3014
													StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
3015
												else
3016
													HUMAN.Health = HUMAN.Health - dmg
3017
													StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
3018
												end
3019
												local defence = Instance.new("BoolValue",v)
3020
												defence.Name = ("HitBy"..Player.Name)
3021
												game:GetService("Debris"):AddItem(defence, 0.01)
3022
											end
3023
										else
3024
											if beserk == true then
3025
												HUMAN.Health = 0
3026
											end
3027
											if math.random(1,100) < critrate+1 then
3028
												HUMAN.Health = HUMAN.Health - dmg*critmultiplier
3029
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
3030
											else
3031
												HUMAN.Health = HUMAN.Health - dmg
3032
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
3033
											end
3034
											local defence = Instance.new("BoolValue",v)
3035
											defence.Name = ("HitBy"..Player.Name)
3036
											game:GetService("Debris"):AddItem(defence, 0.01)
3037
										end
3038
									end
3039
								end
3040
							end
3041
						end
3042
						--body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
3043
					end
3044
				end
3045
			end
3046
			if v.ClassName == "Part" then
3047
				if v.Anchored == false and (v.Position - position).Magnitude < radius then
3048
					v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
3049
				end
3050
			end
3051
		end
3052
	end
3053
end
3054
function CreateGUICircle(TARGET)
3055
	local GUI = Instance.new("BillboardGui",Character)
3056
	GUI.Size = UDim2.new(0,0,0,0)
3057
	GUI.Adornee = TARGET
3058
	local GUI2 = IT("ImageLabel",GUI)
3059
	GUI2.BackgroundTransparency = 1
3060
	GUI2.BorderSizePixel = 0
3061
	GUI2.Size = UDim2.new(1,0,1,0)
3062
	GUI2.SizeConstraint = "RelativeYY"
3063
	GUI.AlwaysOnTop = true
3064
	GUI2.Image = "http://www.roblox.com/asset/?id=1260793696"
3065
	return GUI,GUI2
3066
end
3067
function CastWarpOutlines(TARGET)
3068
	coroutine.resume(coroutine.create(function()
3069
		local T = TARGET:GetChildren()
3070
		for i = 1, # T do
3071
			local child = T[i]
3072
			if child.ClassName == "Part" or child.ClassName == "MeshPart" then
3073
				local clone = child:Clone()
3074
				clone.Parent = Effects
3075
				clone.Anchored = true
3076
				clone.CanCollide = false
3077
				clone:ClearAllChildren()
3078
				clone.CFrame = child.CFrame
3079
				if clone.Name == "Head" then
3080
					clone.Size = VT(clone.Size.Y,clone.Size.Y,clone.Size.Y)
3081
				end
3082
				if clone.ClassName == "MeshPart" then
3083
					clone.TextureID = ""
3084
				end
3085
				clone.BrickColor = BRICKC"Black"
3086
				clone.Material = "Neon"
3087
				coroutine.resume(coroutine.create(function()
3088
					for i = 1, 200 do
3089
						Swait()
3090
						clone.Transparency = clone.Transparency + 0.005
3091
						clone.Size = clone.Size + VT(0.001,0.001,0.001)
3092
					end
3093
					clone:remove()
3094
				end))
3095
			end
3096
		end
3097
	end))
3098
end
3099
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
3100
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
3101
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
3102
	local BODYGYRO = IT("BodyGyro", STATPART)
3103
	local BODYPOSITION = IT("BodyPosition", STATPART)
3104
	BODYPOSITION.P = 2000
3105
	BODYPOSITION.D = 100
3106
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
3107
	BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
3108
	game:GetService("Debris"):AddItem(STATPART ,5)
3109
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
3110
	BILLBOARDGUI.Adornee = STATPART
3111
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
3112
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
3113
	BILLBOARDGUI.AlwaysOnTop = false
3114
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
3115
	TEXTLABEL.BackgroundTransparency = 1
3116
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
3117
	TEXTLABEL.Text = TEXT
3118
	TEXTLABEL.Font = "SciFi"
3119
	TEXTLABEL.FontSize="Size42"
3120
	TEXTLABEL.TextColor3 = COLOR
3121
	TEXTLABEL.TextStrokeTransparency = 1
3122
	TEXTLABEL.TextScaled = true
3123
	TEXTLABEL.TextWrapped = true
3124
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
3125
		if LABELTYPE == "Normal" then
3126
			for i = 1, 20 do
3127
				STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
3128
				TEXTLABEL.Transparency = TEXTLABEL.Transparency + (1/20)
3129
			end
3130
		elseif LABELTYPE == "Debuff" then
3131
			for i = 1, 20 do
3132
				STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
3133
				TEXTLABEL.Transparency = TEXTLABEL.Transparency + (1/20)
3134
			end
3135
		elseif LABELTYPE == "Shock" then
3136
			local ORIGIN = STATPART.Position
3137
			for i = 1, 20 do
3138
				STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
3139
				TEXTLABEL.Transparency = TEXTLABEL.Transparency + (1/20)
3140
			end
3141
		end
3142
		THEPART.Parent = nil
3143
	end),STATPART, BODYPOSITION, TEXTLABEL)
3144
end
3145
local PupilWeld = CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0.13,0.24,-0.58) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
3146
MakeForm(Eye,"Ball")
3147
--//=================================\\
3148
--||	ATTACK FUNCTIONS AND STUFF
3149
--\\=================================//
3150
function Dark_Energy()
3151
    ATTACK = true
3152
    Rooted = true
3153
    Charge(2,false)
3154
    local SND = CreateSound(EXPLOSIONSOUND,RootPart,10,1,false)
3155
    local SND2 = CreateSound(ENERGYSOUND,RootPart,10,1,false)
3156
    for i = 1, 60 do
3157
        Swait()
3158
        ApplyAoE(RootPart.Position,i*1.3,10,20,-200,true)
3159
        SND.Pitch = SND.Pitch - 1/60
3160
        SND2.Pitch = SND.Pitch
3161
        WACKYEFFECT({TIME = 4, EffectType = "Wave", Size = VT(i*2,10,i*2), Size2 = VT(i*2,10,i*2), Transparency = 0.9, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3162
        WACKYEFFECT({TIME = math.ceil(15-(i/10)), EffectType = "Wave", Size = VT(0,10,0), Size2 = VT(i*2,6,i*2), Transparency = 0.8, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3163
        WACKYEFFECT({TIME = math.ceil(15-(i/10)), EffectType = "Wave", Size = VT(0,6,0), Size2 = VT(i*1.6,10,i*1.6), Transparency = 0.8, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(MRANDOM(-5,5)), RAD(i*5), RAD(MRANDOM(-5,5))), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3164
        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)
3165
        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)
3166
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(-45), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3167
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(45), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3168
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
3169
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
3170
    end
3171
    SND:remove()
3172
    SND2:remove()
3173
    ATTACK = false
3174
    Rooted = false
3175
end
3176
function Perfect_Command()
3177
ATTACK = true
3178
Rooted = true
3179
        chatfunc("This is my TRUE power..")
3180
        CreateRing2(VT(0,0,0),false,0,45,RootPart.CFrame*ANGLES(RAD(90),RAD(0),RAD(0)),"Really black",VT(100,100,100))
3181
	    CreateSound("1368605755", Effects, 10, 1)
3182
	    MagicSphere3(VT(0,0,0),45,Torso.CFrame,"Maroon",VT(500,500,500))
3183
		ApplyAoE(Torso.Position, 9999, 0, 0, 0, true)
3184
ATTACK = false
3185
Rooted = false
3186
end
3187
function Warp()
3188
	ATTACK = false
3189
	Rooted = true
3190
	
3191
	Debree(CF(RootPart.Position)*CF(0,-2.8,0).p,75)
3192
	UNANCHOR = false
3193
	
3194
	RootPart.Anchored = true
3195
	for i=0, 2, 0.1 / Animation_Speed do
3196
		Swait()
3197
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -10 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3198
		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.5 / Animation_Speed)
3199
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
3200
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
3201
		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.5 / Animation_Speed)
3202
		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.5 / Animation_Speed)
3203
	end
3204
3205
	local POS = RootPart.Position
3206
	RootPart.CFrame = CF(CF(Mouse.Hit.p)*CF(0,2.8,0).p,POS)
3207
	Debree(CF(RootPart.Position)*CF(0,-2.5,0).p,150)
3208
	for i=0, 2, 0.1 / Animation_Speed do
3209
		Swait()
3210
		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)
3211
		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.5 / Animation_Speed)
3212
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
3213
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
3214
		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.5 / Animation_Speed)
3215
		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.5 / Animation_Speed)
3216
	end
3217
UNANCHOR = true
3218
	ATTACK = false
3219
	Rooted = false
3220
end
3221
3222
function Sheer_Cold()
3223
	local HITFLOOR, HITPOS, NORMAL = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 7 * Player_Size, Character)
3224
	if HITFLOOR ~= nil then
3225
		local HITBODIES = {}
3226
		ATTACK = true
3227
		Rooted = true
3228
		CreateSound("1225684085", RightArm, 10, 3)
3229
		for i = 1, 120 do
3230
			Swait()
3231
			Slice("Round", 0, 45, CF(RightArm.CFrame * CF(0, MRANDOM(-3, -2), 0).p) * ANGLES(RAD(0), RAD(MRANDOM(-180, 180)), RAD(0)), "Pearl", VT(0.01, 0, 0.01) * MRANDOM(2, 3))
3232
			MagicSphere(VT(0, 0, 0), 15, CF(RightArm.CFrame * CF(0, -1.2, 0).p, RightArm.CFrame * CF(MRANDOM(-5, 5), -1.2 + MRANDOM(-25, 25), MRANDOM(-5, 5)).p), C3(0.5, 0.5, 1), VT(1, 0.1, 0.1))
3233
			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)
3234
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3235
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3236
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3237
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3238
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3239
		end
3240
		CreateSound("160772554", RightArm, 10, 0.7)
3241
		for i = 1, 25 do
3242
			Swait()
3243
			freezenearest(RootPart.Position, 80)
3244
			Slice("Round", 0, 45, CF(RootPart.Position + VT(0, MRANDOM(-5, 15), 0)) * ANGLES(RAD(MRANDOM(-18, 18)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-18, 18))), "Pearl", VT(0.1, 0, 0.1) * MRANDOM(2, 3))
3245
			Slice("Thin", 0, 65, CF(RootPart.Position + VT(0, MRANDOM(-5, 15), 0)) * ANGLES(RAD(MRANDOM(-18, 18)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-18, 18))), "Pearl", VT(0.1, 0, 0.1) * MRANDOM(2, 3))
3246
			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)
3247
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
3248
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3249
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
3250
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3251
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
3252
		end
3253
		ATTACK = false
3254
		Rooted = false
3255
	end
3256
end
3257
function Holy_Smite()
3258
	local RING, MESH, DELET = MakeRing()
3259
	local POS = Mouse.Hit.p
3260
	RING.CFrame = CF(Mouse.Hit.p + VT(MRANDOM(-25, 25), 200, MRANDOM(-25, 25)), Mouse.Hit.p) * ANGLES(RAD(90), RAD(0), RAD(0))
3261
	for i = 1, 45 do
3262
		Swait()
3263
		MESH.Scale = MESH.Scale + VT(12, 0, 12)
3264
		RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
3265
	end
3266
	local HITFLOOR, HITPOS = Raycast(RING.Position, CF(RING.Position, RING.CFrame * CF(0, -1, 0).p).lookVector, 500, Character)
3267
	if HITFLOOR then
3268
		local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Really red"), "Beam", VT(0, 0, 0), true)
3269
		MakeForm(BEAM, "Cyl")
3270
		local DIST = (RING.Position - HITPOS).Magnitude
3271
		BEAM.Size = VT(0, DIST, 0)
3272
		BEAM.CFrame = CF(RING.Position, HITPOS) * CF(0, 0, -DIST / 2) * ANGLES(RAD(90), RAD(0), RAD(0))
3273
		for i = 1, 5 do
3274
			WACKYEFFECT({
3275
				EffectType = "Wave",
3276
				Size = VT(25, 0, 25),
3277
				Size2 = VT(40, 0, 40) + VT(i * 6, i / 5, i * 6),
3278
				Transparency = 0,
3279
				Transparency2 = 1,
3280
				CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
3281
				MoveToPos = nil,
3282
				RotationX = 0,
3283
				RotationY = 3,
3284
				RotationZ = 0,
3285
				Material = "Neon",
3286
				Color = C3(1, 1, 1),
3287
				SoundID = nil,
3288
				SoundPitch = nil,
3289
				SoundVolume = nil
3290
			})
3291
			WACKYEFFECT({
3292
				EffectType = "Round Slash",
3293
				Size = VT(3, 0, 3) / 13,
3294
				Size2 = (VT(3, 0, 3) + VT(i, 0, i)) / 5,
3295
				Transparency = 0,
3296
				Transparency2 = 1,
3297
				CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
3298
				MoveToPos = nil,
3299
				RotationX = 0,
3300
				RotationY = 0,
3301
				RotationZ = 0,
3302
				Material = "Neon",
3303
				Color = C3(1, 1, 1),
3304
				SoundID = nil,
3305
				SoundPitch = nil,
3306
				SoundVolume = nil
3307
			})
3308
			WACKYEFFECT({
3309
				Time = 35,
3310
				EffectType = "Sphere",
3311
				Size = VT(22, 22, 22),
3312
				Size2 = VT(45, 45, 45) + VT(i * 5, i * 5, i * 5),
3313
				Transparency = 0,
3314
				Transparency2 = 1,
3315
				CFrame = CF(HITPOS),
3316
				MoveToPos = nil,
3317
				RotationX = 0,
3318
				RotationY = 0,
3319
				RotationZ = 0,
3320
				Material = "Neon",
3321
				Color = C3(1, 1, 1),
3322
				SoundID = 459523898,
3323
				SoundPitch = MRANDOM(9, 12) / 10,
3324
				SoundVolume = 10
3325
			})
3326
		end
3327
		SHAKECAM(HITPOS, 100, 8, 15)
3328
		ApplyAoE(HITPOS, 50)
3329
		for i = 1, 25 do
3330
			Swait()
3331
			BEAM.Size = BEAM.Size + VT(0.5, 0, 0.5)
3332
			BEAM.Transparency = BEAM.Transparency + 0.04
3333
		end
3334
		BEAM:remove()
3335
	end
3336
	wait(0.2)
3337
	DELET()
3338
end
3339
function LaughV2()
3340
            chatfunc("YOUR ATTACK IS AN INSULT", BrickColor.new("Really black").Color)
3341
            CreateSound("907332525", hed, 10, 1)
3342
end
3343
function AttackTemplate()
3344
	ATTACK = true
3345
	Rooted = false
3346
	for i=0, 1, 0.1 / Animation_Speed do
3347
		Swait()
3348
		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)
3349
		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)
3350
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3351
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3352
		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)
3353
		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)
3354
	end
3355
	ATTACK = false
3356
	Rooted = false
3357
end
3358
function Equivalent_Pain()
3359
    local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
3360
        if HITFLOOR then
3361
        ATTACK = true
3362
        Rooted = true
3363
        FULL = true
3364
        local GYRO = IT("BodyGyro",RootPart)
3365
        GYRO.D = 25
3366
        GYRO.P = 20000
3367
        GYRO.MaxTorque = VT(0,math.huge,0)
3368
        for i=0, 0.3, 0.1 / Animation_Speed do
3369
            GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
3370
            Swait()
3371
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(-15)), 1 / Animation_Speed)
3372
            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)
3373
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3374
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-25), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3375
            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(-35)), 1 / Animation_Speed)
3376
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(5)), 1 / Animation_Speed)
3377
        end
3378
        GYRO:remove()
3379
        CreateSound(12222200, RightArm, 10, 1)
3380
        for i=0, 0.4, 0.1 / Animation_Speed do
3381
            Swait()
3382
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
3383
            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)
3384
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
3385
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
3386
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
3387
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
3388
        end
3389
        CreateSound(289842971, RightArm, 10, 1)
3390
        coroutine.resume(coroutine.create(function()
3391
            local HIT,POS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(Mouse.Hit.p+VT(0,1,0), Mouse.Hit.p-VT(0,1,0))).lookVector, 45, Character)
3392
            local ECHO = POS
3393
            if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
3394
                HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
3395
                ECHO = POS
3396
            elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
3397
                HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
3398
                ECHO = POS
3399
            end
3400
            if ECHO.Y == HITPOS.Y then
3401
                local DISTANCE = (HITPOS - ECHO).Magnitude/3
3402
                local CFRAME = CF(HITPOS,ECHO)
3403
                local RANGE = math.ceil(DISTANCE)
3404
                for i = 1, RANGE-1 do
3405
                    Swait(3)
3406
                    local A = CFRAME*CF(0,0,-i*3)
3407
                    ApplyAoE(A.p,4)
3408
                    CreateFlyingDebree(HITFLOOR,A,2,VT(2,2,2),2,65)
3409
                end
3410
                local SIZE = 3
3411
                local POS = CFRAME*CF(0,0,-RANGE*3).p
3412
                WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(55,0,55)*SIZE, Size2 = VT(55,15,55)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 0.8, SoundVolume = 10})
3413
                WACKYEFFECT({EffectType = "Sphere", Size = VT(10,250,10)*SIZE, Size2 = VT(20,1000,20)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
3414
                WACKYEFFECT({EffectType = "Sphere", Size = VT(30,150,30)*SIZE, Size2 = VT(50,300,50)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
3415
                for i = 1, 9 do
3416
                    WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
3417
                end
3418
                for i = 1, 9 do
3419
                    WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
3420
                end
3421
                ApplyAoE(POS,30*SIZE)
3422
                CreateDebreeRing(HITFLOOR,POS,30*SIZE,VT(8,8,8)*SIZE,5)
3423
                CreateDebreeRing(HITFLOOR,POS,50*SIZE,VT(2,2,2)*SIZE,5)
3424
            end
3425
        end))
3426
        for i=0, 0.6, 0.1 / Animation_Speed do
3427
            Swait()
3428
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
3429
            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)
3430
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
3431
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
3432
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
3433
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
3434
        end
3435
        FULL = false
3436
        ATTACK = false
3437
        Rooted = false
3438
    end
3439
end
3440
function Debree(POS,SWAIT)
3441
	coroutine.resume(coroutine.create(function()
3442
		local HOLDER = IT("Model",Effects)
3443
		HOLDER.Name = "Debree"
3444
		local HITFLOOR = Raycast(POS, (CF(POS, POS + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
3445
		MagicSphere(VT(15,1,15),SWAIT,CF(POS),"Reddish brown",VT(0,0,0))
3446
		MagicSphere(VT(13,1,13),SWAIT,CF(POS),"Reddish brown",VT(0,0,0))
3447
		MagicSphere(VT(12,1,12),SWAIT,CF(POS),"Reddish brown",VT(0,0,0))
3448
		repeat Swait() until HITFLOOR ~= nil
3449
		local O = 0
3450
		for i = 1, 18 do
3451
			local Part = CreatePart(3, HOLDER, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "Debree", VT(3,3,3))
3452
			Part.CFrame = CF(CF(POS) * CF((45/4.5)-i,0,O).p) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
3453
			O = O - (45/4)/5+i/4
3454
			coroutine.resume(coroutine.create(function()
3455
				Swait(SWAIT)
3456
				for i = 1, 60 do
3457
					Swait()
3458
					local RayHit, Way = CastProperRay(Part.Position,POS,0.1,workspace)
3459
					Part.CFrame = CF(Way) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
3460
				end
3461
				for i = 1, 50 do
3462
					Swait()
3463
					Part.Size = Part.Size * 0.9
3464
				end
3465
			end))
3466
		end
3467
		local O = 0
3468
		for i = 1, 18 do
3469
			local Part = CreatePart(3, HOLDER, HITFLOOR.Material, 0, 0, HITFLOOR.BrickColor, "Debree", VT(3,3,3))
3470
			Part.CFrame = CF(CF(POS) * CF((45/4.5)-i,0,O).p) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
3471
			O = O + (45/4)/5-i/4
3472
			coroutine.resume(coroutine.create(function()
3473
				Swait(SWAIT)
3474
				for i = 1, 60 do
3475
					Swait()
3476
					local RayHit, Way = CastProperRay(Part.Position,POS,0.1,workspace)
3477
					Part.CFrame = CF(Way) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
3478
				end
3479
				for i = 1, 50 do
3480
					Swait()
3481
					Part.Size = Part.Size * 0.9
3482
				end
3483
			end))
3484
		end
3485
		Swait(SWAIT+110)
3486
		HOLDER:remove()
3487
	end))
3488
end
3489
3490
3491
function Prison_Key()
3492
	function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
3493
	PLAYMAINANIM = false
3494
	if WhichPose == "Cast1" then
3495
		for i=0, Time, 0.1 / Animation_Speed do
3496
			Swait()
3497
			if Magic == true then
3498
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3499
			end
3500
			if Gyro ~= nil and Gyro ~= false then
3501
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
3502
			end
3503
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
3504
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
3505
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
3506
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
3507
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
3508
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
3509
		end
3510
	elseif WhichPose == "Cast2" then
3511
		for i=0, Time, 0.1 / Animation_Speed do
3512
			Swait()
3513
			if Magic == true then
3514
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3515
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3516
			end
3517
			if Gyro ~= nil and Gyro ~= false then
3518
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
3519
			end
3520
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
3521
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
3522
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
3523
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
3524
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
3525
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
3526
		end
3527
	elseif WhichPose == "RightArmUp" then
3528
		for i=0, Time, 0.1 / Animation_Speed do
3529
			Swait()
3530
			if Magic == true then
3531
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3532
			end
3533
			if Gyro ~= nil and Gyro ~= false then
3534
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
3535
			end
3536
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
3537
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
3538
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
3539
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
3540
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
3541
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
3542
		end
3543
	elseif WhichPose == "Taunt" then
3544
		for i=0, Time, 0.1 / Animation_Speed do
3545
			Swait()
3546
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
3547
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
3548
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
3549
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
3550
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
3551
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
3552
		end
3553
		HATWELD.Part0 = RightArm
3554
		HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
3555
		CreateSound(221057812,Torso,10,1,false)
3556
		for i=0, Time*2, 0.1 / Animation_Speed do
3557
			Swait()
3558
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
3559
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
3560
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
3561
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
3562
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
3563
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
3564
		end
3565
		for i=0, Time, 0.1 / Animation_Speed do
3566
			Swait()
3567
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
3568
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
3569
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
3570
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
3571
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
3572
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
3573
			HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
3574
		end
3575
		HATWELD.Part0 = Head
3576
		HATWELD.C0 = CF(0,0.35,0)
3577
	elseif WhichPose == "Prepare key" then
3578
		for i=0, Time, 0.1 / Animation_Speed do
3579
			Swait()
3580
			if Gyro ~= nil and Gyro ~= false then
3581
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
3582
			end
3583
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
3584
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
3585
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
3586
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
3587
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
3588
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
3589
		end
3590
	elseif WhichPose == "Turn key" then
3591
		for i=0, Time, 0.1 / Animation_Speed do
3592
			Swait()
3593
			if Gyro ~= nil and Gyro ~= false then
3594
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
3595
			end
3596
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
3597
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
3598
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
3599
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
3600
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
3601
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
3602
		end
3603
	end
3604
	PLAYMAINANIM = true
3605
	end
3606
	if Mouse.Target ~= nil then
3607
		if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
3608
			local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
3609
			local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
3610
			local GYRO = IT("BodyGyro",RootPart)
3611
			GYRO.D = 750
3612
			GYRO.P = 20000
3613
			GYRO.MaxTorque = VT(0,40000000,0)
3614
			local grav = Instance.new("BodyPosition",TORSO)
3615
			grav.D = 15
3616
			grav.P = 20000
3617
			grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
3618
			grav.position = TORSO.Position
3619
			local GYRO2 = IT("BodyGyro",TORSO)
3620
			GYRO2.D = 750
3621
			GYRO2.P = 20000
3622
			GYRO2.MaxTorque = VT(0,40000000,0)
3623
			GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
3624
			grav.Name = "Jail"
3625
			local LOCKPARTS = {}
3626
			ATTACK = true
3627
			Rooted = false
3628
			local LOCK = IT("Model",Effects)
3629
			LOCK.Name = "Lock"
3630
			local LOCK2 = IT("Model",LOCK)
3631
			LOCK2.Name = "Metal"
3632
			--CREATE LOCK--
3633
				local BASE = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 2.5, 1))
3634
				LOCK.PrimaryPart = BASE
3635
				BASE.CFrame = CF(TORSO.Position,RootPart.Position)*CF(0,0,-4)
3636
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 1, 3))
3637
				PRT.CFrame = BASE.CFrame*CF(0,-1.25,0)*ANGLES(RAD(90),RAD(0),RAD(0))
3638
				MakeForm(PRT,"Cyl")
3639
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(1, 1, 1))
3640
				PRT.Color = C3(0,0,0)
3641
				PRT.CFrame = BASE.CFrame*CF(0,0.3,-0.01)*ANGLES(RAD(90),RAD(0),RAD(0))
3642
				MakeForm(PRT,"Cyl")
3643
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(0.5, 1, 1))
3644
				PRT.Color = C3(0,0,0)
3645
				PRT.CFrame = BASE.CFrame*CF(0,-0.2,-0.01)
3646
				for i = 1, 45 do
3647
					local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
3648
					PRT.CFrame = BASE.CFrame*CF(0,2,0)*ANGLES(RAD(0),RAD(0),RAD(-90+(360/90*i)))*CF(0,1,0)
3649
				end
3650
				local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
3651
				PRT.CFrame = BASE.CFrame*CF(0,1.5,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0)
3652
				LOCK2.PrimaryPart = PRT
3653
			---------------
3654
			local CHILDREN = LOCK:GetDescendants()
3655
			for index, CHILD in pairs(CHILDREN) do
3656
				if CHILD:IsA("BasePart") then
3657
					CHILD.Transparency = 1
3658
				end
3659
			end
3660
			for i = 1, 75 do
3661
				LOCK:SetPrimaryPartCFrame(CF(TORSO.Position,RootPart.Position)*CF(0,0,-4))
3662
				Swait()
3663
				GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
3664
				GYRO.cframe = CF(RootPart.Position,TORSO.Position)
3665
				local CHILDREN = LOCK:GetDescendants()
3666
				for index, CHILD in pairs(CHILDREN) do
3667
					if CHILD:IsA("BasePart") then
3668
						CHILD.Transparency = CHILD.Transparency - 1/75
3669
					end
3670
				end
3671
			end
3672
			HUM.DisplayDistanceType = "None"
3673
			local KEY = IT("Model",Effects)
3674
			KEY.Name = "Key"
3675
			--CREATE KEY--
3676
				local KBASE = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "KeyBase", VT(0.1, 1, 0.1),false)
3677
				KEY.PrimaryPart = KBASE
3678
				KBASE.CFrame = RightArm.CFrame*CF(0,-2.1,0)*ANGLES(RAD(0),RAD(90),RAD(0))
3679
				local WLD = weldBetween(RightArm,KBASE)
3680
				for i = 1, 45 do
3681
					local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "Key", VT(0.1, 0.1, 0.1),false)
3682
					PRT.CFrame = KBASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD((360/45*i)))*CF(0,0.25,0)
3683
					weldBetween(KBASE,PRT)
3684
				end
3685
				local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "Key", VT(0.3, 0.1, 0.1),false)
3686
				PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.45,0)
3687
				weldBetween(KBASE,PRT)
3688
				local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "Key", VT(0.3, 0.1, 0.1),false)
3689
				PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.25,0)
3690
				weldBetween(KBASE,PRT)
3691
			--------------
3692
			Rooted = true
3693
			Pose("Prepare key",1.5,1.2,false,GYRO,TORSO)
3694
			coroutine.resume(coroutine.create(function()
3695
				for i = 1, 10 do
3696
					Swait()
3697
					GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
3698
					GYRO.cframe = CF(RootPart.Position,TORSO.Position)
3699
				end
3700
				CreateSound(1149318312,BASE,5,1,false)
3701
				CreateSound(160772554,BASE,3,1,false)
3702
				LOCK2:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0))
3703
				for i = 1, 4 do
3704
					WACKYEFFECT({Time = 35, EffectType = "Crystal", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(1,1.45,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
3705
				end
3706
				WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1)*25, Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
3707
				wait(1)
3708
				TORSO.Parent.Parent = LOCK
3709
				for i = 1, 75 do
3710
					Swait()
3711
					local CHILDREN = KEY:GetDescendants()
3712
					for index, CHILD in pairs(CHILDREN) do
3713
						if CHILD:IsA("BasePart") then
3714
							CHILD.Transparency = i/25
3715
						end
3716
					end
3717
					local CHILDREN = LOCK:GetDescendants()
3718
					for index, CHILD in pairs(CHILDREN) do
3719
						if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
3720
							CHILD.Transparency = CHILD.Transparency + 1/75
3721
						elseif CHILD.ClassName == "Decal" then
3722
							CHILD.Transparency = CHILD.Transparency + 1/75
3723
						end
3724
					end
3725
				end
3726
				TORSO.Parent:ClearAllChildren()
3727
				KEY:remove()
3728
				LOCK:remove()
3729
			end))
3730
			Pose("Turn key",0.8,1.2,false,GYRO,TORSO)
3731
			GYRO:remove()
3732
			ATTACK = false
3733
			Rooted = false
3734
		end
3735
	end
3736
end
3737
3738
function MagicSphere2(size,waitt,cframe,color)
3739
	local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(1,1,1))
3740
	local mesh = IT("SpecialMesh",wave)
3741
	mesh.MeshType = "Sphere"
3742
	mesh.Scale = VT(size,size,size)
3743
	mesh.Offset = VT(0,0,0)
3744
	wave.CFrame = cframe
3745
	coroutine.resume(coroutine.create(function(PART)
3746
		for i = 1, waitt do
3747
			Swait()
3748
			mesh.Scale = mesh.Scale - VT(size/waitt,size/waitt,size/waitt)
3749
			wave.Transparency = wave.Transparency - (1/waitt)
3750
		end
3751
		wave:remove()
3752
	end))
3753
end
3754
function MagicSphere(size,waitt,cframe,color)
3755
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(1,1,1))
3756
	local mesh = IT("SpecialMesh",wave)
3757
	mesh.MeshType = "Sphere"
3758
	mesh.Scale = VT(size,size,size)
3759
	mesh.Offset = VT(0,0,0)
3760
	wave.CFrame = cframe
3761
	coroutine.resume(coroutine.create(function(PART)
3762
		for i = 1, waitt do
3763
			Swait()
3764
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
3765
			wave.Transparency = wave.Transparency + (1/waitt)
3766
			if wave.Transparency > 0.99 then
3767
				wave:remove()
3768
			end
3769
		end
3770
	end))
3771
end
3772
3773
function CreateSwirl(inair,size,doesrotate,rotatedirection,waitt,cframe,color)
3774
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
3775
	local mesh = IT("SpecialMesh",wave)
3776
	mesh.MeshType = "FileMesh"
3777
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
3778
	mesh.Scale = VT(size,size,size)
3779
	wave.CFrame = cframe
3780
	coroutine.resume(coroutine.create(function(PART)
3781
		for i = 1, waitt do
3782
			Swait()
3783
			mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
3784
			if doesrotate == true then
3785
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
3786
			end
3787
			wave.Transparency = wave.Transparency + (0.5/waitt)
3788
			if wave.Transparency > 0.99 then
3789
				wave:remove()
3790
			end
3791
		end
3792
	end))
3793
end
3794
function CheckTableForString(Table, String)
3795
	for i, v in pairs(Table) do
3796
		if string.find(string.lower(String), string.lower(v)) then
3797
			return true
3798
		end
3799
	end
3800
	return false
3801
end
3802
3803
function CheckIntangible(Hit)
3804
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
3805
	if Hit and Hit.Parent then
3806
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
3807
			return true
3808
		end
3809
	end
3810
	return false
3811
end
3812
3813
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
3814
	local Direction = CFrame.new(StartPos, Vec).lookVector
3815
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
3816
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
3817
	if RayHit and CheckIntangible(RayHit) then
3818
		if DelayIfHit then
3819
			wait()
3820
		end
3821
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
3822
	end
3823
	return RayHit, RayPos, RayNormal
3824
end
3825
3826
function attractnearest(postype,position,range,maxstrength,last)
3827
	if postype == "Vector" then
3828
		for i,v in ipairs(workspace:GetChildren()) do
3829
		local body = v:GetChildren()
3830
			for part = 1, #body do
3831
				if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
3832
					if(body[part].Position - position).Magnitude < range then
3833
						if body[part]:FindFirstChild("ATTRACT") == nil then
3834
							local bv = Instance.new("BodyVelocity") 
3835
							bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
3836
							bv.velocity = CF(body[part].Position,position).lookVector*maxstrength
3837
							bv.Parent = body[part]
3838
							bv.Name = "ATTRACT"
3839
						else
3840
							coroutine.resume(coroutine.create(function()
3841
								for i = 1, last/5 do
3842
									Swait(5)
3843
									body[part].ATTRACT.velocity = CF(body[part].Position,position).lookVector*maxstrength	
3844
								end		
3845
								body[part].ATTRACT:remove()				
3846
							end))
3847
						end
3848
					end
3849
				end
3850
			end
3851
			if v.ClassName == "Part" then
3852
				if v.Anchored == false and (v.Position - position).Magnitude < range then
3853
					if v:FindFirstChild("ATTRACT") == nil then
3854
						local bv = Instance.new("BodyVelocity") 
3855
						bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
3856
						bv.velocity = CF(v.Position,position).lookVector*maxstrength
3857
						bv.Parent = v
3858
						bv.Name = "ATTRACT"
3859
					else
3860
						coroutine.resume(coroutine.create(function()
3861
							for i = 1, last/5 do
3862
								Swait(5)
3863
								v.ATTRACT.velocity = CF(v.Position,position).lookVector*maxstrength	
3864
							end		
3865
							v.ATTRACT:remove()				
3866
						end))
3867
					end
3868
				end
3869
			end
3870
		end
3871
	elseif postype == "Part" then
3872
		for i,v in ipairs(workspace:GetChildren()) do
3873
		local body = v:GetChildren()
3874
			for part = 1, #body do
3875
				if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
3876
					if(body[part].Position - position.Position).Magnitude < range then
3877
						if body[part]:FindFirstChild("ATTRACT") == nil then
3878
							local bv = Instance.new("BodyVelocity") 
3879
							bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
3880
							bv.velocity = CF(body[part].Position,position.Position).lookVector*maxstrength
3881
							bv.Parent = body[part]
3882
							bv.Name = "ATTRACT"
3883
						else
3884
							coroutine.resume(coroutine.create(function()
3885
								for i = 1, last/5 do
3886
									Swait(5)
3887
									body[part].ATTRACT.velocity = CF(body[part].Position,position.Position).lookVector*maxstrength	
3888
								end		
3889
								body[part].ATTRACT:remove()				
3890
							end))
3891
						end
3892
					end
3893
				end
3894
			end
3895
			if v.ClassName == "Part" then
3896
				if v.Anchored == false and (v.Position - position.Position).Magnitude < range then
3897
					if v:FindFirstChild("ATTRACT") == nil then
3898
						local bv = Instance.new("BodyVelocity") 
3899
						bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
3900
						bv.velocity = CF(v.Position,position.Position).lookVector*maxstrength
3901
						bv.Parent = v
3902
						bv.Name = "ATTRACT"
3903
					else
3904
						coroutine.resume(coroutine.create(function()
3905
							for i = 1, last/5 do
3906
								Swait(5)
3907
								v.ATTRACT.velocity = CF(v.Position,position.Position).lookVector*maxstrength	
3908
							end		
3909
							v.ATTRACT:remove()				
3910
						end))
3911
					end
3912
				end
3913
			end
3914
		end
3915
	end
3916
end
3917
3918
function killnearest(position,range,maxstrength)
3919
	for i,v in ipairs(workspace:GetChildren()) do
3920
	local body = v:GetChildren()
3921
		for part = 1, #body do
3922
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
3923
				if(body[part].Position - position).Magnitude < range then
3924
					if v.ClassName == "Model" then
3925
						v:BreakJoints()
3926
					end
3927
					--table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
3928
					body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
3929
				end
3930
			end
3931
		end
3932
		if v.ClassName == "Part" then
3933
			if v.Anchored == false and (v.Position - position).Magnitude < range then
3934
				--table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
3935
				v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
3936
			end
3937
		end
3938
	end
3939
end
3940
3941
function CreateRing(SIZE, DOESROT, ROT, WAIT, CFRAME, COLOR, GROW)
3942
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
3943
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0, 0, 0))
3944
	wave.CFrame = CFRAME
3945
	coroutine.resume(coroutine.create(function(PART)
3946
		for i = 1, WAIT do
3947
			Swait()
3948
			mesh.Scale = mesh.Scale + GROW
3949
			if DOESROT == true then
3950
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
3951
			end
3952
			wave.Transparency = wave.Transparency + 0.5 / WAIT
3953
			if wave.Transparency > 0.99 then
3954
				wave:remove()
3955
			end
3956
		end
3957
	end))
3958
end
3959
function MagicSphere(SIZE, WAIT, CFRAME, COLOR, GROW)
3960
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
3961
	local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0, 0, 0))
3962
	wave.CFrame = CFRAME
3963
	coroutine.resume(coroutine.create(function(PART)
3964
		for i = 1, WAIT do
3965
			Swait()
3966
			mesh.Scale = mesh.Scale + GROW
3967
			wave.Transparency = wave.Transparency + 1 / WAIT
3968
			if wave.Transparency > 0.99 then
3969
				wave:remove()
3970
			end
3971
		end
3972
	end))
3973
end
3974
function Slice(KIND, SIZE, WAIT, CFRAME, COLOR, GROW)
3975
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
3976
	local mesh
3977
	if KIND == "Base" then
3978
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0, SIZE / 10, SIZE / 10), VT(0, 0, 0))
3979
	elseif KIND == "Thin" then
3980
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
3981
	elseif KIND == "Round" then
3982
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
3983
	end
3984
	wave.CFrame = CFRAME
3985
	coroutine.resume(coroutine.create(function(PART)
3986
		for i = 1, WAIT do
3987
			Swait()
3988
			mesh.Scale = mesh.Scale + GROW / 10
3989
			wave.Transparency = wave.Transparency + 0.5 / WAIT
3990
			if wave.Transparency > 0.99 then
3991
				wave:remove()
3992
			end
3993
		end
3994
	end))
3995
end
3996
function AddChildrenToTable(FROM, PARENT, DIST, TABLE)
3997
	for _, c in pairs(PARENT:GetChildren()) do
3998
		if c.ClassName == "Model" then
3999
			if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then
4000
				local HUMANOID = c:FindFirstChildOfClass("Humanoid")
4001
				local TORSO = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
4002
				if DIST > (TORSO.Position - FROM).Magnitude then
4003
					table.insert(TABLE, c)
4004
				end
4005
				AddChildrenToTable(FROM, c, DIST, TABLE)
4006
			elseif c.ClassName == "Folder" then
4007
				AddChildrenToTable(FROM, c, DIST, TABLE)
4008
			end
4009
		end
4010
	end
4011
end
4012
function Execute()
4013
	ATTACK = true
4014
	Rooted = false
4015
	local Part = CreatePart(3, Character, "Neon", 0, 0, "Mid gray", "Part", VT(0,1,4),false)
4016
	Part.Color = C3(0,0,0)
4017
	MakeForm(Part,"Wedge")
4018
	Part.CanCollide = true
4019
	CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(135)) *CF(0, 0.5, 0), CF(0, 0, 0))
4020
	for i=0, 1, 0.1 / Animation_Speed do
4021
		Swait()
4022
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.2 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-50)), 1 / Animation_Speed)
4023
		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)
4024
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(125), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4025
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(140 - 12 * SIN(SINE / 12)), RAD(15 + 2.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
4026
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4027
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4028
	end
4029
	Trail.Enabled = true
4030
	CreateSound(541909867, Barrel, 7, 1, false)
4031
	local TOCH = Part.Touched:Connect(function(hit)
4032
		if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent ~= Character then
4033
			Kill(hit.Parent)
4034
		end
4035
	end)
4036
	for i=0, 0.35, 0.1 / Animation_Speed do
4037
		Swait()
4038
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.2 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(50)), 1 / Animation_Speed)
4039
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 1 / Animation_Speed)
4040
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.25, -0.3) * ANGLES(RAD(50), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4041
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(140 - 12 * SIN(SINE / 12)), RAD(15 + 2.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
4042
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4043
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4044
	end
4045
	TOCH:disconnect()
4046
	Trail.Enabled = false
4047
	for i=0, 0.35, 0.1 / Animation_Speed do
4048
		Swait()
4049
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.2 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(60)), 1 / Animation_Speed)
4050
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-55)), 1 / Animation_Speed)
4051
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.25, -0.3) * ANGLES(RAD(50), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4052
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(140 - 12 * SIN(SINE / 12)), RAD(15 + 2.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
4053
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4054
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4055
	end
4056
	Part:remove()
4057
	ATTACK = false
4058
	Rooted = false
4059
end
4060
4061
function Angel_Smite()
4062
	local HITBODIES = {}
4063
	local CENTER = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Pearl", "CenterPart", VT(0, 0, 0))
4064
	local HITFLOOR, ECH, NORMAL = Raycast(Mouse.Hit.p + VT(0, 2, 0), CF(Mouse.Hit.p, Mouse.Hit.p + VT(0, -1, 0)).lookVector, 10000000, Character)
4065
	CENTER.CFrame = CF(ECH)
4066
	local RAY = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Laser01", VT(25, 99999, 25))
4067
	MakeForm(RAY, "Cyl")
4068
	local RAY2 = CreatePart(3, Effects, "Neon", 0, 1, "Really black", "Laser01", VT(28, 99999, 28))
4069
	MakeForm(RAY2, "Cyl")
4070
	RAY.CFrame = CF(ECH)
4071
	RAY2.CFrame = CF(ECH)
4072
	CreateSound("1368573150", CENTER, 10, 0.8)
4073
	for i = 1, 100 do
4074
		Swait()
4075
		RAY.Transparency = RAY.Transparency - 0.01
4076
		RAY.Size = RAY.Size - VT(0.25, 0, 0.25)
4077
		RAY2.Transparency = RAY2.Transparency - 0.012
4078
		RAY2.Size = RAY2.Size - VT(0.28, 0, 0.28)
4079
	end
4080
	for i = 1, 5 do
4081
		CreateRing(VT(i / 10, i / 10, 0), false, 0, 25, CF(ECH) * ANGLES(RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-180, 180))), C3(MRANDOM(0, 10) / 10, 0, 0), VT(i / 5, i / 5, 0))
4082
	end
4083
	RAY:remove()
4084
	RAY2:remove()
4085
	CreateSound("1368637781", CENTER, 10, 0.8)
4086
	MagicSphere(VT(0, 0, 0), 15, CF(ECH), "Really red", VT(8, 8, 8))
4087
	MagicSphere(VT(1, 1, 1), 25, CF(ECH), "Really black", VT(8, 8, 8))
4088
	AddChildrenToTable(ECH, workspace, 80, HITBODIES)
4089
	Debris:AddItem(CENTER, 5)
4090
	CreateSound("414517163", CENTER, 10, 0.8)
4091
	for i = 1, 5 do
4092
		Slice("Round", 0, 35, CF(ECH) * ANGLES(RAD(MRANDOM(-18, 18)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-18, 18))), "Really red", VT(0.5, 0, 0.5))
4093
	end
4094
	for e = 1, #HITBODIES do
4095
		if HITBODIES[e] ~= nil then
4096
			local BOD = HITBODIES[e]
4097
			local TORS = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
4098
			if TORS then
4099
				BOD:BreakJoints()
4100
				for _, c in pairs(BOD:GetChildren()) do
4101
					if c.ClassName == "Part" or c.ClassName == "MeshPart" then
4102
						local bv = Instance.new("BodyVelocity")
4103
						bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
4104
						bv.velocity = CF(ECH, c.Position).lookVector * 250
4105
						bv.Parent = c
4106
						Debris:AddItem(bv, 0.2)
4107
					end
4108
				end
4109
			end
4110
		end
4111
	end
4112
end
4113
function swait(NUMBER)
4114
	if NUMBER == 0 or NUMBER == nil then
4115
		ArtificialHB.Event:wait()
4116
	else
4117
		for i = 1, NUMBER do
4118
			ArtificialHB.Event:wait()
4119
		end
4120
	end
4121
end
4122
4123
function chatfunc(text)
4124
	local chat = coroutine.wrap(function()
4125
	if Character:FindFirstChild("TalkingBillBoard")~= nil then
4126
		Character:FindFirstChild("TalkingBillBoard"):destroy()
4127
	end
4128
	local Bill = Instance.new("BillboardGui",Character)
4129
	Bill.Size = UDim2.new(0,100,0,40)
4130
	Bill.StudsOffset = Vector3.new(0,3,0)
4131
	Bill.Adornee = Character.Head
4132
	Bill.Name = "TalkingBillBoard"
4133
	local Hehe = Instance.new("TextLabel",Bill)
4134
	Hehe.BackgroundTransparency = 1
4135
	Hehe.BorderSizePixel = 0
4136
	Hehe.Text = ""
4137
	Hehe.Font = "Garamond"
4138
	Hehe.TextSize = 40
4139
	Hehe.TextStrokeTransparency = 0
4140
	Hehe.Size = UDim2.new(1,0,0.5,0)
4141
	coroutine.resume(coroutine.create(function()
4142
		while Hehe ~= nil do
4143
			swait()	
4144
			Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))	
4145
			Hehe.Rotation = math.random(-5,5)
4146
			Hehe.TextColor3 = Color3.new(0,0,0)
4147
			Hehe.TextStrokeColor3 = Color3.new(0,0,0)
4148
		end
4149
	end))
4150
	for i = 1,string.len(text),1 do
4151
		swait()
4152
		Hehe.Text = string.sub(text,1,i)
4153
	end
4154
	swait(90)--Re[math.random(1, 93)]
4155
	for i = 0, 1, .025 do
4156
		swait()
4157
		Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
4158
		Hehe.TextStrokeTransparency = i
4159
		Hehe.TextTransparency = i
4160
	end
4161
	Bill:Destroy()
4162
	end)
4163
chat()
4164
end
4165
4166
function onChatted(msg)
4167
	chatfunc(msg)
4168
end
4169
4170
Player.Chatted:connect(onChatted)
4171
4172
function chatfunc(text)
4173
	local chat = coroutine.wrap(function()
4174
	if Character:FindFirstChild("TalkingBillBoard")~= nil then
4175
		Character:FindFirstChild("TalkingBillBoard"):destroy()
4176
	end
4177
	local Bill = Instance.new("BillboardGui",Character)
4178
	Bill.Size = UDim2.new(0,100,0,40)
4179
	Bill.StudsOffset = Vector3.new(0,3,0)
4180
	Bill.Adornee = Character.Head
4181
	Bill.Name = "TalkingBillBoard"
4182
	local Hehe = Instance.new("TextLabel",Bill)
4183
	Hehe.BackgroundTransparency = 1
4184
	Hehe.BorderSizePixel = 0
4185
	Hehe.Text = ""
4186
	Hehe.Font = "Bodoni"
4187
	Hehe.TextSize = 40
4188
	Hehe.TextStrokeTransparency = 0
4189
	Hehe.Size = UDim2.new(1,0,0.5,0)
4190
	coroutine.resume(coroutine.create(function()
4191
		while Hehe ~= nil do
4192
			swait()	
4193
			Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))	
4194
			Hehe.Rotation = math.random(-5,5)
4195
			Hehe.TextColor3 = Color3.new(0,0,0)
4196
			Hehe.TextStrokeColor3 = Color3.new(0,0,0)
4197
		end
4198
	end))
4199
	for i = 1,string.len(text),1 do
4200
		swait()
4201
		Hehe.Text = string.sub(text,1,i)
4202
	end
4203
	swait(90)--Re[math.random(1, 93)]
4204
	for i = 0, 1, .025 do
4205
		swait()
4206
		Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
4207
		Hehe.TextStrokeTransparency = i
4208
		Hehe.TextTransparency = i
4209
	end
4210
	Bill:Destroy()
4211
	end)
4212
chat()
4213
end
4214
4215
function onChatted(msg)
4216
	chatfunc(msg)
4217
end
4218
4219
Player.Chatted:connect(onChatted)
4220
4221
function Godly_Speed_And_Strength()
4222
	local HITFLOOR, HITPOS = Raycast(Mouse.Hit.p + VT(0, 1, 0), CF(Mouse.Hit.p + VT(0, 1, 0), Mouse.Hit.p - VT(0, 1, 0)).lookVector, 25, Character)
4223
	if HITFLOOR then
4224
		local ORIGINPOS = VT(RootPart.Position.X, HITPOS.Y + 8, RootPart.Position.Z)
4225
		CreateSound("1295446488", Torso, 5, 1)
4226
		for i = 1, 5 do
4227
			WACKYEFFECT({
4228
				Time = MRANDOM(15, 35),
4229
				EffectType = "Round Slash",
4230
				Size = VT(0, 0, 0),
4231
				Size2 = VT(0.3, 0, 0.3),
4232
				Transparency = 0.5,
4233
				Transparency2 = 1,
4234
				CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(-25, 25)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-25, 25))),
4235
				MoveToPos = nil,
4236
				RotationX = MRANDOM(-50, 50) / 10,
4237
				RotationY = MRANDOM(-50, 50) / 10,
4238
				RotationZ = MRANDOM(-50, 50) / 10,
4239
				Material = "Neon",
4240
				Color = C3(1, 1, 1),
4241
				SoundID = nil,
4242
				SoundPitch = nil,
4243
				SoundVolume = nil
4244
			})
4245
		end
4246
		ATTACK = true
4247
		Rooted = true
4248
		UNANCHOR = false
4249
		RootPart.Anchored = true
4250
		RootPart.CFrame = CF(HITPOS + VT(0, 8, 0), ORIGINPOS) * ANGLES(RAD(0), RAD(180), RAD(0))
4251
		for i = 1, 5 do
4252
			WACKYEFFECT({
4253
				Time = MRANDOM(15, 35),
4254
				EffectType = "Round Slash",
4255
				Size = VT(0, 0, 0),
4256
				Size2 = VT(0.3, 0, 0.3),
4257
				Transparency = 0.5,
4258
				Transparency2 = 1,
4259
				CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(-25, 25)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-25, 25))),
4260
				MoveToPos = nil,
4261
				RotationX = MRANDOM(-50, 50) / 10,
4262
				RotationY = MRANDOM(-50, 50) / 10,
4263
				RotationZ = MRANDOM(-50, 50) / 10,
4264
				Material = "Neon",
4265
				Color = C3(1, 1, 1),
4266
				SoundID = nil,
4267
				SoundPitch = nil,
4268
				SoundVolume = nil
4269
			})
4270
		end
4271
		for i = 0, 0.2, 0.1 / Animation_Speed do
4272
			Swait()
4273
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(150)), 2 / Animation_Speed)
4274
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
4275
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
4276
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
4277
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
4278
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 2 / Animation_Speed)
4279
		end
4280
		for i = 0, 1, 0.1 / Animation_Speed do
4281
			Swait()
4282
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(300)), 0.02 / Animation_Speed)
4283
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.02 / Animation_Speed)
4284
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.02 / Animation_Speed)
4285
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.02 / Animation_Speed)
4286
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.02 / Animation_Speed)
4287
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 0.02 / Animation_Speed)
4288
		end
4289
		for i = 1, 10 do
4290
			Swait()
4291
			RootPart.CFrame = RootPart.CFrame * CF(0, -0.4, 0)
4292
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(300)), 1.7 / Animation_Speed)
4293
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1.7 / Animation_Speed)
4294
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 1.7 / Animation_Speed)
4295
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.7 / Animation_Speed)
4296
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.7 / Animation_Speed)
4297
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1.7 / Animation_Speed)
4298
		end
4299
		for i = 0, 0.2, 0.1 / Animation_Speed do
4300
			Swait()
4301
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(90)), 1.5 / Animation_Speed)
4302
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 1.5 / Animation_Speed)
4303
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
4304
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.5 / Animation_Speed)
4305
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / Animation_Speed)
4306
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1.5 / Animation_Speed)
4307
		end
4308
		local HITFLOOR, HITPOS = Raycast(RightArm.Position, CF(RightArm.Position, RightArm.Position + VT(0, -1, 0)).lookVector, 8, Character)
4309
		if HITFLOOR then
4310
			if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
4311
				local CHILDREN = HITFLOOR.Parent:GetDescendants()
4312
				for index, CHILD in pairs(CHILDREN) do
4313
					if CHILD:IsA("BasePart") and CHILD.Parent:FindFirstChildOfClass("Humanoid") then
4314
						for i = 1, 5 do
4315
							CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 2, 5, MRANDOM(15, 25))
4316
							CHILD:remove()
4317
						end
4318
					end
4319
				end
4320
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
4321
				SOUNDPART.CFrame = CF(HITPOS)
4322
				Debris:AddItem(SOUNDPART, 5)
4323
				CreateSound("130972023", SOUNDPART, 6, 3)
4324
				CreateSound("182765513", SOUNDPART, 6, 1)
4325
				WACKYEFFECT({
4326
					EffectType = "Ring",
4327
					Size = VT(0, 0, 0),
4328
					Size2 = VT(1, 1, 0),
4329
					Transparency = 0.7,
4330
					Transparency2 = 1,
4331
					CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
4332
					MoveToPos = nil,
4333
					RotationX = 0,
4334
					RotationY = 0,
4335
					RotationZ = 0,
4336
					Material = "Neon",
4337
					Color = C3(1, 1, 1),
4338
					SoundID = nil,
4339
					SoundPitch = nil,
4340
					SoundVolume = nil
4341
				})
4342
			elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
4343
				local CHILDREN = HITFLOOR.Parent.Parent:GetDescendants()
4344
				for index, CHILD in pairs(CHILDREN) do
4345
					if CHILD:IsA("BasePart") and CHILD.Parent:FindFirstChildOfClass("Humanoid") then
4346
						for i = 1, 5 do
4347
							CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 2, 5, MRANDOM(15, 25))
4348
							CHILD:remove()
4349
						end
4350
					end
4351
				end
4352
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
4353
				SOUNDPART.CFrame = CF(HITPOS)
4354
				Debris:AddItem(SOUNDPART, 5)
4355
				CreateSound("130972023", SOUNDPART, 6, 3)
4356
				CreateSound("182765513", SOUNDPART, 6, 1)
4357
				WACKYEFFECT({
4358
					EffectType = "Ring",
4359
					Size = VT(0, 0, 0),
4360
					Size2 = VT(1, 1, 0),
4361
					Transparency = 0.7,
4362
					Transparency2 = 1,
4363
					CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
4364
					MoveToPos = nil,
4365
					RotationX = 0,
4366
					RotationY = 0,
4367
					RotationZ = 0,
4368
					Material = "Neon",
4369
					Color = C3(1, 1, 1),
4370
					SoundID = nil,
4371
					SoundPitch = nil,
4372
					SoundVolume = nil
4373
				})
4374
			elseif HITFLOOR.Anchored == false then
4375
				if HITFLOOR.Parent ~= workspace then
4376
					local CHILDREN = HITFLOOR.Parent:GetDescendants()
4377
					for index, CHILD in pairs(CHILDREN) do
4378
						if CHILD:IsA("BasePart") and CHILD.Position.Y < HITPOS.Y then
4379
							for i = 1, 5 do
4380
								CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 3, 5, MRANDOM(15, 25))
4381
							end
4382
							CHILD:remove()
4383
						end
4384
					end
4385
				else
4386
					for i = 1, 5 do
4387
						CreateFlyingDebree(HITFLOOR, CF(HITFLOOR.Position), 1, HITFLOOR.Size / 3, 5, MRANDOM(15, 25))
4388
					end
4389
					HITFLOOR:remove()
4390
				end
4391
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
4392
				SOUNDPART.CFrame = CF(HITPOS)
4393
				Debris:AddItem(SOUNDPART, 5)
4394
				CreateSound("130972023", SOUNDPART, 10, 3)
4395
				CreateSound("178452217", SOUNDPART, 6, 1)
4396
				WACKYEFFECT({
4397
					EffectType = "Ring",
4398
					Size = VT(0, 0, 0),
4399
					Size2 = VT(1, 1, 0),
4400
					Transparency = 0.7,
4401
					Transparency2 = 1,
4402
					CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
4403
					MoveToPos = nil,
4404
					RotationX = 0,
4405
					RotationY = 0,
4406
					RotationZ = 0,
4407
					Material = "Neon",
4408
					Color = C3(1, 1, 1),
4409
					SoundID = nil,
4410
					SoundPitch = nil,
4411
					SoundVolume = nil
4412
				})
4413
			else
4414
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
4415
				SOUNDPART.CFrame = CF(HITPOS)
4416
				Debris:AddItem(SOUNDPART, 5)
4417
				CreateSound("130972023", SOUNDPART, 10, 1)
4418
				CreateSound("130972023", SOUNDPART, 6, 0.7)
4419
				CreateDebreeRing(HITFLOOR, HITPOS, 5, VT(5, 5, 5), 5)
4420
				CreateDebreeRing(HITFLOOR, HITPOS, 8, VT(8, 8, 8), 5)
4421
				ApplyAoE(HITPOS, 15, 45, 75, 75, false)
4422
				ApplyAoE(HITPOS, 25, 25, 35, 35, false)
4423
				for i = 1, 5 do
4424
					CreateFlyingDebree(HITFLOOR, CF(HITPOS), 1, VT(MRANDOM(10, 30) / 10, MRANDOM(10, 30) / 10, MRANDOM(10, 30) / 10), 5, MRANDOM(75, 150))
4425
				end
4426
				for i = 1, 5 do
4427
					CreateFlyingDebree(HITFLOOR, CF(HITPOS), 1, VT(MRANDOM(10, 30) / 2, MRANDOM(10, 30) / 2, MRANDOM(10, 30) / 2), 5, MRANDOM(75, 150))
4428
				end
4429
			end
4430
		end
4431
		for i = 0, 1.2, 0.1 / Animation_Speed do
4432
			Swait()
4433
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(90)), 1.5 / Animation_Speed)
4434
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 1.5 / Animation_Speed)
4435
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
4436
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.5 / Animation_Speed)
4437
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / Animation_Speed)
4438
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1.5 / Animation_Speed)
4439
		end
4440
		ATTACK = false
4441
		Rooted = false
4442
		UNANCHOR = true
4443
		RootPart.Anchored = false
4444
	end
4445
end
4446
local ENERGYSOUND = 1417051162
4447
local BEAMSOUND = 1417056781
4448
local EXPLOSIONSOUND = 1417056081
4449
4450
local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Dark indigo", "BraceletPart", VT(1.01,0.3,1.01),false)
4451
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BasePart, CF(0, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
4452
for i = 1, 3 do
4453
    local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Royal purple", "BraceletPart", VT(0.2,1.02,0.2),false)
4454
    CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0, 0, 0.6-0.3*i) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
4455
    MakeForm(Part,"Cyl")
4456
end
4457
function Charge(TIME,GYRO)
4458
    local SND = CreateSound(ENERGYSOUND,Torso,6,TIME,false)
4459
    local G = nil
4460
    if GYRO == true then
4461
        G = IT("BodyGyro",RootPart)
4462
        G.D = 250
4463
        G.P = 200000
4464
        G.MaxTorque = VT(math.huge,math.huge,math.huge)
4465
    end
4466
    for i=0, TIME, 0.1 / Animation_Speed do
4467
        Swait()
4468
        if G then
4469
            G.cframe = CF(RootPart.Position,Mouse.Hit.p)
4470
        end
4471
        WACKYEFFECT({TIME = 25, EffectType = "Sphere", Size = VT(1.2,1.2,1.2), Size2 = VT(0,0,0), Transparency = 0.5, Transparency2 = 1, CFrame = BasePart.CFrame, MoveToPos = BasePart.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-4).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
4472
        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)
4473
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
4474
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
4475
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
4476
        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)
4477
        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)
4478
    end
4479
    SND:remove()
4480
    if G then
4481
        return G
4482
    end
4483
end
4484
4485
function Morning_Star()
4486
	ATTACK = true
4487
	Rooted = true
4488
	for i=0, 1, 0.1 / Animation_Speed do
4489
		Swait()
4490
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4491
		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)
4492
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4493
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
4494
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4495
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4496
	end	
4497
	coroutine.resume(coroutine.create(function()
4498
		local POS = Mouse.Hit.p
4499
		local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,2000,0))
4500
		MakeForm(RAY,"Cyl")
4501
		local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,0,0))
4502
		MakeForm(SPHERE,"Ball")
4503
		local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Strike", VT(0,0,0))
4504
		MakeForm(SHIELD,"Ball")
4505
		SHIELD.CFrame = CF(POS)
4506
		RAY.CFrame = CF(POS)
4507
		SPHERE.CFrame = CF(POS)
4508
		CreateSound(440145570, SPHERE, 10, 0.8, false)
4509
		CreateSound(415700134, SPHERE, 10, 0.8, false)
4510
		for i = 1, 200 do
4511
			Swait()
4512
			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(0,1,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
4513
			RAY.Size = RAY.Size + VT(0.05,0,0.05)
4514
			SPHERE.Size = SPHERE.Size + VT(2,2,2)
4515
			SHIELD.Size = SPHERE.Size + VT(3,3,3)
4516
			ApplyAoE(SPHERE.Position,SPHERE.Size.X/2,true)
4517
		end	
4518
		for i = 1, 45 do
4519
			Swait()
4520
			RAY.Transparency = RAY.Transparency + 1/45
4521
			SPHERE.Transparency = RAY.Transparency 
4522
			SHIELD.Transparency = SPHERE.Transparency + 1/45
4523
		end
4524
		RAY:remove()
4525
		SHIELD:remove()
4526
		SPHERE:remove()
4527
	end))
4528
	for i=0, 1, 0.1 / Animation_Speed do
4529
		Swait()
4530
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
4531
		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)
4532
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(-45), RAD(85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4533
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(45), RAD(-85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
4534
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4535
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
4536
	end
4537
	ATTACK = false
4538
	Rooted = false
4539
end
4540
4541
4542
4543
function TakeOnMe()
4544
    Speed = 5
4545
    local MEME = CreateSound(1890957836, Effects, 2, 1, false)
4546
    ATTACK = true
4547
    Rooted = false
4548
    local DANCE = true
4549
    local KEY = Mouse.KeyDown:connect(function(NEWKEY)
4550
        if NEWKEY == "p" then
4551
            DANCE = false
4552
        end
4553
    end)
4554
    PLAYSONG = false
4555
    while true do
4556
        for i = 1, 15 do
4557
            Swait()
4558
            MEME.Parent = Effects
4559
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4560
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4561
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4562
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
4563
            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)
4564
            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)
4565
        end
4566
        if DANCE == false then
4567
            break
4568
        end
4569
        for i = 1, 15 do
4570
            Swait()
4571
            MEME.Parent = Effects
4572
            RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4573
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4574
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4575
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(10)) * LEFTSHOULDERC0, 1 / Animation_Speed)
4576
            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)
4577
            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)
4578
        end
4579
    end
4580
    PLAYSONG = true
4581
    KEY:Disconnect()
4582
    MEME:remove()
4583
    Speed = 25
4584
    ATTACK = false
4585
    Rooted = false
4586
end
4587
 function Smite()
4588
    ATTACK = true
4589
    Rooted = false
4590
    CreateSound(1368573150, RightArm, 3, 1.5)
4591
    for i=0, 0.6, 0.1 / Animation_Speed do
4592
        Swait()
4593
        WACKYEFFECT({TIME = 15, EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
4594
        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)
4595
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
4596
    end
4597
    local POWER = 0
4598
    repeat
4599
        Swait()
4600
        WACKYEFFECT({EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
4601
        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)
4602
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
4603
        POWER = POWER + 0.5
4604
        if POWER >= 85 then
4605
            POWER = 85
4606
        end
4607
    until KEYHOLD == false
4608
    if POWER < 0.6 then
4609
        SpawnSmite(Mouse.Hit.p)
4610
    else
4611
        if POWER < 15 then
4612
            POWER = 15
4613
        end
4614
        SpawnMeteor(Mouse.Hit.p,POWER/15)
4615
    end
4616
    ATTACK = false
4617
    Rooted = false
4618
end
4619
function RTaunt()
4620
    ATTACK = true
4621
    Rooted = true
4622
    local TAUNT = CreateSound(135017578, Torso, 7, 1, false)
4623
    repeat
4624
        Swait()
4625
        TAUNT.Parent = Torso
4626
        TAUNT.Playing = true
4627
        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)
4628
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(-0.02, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
4629
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4630
        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)
4631
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4632
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4633
    until TAUNT.TimePosition >= 1.25
4634
    for i=0, 1.6, 0.1 / Animation_Speed do
4635
        Swait()
4636
        TAUNT.Parent = Torso
4637
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(5)), 1 / Animation_Speed)
4638
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
4639
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
4640
        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)
4641
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4642
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
4643
    end
4644
    ATTACK = false
4645
    Rooted = false
4646
end
4647
function Taunt()
4648
    ATTACK = true
4649
    Rooted = true
4650
    CreateSound("907330011", Head, 10, 1.1)
4651
    for i=0, 1, 0.1 / Animation_Speed do
4652
        Swait()
4653
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
4654
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 2 / Animation_Speed)
4655
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.8) * ANGLES(RAD(170), RAD(0), RAD(-30)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
4656
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
4657
        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)), 2 / Animation_Speed)
4658
        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)), 2 / Animation_Speed)
4659
    end
4660
    for i=0, 2, 0.1 / Animation_Speed do
4661
        Swait()
4662
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
4663
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 2 / Animation_Speed)
4664
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(75), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
4665
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
4666
        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)), 2 / Animation_Speed)
4667
        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)), 2 / Animation_Speed)
4668
    end
4669
    ATTACK = false
4670
    Rooted = false
4671
end
4672
function Destruction()
4673
	ATTACK = true
4674
	Rooted = true
4675
	local AIMPOS = Mouse.Hit.p
4676
	local AIM,AIMPOS = CastProperRay(AIMPOS+VT(0,1,0),AIMPOS,10000,Character)
4677
	coroutine.resume(coroutine.create(function()
4678
		local RAYS = {}
4679
		for i = 1, 4 do
4680
			local RAY = CreatePart(3, Effects, "Neon", 0, 1, "Really black", "Ray", VT(50,2000,50))
4681
			MakeForm(RAY,"Cyl")
4682
			RAY.Mesh.Scale = VT(1,1.1,1)
4683
			table.insert(RAYS,RAY)
4684
		end
4685
		CreateSound(348663022, Effects, 2, 1.2, false)
4686
		for i = 1, 100 do
4687
			Swait()
4688
			for e = 1, #RAYS do
4689
				if RAYS[e] ~= nil then
4690
					local RAY = RAYS[e]
4691
					RAY.CFrame = CF(AIMPOS+VT(0,1000,0))*ANGLES(RAD(0),RAD(90*e),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(50-(i/2)))*CF(0,-1000,0)
4692
					RAY.Transparency = RAY.Transparency - 0.01
4693
				end
4694
			end
4695
		end
4696
		for i = 1, 20 do
4697
			Swait()
4698
			for e = 1, #RAYS do
4699
				if RAYS[e] ~= nil then
4700
					local RAY = RAYS[e]
4701
					RAY.Mesh.Scale = RAY.Mesh.Scale - VT(1/20,0,1/20)
4702
				end
4703
			end
4704
		end
4705
		wait(0.3)
4706
		for i = 1, 16 do
4707
			local POS = CF(AIMPOS)*ANGLES(RAD(0),RAD(0,360),RAD(0))*CF(0,0,MRANDOM(0,5)).p
4708
			SpawnTrail(POS+VT(0,200,0),POS)
4709
		end
4710
		for i = 1, 4 do
4711
			CreateDebreeRing2(AIM,AIMPOS-VT(0,3,0),5*i,VT(5,5,5)*i,5)
4712
		end
4713
4714
		CreateFlyingDebree2(AIM,CF(AIMPOS),7,VT(3,3,3),5,185,false)
4715
		CreateFlyingDebree2(AIM,CF(AIMPOS),7,VT(6,6,6),5,285,false)
4716
		CreateSound(130972023, Effects, 2, 1, false)
4717
		local POS = Mouse.Hit.p
4718
		local RAY = CreatePart(3, Effects, "Neon", 0, 0, "White", "Strike", VT(0,0,0))
4719
		MakeForm(RAY,"Cyl")
4720
		local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "White", "Strike", VT(130,130,130))
4721
		MakeForm(SPHERE,"Ball")
4722
		local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Strike", VT(120,120,120))
4723
		MakeForm(SHIELD,"Ball")
4724
		SHIELD.CFrame = CF(AIMPOS)
4725
		RAY.CFrame = CF(AIMPOS)
4726
		SPHERE.CFrame = CF(AIMPOS)
4727
		local CFRAME = CF(SPHERE.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
4728
		CreateSound(415700134, SPHERE, 10, 0.8, false)
4729
		for i = 1, 200 do
4730
			Swait()
4731
		WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(10,10,10), Transparency = 0, Transparency2 = 1, CFrame = CF(SPHERE.Position+VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))), MoveToPos = CF(RAY.Position), RotationX = MRANDOM(-15,15), RotationY = MRANDOM(-15,15), RotationZ = MRANDOM(-15,15), Material = "Neon", Color = C3(1,1,1), SoundID = "444667859", SoundPitch = 2, SoundVolume = nil})
4732
	MagicSphere(VT(0,0,0),45,SPHERE.CFrame,"Really black",VT(5,20,5))
4733
			RAY.Size = RAY.Size + VT(0,0,0)
4734
			SPHERE.Size = SPHERE.Size + VT(0.05,0.05,0.05)
4735
			SHIELD.Size = SPHERE.Size + VT(0.05,0.05,0.05)
4736
			ApplyAoE(SPHERE.Position,SPHERE.Size.X/2,true)
4737
		end	
4738
		for i = 1, 45 do
4739
			Swait()
4740
			RAY.Transparency = RAY.Transparency + 1/45
4741
			SPHERE.Transparency = RAY.Transparency 
4742
			SHIELD.Transparency = SPHERE.Transparency + 1/45
4743
		end
4744
		RAY:remove()
4745
		SHIELD:remove()
4746
		SPHERE:remove()
4747
	end))
4748
	ATTACK = false
4749
	Rooted = false
4750
end
4751
local asd = Instance.new("ParticleEmitter")
4752
asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.5, 0, 0))
4753
asd.LightEmission = .1
4754
asd.Size = NumberSequence.new(0.2)
4755
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
4756
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 5)})
4757
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
4758
asd.Transparency = bbb
4759
asd.Size = aaa
4760
asd.ZOffset = .9
4761
asd.Acceleration = Vector3.new(0, -15, 0)
4762
asd.LockedToPart = false
4763
asd.EmissionDirection = "Back"
4764
asd.Lifetime = NumberRange.new(1, 2)
4765
asd.Rotation = NumberRange.new(-100, 100)
4766
asd.RotSpeed = NumberRange.new(-100, 100)
4767
asd.Speed = NumberRange.new(25,35)
4768
asd.Enabled = false
4769
asd.VelocitySpread = 5
4770
4771
function getbloody(victim,amount)
4772
local PART = IT("Part",Effects)
4773
PART.Transparency = 1
4774
PART.Size = victim.Size
4775
PART.Anchored = true
4776
PART.CanCollide = false
4777
PART.CFrame = CF(victim.Position,Torso.Position)
4778
local HITPLAYERSOUNDS = {"356551938","264486467"}
4779
Debris:AddItem(PART,5)
4780
CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
4781
local prtcl = asd:Clone()
4782
prtcl.Parent = PART
4783
prtcl:Emit(amount*10)
4784
end
4785
4786
function impale(chain,hit)
4787
	if hit.Parent ~= Character and hit.Parent:FindFirstChildOfClass("Humanoid") then
4788
		local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
4789
		if humanoid.Health ~= 0 then
4790
			hit.Parent:BreakJoints()
4791
			getbloody(hit,15)
4792
			local prtcl = asd:Clone()
4793
			prtcl.Parent = chain
4794
			prtcl.Enabled = true
4795
			prtcl.Speed = NumberRange.new(0)
4796
			prtcl.Size = NumberSequence.new(0.2)
4797
		end
4798
	end
4799
end
4800
4801
function clerp(a, b, t)
4802
  return a:lerp(b, t)
4803
end
4804
4805
function newBezier(startpos, pos2, pos3, endpos, t)
4806
  local A = clerp(startpos, pos2, t)
4807
  local B = clerp(pos2, pos3, t)
4808
  local C = clerp(pos3, endpos, t)
4809
  local lerp1 = clerp(A, B, t)
4810
  local lerp2 = clerp(B, C, t)
4811
  local cubic = clerp(lerp1, lerp2, t)
4812
  return cubic
4813
end
4814
function Meteor_Shower()
4815
    ATTACK = true
4816
    Rooted = false
4817
    CreateSound(1368573150, RightArm, 3, 0.8)
4818
    CreateSound(649634100, Torso, 10, 0.8)
4819
    for i=0, 1.2, 0.1 / Animation_Speed do
4820
        Swait()
4821
        WACKYEFFECT({TIME = 15, EffectType = "Block", Size = VT(3,3,3)/2, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
4822
        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)
4823
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
4824
    end
4825
    local POS = Mouse.Hit.p
4826
    CreateSound(463593339, Effects, 3, 1)
4827
    coroutine.resume(coroutine.create(function()
4828
        for i = 1, 35 do
4829
            wait(MRANDOM(5,150)/100)
4830
            SpawnMeteor(CF(POS) * ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0,MRANDOM(0,1500)/10).p,MRANDOM(10,25)/10)
4831
        end
4832
    end))
4833
    ATTACK = false
4834
    Rooted = false
4835
end
4836
4837
Lighting = game.Lighting
4838
skybox = Instance.new("Sky", Lighting)
4839
 
4840
skybox.SkyboxBk = "rbxassetid://1928350162"
4841
skybox.SkyboxDn = "rbxassetid://1928348152"
4842
skybox.SkyboxFt = "rbxassetid://1928348152"
4843
skybox.SkyboxLf = "rbxassetid://1928350162"
4844
skybox.SkyboxRt = "rbxassetid://1928350162"
4845
skybox.SkyboxUp = "rbxassetid://1928350162"
4846
4847
--//=================================\\
4848
--||	  ASSIGN THINGS TO KEYS
4849
--\\=================================//
4850
4851
function MouseDown(Mouse)
4852
	if ATTACK == false then
4853
		Click()
4854
	end
4855
end
4856
function MouseDown(Mouse)
4857
	HOLD = true
4858
	if ATTACK == false then
4859
	end
4860
end
4861
4862
function MouseUp(Mouse)
4863
HOLD = false
4864
end
4865
4866
function KeyDown(Key)
4867
	KEYHOLD = true
4868
	if Key == "v" and ATTACK == false then
4869
               Equivalent_Pain()
4870
	end
4871
4872
	if Key == "b" and ATTACK == false then
4873
                RTaunt()
4874
	end  
4875
4876
	if Key == "n" and ATTACK == false then
4877
                TakeOnMe()  
4878
	end 
4879
4880
	if Key == "q" and ATTACK == false then
4881
                 Meteor_Shower()
4882
	end
4883
4884
	if Key == "t" and ATTACK == false then
4885
		Taunt()
4886
	end
4887
4888
	if Key == "x" and ATTACK == false then
4889
                Smite()
4890
	end  
4891
4892
	if Key == "c" and ATTACK == false then
4893
		Warp()
4894
	end
4895
        if Key == "e" and ATTACK == false then
4896
		Prison_Key()
4897
	end
4898
        if Key == "r" and ATTACK == false then
4899
		Destruction()
4900
	end
4901
         if Key == "t" and ATTACK == false then
4902
		Morning_Star()
4903
	end
4904
if Key == "1" and ATTACK == false then
4905
		LaughV2()
4906
	end
4907
if Key == "2" and ATTACK == false then
4908
		Holy_Smite()
4909
	end
4910
if Key == "3" and ATTACK == false then
4911
		Sheer_Cold()
4912
	end
4913
if Key == "4" and ATTACK == false then
4914
		Perfect_Command()
4915
	end
4916
end
4917
4918
function KeyUp(Key)
4919
	KEYHOLD = false
4920
end
4921
4922
	Mouse.Button1Down:connect(function(NEWKEY)
4923
		MouseDown(NEWKEY)
4924
	end)
4925
	Mouse.Button1Up:connect(function(NEWKEY)
4926
		MouseUp(NEWKEY)
4927
	end)
4928
	Mouse.KeyDown:connect(function(NEWKEY)
4929
		KeyDown(NEWKEY)
4930
	end)
4931
	Mouse.KeyUp:connect(function(NEWKEY)
4932
		KeyUp(NEWKEY)
4933
	end)
4934
4935
--//=================================\\
4936
--\\=================================//
4937
4938
4939
function unanchor()
4940
	if UNANCHOR == true then
4941
		g = Character:GetChildren()
4942
		for i = 1, #g do
4943
			if g[i].ClassName == "Part" then
4944
				g[i].Anchored = false
4945
			end
4946
		end
4947
	end
4948
end
4949
4950
4951
4952
--//=================================\\
4953
--||	WRAP THE WHOLE SCRIPT UP
4954
--\\=================================//
4955
function Lerp(a, b, t) -- Linear interpolation
4956
	return a + (b - a)*t
4957
end
4958
4959
Humanoid.Changed:connect(function(Jump)
4960
	if Jump == "Jump" and (Disable_Jump == true) then
4961
		Humanoid.Jump = false
4962
	end
4963
end)
4964
4965
while true do
4966
    Swait()
4967
    script.Parent = WEAPONGUI
4968
    ANIMATE.Parent = nil
4969
    if Humanoid then
4970
        local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
4971
        IDLEANIMATION:Play()
4972
    end
4973
    SINE = SINE + CHANGE
4974
    local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
4975
    local TORSOVERTICALVELOCITY = RootPart.Velocity.y
4976
    local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
4977
    if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
4978
        ANIM = "Jump"
4979
        if ATTACK == false then
4980
            RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0,  0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
4981
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
4982
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
4983
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
4984
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
4985
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
4986
        end
4987
    elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
4988
        ANIM = "Fall"
4989
        if ATTACK == false then
4990
            RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
4991
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
4992
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
4993
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
4994
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
4995
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
4996
        end
4997
    elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
4998
        ANIM = "Idle"
4999
 			if ATTACK == false then
5000
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5001
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5002
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
5003
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
5004
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size - 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5005
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.2 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5006
			end
5007
       
5008
    elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
5009
        ANIM = "Walk"
5010
			--RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
5011
			--LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
5012
			if ATTACK == false then
5013
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed*3)
5014
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5015
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
5016
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed) 
5017
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size - 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5018
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.2 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5019
			end
5020
		end
5021
	unanchor()
5022
	Humanoid.MaxHealth = "inf"
5023
	Humanoid.Health = "inf"
5024
	if Rooted == false then
5025
	Disable_Jump = false
5026
	Humanoid.WalkSpeed = Speed
5027
	elseif Rooted == true then
5028
	Disable_Jump = true
5029
	Humanoid.WalkSpeed = 0
5030
	end
5031
	Humanoid.Name = "Ultimate God"
5032
	sick.Parent = Torso
5033
	sick:resume()
5034
	sick.Volume = 5
5035
	sick.Pitch = 1
5036
	if Head:FindFirstChildOfClass("Sound") then
5037
		Head:FindFirstChildOfClass("Sound"):remove()
5038
	end
5039
end
5040
5041
5042
--//=================================\\
5043
--\\=================================//
5044
5045
5046
--//====================================================\\--
5047
--||			  		 END OF SCRIPT
5048
--\\====================================================//--