View difference between Paste ID: ULLWdK6Q and f7PCPUHU
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2
local Player,game,owner = owner,game
3
local RealPlayer = Player
4
do
5
	print("FE Compatibility code by Mokiros")
6
	local rp = RealPlayer
7
	script.Parent = rp.Character
8
	
9
	--RemoteEvent for communicating
10
	local Event = Instance.new("RemoteEvent")
11
	Event.Name = "UserInput_Event"
12
13
	--Fake event to make stuff like Mouse.KeyDown work
14
	local function fakeEvent()
15
		local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
16
		t.connect = t.Connect
17
		return t
18
	end
19
20
	--Creating fake input objects with fake variables
21
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
22
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
23
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
24
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
25
	end}
26
	--Merged 2 functions into one by checking amount of arguments
27
	CAS.UnbindAction = CAS.BindAction
28
29
	--This function will trigger the events that have been :Connect()'ed
30
	local function te(self,ev,...)
31
		local t = m[ev]
32
		if t and t._fakeEvent then
33
			for _,f in pairs(t.Functions) do
34
				f(...)
35
			end
36
		end
37
	end
38
	m.TrigEvent = te
39
	UIS.TrigEvent = te
40
41
	Event.OnServerEvent:Connect(function(plr,io)
42
	    if plr~=rp then return end
43
		m.Target = io.Target
44
		m.Hit = io.Hit
45
		if not io.isMouse then
46
			local b = io.UserInputState == Enum.UserInputState.Begin
47
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
48
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
49
			end
50
			for _,t in pairs(CAS.Actions) do
51
				for _,k in pairs(t.Keys) do
52
					if k==io.KeyCode then
53
						t.Function(t.Name,io.UserInputState,io)
54
					end
55
				end
56
			end
57
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
	    end
60
	end)
61
	Event.Parent = NLS([==[
62
	local Player = game:GetService("Players").LocalPlayer
63
	local Event = script:WaitForChild("UserInput_Event")
64
65
	local Mouse = Player:GetMouse()
66
	local UIS = game:GetService("UserInputService")
67
	local input = function(io,a)
68
		if a then return end
69
		--Since InputObject is a client-side instance, we create and pass table instead
70
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
71
	end
72
	UIS.InputBegan:Connect(input)
73
	UIS.InputEnded:Connect(input)
74
75
	local h,t
76
	--Give the server mouse data 30 times every second, but only if the values changed
77
	--If player is not moving their mouse, client won't fire events
78
	while wait(1/30) do
79
		if h~=Mouse.Hit or t~=Mouse.Target then
80
			h,t=Mouse.Hit,Mouse.Target
81
			Event:FireServer({isMouse=true,Target=t,Hit=h})
82
		end
83
	end]==],Player.Character)
84
85
	----Sandboxed game object that allows the usage of client-side methods and services
86
	--Real game object
87
	local _rg = game
88
89
	--Metatable for fake service
90
	local fsmt = {
91
		__index = function(self,k)
92
			local s = rawget(self,"_RealService")
93
			if s then return s[k] end
94
		end,
95
		__newindex = function(self,k,v)
96
			local s = rawget(self,"_RealService")
97
			if s then s[k]=v end
98
		end,
99
		__call = function(self,...)
100
			local s = rawget(self,"_RealService")
101
			if s then return s(...) end
102
		end
103
	}
104
	local function FakeService(t,RealService)
105
		t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
106
		return setmetatable(t,fsmt)
107
	end
108
109
	--Fake game object
110
	local g = {
111
		GetService = function(self,s)
112
			return self[s]
113
		end,
114
		Players = FakeService({
115
			LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
116
		},"Players"),
117
		UserInputService = FakeService(UIS,"UserInputService"),
118
		ContextActionService = FakeService(CAS,"ContextActionService"),
119
	}
120
	rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
121
	g.service = g.GetService
122
	
123
	g.RunService = FakeService({
124
		RenderStepped = _rg:GetService("RunService").Heartbeat,
125
		BindToRenderStep = function(self,name,_,fun)
126
			self._btrs[name] = self.Heartbeat:Connect(fun)
127
		end,
128
		UnbindFromRenderStep = function(self,name)
129
			self._btrs[name]:Disconnect()
130
		end,
131
	},"RunService")
132
133
	setmetatable(g,{
134
		__index=function(self,s)
135
			return _rg:GetService(s) or typeof(_rg[s])=="function"
136
			and function(_,...)return _rg[s](_rg,...)end or _rg[s]
137
		end,
138
		__newindex = fsmt.__newindex,
139
		__call = fsmt.__call
140
	})
141
	--Changing owner to fake player object to support owner:GetMouse()
142
	game,owner = g,g.Players.LocalPlayer
143
end
144
---------------
145
--Darkest Friend Kiro--
146
----------------------------------------------------------------
147
print([[
148
-- Edit by CakeCoo
149
--CREATED BY SHACKLUSTER                          --
150
--------------------------------------------------------------------------------------------
151
Hello, Dont leak the script if you have it,Thank you.
152
Script.name(Darkest Friend,Kiro.Finished.Exe.Loaded
153
---------------------------------------------------------------------------------------------
154
]])
155
156
wait(0.2)
157
158
Player = owner
159
PlayerGui = Player.PlayerGui
160
Cam = workspace.CurrentCamera
161
Backpack = Player.Backpack
162
Character = Player.Character
163
Humanoid = Character.Humanoid
164
Mouse = Player:GetMouse()
165
RootPart = Character["HumanoidRootPart"]
166
Torso = Character["Torso"]
167
Head = Character["Head"]
168
RightArm = Character["Right Arm"]
169
LeftArm = Character["Left Arm"]
170
RightLeg = Character["Right Leg"]
171
LeftLeg = Character["Left Leg"]
172
RootJoint = RootPart["RootJoint"]
173
Neck = Torso["Neck"]
174
RightShoulder = Torso["Right Shoulder"]
175
LeftShoulder = Torso["Left Shoulder"]
176
RightHip = Torso["Right Hip"]
177
LeftHip = Torso["Left Hip"]
178
local sick = Instance.new("Sound",Torso)
179-
sick.SoundId = "rbxassetid://971019793"
179+
sick.SoundId = "rbxassetid://563062677"
180
sick.Looped = true
181
sick.Pitch = 1
182
sick.Volume = 3
183
sick:Play()
184
185
local Hood = Instance.new("Part", Character)
186
Hood.Name = "Hood"
187
Hood.CanCollide = false
188
Hood.BrickColor = BrickColor.new("Really black")
189
Hood.Transparency = 0
190
Hood.Material = "Plastic"
191
Hood.Size = Vector3.new(0.1, 0.1, 0.1)
192
Hood.TopSurface = Enum.SurfaceType.Smooth
193
Hood.BottomSurface = Enum.SurfaceType.Smooth
194
195
local Weld = Instance.new("Weld", Hood)
196
Weld.Part0 = Character.Head
197
Weld.Part1 = Hood
198
Weld.C1 = CFrame.new(0, -0.2, 0)
199
200
local M2 = Instance.new("SpecialMesh")
201
M2.Parent = Hood
202
M2.MeshId = "http://www.roblox.com/asset/?id=83499032"
203
M2.Scale = Vector3.new( 1, 1.2, 1.1)
204
205
IT = Instance.new
206
CF = CFrame.new
207
VT = Vector3.new
208
RAD = math.rad
209
C3 = Color3.new
210
UD2 = UDim2.new
211
BRICKC = BrickColor.new
212
ANGLES = CFrame.Angles
213
EULER = CFrame.fromEulerAnglesXYZ
214
COS = math.cos
215
ACOS = math.acos
216
SIN = math.sin
217
ASIN = math.asin
218
ABS = math.abs
219
MRANDOM = math.random
220
FLOOR = math.floor
221
local EYES = {}
222
local WEAPONGUI = IT("ScreenGui", PlayerGui)
223
local RWINGS = {}
224
local LWINGS = {}
225
local BOLTSOUNDS = {419011101,305734380}
226
local LAUGHS = {834001699,834001752,834001797,834001828}
227
local SONGS = {1118967006}
228
local CHOICE = MRANDOM(1,4)
229-
local ENERGYSOUND = 1417051162
229+
local ENERGYSOUND = 207825136
230-
local BEAMSOUND = 1417056781
230+
local BEAMSOUND = 207825136
231-
local EXPLOSIONSOUND = 1417056081
231+
local EXPLOSIONSOUND = 207825136
232
233
local ATTACKEDTAUNTS = {
234
    "907332040",
235
    "907332525",
236
    "907330011"
237
}
238
local ATTACKTAUNTS = {
239
    "907329893",
240
    "907329532",
241
    "907333294",
242
    "907332856"
243
}
244
local ULTTAUNTS = {
245
    "907332997",
246
    "907332670",
247
    "907330103"
248
}
249
 
250
chara = game.Players.LocalPlayer.Character
251
252
local txt = Instance.new("BillboardGui", chara)
253
CV="Really black"
254
    txt.Adornee = chara.Head
255
    txt.Name = "_status"
256
    txt.Size = UDim2.new(2, 0, 1.2, 0)
257
    txt.StudsOffset = Vector3.new(-9, 8, 0)
258
    local text = Instance.new("TextLabel", txt)
259
    text.Size = UDim2.new(10, 0, 7, 0)
260
    text.FontSize = "Size24"
261
    text.TextScaled = true
262
    text.TextTransparency = 0
263
    text.BackgroundTransparency = 1
264
    text.TextTransparency = 0
265
    text.TextStrokeTransparency = 0
266-
    text.Font = "SciFi"
266+
    text.Font = "Arcade"
267
    text.TextStrokeColor3 = BrickColor.new("Really black").Color
268
    text.TextColor3 = BrickColor.new("Gold").Color
269-
    text.Text = "MICHEAL THE KILLER ANGEL"
269+
    text.Text = "K I R O"
270
 
271
p = game.Players.LocalPlayer
272
	char = p.Character
273
274
Character["Body Colors"].HeadColor = BrickColor.new("Really black")
275
Character["Body Colors"].TorsoColor = BrickColor.new("Really black")
276
Character["Body Colors"].LeftArmColor = BrickColor.new("Really black")
277
Character["Body Colors"].RightArmColor = BrickColor.new("Really black")
278
Character["Body Colors"].LeftLegColor = BrickColor.new("Really black")
279
Character["Body Colors"].RightLegColor = BrickColor.new("Really black")
280
--//=================================\\
281
--|| 	      USEFUL VALUES
282
--\\=================================//
283
284
Animation_Speed = 1.5
285
local FORCERESET = false
286
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
287
local Speed = 16
288
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
289
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
290
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
291
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
292
local DAMAGEMULTIPLIER = 1
293
local ANIM = "Idle"
294
local ATTACK = false
295
local EQUIPPED = false
296
local HOLD = false
297
local COMBO = 1
298
local Rooted = false
299
local SINE = 0
300
local KEYHOLD = false
301
local CHANGE = 2 / Animation_Speed
302
local WALKINGANIM = false
303
local VALUE1 = false
304
local VALUE2 = false
305
local ROBLOXIDLEANIMATION = IT("Animation")
306
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
307
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
308
--ROBLOXIDLEANIMATION.Parent = Humanoid
309
local WEAPONGUI = IT("ScreenGui", PlayerGui)
310
WEAPONGUI.Name = "BanishV3Gui"
311
local Weapon = IT("Model")
312
Weapon.Name = "Adds"
313
local Effects = IT("Folder", Weapon)
314
Effects.Name = "Effects"
315
local ANIMATOR = Humanoid.Animator
316
local ANIMATE = Character:FindFirstChild("Animate")
317
local UNANCHOR = true
318
local TOBANISH = {}
319
script.Parent = PlayerGui
320
321
--//=================================\\
322
--\\=================================//
323
324
game:service'Lighting'.FogEnd = 100
325
game:service'Lighting'.FogStart = 0
326
game:service'Lighting'.FogColor = BrickColor.new'Black'.Color
327
game:service'Lighting'.ClockTime = 22
328
329
local Sky = Instance.new("Sky",game:service'Lighting')
330
Sky.MoonAngularSize = 30
331
Sky.MoonTextureId = "http://www.roblox.com/asset/?id=156679858"
332
333
game.Workspace.Base.Material = "Neon"
334
game.Workspace.Base.BrickColor =  BrickColor.new ("Black")
335
game.Workspace.Base.Transparency = 0.4
336
337
--//=================================\\
338
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
339
--\\=================================//
340
341
ArtificialHB = Instance.new("BindableEvent", script)
342
ArtificialHB.Name = "ArtificialHB"
343
344
script:WaitForChild("ArtificialHB")
345
346
frame = Frame_Speed
347
tf = 0
348
allowframeloss = false
349
tossremainder = false
350
lastframe = tick()
351
script.ArtificialHB:Fire()
352
353
game:GetService("RunService").Heartbeat:connect(function(s, p)
354
	tf = tf + s
355
	if tf >= frame then
356
		if allowframeloss then
357
			script.ArtificialHB:Fire()
358
			lastframe = tick()
359
		else
360
			for i = 1, math.floor(tf / frame) do
361
				script.ArtificialHB:Fire()
362
			end
363
		lastframe = tick()
364
		end
365
		if tossremainder then
366
			tf = 0
367
		else
368
			tf = tf - frame * math.floor(tf / frame)
369
		end
370
	end
371
end)
372
373
--//=================================\\
374
--\\=================================//
375
376
--//=================================\\
377
--|| 	      SOME FUNCTIONS
378
--\\=================================//
379
380
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
381
    return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
382
end
383
 
384
function PositiveAngle(NUMBER)
385
    if NUMBER >= 0 then
386
        NUMBER = 0
387
    end
388
    return NUMBER
389
end
390
 
391
function NegativeAngle(NUMBER)
392
    if NUMBER <= 0 then
393
        NUMBER = 0
394
    end
395
    return NUMBER
396
end
397
 
398
function Swait(NUMBER)
399
    if NUMBER == 0 or NUMBER == nil then
400
        ArtificialHB.Event:wait()
401
    else
402
        for i = 1, NUMBER do
403
            ArtificialHB.Event:wait()
404
        end
405
    end
406
end
407
 
408
function QuaternionFromCFrame(cf)
409
    local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
410
    local trace = m00 + m11 + m22
411
    if trace > 0 then
412
        local s = math.sqrt(1 + trace)
413
        local recip = 0.5 / s
414
        return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
415
    else
416
        local i = 0
417
        if m11 > m00 then
418
            i = 1
419
        end
420
        if m22 > (i == 0 and m00 or m11) then
421
            i = 2
422
        end
423
        if i == 0 then
424
            local s = math.sqrt(m00 - m11 - m22 + 1)
425
            local recip = 0.5 / s
426
            return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
427
        elseif i == 1 then
428
            local s = math.sqrt(m11 - m22 - m00 + 1)
429
            local recip = 0.5 / s
430
            return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
431
        elseif i == 2 then
432
            local s = math.sqrt(m22 - m00 - m11 + 1)
433
            local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
434
        end
435
    end
436
end
437
 
438
function QuaternionToCFrame(px, py, pz, x, y, z, w)
439
    local xs, ys, zs = x + x, y + y, z + z
440
    local wx, wy, wz = w * xs, w * ys, w * zs
441
    local xx = x * xs
442
    local xy = x * ys
443
    local xz = x * zs
444
    local yy = y * ys
445
    local yz = y * zs
446
    local zz = z * zs
447
    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))
448
end
449
 
450
function QuaternionSlerp(a, b, t)
451
    local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
452
    local startInterp, finishInterp;
453
    if cosTheta >= 0.0001 then
454
        if (1 - cosTheta) > 0.0001 then
455
            local theta = ACOS(cosTheta)
456
            local invSinTheta = 1 / SIN(theta)
457
            startInterp = SIN((1 - t) * theta) * invSinTheta
458
            finishInterp = SIN(t * theta) * invSinTheta
459
        else
460
            startInterp = 1 - t
461
            finishInterp = t
462
        end
463
    else
464
        if (1 + cosTheta) > 0.0001 then
465
            local theta = ACOS(-cosTheta)
466
            local invSinTheta = 1 / SIN(theta)
467
            startInterp = SIN((t - 1) * theta) * invSinTheta
468
            finishInterp = SIN(t * theta) * invSinTheta
469
        else
470
            startInterp = t - 1
471
            finishInterp = t
472
        end
473
    end
474
    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
475
end
476
 
477
function Clerp(a, b, t)
478
    local qa = {QuaternionFromCFrame(a)}
479
    local qb = {QuaternionFromCFrame(b)}
480
    local ax, ay, az = a.x, a.y, a.z
481
    local bx, by, bz = b.x, b.y, b.z
482
    local _t = 1 - t
483
    return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
484
end
485
 
486
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
487
    local frame = IT("Frame")
488
    frame.BackgroundTransparency = TRANSPARENCY
489
    frame.BorderSizePixel = BORDERSIZEPIXEL
490
    frame.Position = POSITION
491
    frame.Size = SIZE
492
    frame.BackgroundColor3 = COLOR
493
    frame.BorderColor3 = BORDERCOLOR
494
    frame.Name = NAME
495
    frame.Parent = PARENT
496
    return frame
497
end
498
 
499
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
500
    local label = IT("TextLabel")
501
    label.BackgroundTransparency = 1
502
    label.Size = UD2(1, 0, 1, 0)
503
    label.Position = UD2(0, 0, 0, 0)
504
    label.TextColor3 = TEXTCOLOR
505
    label.TextStrokeTransparency = STROKETRANSPARENCY
506
    label.TextTransparency = TRANSPARENCY
507
    label.FontSize = TEXTFONTSIZE
508
    label.Font = TEXTFONT
509
    label.BorderSizePixel = BORDERSIZEPIXEL
510
    label.TextScaled = false
511
    label.Text = TEXT
512
    label.Name = NAME
513
    label.Parent = PARENT
514
    return label
515
end
516
 
517
function NoOutlines(PART)
518
    PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
519
end
520
 
521
 
522
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
523
    local NEWWELD = IT(TYPE)
524
    NEWWELD.Part0 = PART0
525
    NEWWELD.Part1 = PART1
526
    NEWWELD.C0 = C0
527
    NEWWELD.C1 = C1
528
    NEWWELD.Parent = PARENT
529
    return NEWWELD
530
end
531
 
532
function CreateSound(ID, PARENT, VOLUME, PITCH)
533
    local NEWSOUND = nil
534
    coroutine.resume(coroutine.create(function()
535
        NEWSOUND = IT("Sound", PARENT)
536
        NEWSOUND.Volume = VOLUME
537
        NEWSOUND.Pitch = PITCH
538
        NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
539
        Swait()
540
        NEWSOUND:play()
541
        game:GetService("Debris"):AddItem(NEWSOUND, 10)
542
    end))
543
    return NEWSOUND
544
end
545
 
546
function CFrameFromTopBack(at, top, back)
547
    local right = top:Cross(back)
548
    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)
549
end
550
 
551
function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
552
    local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
553
    wave.Color = COLOR
554
    local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
555
    wave.CFrame = CFRAME
556
    coroutine.resume(coroutine.create(function(PART)
557
        for i = 1, WAIT do
558
            Swait()
559
            mesh.Scale = mesh.Scale + GROW
560
            mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
561
            if DOESROT == true then
562
                wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
563
            end
564
            wave.Transparency = wave.Transparency + (0.5/WAIT)
565
            if wave.Transparency > 0.99 then
566
                wave:remove()
567
            end
568
        end
569
    end))
570
end
571
 
572
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
573
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
574
    wave.Color = COLOR
575
    local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
576
    wave.CFrame = CFRAME
577
    coroutine.resume(coroutine.create(function(PART)
578
        for i = 1, WAIT do
579
            Swait()
580
            mesh.Scale = mesh.Scale + GROW
581
            wave.Transparency = wave.Transparency + (1/WAIT)
582
            if wave.Transparency > 0.99 then
583
                wave:remove()
584
            end
585
        end
586
    end))
587
end
588
 
589
function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
590
    local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
591
    local mesh = nil
592
    if KIND == "Base" then
593
        mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
594
    elseif KIND == "Thin" then
595
        mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
596
    elseif KIND == "Round" then
597
        mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
598
    end
599
    wave.CFrame = CFRAME
600
    coroutine.resume(coroutine.create(function(PART)
601
        for i = 1, WAIT do
602
            Swait()
603
            mesh.Scale = mesh.Scale + GROW/10
604
            wave.Transparency = wave.Transparency + (0.5/WAIT)
605
            if wave.Transparency > 0.99 then
606
                wave:remove()
607
            end
608
        end
609
    end))
610
end
611
 
612
function MakeForm(PART,TYPE)
613
    if TYPE == "Cyl" then
614
        local MSH = IT("CylinderMesh",PART)
615
    elseif TYPE == "Ball" then
616
        local MSH = IT("SpecialMesh",PART)
617
        MSH.MeshType = "Sphere"
618
    elseif TYPE == "Wedge" then
619
        local MSH = IT("SpecialMesh",PART)
620
        MSH.MeshType = "Wedge"
621
    end
622
end
623
 
624
function CheckTableForString(Table, String)
625
    for i, v in pairs(Table) do
626
        if string.find(string.lower(String), string.lower(v)) then
627
            return true
628
        end
629
    end
630
    return false
631
end
632
 
633
function CheckIntangible(Hit)
634
    local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
635
    if Hit and Hit.Parent then
636
        if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
637
            return true
638
        end
639
    end
640
    return false
641
end
642
 
643
Debris = game:GetService("Debris")
644
 
645
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
646
    local Direction = CFrame.new(StartPos, Vec).lookVector
647
    local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
648
    local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
649
    if RayHit and CheckIntangible(RayHit) then
650
        if DelayIfHit then
651
            wait()
652
        end
653
        RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
654
    end
655
    return RayHit, RayPos, RayNormal
656
end
657
 
658
function FireArc(Part,ToLocation,AmountOfTime,Height,DoesCourontine)
659
    if DoesCourontine == false then
660
        local Direction = CF(Part.Position,ToLocation)
661
        local Distance = (Part.Position - ToLocation).magnitude
662
        for i = 1, AmountOfTime do
663
            Swait()
664
            Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
665
            Direction = Part.CFrame
666
        end
667
        Part:remove()
668
    elseif DoesCourontine == true then
669
        coroutine.resume(coroutine.create(function()
670
            local Direction = CF(Part.Position,ToLocation)
671
            local Distance = (Part.Position - ToLocation).magnitude
672
            for i = 1, AmountOfTime do
673
                Swait()
674
                Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
675
                Direction = Part.CFrame
676
            end
677
            Part:remove()
678
        end))
679
    end
680
end
681
 
682
function turnto(position)
683
    RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
684
end
685
 
686
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
687
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
688
end
689
690
function PositiveAngle(NUMBER)
691
	if NUMBER >= 0 then
692
		NUMBER = 0
693
	end
694
	return NUMBER
695
end
696
697
function NegativeAngle(NUMBER)
698
	if NUMBER <= 0 then
699
		NUMBER = 0
700
	end
701
	return NUMBER
702
end
703
704
function Swait(NUMBER)
705
	if NUMBER == 0 or NUMBER == nil then
706
		ArtificialHB.Event:wait()
707
	else
708
		for i = 1, NUMBER do
709
			ArtificialHB.Event:wait()
710
		end
711
	end
712
end
713
714
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
715
	local NEWMESH = IT(MESH)
716
	if MESH == "SpecialMesh" then
717
		NEWMESH.MeshType = MESHTYPE
718
		if MESHID ~= "nil" and MESHID ~= "" then
719
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
720
		end
721
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
722
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
723
		end
724
	end
725
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
726
	NEWMESH.Scale = SCALE
727
	NEWMESH.Parent = PARENT
728
	return NEWMESH
729
end
730
731
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
732
	local NEWPART = IT("Part")
733
	NEWPART.formFactor = FORMFACTOR
734
	NEWPART.Reflectance = REFLECTANCE
735
	NEWPART.Transparency = TRANSPARENCY
736
	NEWPART.CanCollide = false
737
	NEWPART.Locked = true
738
	NEWPART.Anchored = true
739
	if ANCHOR == false then
740
		NEWPART.Anchored = false
741
	end
742
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
743
	NEWPART.Name = NAME
744
	NEWPART.Size = SIZE
745
	NEWPART.Position = Torso.Position
746
	NEWPART.Material = MATERIAL
747
	NEWPART:BreakJoints()
748
	NEWPART.Parent = PARENT
749
	return NEWPART
750
end
751
752
	local function weldBetween(a, b)
753
	    local weldd = Instance.new("ManualWeld")
754
	    weldd.Part0 = a
755
	    weldd.Part1 = b
756
	    weldd.C0 = CFrame.new()
757
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
758
	    weldd.Parent = a
759
	    return weldd
760
	end
761
762
763
function QuaternionFromCFrame(cf)
764
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
765
	local trace = m00 + m11 + m22
766
	if trace > 0 then 
767
		local s = math.sqrt(1 + trace)
768
		local recip = 0.5 / s
769
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
770
	else
771
		local i = 0
772
		if m11 > m00 then
773
			i = 1
774
		end
775
		if m22 > (i == 0 and m00 or m11) then
776
			i = 2
777
		end
778
		if i == 0 then
779
			local s = math.sqrt(m00 - m11 - m22 + 1)
780
			local recip = 0.5 / s
781
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
782
		elseif i == 1 then
783
			local s = math.sqrt(m11 - m22 - m00 + 1)
784
			local recip = 0.5 / s
785
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
786
		elseif i == 2 then
787
			local s = math.sqrt(m22 - m00 - m11 + 1)
788
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
789
		end
790
	end
791
end
792
 
793
function QuaternionToCFrame(px, py, pz, x, y, z, w)
794
	local xs, ys, zs = x + x, y + y, z + z
795
	local wx, wy, wz = w * xs, w * ys, w * zs
796
	local xx = x * xs
797
	local xy = x * ys
798
	local xz = x * zs
799
	local yy = y * ys
800
	local yz = y * zs
801
	local zz = z * zs
802
	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))
803
end
804
 
805
function QuaternionSlerp(a, b, t)
806
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
807
	local startInterp, finishInterp;
808
	if cosTheta >= 0.0001 then
809
		if (1 - cosTheta) > 0.0001 then
810
			local theta = ACOS(cosTheta)
811
			local invSinTheta = 1 / SIN(theta)
812
			startInterp = SIN((1 - t) * theta) * invSinTheta
813
			finishInterp = SIN(t * theta) * invSinTheta
814
		else
815
			startInterp = 1 - t
816
			finishInterp = t
817
		end
818
	else
819
		if (1 + cosTheta) > 0.0001 then
820
			local theta = ACOS(-cosTheta)
821
			local invSinTheta = 1 / SIN(theta)
822
			startInterp = SIN((t - 1) * theta) * invSinTheta
823
			finishInterp = SIN(t * theta) * invSinTheta
824
		else
825
			startInterp = t - 1
826
			finishInterp = t
827
		end
828
	end
829
	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
830
end
831
832
function Clerp(a, b, t)
833
	local qa = {QuaternionFromCFrame(a)}
834
	local qb = {QuaternionFromCFrame(b)}
835
	local ax, ay, az = a.x, a.y, a.z
836
	local bx, by, bz = b.x, b.y, b.z
837
	local _t = 1 - t
838
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
839
end
840
841
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
842
	local frame = IT("Frame")
843
	frame.BackgroundTransparency = TRANSPARENCY
844
	frame.BorderSizePixel = BORDERSIZEPIXEL
845
	frame.Position = POSITION
846
	frame.Size = SIZE
847
	frame.BackgroundColor3 = COLOR
848
	frame.BorderColor3 = BORDERCOLOR
849
	frame.Name = NAME
850
	frame.Parent = PARENT
851
	return frame
852
end
853
854
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
855
	local label = IT("TextLabel")
856
	label.BackgroundTransparency = 1
857
	label.Size = UD2(1, 0, 1, 0)
858
	label.Position = UD2(0, 0, 0, 0)
859
	label.TextColor3 = TEXTCOLOR
860
	label.TextStrokeTransparency = STROKETRANSPARENCY
861
	label.TextTransparency = TRANSPARENCY
862
	label.FontSize = TEXTFONTSIZE
863
	label.Font = TEXTFONT
864
	label.BorderSizePixel = BORDERSIZEPIXEL
865
	label.TextScaled = false
866
	label.Text = TEXT
867
	label.Name = NAME
868
	label.Parent = PARENT
869
	return label
870
end
871
872
function NoOutlines(PART)
873
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
874
end
875
876
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
877
	local NEWWELD = IT(TYPE)
878
	NEWWELD.Part0 = PART0
879
	NEWWELD.Part1 = PART1
880
	NEWWELD.C0 = C0
881
	NEWWELD.C1 = C1
882
	NEWWELD.Parent = PARENT
883
	return NEWWELD
884
end
885
886
local S = IT("Sound")
887
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
888
	local NEWSOUND = nil
889
	coroutine.resume(coroutine.create(function()
890
		NEWSOUND = S:Clone()
891
		NEWSOUND.Parent = PARENT
892
		NEWSOUND.Volume = VOLUME
893
		NEWSOUND.Pitch = PITCH
894
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
895
		NEWSOUND:play()
896
		if DOESLOOP == true then
897
			NEWSOUND.Looped = true
898
		else
899
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
900
			NEWSOUND:remove()
901
		end
902
	end))
903
	return NEWSOUND
904
end
905
906
function CFrameFromTopBack(at, top, back)
907
	local right = top:Cross(back)
908
	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)
909
end
910
911
--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,255,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
912
function WACKYEFFECT(Table)
913
	local TYPE = (Table.EffectType or "Sphere")
914
	local SIZE = (Table.Size or VT(1,1,1))
915
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
916
	local TRANSPARENCY = (Table.Transparency or 0)
917
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
918
	local CFRAME = (Table.CFrame or Torso.CFrame)
919
	local MOVEDIRECTION = (Table.MoveToPos or nil)
920
	local ROTATION1 = (Table.RotationX or 0)
921
	local ROTATION2 = (Table.RotationY or 0)
922
	local ROTATION3 = (Table.RotationZ or 0)
923
	local MATERIAL = (Table.Material or "Neon")
924
	local COLOR = (Table.Color or C3(222,255,0))
925
	local TIME = (Table.Time or 45)
926
	local SOUNDID = (Table.SoundID or nil)
927
	local SOUNDPITCH = (Table.SoundPitch or nil)
928
	local SOUNDVOLUME = (Table.SoundVolume or nil)
929
	coroutine.resume(coroutine.create(function()
930
		local PLAYSSOUND = false
931
		local SOUND = nil
932
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
933
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
934
			PLAYSSOUND = true
935
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
936
		end
937
		EFFECT.Color = COLOR
938
		local MSH = nil
939
		if TYPE == "Sphere" then
940
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
941
		elseif TYPE == "Block" then
942
			MSH = IT("BlockMesh",EFFECT)
943
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
944
		elseif TYPE == "Wave" then
945
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
946
		elseif TYPE == "Ring" then
947
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
948
		elseif TYPE == "Slash" then
949
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
950
		elseif TYPE == "Round Slash" then
951
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
952
		elseif TYPE == "Swirl" then
953
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
954
		elseif TYPE == "Skull" then
955
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
956
		elseif TYPE == "Crystal" then
957
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
958
		end
959
		if MSH ~= nil then
960
			local MOVESPEED = nil
961
			if MOVEDIRECTION ~= nil then
962
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
963
			end
964
			local GROWTH = SIZE - ENDSIZE
965
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
966
			if TYPE == "Block" then
967
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
968
			else
969
				EFFECT.CFrame = CFRAME
970
			end
971
			for LOOP = 1, TIME+1 do
972
				Swait()
973
				MSH.Scale = MSH.Scale - GROWTH/TIME
974
				if TYPE == "Wave" then
975
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
976
				end
977
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
978
				if TYPE == "Block" then
979
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
980
				else
981
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
982
				end
983
				if MOVEDIRECTION ~= nil then
984
					local ORI = EFFECT.Orientation
985
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
986
					EFFECT.Orientation = ORI
987
				end
988
			end
989
			if PLAYSSOUND == false then
990
				EFFECT:remove()
991
			else
992
				SOUND.Stopped:Connect(function()
993
					EFFECT:remove()
994
				end)
995
			end
996
		else
997
			if PLAYSSOUND == false then
998
				EFFECT:remove()
999
			else
1000
				repeat Swait() until SOUND.Playing == false
1001
				EFFECT:remove()
1002
			end
1003
		end
1004
	end))
1005
end
1006
1007
function MakeForm(PART,TYPE)
1008
	if TYPE == "Cyl" then
1009
		local MSH = IT("CylinderMesh",PART)
1010
	elseif TYPE == "Ball" then
1011
		local MSH = IT("SpecialMesh",PART)
1012
		MSH.MeshType = "Sphere"
1013
	elseif TYPE == "Wedge" then
1014
		local MSH = IT("SpecialMesh",PART)
1015
		MSH.MeshType = "Wedge"
1016
	end
1017
end
1018
1019
function SpawnTrail(FROM,TO,BIG)
1020
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Trail", VT(0,0,0))
1021
	MakeForm(TRAIL,"Cyl")
1022
	local DIST = (FROM - TO).Magnitude
1023
	if BIG == true then
1024
		TRAIL.Size = VT(0.5,DIST,0.5)
1025
	else
1026
		TRAIL.Size = VT(0.25,DIST,0.25)
1027
	end
1028
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
1029
	coroutine.resume(coroutine.create(function()
1030
		for i = 1, 5 do
1031
			Swait()
1032
			TRAIL.Transparency = TRAIL.Transparency + 0.1
1033
		end
1034
		TRAIL:remove()
1035
	end))
1036
end
1037
1038
Debris = game:GetService("Debris")
1039
1040
function CastProperRay(StartPos, EndPos, Distance, Ignore)
1041
	local DIRECTION = CF(StartPos,EndPos).lookVector
1042
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
1043
end
1044
1045
function turnto(position)
1046
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1047
end
1048
--------
1049
--//=================================\\
1050
--||	     WEAPON CREATION
1051
--\\=================================//
1052
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(1.1,1,0.525),false)
1053
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Part, CF(-0.75, 0.51, 0) * ANGLES(RAD(180), RAD(-90), RAD(0)), CF(0, 0, 0))
1054
MakeForm(Part,"Wedge")
1055
1056
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(1,1,1.2),false)
1057
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1058
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(0.3,1.7,1.15),false)
1059
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), CF(0, 0, 0))
1060
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(0.3,1.7,1.15),false)
1061
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), CF(0, 0, 0))
1062
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Dark stone grey", "Metal", VT(0.8,0.8,1.225),false)
1063
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1064
local Eon = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eon", VT(0.5,0.5,1.25),false)
1065
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Eon, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1066
1067
	Player=game:GetService('Players').LocalPlayer
1068
	Character=Player.Character
1069
	Mouse=Player:GetMouse()
1070
	m=Instance.new('Model',Character)
1071
	local function weldBetween(a, b)
1072
	    local weldd = Instance.new("ManualWeld")
1073
	    weldd.Part0 = a
1074
	    weldd.Part1 = b
1075
	    weldd.C0 = CFrame.new()
1076
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
1077
	    weldd.Parent = a
1078
	    return weldd
1079
	end
1080
	
1081
	it=Instance.new
1082
	
1083
	function nooutline(part)
1084
		part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = 10,10,10,10,10,10
1085
	end
1086
	
1087
	function part(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
1088
		local fp=it("Part")
1089
		fp.formFactor=formfactor
1090
		fp.Parent=parent
1091
		fp.Reflectance=reflectance
1092
		fp.Transparency=transparency
1093
		fp.CanCollide=false
1094
		fp.Locked=true
1095
		fp.BrickColor=BrickColor.new(tostring(brickcolor))
1096
		fp.Name=name
1097
		fp.Size=size
1098
		fp.Position=Character.Torso.Position
1099
		nooutline(fp)
1100
		fp.Material=material
1101
		fp:BreakJoints()
1102
		return fp
1103
	end
1104
	
1105
	function mesh(Mesh,part,meshtype,meshid,offset,scale)
1106
		local mesh=it(Mesh)
1107
		mesh.Parent=part
1108
		if Mesh=="SpecialMesh" then
1109
			mesh.MeshType=meshtype
1110
			mesh.MeshId=meshid
1111
		end
1112
		mesh.Offset=offset
1113
		mesh.Scale=scale
1114
		return mesh
1115
	end
1116
	
1117
	function weld(parent,part0,part1,c0,c1)
1118
		local weld=it("Weld")
1119
		weld.Parent=parent
1120
		weld.Part0=part0
1121
		weld.Part1=part1
1122
		weld.C0=c0
1123
		weld.C1=c1
1124
		return weld
1125
	end
1126
1127
handle=part(Enum.FormFactor.Brick,m,Enum.Material.Plastic,0,0,"Really black","Handle",Vector3.new(4, 1, 2))
1128
handleweld=weld(m,Character["Torso"],handle,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.72890472, 0.675598145, -1.43186569, 0.258819073, 0, -0.965925813, 0, 1, 0, 0.965925813, 0, 0.258819073))
1129
mesh("SpecialMesh",handle,Enum.MeshType.FileMesh,"rbxassetid://1553468709",Vector3.new(0, 0, 0),Vector3.new(0.0480000004, 0.0480000004, 0.0480000004))
1130
1131
for i = 1, 15 do
1132
	local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/15.2, "Dark stone grey", "FaceGradient", VT(1.01,0.58,1.01),false)
1133
	FACE.Color = C3(0,0,0)
1134
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
1135
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/35,0), CF(0, 0, 0))
1136
end
1137
1138
Humanoid.DisplayDistanceType = "None"
1139
local naeeym2 = IT("BillboardGui",Character)
1140
naeeym2.AlwaysOnTop = true
1141
naeeym2.Size = UDim2.new(5,35,2,15)
1142
naeeym2.StudsOffset = Vector3.new(0,3,0)
1143
naeeym2.MaxDistance = 75
1144
naeeym2.Adornee = Character.Head
1145
naeeym2.Name = "Name"
1146
local tecks2 = IT("TextLabel",naeeym2)
1147
tecks2.BackgroundTransparency = 1
1148
tecks2.TextScaled = true
1149
tecks2.BorderSizePixel = 0
1150
tecks2.Text = ""
1151
tecks2.Font = "Bodoni"
1152
tecks2.TextSize = 30
1153
tecks2.TextStrokeTransparency = 0.5
1154
tecks2.TextColor3 = C3(0,0,0)
1155
tecks2.TextStrokeColor3 = BRICKC"Really black".Color
1156
tecks2.Size = UDim2.new(1,0,0.5,0)
1157
tecks2.Parent = naeeym2
1158
local EyeSizes={
1159
	NumberSequenceKeypoint.new(0,1,0),
1160
	NumberSequenceKeypoint.new(1,0,0)
1161
}
1162
local EyeTrans={
1163
	NumberSequenceKeypoint.new(0,0.8,0),
1164
	NumberSequenceKeypoint.new(1,1,0)
1165
}
1166
local PE=Instance.new("ParticleEmitter",nil)
1167
PE.LightEmission=.8
1168
PE.Color = ColorSequence.new(BRICKC("Really red").Color)
1169
PE.Size=NumberSequence.new(EyeSizes)
1170
PE.Transparency=NumberSequence.new(EyeTrans)
1171
PE.Lifetime=NumberRange.new(0.35,1.5)
1172
PE.Rotation=NumberRange.new(0,360)
1173
PE.Rate=999
1174
PE.VelocitySpread = 10000
1175
PE.Acceleration = Vector3.new(0,0,0)
1176
PE.Drag = 5
1177
PE.Speed = NumberRange.new(0,0,0)
1178
PE.Texture="http://www.roblox.com/asset/?id=1351966707"
1179
PE.ZOffset = -0
1180
PE.Name = "PE"
1181
PE.Enabled = false
1182
1183
function particles(art)
1184
	local PARTICLES = PE:Clone()
1185
	PARTICLES.Parent = art
1186
end
1187
1188
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
1189
	if FLOOR ~= nil then
1190
		coroutine.resume(coroutine.create(function()
1191
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
1192
			PART.CFrame = CF(POSITION)
1193
			for i = 1, 45 do
1194
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
1195
				RingPiece.Material = FLOOR.Material
1196
				RingPiece.Color = FLOOR.Color
1197
				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)))
1198
				Debris:AddItem(RingPiece,SWAIT)
1199
			end
1200
			PART:remove()
1201
		end))
1202
	end
1203
end
1204
1205
function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
1206
	if FLOOR ~= nil then
1207
		for i = 1, AMOUNT do
1208
			local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
1209
			DEBREE.Material = FLOOR.Material
1210
			DEBREE.Color = FLOOR.Color
1211
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
1212
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
1213
			coroutine.resume(coroutine.create(function()
1214
				Swait(15)
1215
				DEBREE.Parent = workspace
1216
				DEBREE.CanCollide = true
1217
				Debris:AddItem(DEBREE,SWAIT)
1218
			end))
1219
		end
1220
	end
1221
end
1222
1223
local top = Instance.new("Shirt")
1224
top.ShirtTemplate = "rbxassetid://338740550"
1225
top.Parent = Character
1226
top.Name = "Cloth"
1227
local bottom = Instance.new("Pants")
1228
bottom.PantsTemplate = "rbxassetid://338750779"
1229
bottom.Parent = Character
1230
bottom.Name = "Cloth"
1231
for _, c in pairs(Character:GetChildren()) do
1232
	if c.ClassName == "Part" and c.Name ~= "FaceGradient" and c.Name ~= "Hat" and c.Name ~= "Gem" then
1233
		c.Material = "Neon"
1234
		if c:FindFirstChildOfClass("ParticleEmitter") then
1235
			c:FindFirstChildOfClass("ParticleEmitter"):remove()
1236
		end
1237
		c.Color = C3(1,1,1)
1238
		if c == Head then
1239
			if c:FindFirstChild("face") then
1240
				c.face:remove()
1241
			end
1242
		end
1243
	elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.ClassName == "Hat" or c.Name == "Body Colors" then
1244
		c:remove()
1245
	elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
1246
		c:remove()
1247
	end
1248
end
1249
local BODY = {}
1250
for _, c in pairs(Character:GetDescendants()) do
1251
	if c:IsA("BasePart") and c.Name ~= "Handle" then
1252
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
1253
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1254
		end
1255
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
1256
	elseif c:IsA("JointInstance") then
1257
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
1258
	end
1259
end
1260
for e = 1, #BODY do
1261
	if BODY[e] ~= nil then
1262
		local STUFF = BODY[e]
1263
		local PART = STUFF[1]
1264
		local PARENT = STUFF[2]
1265
		local MATERIAL = STUFF[3]
1266
		local COLOR = STUFF[4]
1267
		local TRANSPARENCY = STUFF[5]
1268
		if PART.ClassName == "Part" and PART ~= RootPart then
1269
			PART.Material = MATERIAL
1270
			PART.Color = COLOR
1271
			PART.Transparency = TRANSPARENCY
1272
		end
1273
		PART.AncestryChanged:Connect(function()
1274
			PART.Parent = PARENT
1275
		end)
1276
	end
1277
end
1278
function refit()
1279
	Character.Parent = workspace
1280
	for e = 1, #BODY do
1281
		if BODY[e] ~= nil then
1282
			local STUFF = BODY[e]
1283
			local PART = STUFF[1]
1284
			local PARENT = STUFF[2]
1285
			local MATERIAL = STUFF[3]
1286
			local COLOR = STUFF[4]
1287
			local TRANSPARENCY = STUFF[5]
1288
			if PART.ClassName == "Part" and PART ~= RootPart then
1289
				PART.Material = MATERIAL
1290
				PART.Color = COLOR
1291
				PART.Transparency = TRANSPARENCY
1292
			end
1293
			if PART.Parent ~= PARENT then
1294
				Humanoid:remove()
1295
				PART.Parent = PARENT
1296
				Humanoid = IT("Humanoid",Character)
1297
			end
1298
		end
1299
	end
1300
end
1301
1302
Humanoid.Died:connect(function()
1303
	refit()
1304
end)
1305
-------------------
1306
--------
1307
1308
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really red", "Part", VT(0.2,0.5,0.2),false)
1309
MakeForm(Part,"Wedge")
1310
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1311
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really red", "Eye", VT(0.39,0.41,0.39),false)
1312
MakeForm(Part,"Cyl")
1313
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1314
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really red", "Part", VT(0.3,0.5,0.5),false)
1315
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1316
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really red", "Part", VT(0.3,0.4,0.5),false)
1317
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.65) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1318
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really red", "Part", VT(0.2,0,0.6),false)
1319
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, -0.2, -0.3))
1320
local LeftBarrel = CreatePart(3, Character, "Metal", 0, 0, "Really red", "Part", VT(0.28,5,0.28),false)
1321
MakeForm(LeftBarrel,"Cyl")
1322
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, LeftBarrel, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -2.5, 0))
1323
local Part = CreatePart(3, Character, "Metal", 0, 0, "Really red", "Part", VT(0,0.2,0.2),false)
1324
MakeForm(Part,"Wedge")
1325
CreateWeldOrSnapOrMotor("Weld", Handle, LeftBarrel, Part, CF(0, 2.415, 0.15) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1326
local LeftHole = CreatePart(3, Character, "Metal", 0, 0, "Really red", "Eye", VT(0.2,0,0.2),false)
1327
MakeForm(LeftHole,"Cyl")
1328
CreateWeldOrSnapOrMotor("Weld", Handle, LeftBarrel, LeftHole, CF(0, 2.5, 0), CF(0, 0, 0))
1329
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eye", VT(0.6,0.1,1)/2,false)
1330
--//=================================\\
1331
--||	     WEAPON CREATION
1332
--\\=================================//
1333
1334
1335
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eye", VT(0.6,0.1,1)/2,false)
1336
MakeForm(Eye,"Ball")
1337
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
1338
1339
local GRIP = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, HANDLE, CF(0,-1.1,-0.25)*ANGLES(RAD(-110),RAD(0),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(180)), CF(0,0,0))
1340
1341
local Particle = IT("ParticleEmitter",nil)
1342
Particle.Enabled = false
1343
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
1344
Particle.LightEmission = 0.5
1345
Particle.Rate = 150
1346
Particle.ZOffset = 0.2
1347
Particle.Rotation = NumberRange.new(-180, 180)
1348
Particle.RotSpeed = NumberRange.new(-180, 180)
1349
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
1350
Particle.Color = ColorSequence.new(C3(222,255,0),C3(222,255,0),C3(222,255,0),C3(222,255,0),C3(222,255,0),C3(222,255,0),C3(222,255,0),C3(222,255,0))
1351
1352
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
1353
function ParticleEmitter(Table)
1354
	local PRTCL = Particle:Clone()
1355
	local Speed = Table.Speed or 5
1356
	local Drag = Table.Drag or 0
1357
	local Size1 = Table.Size1 or 1
1358
	local Size2 = Table.Size2 or 5
1359
	local Lifetime1 = Table.Lifetime1 or 1
1360
	local Lifetime2 = Table.Lifetime2 or 1.5
1361
	local Parent = Table.Parent or Torso
1362
	local Emit = Table.Emit or 100
1363
	local Offset = Table.Offset or 360
1364
	local Acel = Table.Acel or VT(0,0,0)
1365
	local Enabled = Table.Enabled or false
1366
	PRTCL.Parent = Parent
1367
	PRTCL.Size = NumberSequence.new(Size1,Size2)
1368
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1369
	PRTCL.Speed = NumberRange.new(Speed)
1370
	PRTCL.VelocitySpread = Offset
1371
	PRTCL.Drag = Drag
1372
	PRTCL.Acceleration = Acel
1373
	if Enabled == false then
1374
		PRTCL:Emit(Emit)
1375
		Debris:AddItem(PRTCL,Lifetime2)
1376
	else
1377
		PRTCL.Enabled = true
1378
	end
1379
	return PRTCL
1380
end
1381
1382
local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
1383
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
1384
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1385
MakeForm(Part,"Wedge")
1386
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
1387
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
1388
MakeForm(Part,"Wedge")
1389
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
1390
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
1391
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1392
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
1393
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1394
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
1395
MakeForm(Part,"Cyl")
1396
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1397
for i = 1, 8 do
1398
	local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
1399
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
1400
end
1401
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
1402
MakeForm(Part,"Cyl")
1403
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1404
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
1405
MakeForm(Part,"Ball")
1406
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1407
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
1408
MakeForm(Part,"Wedge")
1409
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
1410
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
1411
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1412
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
1413
MakeForm(Part,"Cyl")
1414
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1415
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
1416
MakeForm(Part,"Cyl")
1417
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1418
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
1419
MakeForm(Part,"Cyl")
1420
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1421
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1422
MakeForm(Part,"Wedge")
1423
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1424
local LASTPART = Handle
1425
for i = 1, 10 do
1426
	if LASTPART == Handle then
1427
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
1428
		LASTPART = Part
1429
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1430
	else
1431
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
1432
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
1433
		LASTPART = Part
1434
	end
1435
end
1436
1437
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
1438
MakeForm(Barrel,"Cyl")
1439
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1440
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
1441
MakeForm(Part,"Cyl")
1442
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
1443
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
1444
MakeForm(Part,"Wedge")
1445
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1446
local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
1447
MakeForm(Hole,"Cyl")
1448
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
1449
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
1450
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1451
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
1452
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
1453
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1454
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
1455
coroutine.resume(coroutine.create(function()
1456
	while wait() do
1457
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
1458
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
1459
	end
1460
end))
1461
1462
ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.7, Size2 = 0, Lifetime1 = 0.7, Lifetime2 = 0.7, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(3,9,8)})
1463
--ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 0.8, Size2 = 0, Lifetime1 = 0.8, Lifetime2 = 0.9, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(3,9,8)})
1464
1465
1466
for _, c in pairs(Weapon:GetDescendants()) do
1467
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
1468
		c.Material = "Glass"
1469
		c.Color = C3(0,0,0)
1470
	elseif c.ClassName == "Part" and c.Name == "Eye" then
1471
		c.Color = C3(222,255,0)
1472
		c.Material = "Neon"
1473
	end
1474
end
1475
1476
Weapon.Parent = Character
1477
for _, c in pairs(Weapon:GetChildren()) do
1478
	if c.ClassName == "Part" then
1479
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1480
	end
1481
end
1482
1483
function swait(num)
1484
	if num == 0 or num == nil then
1485
		ArtificialHB.Event:wait()
1486
	else
1487
		for i = 0, num do
1488
			ArtificialHB.Event:wait()
1489
		end
1490
	end
1491
end
1492
1493
function chatfunc(text)
1494
	local chat = coroutine.wrap(function()
1495
	if Character:FindFirstChild("TalkingBillBoard")~= nil then
1496
		Character:FindFirstChild("TalkingBillBoard"):destroy()
1497
	end
1498
	local Bill = Instance.new("BillboardGui",Character)
1499
	Bill.Size = UDim2.new(0,100,0,40)
1500
	Bill.StudsOffset = Vector3.new(0,3,0)
1501
	Bill.Adornee = Character.Head
1502
	Bill.Name = "TalkingBillBoard"
1503
	local Hehe = Instance.new("TextLabel",Bill)
1504
	Hehe.BackgroundTransparency = 1
1505
	Hehe.BorderSizePixel = 0
1506
	Hehe.Text = ""
1507
	Hehe.Font = "Bodoni"
1508
	Hehe.TextSize = 40
1509
	Hehe.TextStrokeTransparency = 0
1510
	Hehe.Size = UDim2.new(1,0,0.5,0)
1511
	coroutine.resume(coroutine.create(function()
1512
		while Hehe ~= nil do
1513
			swait()	
1514
			Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))	
1515
			Hehe.Rotation = math.random(-5,5)
1516
			Hehe.TextColor3 = Color3.new(222,255,0)
1517
			Hehe.TextStrokeColor3 = Color3.new(222,255,0)
1518
		end
1519
	end))
1520
	for i = 1,string.len(text),1 do
1521
		swait()
1522
		Hehe.Text = string.sub(text,1,i)
1523
	end
1524
	swait(90)--Re[math.random(1, 93)]
1525
	for i = 0, 1, .025 do
1526
		swait()
1527
		Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
1528
		Hehe.TextStrokeTransparency = i
1529
		Hehe.TextTransparency = i
1530
	end
1531
	Bill:Destroy()
1532
	end)
1533
chat()
1534
end
1535
1536
function onChatted(msg)
1537
	chatfunc(msg)
1538
end
1539
1540
Player.Chatted:connect(onChatted)
1541
1542
local BODY = {}
1543
for _, c in pairs(Character:GetDescendants()) do
1544
	if c:IsA("BasePart") and c.Name ~= "Handle" then
1545
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
1546
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1547
		end
1548
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency,c.Size,c.Name})
1549
	elseif c:IsA("JointInstance") then
1550
		table.insert(BODY,{c,c.Parent,nil,nil,nil,nil,nil})
1551
	end
1552
end
1553
1554
function refit()
1555
	Character.Parent = workspace
1556
	for e = 1, #BODY do
1557
		if BODY[e] ~= nil then
1558
			local STUFF = BODY[e]
1559
			local PART = STUFF[1]
1560
			local PARENT = STUFF[2]
1561
			local MATERIAL = STUFF[3]
1562
			local COLOR = STUFF[4]
1563
			local TRANSPARENCY = STUFF[5]
1564
			--local SIZE = STUFF[6]
1565
			local NAME = STUFF[7]
1566
			if PART.ClassName == "Part" and PART ~= RootPart then
1567
				PART.Material = MATERIAL
1568
				PART.Transparency = TRANSPARENCY
1569
				PART.Name = NAME
1570
			end
1571
			if PART.Parent ~= PARENT then
1572
				Humanoid:remove()
1573
				PART.Parent = PARENT
1574
				Humanoid = IT("Humanoid",Character)
1575
			end
1576
		end
1577
	end
1578
end
1579
1580
Humanoid.Died:connect(function()
1581
	           refit()
1582
end)
1583
1584
function printbye(Name)
1585
	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, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command"}
1586
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
1587
end
1588
1589
workspace.ChildAdded:connect(function(instance)
1590
    for BANISH = 1, #TOBANISH do
1591
		if TOBANISH[BANISH] ~= nil then
1592
			if instance.Name == TOBANISH[BANISH] then
1593
				coroutine.resume(coroutine.create(function()
1594
					printbye(instance.Name)
1595
					instance:ClearAllChildren()
1596
					Debris:AddItem(instance,0.0005)
1597
				end))
1598
			end
1599
		end
1600
	end
1601
end)
1602
1603
--//=================================\\
1604
--|| 	          ATTACK GUI
1605
--\\=================================//
1606
	local Frm=Instance.new("Frame",MovesGui)Frm.BackgroundColor3=Color3.new()Frm.BorderSizePixel=0
1607
	Frm.BackgroundTransparency=.5 Frm.Size=UDim2.new(.3,0,.5,0)local Show=true Frm.Position=UDim2.new(.7,0,.5,0)
1608
	local normal=Instance.new("TextLabel",Frm)normal.Size=UDim2.new(1,0,1,0)normal.TextStrokeTransparency=0
1609
	normal.BackgroundTransparency=1 normal.TextColor3=Color3.new(255,0,0)
1610
	normal.TextXAlignment="Left"normal.TextYAlignment="Top"
1611
	normal.Text=[[
1612
		Controls:
1613
z - Bullet
1614
c - Beam
1615
v - Warp
1616
x - Sky Bound
1617
1 - Star
1618
2 - Hell Jail
1619
3 - Pitful
1620
4 - Strike ( Different version)
1621
5 - Rip (mouse on player)
1622
6 - Strike
1623
7 - Aura
1624
8 - Black Flames
1625
9 - Ball Of Destruction idk 
1626
0 - Strike (mouse on player)                
1627
- - Taunt 
1628
= -Extreme Kill (Mouse On Player) 
1629
q - Lava Beam
1630
]]
1631
1632
--//=================================\\
1633
--||			DAMAGING
1634
--\\=================================//
1635
function Freeze(position, range)
1636
	for i, v in ipairs(workspace:GetChildren()) do
1637
		local body = v:GetChildren()
1638
		for part = 1, #body do
1639
			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
1640
				v:BreakJoints()
1641
				body[part].Material = "Ice"
1642
				body[part].BrickColor = BRICKC("Really red")
1643
				body[part].Anchored = true
1644
			end
1645
		end
1646
	end
1647
end
1648
function ApplyDamage(Humanoid,Damage,TorsoPart)
1649
	local defence = Instance.new("BoolValue",Humanoid.Parent)
1650
	defence.Name = ("HitBy"..Player.Name)
1651
	game:GetService("Debris"):AddItem(defence, 0.001)
1652
	Damage = Damage * DAMAGEMULTIPLIER
1653
	if Humanoid.Health ~= 0 then
1654
		local CritChance = MRANDOM(1,100)
1655
		if Damage > Humanoid.Health then
1656
			Damage = math.ceil(Humanoid.Health)
1657
			if Damage == 0 then
1658
				Damage = 0.1
1659
			end
1660
		end
1661
		Humanoid.Health = Humanoid.Health - Damage
1662
	end
1663
end
1664
1665
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
1666
	local CHILDREN = workspace:GetDescendants()
1667
	for index, CHILD in pairs(CHILDREN) do
1668
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1669
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1670
			if HUM then
1671
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1672-
											local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
1672+
1673
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1674
						if CHILD.Parent == Effects and CHILD:FindFirstChild("RealBody") then
1675
							local BODY = CHILD.RealBody.Value
1676
							if BODY then
1677
								local HUM = BODY:FindFirstChildOfClass("Humanoid")
1678
								if HUM then
1679
									if INSTAKILL == true or (HUM.MaxHealth == math.huge and MAXDMG > 0) then
1680
										BODY:BreakJoints()
1681
									else
1682
										local TORSO = BODY:FindFirstChild("Torso") or BODY:FindFirstChild("UpperTorso")
1683
										if TORSO then
1684
											local HITPLAYERSOUNDS = {--[["177082446", "177082446", "177082446", "177082446", "177082446", "177082446"--]]"177082446", "177082446", "177082446", "177082446", "177082446", "177082446"}
1685
											local DMG = MRANDOM(MINDMG,MAXDMG)/2
1686
											WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(1,85,1), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = C3(0.3,0,0), SoundID = HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
1687
											ApplyDamage(HUM,DMG,TORSO)
1688
										end
1689
									end
1690
								end
1691
							end
1692
						else
1693
				if INSTAKILL == true or (HUM.MaxHealth == math.huge and MAXDMG > 0) then
1694
                                CHILD:BreakJoints()
1695
                                SpawnSoul(HUM)
1696
							else
1697
								local DMG = MRANDOM(MINDMG,MAXDMG)
1698
								ApplyDamage(HUM,DMG,TORSO)
1699
							end
1700
							if FLING > 0 then
1701
								for _, c in pairs(CHILD:GetChildren()) do
1702
									if c:IsA("BasePart") then
1703
										local bv = Instance.new("BodyVelocity") 
1704
										bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1705
										bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
1706
										bv.Parent = c
1707
										Debris:AddItem(bv,0.05)
1708
									end
1709
								end
1710
							end
1711
						end
1712
					end
1713
				end
1714
			end
1715
		end
1716
end
1717
end
1718
1719
1720
function clerp(a, b, t)
1721
  return a:lerp(b, t)
1722
end
1723
1724
function newBezier(startpos, pos2, pos3, endpos, t)
1725
  local A = clerp(startpos, pos2, t)
1726
  local B = clerp(pos2, pos3, t)
1727
  local C = clerp(pos3, endpos, t)
1728
  local lerp1 = clerp(A, B, t)
1729
  local lerp2 = clerp(B, C, t)
1730
  local cubic = clerp(lerp1, lerp2, t)
1731
  return cubic
1732
end
1733
1734
function SoulSteal(Target,SOUL)
1735
	local newball = Instance.new("Part", workspace)
1736
	newball.Anchored = true
1737
	newball.Shape = "Ball"
1738
	newball.Material = "Neon"
1739
	newball.Size = Vector3.new(0,0,0)
1740
	newball.CanCollide = false
1741
	newball.CFrame = CF(Target)
1742
	newball.BrickColor = BRICKC"Maroon"
1743
	newball.Transparency = 1
1744
	local POS = SOUL.Position
1745
	local onefourth = Target:Lerp(POS, 0.25) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25))
1746
	local threefourths = Target:Lerp(POS, 0.75) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25))
1747
	 local A1 = IT("Attachment",newball)
1748
	    A1.Position = Vector3.new(0, 2.5, 0)
1749
	  local A2 = IT("Attachment",newball)
1750
	    A2.Position = Vector3.new(0, -2.5, 0)
1751
	  local Trail = IT("Trail",newball)
1752
	    Trail.LightEmission = 1
1753
	    Trail.FaceCamera = true
1754
	    Trail.Texture = "rbxassetid://945758042"
1755
	    Trail.Attachment0 = A1
1756
	    Trail.Attachment1 = A2
1757
	    Trail.Lifetime = 2
1758
	    Trail.MinLength = 0
1759
	    Trail.Transparency = NumberSequence.new(0, 1)
1760
	    Trail.Color = ColorSequence.new(newball.Color)
1761
  	coroutine.resume(coroutine.create(function()
1762
   		for i = 0, 1, 0.07 do
1763
    	  	Swait()
1764
    	  	newball.CFrame = CFrame.new(newBezier(Target, onefourth, threefourths, POS, i))
1765
    	end
1766
		newball.Transparency = 1
1767
		CreateSound("444667859", SOUL, 10, MRANDOM(8,12)/10)
1768
		SOUL.Size = SOUL.Size + VT(0.3,0.3,0.3)
1769
  		game:GetService("Debris"):AddItem(newball, 5)
1770
	end))
1771
end
1772
1773
function SpawnSoul(Humanoid)
1774
	coroutine.resume(coroutine.create(function()
1775
		local TORSO = Humanoid.Parent:FindFirstChild("Torso") or Humanoid.Parent:FindFirstChild("UpperTorso")
1776
		local SOULMODEL = IT("Model",Effects)
1777
		SOULMODEL.Name = Humanoid.Parent.Name.."'s Soul"
1778
		local SOUL = CreatePart(3, SOULMODEL, "Neon", 0, 0, "Really red", "Head", VT(0.5,0.5,0.5))
1779
		SOUL.CFrame = CF(TORSO.Position)
1780
	 	local A1 = IT("Attachment",SOUL)
1781
	 	A1.Position = Vector3.new(0, 0.25, 0)
1782
	 	local A2 = IT("Attachment",SOUL)
1783
	    A2.Position = Vector3.new(0, -0.25, 0)
1784
	 	local Trail = IT("Trail",SOUL)
1785
	    Trail.LightEmission = 0.3
1786
	    Trail.FaceCamera = true
1787
	    Trail.Texture = "rbxassetid://945758042"
1788
	    Trail.Attachment0 = A1
1789
	    Trail.Attachment1 = A2
1790
	    Trail.Lifetime = 0.5
1791
	    Trail.MinLength = 0
1792
	    Trail.Transparency = NumberSequence.new(0)
1793
	    Trail.Color = ColorSequence.new(SOUL.Color)
1794
		MakeForm(SOUL,"Ball")
1795
		local DISTANCE = nil
1796
		local HUM = IT("Humanoid",SOULMODEL)
1797
		repeat
1798
			Swait()
1799
			SOUL.CFrame = CF(SOUL.Position,Torso.Position)*CF(0,0,-0.2)
1800
			DISTANCE = (SOUL.Position - Torso.Position).Magnitude
1801
		until DISTANCE < 0.4
1802
		WACKYEFFECT({EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(6,6,6), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = "444667859", SoundPitch = 2, SoundVolume = 2})
1803
		SOUL.Transparency = 1
1804
		A1.Parent = Torso
1805
		A2.Parent = Torso
1806
		Trail.Parent = Torso
1807
		Debris:AddItem(SOULMODEL,10)
1808
		SOULWELL = SOULWELL + 1
1809
		for i = 1, 100 do
1810
			Swait()
1811
			Trail.Transparency = NumberSequence.new(i/100)
1812
		end
1813
		A1:remove()
1814
		A2:remove()
1815
		Trail:remove()
1816
	end))
1817
end
1818
function ApplyDmg(Humanoid,Damage,CritRate,CritMultiplier,DoesOneShot)
1819
	coroutine.resume(coroutine.create(function()
1820
		local defence = Instance.new("BoolValue",Humanoid.Parent)
1821
		defence.Name = ("HitBy"..Player.Name)
1822
		game:GetService("Debris"):AddItem(defence, 0.001)
1823
		Damage = Damage * DAMAGEMULTIPLIER
1824
		if Humanoid.Health ~= 0 then
1825
			local CritChance = MRANDOM(1,100)
1826
			if CritChance < CritRate + 1 then
1827
				Damage = Damage*CritMultiplier
1828
			end
1829
			if Damage > Humanoid.Health then
1830
				Damage = math.ceil(Humanoid.Health)
1831
				if Damage == 0 then
1832
					Damage = 0.1
1833
				end
1834
			end
1835
			if DoesOneShot == false then
1836
				for _, c in pairs(Humanoid.Parent:GetChildren()) do
1837
					if c.Name ~= "HumanoidRootPart" and c.Name ~= "Torso" and c.Name ~= "Head" and c.Name ~= "UpperTorso" and c.Name ~= "LowerTorso" then
1838
						if c.ClassName == "Part" or c.ClassName == "MeshPart" then
1839
							if MRANDOM(1,20) == 1 then
1840
								Shatter(c)
1841
							end
1842
						end
1843
					end
1844
				end
1845
				Humanoid.Health = Humanoid.Health - Damage
1846
				if Humanoid.Parent:FindFirstChild("Head") then
1847
					CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], Humanoid.Parent.Head, 5, 1)
1848
					if CritChance < CritRate + 1 then
1849
						StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
1850
					else
1851
						StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, C3(0, 0, 0))
1852
					end
1853
				end
1854
			elseif DoesOneShot == true then
1855
				--print("["..Humanoid.Parent.Name.."]: One shot!? Really!?!?")
1856
				Humanoid.Parent:BreakJoints()
1857
				SpawnSoul(Humanoid)
1858
				if Humanoid.Parent:FindFirstChild("Head") then
1859
					StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "INF", C3(1, 0, 0))
1860
				end
1861
				for _, c in pairs(Humanoid.Parent:GetChildren()) do
1862
					if c.ClassName == "Part" or c.ClassName == "MeshPart" then
1863
						Shatter(c)
1864
					end
1865
				end
1866
			end
1867
			if Humanoid.Health == 0 then
1868
				--print("["..Humanoid.Parent.Name.."]: It's like stepping on glass, but worse!")
1869
				SpawnSoul(Humanoid)
1870
				for _, c in pairs(Humanoid.Parent:GetChildren()) do
1871
					if c.ClassName == "Part" or c.ClassName == "MeshPart" then
1872
						Shatter(c)
1873
					end
1874
				end
1875
			end
1876
		end
1877
	end))
1878
end
1879
1880
function AoEDmg(position,radius,min,max,maxstrength,critrate,critmultiplier,BESERK)
1881
	local dmg = math.random(min,max)
1882
	for i,v in ipairs(workspace:GetChildren()) do
1883
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
1884
		local body = v:GetChildren()
1885
			for part = 1, #body do
1886
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1887
					if(body[part].Position - position).Magnitude < radius then
1888
						if v.ClassName == "Model" then
1889
							if v:FindFirstChildOfClass("Humanoid") then
1890
								ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier,BESERK)
1891
								local bv = Instance.new("BodyVelocity") 
1892
								bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1893
								bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
1894
								bv.Parent = body[part]
1895
								Debris:AddItem(bv,0.2)
1896
							end
1897
						end
1898
					end
1899
				end
1900
			end
1901
		end
1902
		if v:FindFirstChild("HitBy"..Player.Name) then
1903
			v:FindFirstChild("HitBy"..Player.Name):remove()
1904
		end
1905
	end
1906
end
1907
1908
function AoEStun(POS,RANGE,LAST)
1909
	for i,v in ipairs(workspace:GetChildren()) do
1910
	if v:FindFirstChild("StunnedBy"..Player.Name) == nil then
1911
		local body = v:GetChildren()
1912
			for part = 1, #body do
1913
				if(v:FindFirstChild("StunnedBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1914
					if(body[part].Position - POS).Magnitude < RANGE then
1915
						if v.ClassName == "Model" then
1916
							if v:FindFirstChild("Humanoid") then
1917
								if v.Humanoid.Health ~= 0 then
1918
									Stun(v.Humanoid,LAST)
1919
									local defence = Instance.new("BoolValue",v)
1920
									defence.Name = ("StunnedBy"..Player.Name)
1921
									game:GetService("Debris"):AddItem(defence, 0.001)
1922
								end
1923
							end
1924
						end
1925
					end
1926
				end
1927
			end
1928
		end
1929
	end
1930
end
1931
1932
function Stun(HUMANOID,LAST)
1933
	HUMANOID.PlatformStand = true
1934
	local defence = Instance.new("BoolValue",HUMANOID.Parent)
1935
	defence.Name = ("StunnedBy"..Player.Name)
1936
	game:GetService("Debris"):AddItem(defence, LAST)
1937
	if HUMANOID.Parent:FindFirstChild("Head") then
1938
		StatLabel("Normal", HUMANOID.Parent.Head.CFrame * CF(0, 0 + (HUMANOID.Parent.Head.Size.z - 1), 0), "Stunned!", C3(0.3, 0.3, 0.3))
1939
	end
1940
	coroutine.resume(coroutine.create(function()
1941
		Swait(LAST*100)
1942
		HUMANOID.PlatformStand = false
1943
	end))
1944
end
1945
1946
function killnearest(position,range,maxstrength)
1947
	for i,v in ipairs(workspace:GetChildren()) do
1948
	local body = v:GetChildren()
1949
		for part = 1, #body do
1950
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1951
				if(body[part].Position - position).Magnitude < range then
1952
					if v.ClassName == "Model" then
1953
						v:BreakJoints()
1954
					end
1955
					--table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
1956
					body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
1957
				end
1958
			end
1959
		end
1960
		if v.ClassName == "Part" then
1961
			if v.Anchored == false and (v.Position - position).Magnitude < range then
1962
				--table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
1963
				v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
1964
			end
1965
		end
1966
	end
1967
end
1968
1969
function Fling(part,direction,speed)
1970
	part.Velocity = direction*speed
1971
end
1972
local HITPOS = nil
1973
function GoToHell(position,radius)
1974
	for i,v in ipairs(workspace:GetChildren()) do
1975
	if v:FindFirstChild("Hit2By"..Player.Name) == nil then
1976
		local body = v:GetChildren()
1977
			for part = 1, #body do
1978
				if(v:FindFirstChild("Hit2By"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1979
					if(body[part].Position - position).Magnitude < radius then
1980
						if v.ClassName == "Model" then
1981
							if v:FindFirstChild("Humanoid") then
1982
								local defence = Instance.new("BoolValue",v)
1983
								defence.Name = ("Hit2By"..Player.Name)
1984
								if v.Humanoid.Health ~= 0 then
1985
									local TORS = v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso") or v:FindFirstChild("UpperTorso")
1986
									if TORS ~= nil then
1987
										local HITFLOOR2, HITPOS2 = Raycast(TORS.Position, (CF(TORS.Position, TORS.Position + VT(0, -1, 0))).lookVector, 5 * TORS.Size.Y/2, v)
1988
										coroutine.resume(coroutine.create(function()
1989
											if HITFLOOR2 ~= nil then
1990
												TORS.Anchored = true
1991
												local Hole2 = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Hole", VT(TORS.Size.X*4,0,TORS.Size.X*4))
1992
												Hole2.Color = C3(1,0,0)
1993
												local MESH = MakeForm(Hole2,"Cyl")
1994
												MESH.Scale = VT(0,1,0)
1995
												Hole2.CFrame = CF(HITPOS2)
1996
												for i = 1, 10 do
1997
													Swait()
1998
													MESH.Scale = MESH.Scale + VT(0.1,0,0.1)
1999
												end
2000
												repeat
2001
													Swait()
2002
													TORS.CFrame = TORS.CFrame * CF(0,-0.1,0)
2003
												until TORS.Position.Y<position.Y-4
2004
												v:remove()
2005
												for i = 1, 10 do
2006
													Swait()
2007
													MESH.Scale = MESH.Scale - VT(0.1,0,0.1)
2008
												end
2009
												Hole2:remove()
2010
											end
2011
										end))
2012
									end
2013
								end
2014
							end
2015
						end
2016
						--body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
2017
					end
2018
				end
2019
			end
2020
		end	
2021
	end
2022
end
2023
function ApplyDamage(Humanoid, Damage, TorsoPart)
2024
	local defence = Instance.new("BoolValue", Humanoid.Parent)
2025
	defence.Name = "HitBy" .. Player.Name
2026
	game:GetService("Debris"):AddItem(defence, 0.001)
2027
	Damage = Damage * DAMAGEMULTIPLIER
2028
	if Humanoid.Health ~= 0 then
2029
		local CritChance = MRANDOM(1, 100)
2030
		if Damage > Humanoid.Health then
2031
			Damage = math.ceil(Humanoid.Health)
2032
			if Damage == 0 then
2033
				Damage = 0.1
2034
			end
2035
		end
2036
		Humanoid.Health = Humanoid.Health - Damage
2037
		StatLabel(TorsoPart.CFrame * CF(0, 0 + (TorsoPart.Size.z - 1), 0), Damage, C3(0, 0, 0))
2038
	end
2039
end
2040
function ApplyAoE(POSITION, RANGE, MINDMG, MAXDMG, FLING, INSTAKILL)
2041
	local CHILDREN = workspace:GetDescendants()
2042
	for index, CHILD in pairs(CHILDREN) do
2043
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2044
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2045
			if HUM then
2046
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2047
				if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
2048
					if INSTAKILL == true then
2049
						Petrify(CHILD)
2050
					else
2051
						local DMG = MRANDOM(MINDMG, MAXDMG)
2052
						ApplyDamage(HUM, DMG, TORSO)
2053
					end
2054
					if FLING > 0 then
2055
						for _, c in pairs(CHILD:GetChildren()) do
2056
							if c:IsA("BasePart") then
2057
								local bv = Instance.new("BodyVelocity")
2058
								bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
2059
								bv.velocity = CF(POSITION, TORSO.Position).lookVector * FLING
2060
								bv.Parent = c
2061
								Debris:AddItem(bv, 0.05)
2062
							end
2063
						end
2064
					end
2065
				end
2066
			end
2067
		end
2068
	end
2069
end
2070
function newBezier(startpos, pos2, pos3, endpos, t)
2071
  local A = clerp(startpos, pos2, t)
2072
  local B = clerp(pos2, pos3, t)
2073
  local C = clerp(pos3, endpos, t)
2074
  local lerp1 = clerp(A, B, t)
2075
  local lerp2 = clerp(B, C, t)
2076
  local cubic = clerp(lerp1, lerp2, t)
2077
  return cubic
2078
end
2079
2080
function SoulSteal(Target,SOUL)
2081
	local newball = Instance.new("Part", workspace)
2082
	newball.Anchored = true
2083
	newball.Shape = "Ball"
2084
	newball.Material = "Neon"
2085
	newball.Size = Vector3.new(0,0,0)
2086
	newball.CanCollide = false
2087
	newball.CFrame = CF(Target)
2088
	newball.BrickColor = BRICKC"Maroon"
2089
	newball.Transparency = 1
2090
	local POS = SOUL.Position
2091
	local onefourth = Target:Lerp(POS, 0.25) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25))
2092
	local threefourths = Target:Lerp(POS, 0.75) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25))
2093
	 local A1 = IT("Attachment",newball)
2094
	    A1.Position = Vector3.new(0, 2.5, 0)
2095
	  local A2 = IT("Attachment",newball)
2096
	    A2.Position = Vector3.new(0, -2.5, 0)
2097
	  local Trail = IT("Trail",newball)
2098
	    Trail.LightEmission = 1
2099
	    Trail.FaceCamera = true
2100
	    Trail.Texture = "rbxassetid://945758042"
2101
	    Trail.Attachment0 = A1
2102
	    Trail.Attachment1 = A2
2103
	    Trail.Lifetime = 2
2104
	    Trail.MinLength = 0
2105
	    Trail.Transparency = NumberSequence.new(0, 1)
2106
	    Trail.Color = ColorSequence.new(newball.Color)
2107
  	coroutine.resume(coroutine.create(function()
2108
   		for i = 0, 1, 0.07 do
2109
    	  	Swait()
2110
    	  	newball.CFrame = CFrame.new(newBezier(Target, onefourth, threefourths, POS, i))
2111
    	end
2112
		newball.Transparency = 1
2113
		CreateSound("444667859", SOUL, 10, MRANDOM(8,12)/10)
2114
		SOUL.Size = SOUL.Size + VT(0.3,0.3,0.3)
2115
  		game:GetService("Debris"):AddItem(newball, 5)
2116
	end))
2117
end
2118
2119
function SpawnSoul(Humanoid)
2120
	coroutine.resume(coroutine.create(function()
2121
		local TORSO = Humanoid.Parent:FindFirstChild("Torso") or Humanoid.Parent:FindFirstChild("UpperTorso")
2122
		local SOULMODEL = IT("Model",Effects)
2123
		SOULMODEL.Name = Humanoid.Parent.Name.."'s Soul"
2124
		local SOUL = CreatePart(3, SOULMODEL, "Neon", 0, 0, "Really red", "Head", VT(0.5,0.5,0.5))
2125
		SOUL.CFrame = CF(TORSO.Position)
2126
	 	local A1 = IT("Attachment",SOUL)
2127
	 	A1.Position = Vector3.new(0, 0.25, 0)
2128
	 	local A2 = IT("Attachment",SOUL)
2129
	    A2.Position = Vector3.new(0, -0.25, 0)
2130
	 	local Trail = IT("Trail",SOUL)
2131
	    Trail.LightEmission = 0.3
2132
	    Trail.FaceCamera = true
2133
	    Trail.Texture = "rbxassetid://945758042"
2134
	    Trail.Attachment0 = A1
2135
	    Trail.Attachment1 = A2
2136
	    Trail.Lifetime = 0.5
2137
	    Trail.MinLength = 0
2138
	    Trail.Transparency = NumberSequence.new(0)
2139
	    Trail.Color = ColorSequence.new(SOUL.Color)
2140
		MakeForm(SOUL,"Ball")
2141
		local DISTANCE = nil
2142
		local HUM = IT("Humanoid",SOULMODEL)
2143
		repeat
2144
			Swait()
2145
			SOUL.CFrame = CF(SOUL.Position,Torso.Position)*CF(0,0,-0.2)
2146
			DISTANCE = (SOUL.Position - Torso.Position).Magnitude
2147
		until DISTANCE < 0.4
2148
		WACKYEFFECT({EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(6,6,6), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = "444667859", SoundPitch = 2, SoundVolume = 2})
2149
		SOUL.Transparency = 1
2150
		A1.Parent = Torso
2151
		A2.Parent = Torso
2152
		Trail.Parent = Torso
2153
		Debris:AddItem(SOULMODEL,10)
2154
		SOULWELL = SOULWELL + 1
2155
		for i = 1, 100 do
2156
			Swait()
2157
			Trail.Transparency = NumberSequence.new(i/100)
2158
		end
2159
		A1:remove()
2160
		A2:remove()
2161
		Trail:remove()
2162
	end))
2163
end
2164
function ApplyDmg(Humanoid,Damage,CritRate,CritMultiplier,DoesOneShot)
2165
	coroutine.resume(coroutine.create(function()
2166
		local defence = Instance.new("BoolValue",Humanoid.Parent)
2167
		defence.Name = ("HitBy"..Player.Name)
2168
		game:GetService("Debris"):AddItem(defence, 0.001)
2169
		Damage = Damage * DAMAGEMULTIPLIER
2170
		if Humanoid.Health ~= 0 then
2171
			local CritChance = MRANDOM(1,100)
2172
			if CritChance < CritRate + 1 then
2173
				Damage = Damage*CritMultiplier
2174
			end
2175
			if Damage > Humanoid.Health then
2176
				Damage = math.ceil(Humanoid.Health)
2177
				if Damage == 0 then
2178
					Damage = 0.1
2179
				end
2180
			end
2181
			if DoesOneShot == false then
2182
				for _, c in pairs(Humanoid.Parent:GetChildren()) do
2183
					if c.Name ~= "HumanoidRootPart" and c.Name ~= "Torso" and c.Name ~= "Head" and c.Name ~= "UpperTorso" and c.Name ~= "LowerTorso" then
2184
						if c.ClassName == "Part" or c.ClassName == "MeshPart" then
2185
							if MRANDOM(1,20) == 1 then
2186
								Shatter(c)
2187
							end
2188
						end
2189
					end
2190
				end
2191
				Humanoid.Health = Humanoid.Health - Damage
2192
				if Humanoid.Parent:FindFirstChild("Head") then
2193
					CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], Humanoid.Parent.Head, 5, 1)
2194
					if CritChance < CritRate + 1 then
2195
						StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
2196
					else
2197
						StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, C3(0, 0, 0))
2198
					end
2199
				end
2200
			elseif DoesOneShot == true then
2201
				--print("["..Humanoid.Parent.Name.."]: One shot!? Really!?!?")
2202
				Humanoid.Parent:BreakJoints()
2203
				SpawnSoul(Humanoid)
2204
				if Humanoid.Parent:FindFirstChild("Head") then
2205
					StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "INF", C3(1, 0, 0))
2206
				end
2207
				for _, c in pairs(Humanoid.Parent:GetChildren()) do
2208
					if c.ClassName == "Part" or c.ClassName == "MeshPart" then
2209
						Shatter(c)
2210
					end
2211
				end
2212
			end
2213
			if Humanoid.Health == 0 then
2214
				--print("["..Humanoid.Parent.Name.."]: It's like stepping on glass, but worse!")
2215
				SpawnSoul(Humanoid)
2216
				for _, c in pairs(Humanoid.Parent:GetChildren()) do
2217
					if c.ClassName == "Part" or c.ClassName == "MeshPart" then
2218
						Shatter(c)
2219
					end
2220
				end
2221
			end
2222
		end
2223
	end))
2224
end
2225
2226
function AoEDmg(position,radius,min,max,maxstrength,critrate,critmultiplier,BESERK)
2227
	local dmg = math.random(min,max)
2228
	for i,v in ipairs(workspace:GetChildren()) do
2229
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
2230
		local body = v:GetChildren()
2231
			for part = 1, #body do
2232
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
2233
					if(body[part].Position - position).Magnitude < radius then
2234
						if v.ClassName == "Model" then
2235
							if v:FindFirstChildOfClass("Humanoid") then
2236
								ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier,BESERK)
2237
								local bv = Instance.new("BodyVelocity") 
2238
								bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2239
								bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
2240
								bv.Parent = body[part]
2241
								Debris:AddItem(bv,0.2)
2242
							end
2243
						end
2244
					end
2245
				end
2246
			end
2247
		end
2248
		if v:FindFirstChild("HitBy"..Player.Name) then
2249
			v:FindFirstChild("HitBy"..Player.Name):remove()
2250
		end
2251
	end
2252
end
2253
2254
function AoEStun(POS,RANGE,LAST)
2255
	for i,v in ipairs(workspace:GetChildren()) do
2256
	if v:FindFirstChild("StunnedBy"..Player.Name) == nil then
2257
		local body = v:GetChildren()
2258
			for part = 1, #body do
2259
				if(v:FindFirstChild("StunnedBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
2260
					if(body[part].Position - POS).Magnitude < RANGE then
2261
						if v.ClassName == "Model" then
2262
							if v:FindFirstChild("Humanoid") then
2263
								if v.Humanoid.Health ~= 0 then
2264
									Stun(v.Humanoid,LAST)
2265
									local defence = Instance.new("BoolValue",v)
2266
									defence.Name = ("StunnedBy"..Player.Name)
2267
									game:GetService("Debris"):AddItem(defence, 0.001)
2268
								end
2269
							end
2270
						end
2271
					end
2272
				end
2273
			end
2274
		end
2275
	end
2276
end
2277
2278
function Stun(HUMANOID,LAST)
2279
	HUMANOID.PlatformStand = true
2280
	local defence = Instance.new("BoolValue",HUMANOID.Parent)
2281
	defence.Name = ("StunnedBy"..Player.Name)
2282
	game:GetService("Debris"):AddItem(defence, LAST)
2283
	if HUMANOID.Parent:FindFirstChild("Head") then
2284
		StatLabel("Normal", HUMANOID.Parent.Head.CFrame * CF(0, 0 + (HUMANOID.Parent.Head.Size.z - 1), 0), "Stunned!", C3(0.3, 0.3, 0.3))
2285
	end
2286
	coroutine.resume(coroutine.create(function()
2287
		Swait(LAST*100)
2288
		HUMANOID.PlatformStand = false
2289
	end))
2290
end
2291
2292
function killnearest(position,range,maxstrength)
2293
	for i,v in ipairs(workspace:GetChildren()) do
2294
	local body = v:GetChildren()
2295
		for part = 1, #body do
2296
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
2297
				if(body[part].Position - position).Magnitude < range then
2298
					if v.ClassName == "Model" then
2299
						v:BreakJoints()
2300
					end
2301
					--table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
2302
					body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
2303
				end
2304
			end
2305
		end
2306
		if v.ClassName == "Part" then
2307
			if v.Anchored == false and (v.Position - position).Magnitude < range then
2308
				--table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
2309
				v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
2310
			end
2311
		end
2312
	end
2313
end
2314
2315
function Fling(part,direction,speed)
2316
	part.Velocity = direction*speed
2317
end
2318
local HITPOS = nil
2319
function GoToHell(position,radius)
2320
	for i,v in ipairs(workspace:GetChildren()) do
2321
	if v:FindFirstChild("Hit2By"..Player.Name) == nil then
2322
		local body = v:GetChildren()
2323
			for part = 1, #body do
2324
				if(v:FindFirstChild("Hit2By"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
2325
					if(body[part].Position - position).Magnitude < radius then
2326
						if v.ClassName == "Model" then
2327
							if v:FindFirstChild("Humanoid") then
2328
								local defence = Instance.new("BoolValue",v)
2329
								defence.Name = ("Hit2By"..Player.Name)
2330
								if v.Humanoid.Health ~= 0 then
2331
									local TORS = v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso") or v:FindFirstChild("UpperTorso")
2332
									if TORS ~= nil then
2333
										local HITFLOOR2, HITPOS2 = Raycast(TORS.Position, (CF(TORS.Position, TORS.Position + VT(0, -1, 0))).lookVector, 5 * TORS.Size.Y/2, v)
2334
										coroutine.resume(coroutine.create(function()
2335
											if HITFLOOR2 ~= nil then
2336
												TORS.Anchored = true
2337
												local Hole2 = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Hole", VT(TORS.Size.X*4,0,TORS.Size.X*4))
2338
												Hole2.Color = C3(1,0,0)
2339
												local MESH = MakeForm(Hole2,"Cyl")
2340
												MESH.Scale = VT(0,1,0)
2341
												Hole2.CFrame = CF(HITPOS2)
2342
												for i = 1, 10 do
2343
													Swait()
2344
													MESH.Scale = MESH.Scale + VT(0.1,0,0.1)
2345
												end
2346
												repeat
2347
													Swait()
2348
													TORS.CFrame = TORS.CFrame * CF(0,-0.1,0)
2349
												until TORS.Position.Y<position.Y-4
2350
												v:remove()
2351
												for i = 1, 10 do
2352
													Swait()
2353
													MESH.Scale = MESH.Scale - VT(0.1,0,0.1)
2354
												end
2355
												Hole2:remove()
2356
											end
2357
										end))
2358
									end
2359
								end
2360
							end
2361
						end
2362
						--body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
2363
					end
2364
				end
2365
			end
2366
		end	
2367
	end
2368
end
2369
local DECAL = IT("Decal")
2370
function MakeRing()
2371
	local RING = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "MagicRing", VT(0, 0, 0), true)
2372
	local MSH = IT("BlockMesh", RING)
2373
	local TOP = DECAL:Clone()
2374
	local BOTTOM = DECAL:Clone()
2375
	TOP.Parent = RING
2376
	BOTTOM.Parent = RING
2377
	TOP.Face = "Top"
2378
	BOTTOM.Face = "Bottom"
2379
	TOP.Texture = "http://www.roblox.com/asset/?id=127817121"
2380
	BOTTOM.Texture = "http://www.roblox.com/asset/?id=127817121"
2381
	local function REMOVE()
2382
		coroutine.resume(coroutine.create(function()
2383
			local SIZE = MSH.Scale.X
2384
			for i = 1, 35 do
2385
				Swait()
2386
				MSH.Scale = MSH.Scale - VT(SIZE, 0, SIZE) / 60
2387
				TOP.Transparency = TOP.Transparency + 0.02857142857142857
2388
				BOTTOM.Transparency = BOTTOM.Transparency + 0.02857142857142857
2389
				RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(-5), RAD(0))
2390
			end
2391
			RING:remove()
2392
		end))
2393
	end
2394
	return RING, MSH, REMOVE
2395
end
2396
function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
2397
	local TORSO = Torso
2398
	local HUM = Humanoid
2399
	if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
2400
		coroutine.wrap(function()
2401
			VT = Vector3.new
2402
			MRANDOM = math.random
2403
			local A = TIME
2404
			local B = INTENSITY
2405
			local C = true
2406
			local HUMANOID = Humanoid
2407
			local TIMER = A or 35
2408
			local SHAKE = B or 5
2409
			local FADE = C or true
2410
			if HUMANOID then
2411
				local FADER = SHAKE / TIMER
2412
				for i = 1, TIMER do
2413
					wait()
2414
					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)
2415
				end
2416
				HUMANOID.CameraOffset = VT(0, 0, 0)
2417
			end
2418
2419
		end)()
2420
	end
2421
end
2422
function CreateSwirl(inair,size,doesrotate,rotatedirection,waitt,cframe,color)
2423
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
2424
	local mesh = IT("SpecialMesh",wave)
2425
	mesh.MeshType = "FileMesh"
2426
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
2427
	mesh.Scale = VT(size,size,size)
2428
	wave.CFrame = cframe
2429
	coroutine.resume(coroutine.create(function(PART)
2430
		for i = 1, waitt do
2431
			Swait()
2432
			mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
2433
			if doesrotate == true then
2434
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
2435
			end
2436
			wave.Transparency = wave.Transparency + (0.5/waitt)
2437
			if wave.Transparency > 0.99 then
2438
				wave:remove()
2439
			end
2440
		end
2441
	end))
2442
end
2443
2444
function CreateTornado(inair,size,doesrotate,rotatedirection,waitt,cframe,color)
2445
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
2446
	local mesh = IT("SpecialMesh",wave)
2447
	mesh.MeshType = "FileMesh"
2448
	mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
2449
	mesh.Scale = VT(size,size,size)
2450
	wave.CFrame = cframe
2451
	coroutine.resume(coroutine.create(function(PART)
2452
		for i = 1, waitt do
2453
			Swait()
2454
			mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
2455
			if doesrotate == true then
2456
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
2457
			end
2458
			wave.Transparency = wave.Transparency + (0.5/waitt)
2459
			if wave.Transparency > 0.99 then
2460
				wave:remove()
2461
			end
2462
		end
2463
	end))
2464
end
2465
function freezenearest(position, range)
2466
	for i, v in ipairs(workspace:GetChildren()) do
2467
		local body = v:GetChildren()
2468
		for part = 1, #body do
2469
			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
2470
				v:BreakJoints()
2471
				body[part].Material = "Ice"
2472
				body[part].BrickColor = BRICKC("Really red")
2473
				body[part].Anchored = true
2474
			end
2475
		end
2476
	end
2477
end
2478
local Decal = IT("Decal")
2479
function MagicRing()
2480
	local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0, 0, 0))
2481
	O1.CFrame = RootPart.CFrame * CF(0, 0, -3) * ANGLES(RAD(90), RAD(0), RAD(0))
2482
	local decal = Decal:Clone()
2483
	decal.Parent = O1
2484
	decal.Face = "Top"
2485
	decal.Texture = "http://www.roblox.com/asset/?id=391033580"
2486
	local decal2 = Decal:Clone()
2487
	decal2.Parent = O1
2488
	decal2.Face = "Bottom"
2489
	decal2.Texture = "http://www.roblox.com/asset/?id=391033580"
2490
	return O1
2491
end
2492
function BulletDetection(FROM,TO,BRUTAL)
2493
	local AIMHIT,AIMPOS,NORMAL = CastProperRay(FROM,TO,2000,Character)
2494
	coroutine.resume(coroutine.create(function()
2495
		if AIMHIT ~= nil then
2496
			if AIMHIT.Parent ~= Character then
2497
				if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
2498
					if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") then
2499
						if BRUTAL == true then
2500
							Kill(AIMHIT.Parent)
2501
						else
2502
							getbloody(AIMHIT,15)
2503
							AIMHIT.Parent:BreakJoints()
2504
							if AIMHIT.Name == "Head" then
2505
								AIMHIT.Name = "HEADSHOT"
2506
								AIMHIT:remove()
2507
							end
2508
						end
2509
					else
2510
						if BRUTAL == true then
2511
							Kill(AIMHIT.Parent.Parent)
2512
						else
2513
							AIMHIT.Parent.Parent:BreakJoints()
2514
						end
2515
					end
2516
				end
2517
			end
2518
		end
2519
	end))
2520
	SpawnTrail(FROM,AIMPOS)
2521
	return AIMHIT,AIMPOS,NORMAL
2522
end
2523
2524
function Banish(Foe)
2525
	if Foe then
2526
		coroutine.resume(coroutine.create(function()
2527
			--if game.Players:FindFirstChild(Foe.Name) then
2528
				table.insert(TOBANISH,Foe.Name)
2529
				printbye(Foe.Name)
2530
			--end
2531
			Foe.Archivable = true
2532
			local CLONE = Foe:Clone()
2533
			Foe:Destroy()
2534
			CLONE.Parent = Effects
2535
			CLONE:BreakJoints()
2536
			local MATERIALS = {"Glass","Neon"}
2537
			for _, c in pairs(CLONE:GetDescendants()) do
2538
				if c:IsA("BasePart") then
2539
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
2540
 						CreateSound(340722848, c, 10, 1, false)
2541
					end
2542
					c.Anchored = true
2543
					c.Transparency = c.Transparency + 0.2
2544
					c.Material = MATERIALS[MRANDOM(1,2)]
2545
					c.Color = C3(1,1,1)
2546
					if c.ClassName == "MeshPart" then
2547
						c.TextureID = ""
2548
					end
2549
					if c:FindFirstChildOfClass("SpecialMesh") then
2550
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
2551
					end
2552
					if c:FindFirstChildOfClass("Decal") then
2553
						c:FindFirstChildOfClass("Decal"):remove()
2554
					end
2555
					c.Name = "Banished"
2556
					c.CanCollide = false
2557
				else
2558
					c:remove()
2559
				end
2560
			end
2561
			local A = false
2562
			for i = 1, 35 do
2563
				if A == false then
2564
					A = true
2565
				elseif A == true then
2566
					A = false
2567
				end
2568
				for _, c in pairs(CLONE:GetDescendants()) do
2569
					if c:IsA("BasePart") then
2570
						c.Anchored = true
2571
						c.Material = MATERIALS[MRANDOM(1,2)]
2572
						c.Transparency = c.Transparency + 0.8/35
2573
						if A == false then
2574
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
2575
						elseif A == true then
2576
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
2577
						end
2578
					end
2579
				end
2580
				Swait()
2581
			end
2582
			CLONE:remove()
2583
		end))
2584
	end
2585
end
2586
2587
function ApplyKill(POSITION,RANGE,BRUTAL)
2588
	local CHILDREN = workspace:GetDescendants()
2589
	for index, CHILD in pairs(CHILDREN) do
2590
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2591
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2592
			if HUM then
2593
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2594
				if TORSO then
2595
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
2596
						if BRUTAL == true then
2597
							Banish(CHILD)
2598
						else
2599
							CHILD:BreakJoints()
2600
						end
2601
					end
2602
				end
2603
			end
2604
		end
2605
	end
2606
end
2607
2608
function ApplyAoE(POSITION,RANGE,ISBANISH)
2609
	local CHILDREN = workspace:GetDescendants()
2610
	for index, CHILD in pairs(CHILDREN) do
2611
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2612
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2613
			if HUM then
2614
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2615
				if TORSO then
2616
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
2617
						if ISBANISH == true then
2618
							Banish(CHILD)
2619
						else
2620
							if ISBANISH == "Gravity" then
2621
								HUM.PlatformStand = true
2622
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
2623
									local grav = Instance.new("BodyPosition",TORSO)
2624
									grav.D = 15
2625
									grav.P = 20000
2626
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
2627
									grav.position = TORSO.Position
2628
									grav.Name = "V3BanishForce"..Player.Name
2629
								else
2630
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
2631
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
2632
								end
2633
							else
2634
								HUM.PlatformStand = false
2635
							end
2636
						end
2637
					elseif ISBANISH == "Gravity" then
2638
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
2639
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
2640
							HUM.PlatformStand = false
2641
						end
2642
					end
2643
				end
2644
			end
2645
		end
2646
	end
2647
end
2648
2649
2650
function Kill(Char)
2651
	local NewCharacter = IT("Model",Effects)
2652
	NewCharacter.Name = "Ow im ded ;-;"
2653
	for _, c in pairs(Char:GetDescendants()) do
2654
		if c:IsA("BasePart") and c.Transparency == 0 then
2655
			if c.Parent == Char then
2656
				getbloody(c,5)
2657
			end
2658
			c:BreakJoints()
2659
			c.Material = "Glass"
2660
			c.Color = C3(0.5,0,0)
2661
			c.CanCollide = true
2662
			c.Transparency = 0.3
2663
			if c:FindFirstChildOfClass("SpecialMesh") then
2664
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
2665
			end
2666
			if c.Name == "Head" then
2667
				c:ClearAllChildren()
2668
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
2669
			end
2670
			if c.ClassName == "MeshPart" then
2671
				c.TextureID = ""
2672
			end
2673
			if c:FindFirstChildOfClass("BodyPosition") then
2674
				c:FindFirstChildOfClass("BodyPosition"):remove()
2675
			end
2676
			if c:FindFirstChildOfClass("ParticleEmitter") then
2677
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
2678
			end
2679
			c.Parent = NewCharacter
2680
			c.Name = "DeadPart"
2681
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
2682
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
2683
		end
2684
	end
2685
	Char:remove()
2686
	Debris:AddItem(NewCharacter,5)
2687
end
2688
function ApplyDamage(Humanoid,Damage,TorsoPart)
2689
	local defence = Instance.new("BoolValue",Humanoid.Parent)
2690
	defence.Name = ("HitBy"..Player.Name)
2691
	game:GetService("Debris"):AddItem(defence, 0.001)
2692
	Damage = Damage * DAMAGEMULTIPLIER
2693
	if Humanoid.Health ~= 0 then
2694
		local CritChance = MRANDOM(1,100)
2695
		if Damage > Humanoid.Health then
2696
			Damage = math.ceil(Humanoid.Health)
2697
			if Damage == 0 then
2698
				Damage = 0.1
2699
			end
2700
		end
2701
		Humanoid.Health = Humanoid.Health - Damage*100
2702
	end
2703
end
2704
function killnearest(position, range, maxstrength)
2705
	for i, v in ipairs(workspace:GetChildren()) do
2706
		local body = v:GetChildren()
2707
		for part = 1, #body do
2708
			if (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character and range > (body[part].Position - position).Magnitude then
2709
				if v.ClassName == "Model" then
2710
					v:BreakJoints()
2711
				end
2712
				local bv = Instance.new("BodyVelocity")
2713
				bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
2714
				bv.velocity = CF(position, body[part].Position).lookVector * maxstrength
2715
				bv.Parent = body[part]
2716
				Debris:AddItem(bv, 0.2)
2717
			end
2718
		end
2719
		if v.ClassName == "Part" and v.Anchored == false and range > (v.Position - position).Magnitude then
2720
			v.Velocity = CFrame.new(position, v.Position).lookVector * 5 * maxstrength
2721
		end
2722
	end
2723
end
2724
2725
function CreateWave2(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
2726
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
2727
	local mesh = IT("SpecialMesh",wave)
2728
	mesh.MeshType = "FileMesh"
2729
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
2730
	mesh.Scale = SIZE
2731
	mesh.Offset = VT(0,0,-SIZE.X/8)
2732
	wave.CFrame = CFRAME
2733
	coroutine.resume(coroutine.create(function(PART)
2734
		for i = 1, WAIT do
2735
			Swait()
2736
			mesh.Scale = mesh.Scale + GROW
2737
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
2738
			if DOESROT == true then
2739
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
2740
			end
2741
			wave.Transparency = wave.Transparency + (0.5/WAIT)
2742
			if wave.Transparency > 0.99 then
2743
				wave:remove()
2744
			end
2745
		end
2746
	end))
2747
end
2748
2749
function CreateRing2(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
2750
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
2751
	local mesh = IT("SpecialMesh",wave)
2752
	mesh.MeshType = "FileMesh"
2753
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
2754
	mesh.Scale = SIZE
2755
	mesh.Offset = VT(0,0,0)
2756
	wave.CFrame = CFRAME
2757
	coroutine.resume(coroutine.create(function(PART)
2758
		for i = 1, WAIT do
2759
			Swait()
2760
			mesh.Scale = mesh.Scale + GROW
2761
			if DOESROT == true then
2762
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
2763
			end
2764
			wave.Transparency = wave.Transparency + (0.5/WAIT)
2765
			if wave.Transparency > 0.99 then
2766
				wave:remove()
2767
			end
2768
		end
2769
	end))
2770
end
2771
2772
function MagicSphere3(SIZE,WAIT,CFRAME,COLOR,GROW)
2773
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
2774
	local mesh = IT("SpecialMesh",wave)
2775
	mesh.MeshType = "Sphere"
2776
	mesh.Scale = SIZE
2777
	mesh.Offset = VT(0,0,0)
2778
	wave.CFrame = CFRAME
2779
	coroutine.resume(coroutine.create(function(PART)
2780
		for i = 1, WAIT do
2781
			Swait()
2782
			mesh.Scale = mesh.Scale + GROW
2783
			wave.Transparency = wave.Transparency + (1/WAIT)
2784
			if wave.Transparency > 0.99 then
2785
				wave:remove()
2786
			end
2787
		end
2788
	end))
2789
end
2790
2791
2792
function CreateRing(inair,size,doesrotate,rotatedirection,waitt,cframe,spin1,spin2,color)
2793
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
2794
	local mesh = IT("SpecialMesh",wave)
2795
	mesh.MeshType = "FileMesh"
2796
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
2797
	mesh.Scale = VT(size,size,size)
2798
	mesh.Offset = VT(0,0,0)
2799
	wave.CFrame = cframe
2800
	coroutine.resume(coroutine.create(function(PART)
2801
		for i = 1, waitt do
2802
			Swait()
2803
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
2804
			if doesrotate == true then
2805
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(spin2, rotatedirection, spin1)
2806
			end
2807
			wave.Transparency = wave.Transparency + (0.5/waitt)
2808
			if wave.Transparency > 0.99 then
2809
				wave:remove()
2810
			end
2811
		end
2812
	end))
2813
end
2814
2815
function MagicSphere(size,waitt,cframe,color)
2816
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(1,1,1))
2817
	local mesh = IT("SpecialMesh",wave)
2818
	mesh.MeshType = "Sphere"
2819
	mesh.Scale = VT(size,size,size)
2820
	mesh.Offset = VT(0,0,0)
2821
	wave.CFrame = cframe
2822
	coroutine.resume(coroutine.create(function(PART)
2823
		for i = 1, waitt do
2824
			Swait()
2825
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
2826
			wave.Transparency = wave.Transparency + (1/waitt)
2827
			if wave.Transparency > 0.99 then
2828
				wave:remove()
2829
			end
2830
		end
2831
	end))
2832
end
2833
2834
function MagicSphere2(size,waitt,cframe,color)
2835
	local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(1,1,1))
2836
	local mesh = IT("SpecialMesh",wave)
2837
	mesh.MeshType = "Sphere"
2838
	mesh.Scale = VT(size,size,size)
2839
	mesh.Offset = VT(0,0,0)
2840
	wave.CFrame = cframe
2841
	coroutine.resume(coroutine.create(function(PART)
2842
		for i = 1, waitt do
2843
			Swait()
2844
			mesh.Scale = mesh.Scale - VT(size/waitt,size/waitt,size/waitt)
2845
			wave.Transparency = wave.Transparency - (1/waitt)
2846
		end
2847
		wave:remove()
2848
	end))
2849
end
2850
2851
function BreakEffect(brickcolor,cframe,x1,y1,z1,material)
2852
	local prt=part("Custom",workspace,material,0,0,brickcolor,"Effect",VT(0.5,0.5,0.5))
2853
	prt.Anchored=true
2854
	prt.CFrame=cframe*EULER(math.random(-50,50),math.random(-50,50),math.random(-50,50))
2855
	local msh=mesh("SpecialMesh",prt,"Sphere","",VT(0,0,0),VT(x1,y1,z1))
2856
	coroutine.resume(coroutine.create(function(Part,CF,Numbb,randnumb) 
2857
		CF=Part.CFrame
2858
		Numbb=0
2859
		randnumb=math.random()-math.random()
2860
		for i=0,1,0.05 do
2861
			wait()
2862
			CF=CF*CF(0,1,0)
2863
			--Part.CFrame=Part.CFrame*euler(0.5,0,0)*cf(0,1,0)
2864
			Part.CFrame=CF*EULER(Numbb,0,0)
2865
			Part.Transparency=i
2866
			Numbb=Numbb+randnumb
2867
		end
2868
		Part.Parent=nil
2869
	end),prt)
2870
end
2871
2872
function MagicBlock(size,waitt,cframe,color)
2873
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(size,size,size))
2874
	local mesh = IT("BlockMesh",wave)
2875
	wave.CFrame = cframe
2876
	coroutine.resume(coroutine.create(function(PART)
2877
		for i = 1, waitt do
2878
			Swait()
2879
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
2880
			wave.CFrame = cframe * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
2881
			wave.Transparency = wave.Transparency + (1/waitt)
2882
			if wave.Transparency > 0.99 then
2883
				wave:remove()
2884
			end
2885
		end
2886
	end))
2887
end
2888
function ApplyAoE(POSITION,RANGE,FLING,BURN)
2889
	local CHILDREN = workspace:GetDescendants()
2890
	for index, CHILD in pairs(CHILDREN) do
2891
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2892
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2893
			if HUM then
2894
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2895
				if TORSO then
2896
					if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
2897
						CHILD:BreakJoints()
2898
						if FLING ~= 0 then
2899
							for _, c in pairs(CHILD:GetChildren()) do
2900
								if c:IsA("BasePart") and c.Transparency == 0 then
2901
									if BURN == true then
2902
										Fire(c)
2903
									end
2904
									local bv = Instance.new("BodyVelocity") 
2905
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2906
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
2907
									bv.Parent = c
2908
									Debris:AddItem(bv,0.05)
2909
								end
2910
							end
2911
						end
2912
					end
2913
				end
2914
			end
2915
		end
2916
	end
2917
end
2918
2919
function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
2920
	coroutine.resume(coroutine.create(function()
2921
		local METEOR = IT("Model",Effects)
2922
		METEOR.Name = "Meteorite"
2923
		local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
2924
		METEOR.PrimaryPart = CENTER
2925
		local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
2926
		PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
2927
		for i = 1, 15 do
2928
			local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really black", "Fire", VT(5.1,1,5.1)*SIZE)
2929
			FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
2930
		end
2931
		if ISDEBREE ~= true then
2932
			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))))
2933
		else
2934
			METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
2935
		end
2936
		local IMPACT = false
2937
		CreateSound(463593339, CENTER, 10, 0.6)
2938
		if SIZE >= 3.5 then
2939
			for i = 1, MRANDOM(3,7) do
2940
				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)
2941
			end
2942
		end
2943
		for i = 1, 200 do
2944
			Swait()
2945
			local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
2946
			if HITFLOOR == nil then
2947
				local ORI = CENTER.Orientation
2948
				METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
2949
			else
2950
				if HITFLOOR.Anchored == true then
2951
					CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
2952
					CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
2953
				end
2954
				IMPACT = true
2955
				break
2956
			end
2957
		end
2958
		if IMPACT == true then
2959
			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(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
2960
			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(0,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
2961
			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(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
2962
			ApplyAoE(CENTER.Position,30*SIZE)
2963
			
2964
		end
2965
		METEOR:remove()
2966
	end))
2967
end
2968
2969
function KillChildren(Char)
2970
	local NewCharacter = IT("Model",Effects)
2971
	NewCharacter.Name = "Ow im ded ;-;"
2972
	for _, c in pairs(Char:GetDescendants()) do
2973
		if c:IsA("BasePart") and c.Transparency == 0 then
2974
			if c.Parent == Char then
2975
				getbloody(c,5)
2976
			end
2977
			c:BreakJoints()
2978
			c.Material = "Glass"
2979
			c.Color = C3(0.5,0,0)
2980
			c.CanCollide = true
2981
			c.Transparency = 0.3
2982
			if c:FindFirstChildOfClass("SpecialMesh") then
2983
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
2984
			end
2985
			if c.Name == "Head" then
2986
				c:ClearAllChildren()
2987
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
2988
			end
2989
			if c.ClassName == "MeshPart" then
2990
				c.TextureID = ""
2991
			end
2992
			if c:FindFirstChildOfClass("BodyPosition") then
2993
				c:FindFirstChildOfClass("BodyPosition"):remove()
2994
			end
2995
			if c:FindFirstChildOfClass("ParticleEmitter") then
2996
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
2997
			end
2998
			c.Parent = NewCharacter
2999
			c.Name = "DeadPart"
3000
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
3001
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
3002
		end
3003
	end
3004
	Char:remove()
3005
	Debris:AddItem(NewCharacter,5)
3006
end
3007
3008
function Kill(Char)
3009
	local NewCharacter = IT("Model",Effects)
3010
	NewCharacter.Name = "Ow im ded ;-;"
3011
	for _, c in pairs(Char:GetDescendants()) do
3012
		if c:IsA("BasePart") and c.Transparency == 0 then
3013
			if c.Parent == Char then
3014
				getbloody(c,5)
3015
			end
3016
			c:BreakJoints()
3017
			c.Material = "Glass"
3018
			c.Color = C3(0.5,0,0)
3019
			c.CanCollide = true
3020
			c.Transparency = 0.3
3021
			if c:FindFirstChildOfClass("SpecialMesh") then
3022
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
3023
			end
3024
			if c.Name == "Head" then
3025
				c:ClearAllChildren()
3026
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
3027
			end
3028
			if c.ClassName == "MeshPart" then
3029
				c.TextureID = ""
3030
			end
3031
			if c:FindFirstChildOfClass("BodyPosition") then
3032
				c:FindFirstChildOfClass("BodyPosition"):remove()
3033
			end
3034
			if c:FindFirstChildOfClass("ParticleEmitter") then
3035
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
3036
			end
3037
			c.Parent = NewCharacter
3038
			c.Name = "DeadPart"
3039
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
3040
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
3041
		end
3042
	end
3043
	Char:remove()
3044
	Debris:AddItem(NewCharacter,5)
3045
end
3046
3047
function ApplyAoE(POSITION,RANGE,BRUTAL)
3048
	local CHILDREN = workspace:GetDescendants()
3049
	for index, CHILD in pairs(CHILDREN) do
3050
		if CHILD.ClassName == "Model" and CHILD ~= Character then
3051
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
3052
			if HUM then
3053
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
3054
				if TORSO then
3055
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
3056
						if BRUTAL == true then
3057
							Kill(CHILD)
3058
						else
3059
							CHILD:BreakJoints()
3060
						end
3061
					end
3062
				end
3063
			end
3064
		end
3065
	end
3066
end
3067
function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping,doespoison)
3068
    local dmg = math.random(min,max)
3069
    for i,v in ipairs(workspace:GetChildren()) do
3070
    if v:FindFirstChild("HitBy"..Player.Name) == nil and v ~= Character then
3071
        local body = v:GetChildren()
3072
            for part = 1, #body do
3073
                if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
3074
                    if(body[part].Position - position).Magnitude < radius then
3075
                        if v.ClassName == "Model" then
3076
                            if v:FindFirstChildOfClass("Humanoid") then
3077
                                if v.Humanoid.Health ~= 0 then
3078
                                    if CanBeDodgedByJumping == true then
3079
                                        if body[part].Position.Y < position.Y+5 then
3080
                                            if math.random(1,100) < critrate+1 then
3081
                                                v:FindFirstChildOfClass("Humanoid").Health = v:FindFirstChildOfClass("Humanoid").Health - dmg*critmultiplier
3082
                                                StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
3083
                                            else
3084
                                                v:FindFirstChildOfClass("Humanoid").Health = v:FindFirstChildOfClass("Humanoid").Health - dmg
3085
                                                StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
3086
                                            end
3087
                                            local defence = Instance.new("BoolValue",v)
3088
                                            defence.Name = ("HitBy"..Player.Name)
3089
                                            game:GetService("Debris"):AddItem(defence, 0.005)
3090
                                        end
3091
                                    else
3092
                                        if beserk == true then
3093
                                            v.Humanoid.Health = 0
3094
                                        end
3095
                                        if math.random(1,100) < critrate+1 then
3096
                                            v:FindFirstChildOfClass("Humanoid").Health = v:FindFirstChildOfClass("Humanoid").Health - dmg*critmultiplier
3097
                                            StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
3098
                                        else
3099
                                            v:FindFirstChildOfClass("Humanoid").Health = v:FindFirstChildOfClass("Humanoid").Health - dmg
3100
                                            StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
3101
                                        end
3102
                                        local defence = Instance.new("BoolValue",v)
3103
                                        defence.Name = ("HitBy"..Player.Name)
3104
                                        game:GetService("Debris"):AddItem(defence, 0.005)
3105
                                    end
3106
                                end
3107
                            end
3108
                        end
3109
                        if doespoison == true and v:FindFirstChildOfClass("Humanoid") then
3110
                            Poison(v:FindFirstChildOfClass("Humanoid"),MRANDOM(5,15)*2,MRANDOM(4,7))
3111
                        end
3112
                        if maxstrength < 0 then
3113
                            local bv = Instance.new("BodyVelocity")
3114
                            bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
3115
                            bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
3116
                            bv.Parent = body[part]
3117
                            bv.Name = "PROJECTILEVELOCITY"
3118
                            Debris:AddItem(bv,0.2)
3119
                        else
3120
                            body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
3121
                        end
3122
                    end
3123
                end
3124
            end
3125
        end
3126
    end
3127
end
3128
 function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
3129
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
3130
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
3131
	local BODYGYRO = IT("BodyGyro", STATPART)
3132
	local BODYPOSITION = IT("BodyPosition", STATPART)
3133
	BODYPOSITION.P = 2000
3134
	BODYPOSITION.D = 100
3135
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
3136
	BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
3137
	game:GetService("Debris"):AddItem(STATPART ,5)
3138
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
3139
	BILLBOARDGUI.Adornee = STATPART
3140
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
3141
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
3142
	BILLBOARDGUI.AlwaysOnTop = false
3143
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
3144
	TEXTLABEL.BackgroundTransparency = 1
3145
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
3146
	TEXTLABEL.Text = TEXT
3147
	TEXTLABEL.Font = "SciFi"
3148
	TEXTLABEL.FontSize="Size42"
3149
	TEXTLABEL.TextColor3 = COLOR
3150
	TEXTLABEL.TextStrokeTransparency = 1
3151
	TEXTLABEL.TextScaled = true
3152
	TEXTLABEL.TextWrapped = true
3153
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
3154
		if LABELTYPE == "Normal" then
3155
			for i = 1, 30 do
3156
				Swait()
3157
				STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
3158
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
3159
			end
3160
		elseif LABELTYPE == "Debuff" then
3161
			for i = 1, 30 do
3162
				Swait()
3163
				STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
3164
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
3165
			end
3166
		elseif LABELTYPE == "Shock" then
3167
			local ORIGIN = STATPART.Position
3168
			for i = 1, 30 do
3169
				Swait()
3170
				STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
3171
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
3172
			end
3173
		end
3174
		THEPART.Parent = nil
3175
	end),STATPART, BODYPOSITION, TEXTLABEL)
3176
end
3177
function AoEStun(POS,RANGE,LAST)
3178
    for i,v in ipairs(workspace:GetChildren()) do
3179
    if v:FindFirstChild("StunnedBy"..Player.Name) == nil then
3180
        local body = v:GetChildren()
3181
            for part = 1, #body do
3182
                if(v:FindFirstChild("StunnedBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
3183
                    if(body[part].Position - POS).Magnitude < RANGE then
3184
                        if v.ClassName == "Model" then
3185
                            if v:FindFirstChild("Humanoid") then
3186
                                if v.Humanoid.Health ~= 0 then
3187
                                    Stun(v.Humanoid,LAST)
3188
                                    local defence = Instance.new("BoolValue",v)
3189
                                    defence.Name = ("StunnedBy"..Player.Name)
3190
                                    game:GetService("Debris"):AddItem(defence, 0.1)
3191
                                end
3192
                            end
3193
                        end
3194
                    end
3195
                end
3196
            end
3197
        end
3198
    end
3199
end
3200
 
3201
function Stun(HUMANOID,LAST)
3202
    if HUMANOID.Parent:FindFirstChild("StunnedBy"..Player.Name) == nil then
3203
        HUMANOID.PlatformStand = true
3204
        local defence = Instance.new("BoolValue",HUMANOID.Parent)
3205
        defence.Name = ("StunnedBy"..Player.Name)
3206
        game:GetService("Debris"):AddItem(defence, LAST)
3207
        if HUMANOID.Parent:FindFirstChild("Head") then
3208
            StatLabel("Normal", HUMANOID.Parent.Head.CFrame * CF(0, 0 + (HUMANOID.Parent.Head.Size.z - 1), 0), "Stunned!", C3(0.3, 0.3, 0.3))
3209
        end
3210
        coroutine.resume(coroutine.create(function()
3211
            Swait(LAST*50)
3212
            HUMANOID.PlatformStand = false
3213
        end))
3214
    end
3215
end
3216
 
3217
function Poison(HUMANOID,LAST,DAMAGE)
3218
    if HUMANOID.Parent:FindFirstChild("PoisonedBy"..Player.Name) == nil then
3219
        local defence = Instance.new("BoolValue",HUMANOID.Parent)
3220
        defence.Name = ("PoisonedBy"..Player.Name)
3221
        game:GetService("Debris"):AddItem(defence, LAST)
3222
        coroutine.resume(coroutine.create(function()
3223
            for i = 1, LAST/2 do
3224
                if HUMANOID then
3225
                    if HUMANOID.Health == 0 then
3226
                        break
3227
                    end
3228
                    if HUMANOID.Parent:FindFirstChild("Head") then
3229
                        StatLabel("Normal", HUMANOID.Parent.Head.CFrame * CF(0, 0, 0), DAMAGE, C3(1,1,1))
3230
                    end
3231
                    Swait(50)
3232
                    HUMANOID.Health = HUMANOID.Health - DAMAGE
3233
                end
3234
            end
3235
        end))
3236
    end
3237
end
3238
 
3239
function killnearest(position,range,maxstrength)
3240
    for i,v in ipairs(workspace:GetChildren()) do
3241
    local body = v:GetChildren()
3242
        for part = 1, #body do
3243
            if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
3244
                if(body[part].Position - position).Magnitude < range then
3245
                    if v.ClassName == "Model" then
3246
                        v:BreakJoints()
3247
                    end
3248
                    --table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
3249
                    body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
3250
                end
3251
            end
3252
        end
3253
        if v.ClassName == "Part" then
3254
            if v.Anchored == false and (v.Position - position).Magnitude < range then
3255
                --table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
3256
                v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
3257
            end
3258
        end
3259
    end
3260
end
3261
 
3262
function clerp(a, b, t)
3263
  return a:lerp(b, t)
3264
end
3265
 
3266
function newBezier(startpos, pos2, pos3, endpos, t)
3267
  local A = clerp(startpos, pos2, t)
3268
  local B = clerp(pos2, pos3, t)
3269
  local C = clerp(pos3, endpos, t)
3270
  local lerp1 = clerp(A, B, t)
3271
  local lerp2 = clerp(B, C, t)
3272
  local cubic = clerp(lerp1, lerp2, t)
3273
  return cubic
3274
end
3275
 
3276
function Mortar(Target)
3277
    local newball = Instance.new("Part", workspace)
3278
    newball.Anchored = true
3279
    newball.Shape = "Ball"
3280
    newball.Material = "Neon"
3281
    newball.Size = Vector3.new(0,0,0)
3282
    newball.CanCollide = false
3283
    newball.CFrame = CF(Target)
3284
    newball.Color = C3(1,1,1)
3285
    newball.Transparency = 1
3286
    local POS = Mouse.Hit.p
3287
    local onefourth = Target:Lerp(POS, 0.25) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25))
3288
    local threefourths = Target:Lerp(POS, 0.75) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25))
3289
     local A1 = IT("Attachment",newball)
3290
        A1.Position = Vector3.new(0, 2.5, 0)
3291
      local A2 = IT("Attachment",newball)
3292
        A2.Position = Vector3.new(0, -2.5, 0)
3293
      local Trail = IT("Trail",newball)
3294
        Trail.LightEmission = 1
3295
        Trail.FaceCamera = true
3296
        Trail.Texture = "rbxassetid://945758042"
3297
        Trail.Attachment0 = A1
3298
        Trail.Attachment1 = A2
3299
        Trail.Lifetime = 1
3300
        Trail.MinLength = 0
3301
        Trail.Transparency = NumberSequence.new(0, 1)
3302
        Trail.Color = ColorSequence.new(newball.Color)
3303
    coroutine.resume(coroutine.create(function()
3304
        for i = 0, 1, 0.07 do
3305
            Swait()
3306
            MagicSphere(VT(2,2,2),50,newball.CFrame,"Pearl",VT(-0.01,-0.01,-0.01))
3307
            newball.CFrame = CFrame.new(newBezier(Target, onefourth, threefourths, POS, i))
3308
        end
3309
        AoEDamage(newball.Position,50,50,80,50,false,20,20,false,true)
3310
        CreateSound(LIGHTHITSOUNDS[MRANDOM(1,#LIGHTHITSOUNDS)], newball, 10, 1)
3311
        MagicSphere(VT(0,0,0),55,newball.CFrame,"Pearl",VT(0.06,0.5,0.06))
3312
        for i = 1, 10 do
3313
            MagicSphere(VT(0.5,0.5,3),50,CF(newball.CFrame*CF(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5)).p,newball.Position),"Pearl",VT(-0.005,-0.005,0.03),0)
3314
        end
3315
        game:GetService("Debris"):AddItem(newball, 5)
3316
    end))
3317
end
3318
3319
function clerp(a, b, t)
3320
  return a:lerp(b, t)
3321
end
3322
function newBezier(startpos, pos2, pos3, endpos, t)
3323
  local A = clerp(startpos, pos2, t)
3324
  local B = clerp(pos2, pos3, t)
3325
  local C = clerp(pos3, endpos, t)
3326
  local lerp1 = clerp(A, B, t)
3327
  local lerp2 = clerp(B, C, t)
3328
  local cubic = clerp(lerp1, lerp2, t)
3329
  return cubic
3330
end
3331
 
3332
function Mortar(Target)
3333
    local newball = Instance.new("Part", workspace)
3334
    newball.Anchored = true
3335
    newball.Shape = "Ball"
3336
    newball.Material = "Neon"
3337
    newball.Size = Vector3.new(0,0,0)
3338
    newball.CanCollide = false
3339
    newball.CFrame = CF(Target)
3340
    newball.Color = C3(1,1,1)
3341
    newball.Transparency = 1
3342
    local POS = Mouse.Hit.p
3343
    local onefourth = Target:Lerp(POS, 0.25) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25))
3344
    local threefourths = Target:Lerp(POS, 0.75) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25))
3345
     local A1 = IT("Attachment",newball)
3346
        A1.Position = Vector3.new(0, 2.5, 0)
3347
      local A2 = IT("Attachment",newball)
3348
        A2.Position = Vector3.new(0, -2.5, 0)
3349
      local Trail = IT("Trail",newball)
3350
        Trail.LightEmission = 1
3351
        Trail.FaceCamera = true
3352
        Trail.Texture = "rbxassetid://945758042"
3353
        Trail.Attachment0 = A1
3354
        Trail.Attachment1 = A2
3355
        Trail.Lifetime = 1
3356
        Trail.MinLength = 0
3357
        Trail.Transparency = NumberSequence.new(0, 1)
3358
        Trail.Color = ColorSequence.new(newball.Color)
3359
    coroutine.resume(coroutine.create(function()
3360
        for i = 0, 1, 0.07 do
3361
            Swait()
3362
            MagicSphere(VT(2,2,2),50,newball.CFrame,"Pearl",VT(-0.01,-0.01,-0.01))
3363
            newball.CFrame = CFrame.new(newBezier(Target, onefourth, threefourths, POS, i))
3364
        end
3365
        AoEDamage(newball.Position,50,50,80,50,false,20,20,false,true)
3366
        CreateSound(LIGHTHITSOUNDS[MRANDOM(1,#LIGHTHITSOUNDS)], newball, 10, 1)
3367
        MagicSphere(VT(0,0,0),55,newball.CFrame,"Pearl",VT(0.06,0.5,0.06))
3368
        for i = 1, 10 do
3369
            MagicSphere(VT(0.5,0.5,3),50,CF(newball.CFrame*CF(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5)).p,newball.Position),"Pearl",VT(-0.005,-0.005,0.03),0)
3370
        end
3371
        game:GetService("Debris"):AddItem(newball, 5)
3372
    end))
3373
end
3374
3375
function CreateGUICircle(TARGET)
3376
    local GUI = Instance.new("BillboardGui",Character)
3377
    GUI.Size = UDim2.new(15,0,15,0)
3378
    GUI.Adornee = TARGET
3379
    local GUI2 = IT("ImageLabel",GUI)
3380
    GUI2.BackgroundTransparency = 1
3381
    GUI2.BorderSizePixel = 0
3382
    GUI2.Size = UDim2.new(1,0,0,0)
3383
    GUI2.Position = UDim2.new(0,0,0.5,0)
3384
    GUI2.SizeConstraint = "RelativeYY"
3385
    GUI.AlwaysOnTop = true
3386
    GUI2.Image = "http://www.roblox.com/asset/?id=74329608"
3387
    return GUI,GUI2
3388
end
3389
 
3390
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
3391
    local Direction = CFrame.new(StartPos, Vec).lookVector
3392
    local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
3393
    local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
3394
    if RayHit and CheckIntangible(RayHit) then
3395
        if DelayIfHit then
3396
            wait()
3397
        end
3398
        RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
3399
    end
3400
    return RayHit, RayPos, RayNormal
3401
end
3402
 
3403
function turnto(position)
3404
    RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
3405
end
3406
function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
3407
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
3408
	local mesh = IT("SpecialMesh",wave)
3409
	mesh.MeshType = "FileMesh"
3410
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
3411
	mesh.Scale = SIZE
3412
	mesh.Offset = VT(0,0,-SIZE.X/8)
3413
	wave.CFrame = CFRAME
3414
	coroutine.resume(coroutine.create(function(PART)
3415
		for i = 1, WAIT do
3416
			Swait()
3417
			mesh.Scale = mesh.Scale + GROW
3418
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
3419
			if DOESROT == true then
3420
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
3421
			end
3422
			wave.Transparency = wave.Transparency + (0.5/WAIT)
3423
			if wave.Transparency > 0.99 then
3424
				wave:remove()
3425
			end
3426
		end
3427
	end))
3428
end
3429
3430
function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
3431
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
3432
	local mesh = IT("SpecialMesh",wave)
3433
	mesh.MeshType = "FileMesh"
3434
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
3435
	mesh.Scale = SIZE
3436
	mesh.Offset = VT(0,0,0)
3437
	wave.CFrame = CFRAME
3438
	coroutine.resume(coroutine.create(function(PART)
3439
		for i = 1, WAIT do
3440
			Swait()
3441
			mesh.Scale = mesh.Scale + GROW
3442
			if DOESROT == true then
3443
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
3444
			end
3445
			wave.Transparency = wave.Transparency + (0.5/WAIT)
3446
			if wave.Transparency > 0.99 then
3447
				wave:remove()
3448
			end
3449
		end
3450
	end))
3451
end
3452
3453
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
3454
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
3455
	local mesh = IT("SpecialMesh",wave)
3456
	mesh.MeshType = "Sphere"
3457
	mesh.Scale = SIZE
3458
	mesh.Offset = VT(0,0,0)
3459
	wave.CFrame = CFRAME
3460
	coroutine.resume(coroutine.create(function(PART)
3461
		for i = 1, WAIT do
3462
			Swait()
3463
			mesh.Scale = mesh.Scale + GROW
3464
			wave.Transparency = wave.Transparency + (1/WAIT)
3465
			if wave.Transparency > 0.99 then
3466
				wave:remove()
3467
			end
3468
		end
3469
	end))
3470
end
3471
function MagicSpheres(size,waitt,cframe,color)
3472
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(1,1,1))
3473
    local mesh = IT("SpecialMesh",wave)
3474
    mesh.MeshType = "Sphere"
3475
    mesh.Scale = VT(size,size,size)
3476
    mesh.Offset = VT(0,0,0)
3477
    wave.CFrame = cframe
3478
    coroutine.resume(coroutine.create(function(PART)
3479
        for i = 1, waitt do
3480
            Swait()
3481
            mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
3482
            wave.Transparency = wave.Transparency + (1/waitt)
3483
            if wave.Transparency > 0.99 then
3484
                wave:remove()
3485
            end
3486
        end
3487
    end))
3488
end
3489
function MagicSpheres2(size,waitt,cframe,color)
3490
    local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(1,1,1))
3491
    local mesh = IT("SpecialMesh",wave)
3492
    mesh.MeshType = "Sphere"
3493
    mesh.Scale = VT(size,size,size)
3494
    mesh.Offset = VT(0,0,0)
3495
    wave.CFrame = cframe
3496
    coroutine.resume(coroutine.create(function(PART)
3497
        for i = 1, waitt do
3498
            Swait()
3499
            mesh.Scale = mesh.Scale - VT(size/waitt,size/waitt,size/waitt)
3500
            wave.Transparency = wave.Transparency - (1/waitt)
3501
        end
3502
        wave:remove()
3503
    end))
3504
end
3505
function MagicBlock(size,waitt,part,offset,color)
3506
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(size,size,size))
3507
    local mesh = IT("BlockMesh",wave)
3508
    wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(0),RAD(0),RAD(0))
3509
    coroutine.resume(coroutine.create(function(PART)
3510
        for i = 1, waitt do
3511
            Swait()
3512
            mesh.Scale = mesh.Scale + VT(size/15,size/15,size/15)
3513
            wave.CFrame = CF(wave.Position) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
3514
            wave.Transparency = wave.Transparency + (1/waitt)
3515
            if wave.Transparency > 0.99 then
3516
                wave:remove()
3517
            end
3518
        end
3519
    end))
3520
end
3521
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
3522
	if FLOOR ~= nil then
3523
		coroutine.resume(coroutine.create(function()
3524
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Really red", "DebreeCenter", VT(0,0,0))
3525
			PART.CFrame = CF(POSITION)
3526
			for i = 1, 45 do
3527
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Really red", "DebreePart", BLOCKSIZE)
3528
				RingPiece.Material = FLOOR.Material
3529
				RingPiece.Color = FLOOR.Color
3530
				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)))
3531
				Debris:AddItem(RingPiece,SWAIT)
3532
			end
3533
			PART:remove()
3534
		end))
3535
	end
3536
end
3537
3538
function Slice(SIZE,WAIT,CFRAME,COLOR,GROW)
3539
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
3540
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
3541
	wave.CFrame = CFRAME
3542
	coroutine.resume(coroutine.create(function(PART)
3543
		for i = 1, WAIT do
3544
			Swait()
3545
			mesh.Scale = mesh.Scale * GROW
3546
			wave.Transparency = wave.Transparency + (0.5/WAIT)
3547
			if wave.Transparency > 0.99 then
3548
				wave:remove()
3549
			end
3550
		end
3551
	end))
3552
end
3553
3554
function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
3555
	if FLOOR ~= nil then
3556
		for i = 1, AMOUNT do
3557
			local DEBREE = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Debree", BLOCKSIZE, false)
3558
			DEBREE.Material = FLOOR.Material
3559
			DEBREE.Color = FLOOR.Color
3560
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
3561
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),STRENGTH,MRANDOM(-STRENGTH,STRENGTH))
3562
			coroutine.resume(coroutine.create(function()
3563
				Swait(15)
3564
				DEBREE.Parent = workspace
3565
				DEBREE.CanCollide = true
3566
				Debris:AddItem(DEBREE,SWAIT)
3567
			end))
3568
		end
3569
	end
3570
end
3571
function MakeForm(PART,TYPE)
3572
	if TYPE == "Cyl" then
3573
		local MSH = IT("CylinderMesh",PART)
3574
	elseif TYPE == "Ball" then
3575
		local MSH = IT("SpecialMesh",PART)
3576
		MSH.MeshType = "Sphere"
3577
	elseif TYPE == "Wedge" then
3578
		local MSH = IT("SpecialMesh",PART)
3579
		MSH.MeshType = "Wedge"
3580
	end
3581
end
3582
local NewInstance = function(instance,parent,properties)
3583
	local inst = Instance.new(instance,parent)
3584
	if(properties)then
3585
		for i,v in next, properties do
3586
			pcall(function() inst[i] = v end)
3587
		end
3588
	end
3589
	return inst;
3590
end
3591
local HW = NewInstance('Weld',char,{Part0=ra,Part1=Handle,C0 = CFrame.new(0,-.9,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(90))})
3592
3593
3594
Humanoid.Died:connect(function()
3595
	ATTACK = true
3596
end)
3597
3598
function killnearest(position,range,maxstrength,direction)
3599
    for i,v in ipairs(workspace:GetChildren()) do
3600
    local body = v:GetChildren()
3601
        for part = 1, #body do
3602
            if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
3603
                if(body[part].Position - position).Magnitude < range then
3604
                    if v.ClassName == "Model" then
3605
                        --v:BreakJoints()
3606
                    end
3607
                    local POS = position
3608
                    coroutine.resume(coroutine.create(function()
3609
                        body[part].Anchored = true
3610
                        body[part].Parent = Effects
3611
                        body[part].CanCollide = true
3612
                        local SIZE = body[part].Size
3613
                        body[part].Material = "Neon"
3614
                        CreateSound("952306739", body[part], 2, MRANDOM(7, 12) / 10)
3615
                        for i = 1, 75 do
3616
                            Swait()
3617
                            body[part].Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
3618
                            body[part].Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
3619
                        end
3620
                        coroutine.resume(coroutine.create(function()
3621
                            while true do
3622
                                Swait()
3623
                                body[part].Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
3624
                                body[part].Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
3625
                            end
3626
                        end))
3627
                        body[part].Anchored = false
3628
                        body[part].Velocity = direction.lookVector*maxstrength
3629
                    end))
3630
                end
3631
            end
3632
        end
3633
        if v.ClassName == "Part" then
3634
            if v.Anchored == false and (v.Position - position).Magnitude < range then
3635
                local POS = position
3636
                coroutine.resume(coroutine.create(function()
3637
                    v.Anchored = true
3638
                    v.Parent = Effects
3639
                    local SIZE = v.Size
3640
                    v.Material = "Neon"
3641
                    CreateSound("952306739", v, 2, MRANDOM(7, 12) / 10)
3642
                    for i = 1, 75 do
3643
                        Swait()
3644
                        v.Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
3645
                        v.Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
3646
                    end
3647
                    coroutine.resume(coroutine.create(function()
3648
                        while true do
3649
                            Swait()
3650
                            v.Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
3651
                            v.Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
3652
                        end
3653
                    end))
3654
                    v.Anchored = false
3655
                    v.Velocity = direction.lookVector*maxstrength
3656
                end))
3657
            end
3658
        end
3659
    end
3660
end
3661
3662
function Kill(Char)
3663
	local NewCharacter = IT("Model",Effects)
3664
	NewCharacter.Name = "Ow im ded ;-;"
3665
	for _, c in pairs(Char:GetDescendants()) do
3666
		if c:IsA("Part") then
3667
			if c.Parent == Char then
3668
			end
3669
			c:BreakJoints()
3670
			c.Material = "Glass"
3671
			c.Color = C3(0,0,0)
3672
			c.CanCollide = true
3673
			c.Transparency = 0.8
3674
			if c:FindFirstChildOfClass("SpecialMesh") then
3675
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
3676
			end
3677
			if c.Name == "Head" then
3678
				c:ClearAllChildren()
3679
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
3680
			end
3681
			if c.ClassName == "MeshPart" then
3682
				c.TextureID = ""
3683
			end
3684
			if c:FindFirstChildOfClass("BodyPosition") then
3685
				c:FindFirstChildOfClass("BodyPosition"):remove()
3686
			end
3687
			if c:FindFirstChildOfClass("ParticleEmitter") then
3688
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
3689
			end
3690
			c.Parent = NewCharacter
3691
			c.Name = "DeadPart"
3692
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
3693
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
3694
		end
3695
	end
3696
	Char:remove()
3697
	Debris:AddItem(NewCharacter,5)
3698
end
3699
3700
function ApplyAoE2(POSITION, RANGE)
3701
	local PARTS = {}
3702
	for index, CHILD in pairs(workspace:GetDescendants()) do
3703
		if CHILD.ClassName == "Model" and CHILD ~= Character then
3704
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
3705
			if HUM then
3706
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
3707
				if TORSO and HUM.Health > 0 and RANGE >= (TORSO.Position - POSITION).Magnitude then
3708
					CHILD:BreakJoints()
3709
					for index, PART in pairs(CHILD:GetChildren()) do
3710
						if PART:IsA("BasePart") and PART.Name ~= "HumanoidRootPart" then
3711
							local P = Particle:Clone()
3712
							
3713
							P.Color = ColorSequence.new(PART.Color, C3(1, 1, 1))
3714
							
3715
							table.insert(PARTS, {PART, P})
3716
						end
3717
					end
3718
				end
3719
			end
3720
		elseif CHILD:IsA("BasePart") and CHILD.Parent.Parent ~= Character and CHILD.Parent:FindFirstChildOfClass("Humanoid") == nil and CHILD:FindFirstChild("ewdfrfgrwefd") == nil and CHILD.Size.Magnitude < RANGE * 2 and CHILD.Size.Magnitude < 200 and RANGE > (CHILD.Position - POSITION).Magnitude then
3721
			local FOLDER = IT("Folder", CHILD)
3722
			FOLDER.Name = "ewdfrfgrwefd"
3723
			local P = Particle:Clone()
3724
			
3725
			CHILD.Velocity = Vector3.new(math.huge,math.huge,math.huge)
3726
			
3727
			
3728
			P.Rate = math.ceil(CHILD.Size.Magnitude / 2)
3729
			P.Color = ColorSequence.new(CHILD.Color, C3(1, 1, 1))
3730
			table.insert(PARTS, {CHILD, P})
3731
		end
3732
	end
3733
	coroutine.resume(coroutine.create(function()
3734
		if #PARTS > 0 then
3735
			for i = 1, 85 do
3736
				Swait()
3737
				for E = 1, #PARTS do
3738
					local F = PARTS[E]
3739
					local A = F[1]
3740
					local B = F[2]
3741
					A.Transparency = A.Transparency + 0.011764705882352941
3742
					B.Rate = math.ceil(B.Rate * 1.2)
3743
					for index, E in pairs(A:GetChildren()) do
3744
						
3745
					end
3746
				end
3747
			end
3748
			for E = 1, #PARTS do
3749
				local F = PARTS[E]
3750
				local A = F[1]
3751
				local B = F[2]
3752
				B.Enabled = false
3753
				Debris:AddItem(A, 3)
3754
			end
3755
		end
3756
	end))
3757
end
3758
function recurse(root,callback,i)
3759
	i= i or 0
3760
	for _,v in pairs(root:GetChildren()) do
3761
		i = i + 1
3762
		callback(i,v)
3763
		
3764
		if #v:GetChildren() > 0 then
3765
			i = recurse(v,callback,i)
3766
		end
3767
	end
3768
	
3769
	return i
3770
end
3771
3772
function ragdollJoint(character, part0, part1, attachmentName, className, properties)
3773
	attachmentName = attachmentName.."RigAttachment"
3774
	local constraint = Instance.new(className.."Constraint")
3775
	constraint.Attachment0 = part0:FindFirstChild(attachmentName)
3776
	constraint.Attachment1 = part1:FindFirstChild(attachmentName)
3777
	constraint.Name = "RagdollConstraint"..part1.Name
3778
	
3779
	for _,propertyData in next,properties or {} do
3780
		constraint[propertyData[1]] = propertyData[2]
3781
	end
3782
	
3783
	constraint.Parent = character
3784
end
3785
3786
function getAttachment0(character, attachmentName)
3787
	for _,child in next,character:GetChildren() do
3788
		local attachment = child:FindFirstChild(attachmentName)
3789
		if attachment then
3790
			return attachment
3791
		end
3792
	end
3793
end
3794
3795
function ArtificialHitbox(Part)
3796
	local HITBOX = CreatePart(3, Part, "Metal", 0, 1, "Really black", "Hitbox", Part.Size/2, false)
3797
	HITBOX.CanCollide = true
3798
	HITBOX.CFrame = Part.CFrame
3799
	weldBetween(Part,HITBOX)
3800
end
3801
3802
function R15Ragdoll(character,KeepArms)
3803
	character:BreakJoints()
3804
	coroutine.resume(coroutine.create(function()
3805
		recurse(character, function(_,v)
3806
			if v:IsA("Attachment") then
3807
				v.Axis = Vector3.new(0, 1, 0)
3808
				v.SecondaryAxis = Vector3.new(0, 0, 1)
3809
				v.Rotation = Vector3.new(0, 0, 0)
3810
			end
3811
		end)
3812
		for _,child in next,character:GetChildren() do
3813
			if child:IsA("Accoutrement") then
3814
				for _,part in next,child:GetChildren() do
3815
					if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
3816
						local attachment1 = part:FindFirstChildOfClass("Attachment")
3817
						local attachment0 = getAttachment0(character,attachment1.Name)
3818
						if attachment0 and attachment1 then
3819
							local constraint = Instance.new("HingeConstraint")
3820
							constraint.Attachment0 = attachment0
3821
							constraint.Attachment1 = attachment1
3822
							constraint.LimitsEnabled = true
3823
							constraint.UpperAngle = 0
3824
							constraint.LowerAngle = 0
3825
							constraint.Parent = character
3826
						end
3827
						ArtificialHitbox(part)
3828
					elseif part.Name == "HumanoidRootPart" then
3829
						part:remove()
3830
					end
3831
				end
3832
			end
3833
		end
3834
		
3835
		ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
3836
			{"LimitsEnabled",true};
3837
			{"UpperAngle",5};
3838
		})
3839
		if character:FindFirstChild("Head") then
3840
			ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
3841
				{"LimitsEnabled",true};
3842
				{"UpperAngle",15};
3843
			})
3844
		end
3845
		
3846
		local handProperties = {
3847
			{"LimitsEnabled", true};
3848
			{"UpperAngle",0};
3849
			{"LowerAngle",0};
3850
		}
3851
		ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
3852
		ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
3853
		
3854
		local shinProperties = {
3855
			{"LimitsEnabled", true};
3856
			{"UpperAngle", 0};
3857
			{"LowerAngle", -75};
3858
		}
3859
		ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
3860
		ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
3861
		
3862
		local footProperties = {
3863
			{"LimitsEnabled", true};
3864
			{"UpperAngle", 15};
3865
			{"LowerAngle", -45};
3866
		}
3867
		ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
3868
		ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
3869
		if KeepArms == true then
3870
			ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
3871
			ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
3872
			ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
3873
			ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
3874
		end
3875
		ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
3876
		ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
3877
		Debris:AddItem(character,5)
3878
	end))
3879
end
3880
3881
function Ragdoll(Character2,CharTorso,KeepArms)
3882
	coroutine.resume(coroutine.create(function()
3883
		Character2:BreakJoints()
3884
		local hum = Character2:findFirstChild("Humanoid")
3885
		hum:remove()
3886
		local function Scan(ch)
3887
			local e
3888
			for e = 1,#ch do
3889
				Scan(ch[e]:GetChildren())
3890
				if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
3891
					ch[e]:remove()
3892
				end
3893
			end
3894
		end
3895
		local NEWHUM = IT("Humanoid")
3896
		NEWHUM.Name = "Corpse"
3897
		NEWHUM.Health = 0
3898
		NEWHUM.MaxHealth = 0
3899
		NEWHUM.PlatformStand = true
3900
		NEWHUM.Parent = Character2
3901
		NEWHUM.DisplayDistanceType = "None"
3902
	
3903
		local ch = Character2:GetChildren()
3904
		local i
3905
		for i = 1,#ch do
3906
			if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
3907
				ch[i]:remove()
3908
			end
3909
		end
3910
	
3911
		local Torso2 = Character2.Torso
3912
		local movevector = Vector3.new()
3913
	
3914
		if Torso2 then
3915
			movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
3916
			local Head = Character2:FindFirstChild("Head")
3917
			if Head then
3918
				local Neck = Instance.new("Weld")
3919
				Neck.Name = "Neck"
3920
				Neck.Part0 = Torso2
3921
				Neck.Part1 = Head
3922
				Neck.C0 = CFrame.new(0, 1.5, 0)
3923
				Neck.C1 = CFrame.new()
3924
				Neck.Parent = Torso2
3925
	
3926
			end
3927
			local Limb = Character2:FindFirstChild("Right Arm")
3928
			if Limb and KeepArms == true then
3929
	
3930
				Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
3931
				local Joint = Instance.new("Glue")
3932
				Joint.Name = "RightShoulder"
3933
				Joint.Part0 = Torso2
3934
				Joint.Part1 = Limb
3935
				Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
3936
				Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
3937
				Joint.Parent = Torso2
3938
	
3939
				local B = Instance.new("Part")
3940
				B.TopSurface = 0
3941
				B.BottomSurface = 0
3942
				B.formFactor = "Symmetric"
3943
				B.Size = Vector3.new(1, 1, 1)
3944
				B.Transparency = 1
3945
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
3946
				B.Parent = Character2
3947
				local W = Instance.new("Weld")
3948
				W.Part0 = Limb
3949
				W.Part1 = B
3950
				W.C0 = CFrame.new(0, -0.5, 0)
3951
				W.Parent = Limb
3952
	
3953
			end
3954
			local Limb = Character2:FindFirstChild("Left Arm")
3955
			if Limb and KeepArms == true then
3956
	
3957
				Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
3958
				local Joint = Instance.new("Glue")
3959
				Joint.Name = "LeftShoulder"
3960
				Joint.Part0 = Torso2
3961
				Joint.Part1 = Limb
3962
				Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
3963
				Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
3964
				Joint.Parent = Torso2
3965
	
3966
				local B = Instance.new("Part")
3967
				B.TopSurface = 0
3968
				B.BottomSurface = 0
3969
				B.formFactor = "Symmetric"
3970
				B.Size = Vector3.new(1, 1, 1)
3971
				B.Transparency = 1
3972
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
3973
				B.Parent = Character2
3974
				local W = Instance.new("Weld")
3975
				W.Part0 = Limb
3976
				W.Part1 = B
3977
				W.C0 = CFrame.new(0, -0.5, 0)
3978
				W.Parent = Limb
3979
	
3980
			end
3981
			local Limb = Character2:FindFirstChild("Right Leg")
3982
			if Limb then
3983
	
3984
				Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
3985
				local Joint = Instance.new("Glue")
3986
				Joint.Name = "RightHip"
3987
				Joint.Part0 = Torso2
3988
				Joint.Part1 = Limb
3989
				Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
3990
				Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
3991
				Joint.Parent = Torso2
3992
	
3993
				local B = Instance.new("Part")
3994
				B.TopSurface = 0
3995
				B.BottomSurface = 0
3996
				B.formFactor = "Symmetric"
3997
				B.Size = Vector3.new(1, 1, 1)
3998
				B.Transparency = 1
3999
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
4000
				B.Parent = Character2
4001
				local W = Instance.new("Weld")
4002
				W.Part0 = Limb
4003
				W.Part1 = B
4004
				W.C0 = CFrame.new(0, -0.5, 0)
4005
				W.Parent = Limb
4006
	
4007
			end
4008
			local Limb = Character2:FindFirstChild("Left Leg")
4009
			if Limb then
4010
	
4011
				Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
4012
				local Joint = Instance.new("Glue")
4013
				Joint.Name = "LeftHip"
4014
				Joint.Part0 = Torso2
4015
				Joint.Part1 = Limb
4016
				Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
4017
				Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
4018
				Joint.Parent = Torso2
4019
	
4020
				local B = Instance.new("Part")
4021
				B.TopSurface = 0
4022
				B.BottomSurface = 0
4023
				B.formFactor = "Symmetric"
4024
				B.Size = Vector3.new(1, 1, 1)
4025
				B.Transparency = 1
4026
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
4027
				B.Parent = Character2
4028
				local W = Instance.new("Weld")
4029
				W.Part0 = Limb
4030
				W.Part1 = B
4031
				W.C0 = CFrame.new(0, -0.5, 0)
4032
				W.Parent = Limb
4033
	
4034
			end
4035
			--[
4036
			local Bar = Instance.new("Part")
4037
			Bar.TopSurface = 0
4038
			Bar.BottomSurface = 0
4039
			Bar.formFactor = "Symmetric"
4040
			Bar.Size = Vector3.new(1, 1, 1)
4041
			Bar.Transparency = 1
4042
			Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
4043
			Bar.Parent = Character2
4044
			local Weld = Instance.new("Weld")
4045
			Weld.Part0 = Torso2
4046
			Weld.Part1 = Bar
4047
			Weld.C0 = CFrame.new(0, 0.5, 0)
4048
			Weld.Parent = Torso2
4049
			--]]
4050
		end
4051
		Character2.Parent = workspace
4052
		Debris:AddItem(Character2,5)
4053
	
4054
		return Character2,Torso2
4055
	end))
4056
end
4057
function CreateWave(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
4058
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
4059
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "20329976", "", SIZE, VT(0, 0, -SIZE.X / 8))
4060
	wave.CFrame = CFRAME
4061
	coroutine.resume(coroutine.create(function(PART)
4062
		for i = 1, WAIT do
4063
			Swait()
4064
			mesh.Scale = mesh.Scale + GROW
4065
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
4066
			if DOESROT == true then
4067
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
4068
			end
4069
			wave.Transparency = wave.Transparency + 0.5 / WAIT
4070
			if wave.Transparency > 0.99 then
4071
				wave:remove()
4072
			end
4073
		end
4074
	end))
4075
end
4076
4077
function FireArc(Part, ToLocation, AmountOfTime, Height, DoesCourontine)
4078
	if DoesCourontine == false then
4079
		local Direction = CF(Part.Position, ToLocation)
4080
		local Distance = (Part.Position - ToLocation).magnitude
4081
		for i = 1, AmountOfTime do
4082
			Swait()
4083
			Part.CFrame = Direction * CF(0, AmountOfTime / 200 + (AmountOfTime / Height - i * 2 / Height), -Distance / AmountOfTime)
4084
			Direction = Part.CFrame
4085
		end
4086
		Part:remove()
4087
	elseif DoesCourontine == true then
4088
		coroutine.resume(coroutine.create(function()
4089
			local Direction = CF(Part.Position, ToLocation)
4090
			local Distance = (Part.Position - ToLocation).magnitude
4091
			for i = 1, AmountOfTime do
4092
				Swait()
4093
				Part.CFrame = Direction * CF(0, AmountOfTime / 200 + (AmountOfTime / Height - i * 2 / Height), -Distance / AmountOfTime)
4094
				Direction = Part.CFrame
4095
			end
4096
			Part:remove()
4097
		end))
4098
	end
4099
end
4100
4101
function Slice(KIND, SIZE, WAIT, CFRAME, COLOR, GROW)
4102
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
4103
	local mesh
4104
	if KIND == "Base" then
4105
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0, SIZE / 10, SIZE / 10), VT(0, 0, 0))
4106
	elseif KIND == "Thin" then
4107
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
4108
	elseif KIND == "Round" then
4109
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
4110
	end
4111
	wave.CFrame = CFRAME
4112
	coroutine.resume(coroutine.create(function(PART)
4113
		for i = 1, WAIT do
4114
			Swait()
4115
			mesh.Scale = mesh.Scale + GROW / 10
4116
			wave.Transparency = wave.Transparency + 0.5 / WAIT
4117
			if wave.Transparency > 0.99 then
4118
				wave:remove()
4119
			end
4120
		end
4121
	end))
4122
end
4123
function AddChildrenToTable(FROM, PARENT, DIST, TABLE)
4124
	for _, c in pairs(PARENT:GetChildren()) do
4125
		if c.ClassName == "Model" then
4126
			if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then
4127
				local HUMANOID = c:FindFirstChildOfClass("Humanoid")
4128
				local TORSO = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
4129
				if DIST > (TORSO.Position - FROM).Magnitude then
4130
					table.insert(TABLE, c)
4131
				end
4132
				AddChildrenToTable(FROM, c, DIST, TABLE)
4133
			elseif c.ClassName == "Folder" then
4134
				AddChildrenToTable(FROM, c, DIST, TABLE)
4135
			end
4136
		end
4137
	end
4138
end
4139
4140
function Transparency(TRANS)
4141
	text.TextTransparency = TRANS
4142
	text.TextStrokeTransparency = TRANS
4143
	for _, c in pairs(Character:GetChildren()) do
4144
		if c.ClassName == "Part" and c ~= RootPart then
4145
			c.Transparency = TRANS
4146
			if c:FindFirstChildOfClass("Decal") then
4147
				c:FindFirstChildOfClass("Decal").Transparency = TRANS
4148
			end
4149
		elseif c.ClassName == "Accessory" then
4150
			c.Handle.Transparency = TRANS
4151
		elseif c.ClassName == "Model" then
4152
			for _, q in pairs(c:GetChildren()) do
4153
				if q.ClassName == "Part" then
4154
					q.Transparency = TRANS
4155
					if q:FindFirstChildOfClass("Decal") then
4156
						q:FindFirstChildOfClass("Decal").Transparency = TRANS
4157
					end
4158
				end
4159
			end
4160
		end
4161
	end
4162
end
4163
function CreateRing(SIZE, DOESROT, ROT, WAIT, CFRAME, COLOR, GROW)
4164
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
4165
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0, 0, 0))
4166
	wave.CFrame = CFRAME
4167
	coroutine.resume(coroutine.create(function(PART)
4168
		for i = 1, WAIT do
4169
			Swait()
4170
			mesh.Scale = mesh.Scale + GROW
4171
			if DOESROT == true then
4172
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
4173
			end
4174
			wave.Transparency = wave.Transparency + 0.5 / WAIT
4175
			if wave.Transparency > 0.99 then
4176
				wave:remove()
4177
			end
4178
		end
4179
	end))
4180
end
4181
function MagicSphere2(size,waitt,cframe,color)
4182
	local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(1,1,1))
4183
	local mesh = IT("SpecialMesh",wave)
4184
	mesh.MeshType = "Sphere"
4185
	mesh.Scale = VT(size,size,size)
4186
	mesh.Offset = VT(0,0,0)
4187
	wave.CFrame = cframe
4188
	coroutine.resume(coroutine.create(function(PART)
4189
		for i = 1, waitt do
4190
			Swait()
4191
			mesh.Scale = mesh.Scale - VT(size/waitt,size/waitt,size/waitt)
4192
			wave.Transparency = wave.Transparency - (1/waitt)
4193
		end
4194
		wave:remove()
4195
	end))
4196
end
4197
4198
function MagicSphere(size,waitt,cframe,color)
4199
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(1,1,1))
4200
	local mesh = IT("SpecialMesh",wave)
4201
	mesh.MeshType = "Sphere"
4202
	mesh.Scale = VT(size,size,size)
4203
	mesh.Offset = VT(0,0,0)
4204
	wave.CFrame = cframe
4205
	coroutine.resume(coroutine.create(function(PART)
4206
		for i = 1, waitt do
4207
			Swait()
4208
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
4209
			wave.Transparency = wave.Transparency + (1/waitt)
4210
			if wave.Transparency > 0.99 then
4211
				wave:remove()
4212
			end
4213
		end
4214
	end))
4215
end
4216
4217
function CreateSwirl(inair,size,doesrotate,rotatedirection,waitt,cframe,color)
4218
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
4219
	local mesh = IT("SpecialMesh",wave)
4220
	mesh.MeshType = "FileMesh"
4221
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
4222
	mesh.Scale = VT(size,size,size)
4223
	wave.CFrame = cframe
4224
	coroutine.resume(coroutine.create(function(PART)
4225
		for i = 1, waitt do
4226
			Swait()
4227
			mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
4228
			if doesrotate == true then
4229
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
4230
			end
4231
			wave.Transparency = wave.Transparency + (0.5/waitt)
4232
			if wave.Transparency > 0.99 then
4233
				wave:remove()
4234
			end
4235
		end
4236
	end))
4237
end
4238
4239
function CheckTableForString(Table, String)
4240
	for i, v in pairs(Table) do
4241
		if string.find(string.lower(String), string.lower(v)) then
4242
			return true
4243
		end
4244
	end
4245
	return false
4246
end
4247
4248
function CheckIntangible(Hit)
4249
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
4250
	if Hit and Hit.Parent then
4251
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
4252
			return true
4253
		end
4254
	end
4255
	return false
4256
end
4257
4258
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
4259
	local Direction = CFrame.new(StartPos, Vec).lookVector
4260
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
4261
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
4262
	if RayHit and CheckIntangible(RayHit) then
4263
		if DelayIfHit then
4264
			wait()
4265
		end
4266
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
4267
	end
4268
	return RayHit, RayPos, RayNormal
4269
end
4270
4271
function attractnearest(postype,position,range,maxstrength,last)
4272
	if postype == "Vector" then
4273
		for i,v in ipairs(workspace:GetChildren()) do
4274
		local body = v:GetChildren()
4275
			for part = 1, #body do
4276
				if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
4277
					if(body[part].Position - position).Magnitude < range then
4278
						if body[part]:FindFirstChild("ATTRACT") == nil then
4279
							local bv = Instance.new("BodyVelocity") 
4280
							bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
4281
							bv.velocity = CF(body[part].Position,position).lookVector*maxstrength
4282
							bv.Parent = body[part]
4283
							bv.Name = "ATTRACT"
4284
						else
4285
							coroutine.resume(coroutine.create(function()
4286
								for i = 1, last/5 do
4287
									Swait(5)
4288
									body[part].ATTRACT.velocity = CF(body[part].Position,position).lookVector*maxstrength	
4289
								end		
4290
								body[part].ATTRACT:remove()				
4291
							end))
4292
						end
4293
					end
4294
				end
4295
			end
4296
			if v.ClassName == "Part" then
4297
				if v.Anchored == false and (v.Position - position).Magnitude < range then
4298
					if v:FindFirstChild("ATTRACT") == nil then
4299
						local bv = Instance.new("BodyVelocity") 
4300
						bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
4301
						bv.velocity = CF(v.Position,position).lookVector*maxstrength
4302
						bv.Parent = v
4303
						bv.Name = "ATTRACT"
4304
					else
4305
						coroutine.resume(coroutine.create(function()
4306
							for i = 1, last/5 do
4307
								Swait(5)
4308
								v.ATTRACT.velocity = CF(v.Position,position).lookVector*maxstrength	
4309
							end		
4310
							v.ATTRACT:remove()				
4311
						end))
4312
					end
4313
				end
4314
			end
4315
		end
4316
	elseif postype == "Part" then
4317
		for i,v in ipairs(workspace:GetChildren()) do
4318
		local body = v:GetChildren()
4319
			for part = 1, #body do
4320
				if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
4321
					if(body[part].Position - position.Position).Magnitude < range then
4322
						if body[part]:FindFirstChild("ATTRACT") == nil then
4323
							local bv = Instance.new("BodyVelocity") 
4324
							bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
4325
							bv.velocity = CF(body[part].Position,position.Position).lookVector*maxstrength
4326
							bv.Parent = body[part]
4327
							bv.Name = "ATTRACT"
4328
						else
4329
							coroutine.resume(coroutine.create(function()
4330
								for i = 1, last/5 do
4331
									Swait(5)
4332
									body[part].ATTRACT.velocity = CF(body[part].Position,position.Position).lookVector*maxstrength	
4333
								end		
4334
								body[part].ATTRACT:remove()				
4335
							end))
4336
						end
4337
					end
4338
				end
4339
			end
4340
			if v.ClassName == "Part" then
4341
				if v.Anchored == false and (v.Position - position.Position).Magnitude < range then
4342
					if v:FindFirstChild("ATTRACT") == nil then
4343
						local bv = Instance.new("BodyVelocity") 
4344
						bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
4345
						bv.velocity = CF(v.Position,position.Position).lookVector*maxstrength
4346
						bv.Parent = v
4347
						bv.Name = "ATTRACT"
4348
					else
4349
						coroutine.resume(coroutine.create(function()
4350
							for i = 1, last/5 do
4351
								Swait(5)
4352
								v.ATTRACT.velocity = CF(v.Position,position.Position).lookVector*maxstrength	
4353
							end		
4354
							v.ATTRACT:remove()				
4355
						end))
4356
					end
4357
				end
4358
			end
4359
		end
4360
	end
4361
end
4362
4363
function killnearest(position,range,maxstrength)
4364
	for i,v in ipairs(workspace:GetChildren()) do
4365
	local body = v:GetChildren()
4366
		for part = 1, #body do
4367
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
4368
				if(body[part].Position - position).Magnitude < range then
4369
					if v.ClassName == "Model" then
4370
						v:BreakJoints()
4371
					end
4372
					--table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
4373
					body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
4374
				end
4375
			end
4376
		end
4377
		if v.ClassName == "Part" then
4378
			if v.Anchored == false and (v.Position - position).Magnitude < range then
4379
				--table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
4380
				v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
4381
			end
4382
		end
4383
	end
4384
end
4385
local HATWELD = nil
4386
function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
4387
	PLAYMAINANIM = false
4388
	if WhichPose == "Cast1" then
4389
		for i=0, Time, 0.1 / Animation_Speed do
4390
			Swait()
4391
			if Magic == true then
4392
				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})
4393
			end
4394
			if Gyro ~= nil and Gyro ~= false then
4395
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
4396
			end
4397
			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)
4398
			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)
4399
			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)
4400
			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)
4401
			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)
4402
			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)
4403
		end
4404
	elseif WhichPose == "Cast2" then
4405
		for i=0, Time, 0.1 / Animation_Speed do
4406
			Swait()
4407
			if Magic == true then
4408
				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})
4409
				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})
4410
			end
4411
			if Gyro ~= nil and Gyro ~= false then
4412
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
4413
			end
4414
			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)
4415
			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)
4416
			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)
4417
			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)
4418
			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)
4419
			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)
4420
		end
4421
	elseif WhichPose == "RightArmUp" then
4422
		for i=0, Time, 0.1 / Animation_Speed do
4423
			Swait()
4424
			if Magic == true then
4425
				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})
4426
			end
4427
			if Gyro ~= nil and Gyro ~= false then
4428
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
4429
			end
4430
			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)
4431
			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)
4432
			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)
4433
			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)
4434
			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)
4435
			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)
4436
		end
4437
	elseif WhichPose == "Taunt" then
4438
		for i=0, Time, 0.1 / Animation_Speed do
4439
			Swait()
4440
			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)
4441
			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)
4442
			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)
4443
			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)
4444
			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)
4445
			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)
4446
		end
4447
		HATWELD.Part0 = RightArm
4448
		HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
4449
		CreateSound(221057812,Torso,10,1,false)
4450
		for i=0, Time*2, 0.1 / Animation_Speed do
4451
			Swait()
4452
			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)
4453
			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)
4454
			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)
4455
			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)
4456
			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)
4457
			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)
4458
		end
4459
		for i=0, Time, 0.1 / Animation_Speed do
4460
			Swait()
4461
			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)
4462
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
4463
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
4464
			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)
4465
			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)
4466
			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)
4467
			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)
4468
		end
4469
		HATWELD.Part0 = Head
4470
		HATWELD.C0 = CF(0,0.35,0)
4471
	elseif WhichPose == "Prepare key" then
4472
		for i=0, Time, 0.1 / Animation_Speed do
4473
			Swait()
4474
			if Gyro ~= nil and Gyro ~= false then
4475
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
4476
			end
4477
			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)
4478
			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)
4479
			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)
4480
			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)
4481
			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)
4482
			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)
4483
		end
4484
	elseif WhichPose == "Turn key" then
4485
		for i=0, Time, 0.1 / Animation_Speed do
4486
			Swait()
4487
			if Gyro ~= nil and Gyro ~= false then
4488
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
4489
			end
4490
			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)
4491
			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)
4492
			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)
4493
			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)
4494
			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)
4495
			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)
4496
		end
4497
	end
4498
	PLAYMAINANIM = true
4499
end
4500
4501
4502
function StatLabel(CFRAME, TEXT, COLOR)
4503
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
4504
	STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
4505
	local BODYGYRO = IT("BodyGyro", STATPART)
4506
	game:GetService("Debris"):AddItem(STATPART ,5)
4507
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
4508
	BILLBOARDGUI.Adornee = STATPART
4509
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
4510
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
4511
	BILLBOARDGUI.AlwaysOnTop = false
4512
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
4513
	TEXTLABEL.BackgroundTransparency = 1
4514
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
4515
	TEXTLABEL.Text = TEXT
4516
	TEXTLABEL.Font = SKILLFONT
4517
	TEXTLABEL.FontSize="Size42"
4518
	TEXTLABEL.TextColor3 = COLOR
4519
	TEXTLABEL.TextStrokeTransparency = 0
4520
	TEXTLABEL.TextScaled = true
4521
	TEXTLABEL.TextWrapped = true
4522
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
4523
		for i = 1, 50 do
4524
			Swait()
4525
			STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
4526
			TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
4527
			TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
4528
		end
4529
		THEPART.Parent = nil
4530
	end),STATPART, TEXTLABEL)
4531
end
4532
4533
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
4534
	if FLOOR ~= nil then
4535
		coroutine.resume(coroutine.create(function()
4536
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
4537
			PART.CFrame = CF(POSITION)
4538
			for i = 1, 45 do
4539
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
4540
				RingPiece.Material = FLOOR.Material
4541
				RingPiece.Color = FLOOR.Color
4542
				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)))
4543
				Debris:AddItem(RingPiece,SWAIT)
4544
			end
4545
			PART:remove()
4546
		end))
4547
	end
4548
end
4549
4550
function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
4551
	if FLOOR ~= nil then
4552
		for i = 1, AMOUNT do
4553
			local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
4554
			DEBREE.Material = FLOOR.Material
4555
			DEBREE.Color = FLOOR.Color
4556
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
4557
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
4558
			coroutine.resume(coroutine.create(function()
4559
				Swait(15)
4560
				DEBREE.Parent = workspace
4561
				DEBREE.CanCollide = true
4562
				Debris:AddItem(DEBREE,SWAIT)
4563
			end))
4564
		end
4565
	end
4566
end
4567
--//=================================\\
4568
--||			DAMAGING
4569
--\\=================================//
4570
function ApplyDamage(Humanoid, Damage, TorsoPart)
4571
	local defence = Instance.new("BoolValue", Humanoid.Parent)
4572
	defence.Name = "HitBy" .. Player.Name
4573
	game:GetService("Debris"):AddItem(defence, 0.001)
4574
	Damage = Damage * DAMAGEMULTIPLIER
4575
	if Humanoid.Health ~= 0 then
4576
		local CritChance = MRANDOM(1, 100)
4577
		if Damage > Humanoid.Health then
4578
			Damage = math.ceil(Humanoid.Health)
4579
			if Damage == 0 then
4580
				Damage = 0.1
4581
			end
4582
		end
4583
		Humanoid.Health = Humanoid.Health - Damage
4584
		StatLabel(TorsoPart.CFrame * CF(0, 0 + (TorsoPart.Size.z - 1), 0), Damage, C3(0, 0, 0))
4585
	end
4586
end
4587
function ApplyAoE(POSITION, RANGE, MINDMG, MAXDMG, FLING, INSTAKILL)
4588
	local CHILDREN = workspace:GetDescendants()
4589
	for index, CHILD in pairs(CHILDREN) do
4590
		if CHILD.ClassName == "Model" and CHILD ~= Character then
4591
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
4592
			if HUM then
4593
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
4594
				if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
4595
					if INSTAKILL == true then
4596
						CHILD:BreakJoints()
4597
					else
4598
						local DMG = MRANDOM(MINDMG, MAXDMG)
4599
						ApplyDamage(HUM, DMG, TORSO)
4600
					end
4601
					if FLING > 0 then
4602
						for _, c in pairs(CHILD:GetChildren()) do
4603
							if c:IsA("BasePart") then
4604
								local bv = Instance.new("BodyVelocity")
4605
								bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
4606
								bv.velocity = CF(POSITION, TORSO.Position).lookVector * FLING
4607
								bv.Parent = c
4608
								Debris:AddItem(bv, 0.05)
4609
							end
4610
						end
4611
					end
4612
				end
4613
			end
4614
		end
4615
	end
4616
end
4617
function CreateNeonCircle(ATTACHPART, POSITION, SIZE, DOESSPIN, COLOR, MATERIAL, THICKNESS, WIDTH)
4618
	local PART = CreatePart(3, Weapon, MATERIAL, 0, 1, COLOR, "CirclePart", VT(0, 0, 0), false)
4619
	for i = 1, 45 do
4620
		local RingPiece = CreatePart(3, Weapon, MATERIAL, 0, 0, COLOR, "CirclePart", VT(THICKNESS, WIDTH, SIZE * 0.65), false)
4621
		local RingWeld = CreateWeldOrSnapOrMotor("Weld", RingPiece, PART, RingPiece, CF(0, 0, 0) * ANGLES(RAD(0), RAD(i * 8), RAD(0)), CF(0, 0, 0) * CF(SIZE * 4, 0, 0))
4622
	end
4623
	local PartWeld = CreateWeldOrSnapOrMotor("Weld", ATTACHPART, PART, ATTACHPART, POSITION * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
4624
	coroutine.resume(coroutine.create(function()
4625
		if DOESSPIN == true then
4626
			while true do
4627
				wait()
4628
				PartWeld.C0 = Clerp(PartWeld.C0, POSITION * ANGLES(RAD(0), RAD(SINE * 2), RAD(0)), 1)
4629
			end
4630
		end
4631
	end))
4632
end
4633
function CreateDebreeRing(FLOOR, POSITION, SIZE, BLOCKSIZE, SWAIT)
4634
	if FLOOR ~= nil then
4635
		coroutine.resume(coroutine.create(function()
4636
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0, 0, 0))
4637
			PART.CFrame = CF(POSITION)
4638
			for i = 1, 45 do
4639
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
4640
				RingPiece.Material = FLOOR.Material
4641
				RingPiece.Color = FLOOR.Color
4642
				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)))
4643
				Debris:AddItem(RingPiece, SWAIT)
4644
			end
4645
			PART:remove()
4646
		end))
4647
	end
4648
end
4649
function CreateFlyingDebree(FLOOR, POSITION, AMOUNT, BLOCKSIZE, SWAIT, STRENGTH)
4650
	if FLOOR ~= nil then
4651
		for i = 1, AMOUNT do
4652
			do
4653
				local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
4654
				DEBREE.Material = FLOOR.Material
4655
				DEBREE.Color = FLOOR.Color
4656
				DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)))
4657
				DEBREE.Velocity = VT(MRANDOM(-STRENGTH, STRENGTH), MRANDOM(-STRENGTH, STRENGTH), MRANDOM(-STRENGTH, STRENGTH))
4658
				coroutine.resume(coroutine.create(function()
4659
					Swait(15)
4660
					DEBREE.Parent = workspace
4661
					DEBREE.CanCollide = true
4662
					Debris:AddItem(DEBREE, SWAIT)
4663
				end))
4664
			end
4665
		end
4666
	end
4667
end
4668
function ApplyAoE(POSITION,RANGE,FLING,BURN)
4669
	local CHILDREN = workspace:GetDescendants()
4670
	for index, CHILD in pairs(CHILDREN) do
4671
		if CHILD.ClassName == "Model" and CHILD ~= Character then
4672
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
4673
			if HUM then
4674
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
4675
				if TORSO then
4676
					if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
4677
						CHILD:BreakJoints()
4678
						if FLING ~= 0 then
4679
							for _, c in pairs(CHILD:GetChildren()) do
4680
								if c:IsA("BasePart") and c.Transparency == 0 then
4681
									if BURN == true then
4682
										Fire(c)
4683
									end
4684
									local bv = Instance.new("BodyVelocity") 
4685
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
4686
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
4687
									bv.Parent = c
4688
									Debris:AddItem(bv,0.05)
4689
								end
4690
							end
4691
						end
4692
					end
4693
				end
4694
			end
4695
		end
4696
	end
4697
end
4698
4699
function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
4700
	coroutine.resume(coroutine.create(function()
4701
		local METEOR = IT("Model",Effects)
4702
		METEOR.Name = "Meteorite"
4703
		local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
4704
		METEOR.PrimaryPart = CENTER
4705
		local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
4706
		PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
4707
		for i = 1, 15 do
4708
			local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really black", "Fire", VT(5.1,1,5.1)*SIZE)
4709
			FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
4710
		end
4711
		if ISDEBREE ~= true then
4712
			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))))
4713
		else
4714
			METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
4715
		end
4716
		local IMPACT = false
4717
		CreateSound(463593339, CENTER, 10, 0.6)
4718
		if SIZE >= 3.5 then
4719
			for i = 1, MRANDOM(3,7) do
4720
				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)
4721
			end
4722
		end
4723
		for i = 1, 200 do
4724
			Swait()
4725
			local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
4726
			if HITFLOOR == nil then
4727
				local ORI = CENTER.Orientation
4728
				METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
4729
			else
4730
				if HITFLOOR.Anchored == true then
4731
					CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
4732
					CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
4733
				end
4734
				IMPACT = true
4735
				break
4736
			end
4737
		end
4738
		if IMPACT == true then
4739
			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(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
4740
			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(0,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
4741
			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(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
4742
			ApplyAoE(CENTER.Position,30*SIZE)
4743
			
4744
		end
4745
		METEOR:remove()
4746
	end))
4747
end
4748
4749
function KillChildren(Char)
4750
	local NewCharacter = IT("Model",Effects)
4751
	NewCharacter.Name = "Ow im ded ;-;"
4752
	for _, c in pairs(Char:GetDescendants()) do
4753
		if c:IsA("BasePart") and c.Transparency == 0 then
4754
			if c.Parent == Char then
4755
				getbloody(c,5)
4756
			end
4757
			c:BreakJoints()
4758
			c.Material = "Glass"
4759
			c.Color = C3(0.5,0,0)
4760
			c.CanCollide = true
4761
			c.Transparency = 0.3
4762
			if c:FindFirstChildOfClass("SpecialMesh") then
4763
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
4764
			end
4765
			if c.Name == "Head" then
4766
				c:ClearAllChildren()
4767
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
4768
			end
4769
			if c.ClassName == "MeshPart" then
4770
				c.TextureID = ""
4771
			end
4772
			if c:FindFirstChildOfClass("BodyPosition") then
4773
				c:FindFirstChildOfClass("BodyPosition"):remove()
4774
			end
4775
			if c:FindFirstChildOfClass("ParticleEmitter") then
4776
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
4777
			end
4778
			c.Parent = NewCharacter
4779
			c.Name = "DeadPart"
4780
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
4781
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
4782
		end
4783
	end
4784
	Char:remove()
4785
	Debris:AddItem(NewCharacter,5)
4786
end
4787
4788
function Kill(Char)
4789
	local NewCharacter = IT("Model",Effects)
4790
	NewCharacter.Name = "Ow im ded ;-;"
4791
	for _, c in pairs(Char:GetDescendants()) do
4792
		if c:IsA("BasePart") and c.Transparency == 0 then
4793
			if c.Parent == Char then
4794
				getbloody(c,5)
4795
			end
4796
			c:BreakJoints()
4797
			c.Material = "Glass"
4798
			c.Color = C3(0.5,0,0)
4799
			c.CanCollide = true
4800
			c.Transparency = 0.3
4801
			if c:FindFirstChildOfClass("SpecialMesh") then
4802
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
4803
			end
4804
			if c.Name == "Head" then
4805
				c:ClearAllChildren()
4806
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
4807
			end
4808
			if c.ClassName == "MeshPart" then
4809
				c.TextureID = ""
4810
			end
4811
			if c:FindFirstChildOfClass("BodyPosition") then
4812
				c:FindFirstChildOfClass("BodyPosition"):remove()
4813
			end
4814
			if c:FindFirstChildOfClass("ParticleEmitter") then
4815
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
4816
			end
4817
			c.Parent = NewCharacter
4818
			c.Name = "DeadPart"
4819
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
4820
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
4821
		end
4822
	end
4823
	Char:remove()
4824
	Debris:AddItem(NewCharacter,5)
4825
end
4826
4827
function ApplyAoE(POSITION,RANGE,BRUTAL)
4828
	local CHILDREN = workspace:GetDescendants()
4829
	for index, CHILD in pairs(CHILDREN) do
4830
		if CHILD.ClassName == "Model" and CHILD ~= Character then
4831
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
4832
			if HUM then
4833
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
4834
				if TORSO then
4835
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
4836
						if BRUTAL == true then
4837
							Kill(CHILD)
4838
						else
4839
							CHILD:BreakJoints()
4840
						end
4841
					end
4842
				end
4843
			end
4844
		end
4845
	end
4846
end
4847
4848
function BulletDetection(FROM,TO,BRUTAL)
4849
	local AIMHIT,AIMPOS,NORMAL = CastProperRay(FROM,TO,2000,Character)
4850
	coroutine.resume(coroutine.create(function()
4851
		if AIMHIT ~= nil then
4852
			if AIMHIT.Parent ~= Character then
4853
				if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
4854
					if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") then
4855
						if BRUTAL == true then
4856
							Kill(AIMHIT.Parent)
4857
						else
4858
							getbloody(AIMHIT,15)
4859
							AIMHIT.Parent:BreakJoints()
4860
							if AIMHIT.Name == "Head" then
4861
								AIMHIT.Name = "HEADSHOT"
4862
								AIMHIT:remove()
4863
							end
4864
						end
4865
					else
4866
						if BRUTAL == true then
4867
							Kill(AIMHIT.Parent.Parent)
4868
						else
4869
							AIMHIT.Parent.Parent:BreakJoints()
4870
						end
4871
					end
4872
				end
4873
			end
4874
		end
4875
	end))
4876
	SpawnTrail(FROM,AIMPOS)
4877
	return AIMHIT,AIMPOS,NORMAL
4878
end
4879
4880
local Weapon = nil
4881
local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Really black", "BraceletPart", VT(1.01,0.3,1.01),false)
4882
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BasePart, CF(0, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
4883
4884
function Charge(TIME,GYRO)
4885
    local SND = CreateSound(ENERGYSOUND,Torso,6,TIME,false)
4886
    local G = nil
4887
    if GYRO == true then
4888
        G = IT("BodyGyro",RootPart)
4889
        G.D = 250
4890
        G.P = 200000
4891
        G.MaxTorque = VT(math.huge,math.huge,math.huge)
4892
    end
4893
    for i=0, TIME, 0.1 / Animation_Speed do
4894
        Swait()
4895
        if G then
4896
            G.cframe = CF(RootPart.Position,Mouse.Hit.p)
4897
        end
4898
        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})
4899
        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)
4900
        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)
4901
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
4902
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
4903
        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)
4904
        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)
4905
    end
4906
    SND:remove()
4907
    if G then
4908
        return G
4909
    end
4910
end
4911
4912
--Lightning({Material = "Neon", FadeIn = false, Color = C3(204,0,204), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 15, Thicken = false})
4913
function Lightning(Table)
4914
	local Color = Table.Color or C3(204,0,204)
4915
	local StartPos = Table.Start or Torso.Position
4916
	local EndPos = Table.End or Mouse.Hit.p
4917
	local SegmentLength = Table.SegmentL or 2
4918
	local Thickness = Table.Thickness or 0.1
4919
	local Dissapear = Table.DoesFade or false
4920
	local Parent = Table.Ignore or Character
4921
	local MaxDist = Table.MaxDist or 400
4922
	local Branches = Table.Branches or false
4923
	local Thicken = Table.Thicken or false
4924
	local FadeTime = Table.FadeTime or 15
4925
	local FadeIn = Table.FadeIn or false
4926
	local Material = Table.Material or "Neon"
4927
	local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
4928
	local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/((SegmentLength/SegmentLength)/1.5))
4929
	local LIGHTNINGMODEL = IT("Model",Effects)
4930
	LIGHTNINGMODEL.Name = "Lightning"
4931
	local LastBolt = nil
4932
	for E = 1, DISTANCE do
4933
		local ExtraSize = 0
4934
		if Thicken == true then
4935
			ExtraSize = (DISTANCE-E)/15
4936
		end
4937
		local TRANSPARENCY = 0
4938
		if FadeIn == true then
4939
			TRANSPARENCY = 1-(E/(DISTANCE/1.5))
4940
			if TRANSPARENCY < 0 then
4941
				TRANSPARENCY = 0
4942
			end
4943
		end
4944
		local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
4945
		PART.Color = Color
4946
		MakeForm(PART,"Cyl")
4947
		if LastBolt == nil then
4948
			PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
4949
		else
4950
			PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,DISTANCE-E).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
4951
		end
4952
		LastBolt = PART
4953
		if Branches == true and E < (DISTANCE-5) then
4954
			local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
4955
			if CHOICE == 1 then
4956
				local LASTBRANCH = nil
4957
				for i = 1, MRANDOM(2,5) do
4958
					local ExtraSize2 = 0
4959
					if Thicken == true then
4960
						ExtraSize = ((DISTANCE-E)/25)/i
4961
					end
4962
					local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
4963
					PART.Color = Color
4964
					MakeForm(PART,"Cyl")
4965
					if LASTBRANCH == nil then
4966
						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)
4967
					else
4968
						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)
4969
					end
4970
					LASTBRANCH = PART
4971
				end
4972
			end
4973
		end
4974
	end
4975
	if Dissapear == true then
4976
		coroutine.resume(coroutine.create(function()
4977
			for i = 1, FadeTime do
4978
				Swait()
4979
				for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
4980
					if c.ClassName == "Part" then
4981
						c.Transparency = c.Transparency + (i/FadeTime)/10
4982
					end
4983
				end
4984
			end
4985
			LIGHTNINGMODEL:remove()
4986
		end))
4987
	elseif Dissapear == false then
4988
		Debris:AddItem(LIGHTNINGMODEL,0.1)
4989
	end
4990
	return {Hit = HIT,Pos = HITPOS,End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
4991
end
4992
4993
function killnearest(position,range,maxstrength)
4994
    for i,v in ipairs(workspace:GetChildren()) do
4995
    local body = v:GetChildren()
4996
        for part = 1, #body do
4997
            if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
4998
                if(body[part].Position - position).Magnitude < range then
4999
                    if v.ClassName == "Model" then
5000
                        v:BreakJoints()
5001
                    end
5002
                    --table.insert(Effects,{body[part],"Disappear",0.02,2,2,2,2})
5003
                    local bv = Instance.new("BodyVelocity")
5004
                    bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
5005
                    bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
5006
                    bv.Parent = body[part]
5007
                    Debris:AddItem(bv,0.2)
5008
                end
5009
            end
5010
        end
5011
        if v.ClassName == "Part" then
5012
            if v.Anchored == false and (v.Position - position).Magnitude < range then
5013
                --table.insert(Effects,{v,"Disappear",0.02,2,2,2,2})
5014
                v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
5015
            end
5016
        end
5017
    end
5018
end
5019
5020
function ApplyDamage(Humanoid,Damage,TorsoPart)
5021
	local defence = Instance.new("BoolValue",Humanoid.Parent)
5022
	defence.Name = ("HitBy"..Player.Name)
5023
	game:GetService("Debris"):AddItem(defence, 0.001)
5024
	Damage = Damage * DAMAGEMULTIPLIER
5025
	if Humanoid.Health ~= 0 then
5026
		local CritChance = MRANDOM(1,100)
5027
		if Damage > Humanoid.Health then
5028
			Damage = math.ceil(Humanoid.Health)
5029
			if Damage == 0 then
5030
				Damage = 0.1
5031
			end
5032
		end
5033
		Humanoid.Health = Humanoid.Health - Damage
5034
	end
5035
end
5036
5037
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
5038
	local CHILDREN = workspace:GetDescendants()
5039
	for index, CHILD in pairs(CHILDREN) do
5040
		if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
5041
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
5042
			if HUM then
5043
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
5044
				if TORSO then
5045
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
5046
						if INSTAKILL == true then
5047
							CHILD:BreakJoints()
5048
						else
5049
							local DMG = MRANDOM(MINDMG,MAXDMG)
5050
							ApplyDamage(HUM,DMG,TORSO)
5051
						end
5052
						if FLING > 0 then
5053
							for _, c in pairs(CHILD:GetChildren()) do
5054
								if c:IsA("BasePart") then
5055
									local bv = Instance.new("BodyVelocity") 
5056
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
5057
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
5058
									bv.Parent = c
5059
									Debris:AddItem(bv,0.05)
5060
								end
5061
							end
5062
						end
5063
					end
5064
				end
5065
			end
5066
		end
5067
	end
5068
end
5069
5070
5071
5072
function AOEFunction(where,range,callback)
5073
	for _,v in next, getRegion(where,range,{Char}) do
5074
		if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
5075
			callback(v.Parent)
5076
		end
5077
	end
5078
end
5079
function KillChildren(v)
5080
	v:BreakJoints()
5081
	for _, c in pairs(v:GetChildren()) do
5082
		if c:IsA("BasePart") then
5083
			if c.Transparency < 1 then
5084
				if c:FindFirstChildOfClass("Decal") then
5085
					c:FindFirstChildOfClass("Decal"):remove()
5086
				end
5087
				particles(c)
5088
				c.PE.Enabled = true
5089
				c.Parent = Effects
5090
				c.CanCollide = false
5091
				c.Material = "Neon"
5092
				c.Color = C3(1,1,1)
5093
				c.Transparency = 1
5094
				local grav = Instance.new("BodyPosition",c)
5095
				grav.P = 20000
5096
				grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
5097
				grav.position = c.Position + VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5))
5098
				grav.Name = "GravityForce"
5099
				coroutine.resume(coroutine.create(function()
5100
					for i = 1, 20 do
5101
						Swait()
5102
						c.Transparency = c.Transparency + 1/20
5103
					end
5104
					c.PE.Enabled = false
5105
					Debris:AddItem(c,2)
5106
				end))
5107
			end
5108
		end
5109
	end
5110
end
5111
5112
function killnearest(position,range,maxstrength)
5113
	for i,v in ipairs(workspace:GetChildren()) do
5114
	local body = v:GetChildren()
5115
		for part = 1, #body do
5116
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
5117
				if(body[part].Position - position).Magnitude < range then
5118
					if v.ClassName == "Model" then
5119
						v:BreakJoints()
5120
					end
5121
					--table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
5122
					body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
5123
				end
5124
			end
5125
		end
5126
		if v.ClassName == "Part" then
5127
			if v.Anchored == false and (v.Position - position).Magnitude < range then
5128
				--table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
5129
				v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
5130
			end
5131
		end
5132
	end
5133
end
5134
5135
function AntiTimeStop()
5136
	for _, c in pairs(Character:GetChildren()) do
5137
		if c:IsA("Part") and c ~= RootPart then
5138
			c.Anchored = false
5139
		end
5140
	end
5141
	if UNANCHOR == true then
5142
		RootPart.Anchored = false
5143
	else
5144
		RootPart.Anchored = true
5145
	end
5146
end
5147
5148
Humanoid.Changed:connect(function(Jump)
5149
	if Jump == "Jump" and (Disable_Jump == true) then
5150
		Humanoid.Jump = false
5151
	end
5152
	
5153
	
5154
end)
5155
--//=================================\\
5156
--||    ATTACK FUNCTIONS AND STUFF
5157
--\\=================================//
5158
function LavaBeam()
5159
	 ATTACK = true
5160
    Rooted = false
5161
    Speed = 20
5162
        Swait()
5163
        local CHILDREN = workspace:GetDescendants()
5164
        for index, CHILD in pairs(CHILDREN) do
5165
            if CHILD.ClassName == "Model" and CHILD ~= Character then
5166
                local HUM = CHILD:FindFirstChildOfClass("Humanoid")
5167
                if HUM then
5168
                    local TORSO = CHILD:FindFirstChild("Head")
5169
                    if TORSO then
5170
                        if (TORSO.Position - Head.Position).Magnitude <= 25 then
5171
                            WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(5,5,5), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0/255,0/255,255/255), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
5172
                            TORSO:remove()
5173
                            if CHILD:FindFirstChild("Torso") then
5174
                                Ragdoll(CHILD,Torso,true)
5175
                            elseif CHILD:FindFirstChild("UpperTorso") then
5176
                                R15Ragdoll(CHILD,true)
5177
                            end
5178
                        end
5179
                    end
5180
                end
5181
            end
5182
        end
5183
    for i=0, 0.3, 0.1 / Animation_Speed do
5184
        Swait()
5185
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
5186
        RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
5187
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
5188
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
5189
        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.25 / Animation_Speed)
5190
        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.25 / Animation_Speed)
5191
end
5192
    Speed = 20
5193
    ATTACK = false
5194
    Rooted = false
5195
end
5196
function Taunt2()
5197
    ATTACK = true
5198
    Rooted = true
5199
    CreateSound("907330011", Head, 10, 1.1)
5200
    for i=0, 1, 0.1 / Animation_Speed do
5201
        Swait()
5202
        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)
5203
        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)
5204
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.8) * ANGLES(RAD(170), RAD(0), RAD(-30)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
5205
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
5206
        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)
5207
        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)
5208
    end
5209
    for i=0, 2, 0.1 / Animation_Speed do
5210
        Swait()
5211
        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)
5212
        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)
5213
        RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(75), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
5214
        LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
5215
        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)
5216
        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)
5217
    end
5218
    ATTACK = false
5219
    Rooted = false
5220
end
5221
function Extreme_Offset()
5222
	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)
5223
	if HITFLOOR then
5224
		local ORIGINPOS = VT(RootPart.Position.X, HITPOS.Y + 8, RootPart.Position.Z)
5225
		CreateSound("1295446488", Torso, 5, 1)
5226
		for i = 1, 5 do
5227
			WACKYEFFECT({
5228
				Time = MRANDOM(15, 35),
5229
				EffectType = "Round Slash",
5230
				Size = VT(0, 0, 0),
5231
				Size2 = VT(0.3, 0, 0.3),
5232
				Transparency = 0.5,
5233
				Transparency2 = 1,
5234
				CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(-25, 25)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-25, 25))),
5235
				MoveToPos = nil,
5236
				RotationX = MRANDOM(-50, 50) / 10,
5237
				RotationY = MRANDOM(-50, 50) / 10,
5238
				RotationZ = MRANDOM(-50, 50) / 10,
5239
				Material = "Neon",
5240
				Color = C3(1, 1, 1),
5241
				SoundID = nil,
5242
				SoundPitch = nil,
5243
				SoundVolume = nil
5244
			})
5245
		end
5246
		ATTACK = true
5247
		Rooted = true
5248
		UNANCHOR = false
5249
		RootPart.Anchored = true
5250
		RootPart.CFrame = CF(HITPOS + VT(0, 8, 0), ORIGINPOS) * ANGLES(RAD(0), RAD(180), RAD(0))
5251
		for i = 1, 5 do
5252
			WACKYEFFECT({
5253
				Time = MRANDOM(15, 35),
5254
				EffectType = "Round Slash",
5255
				Size = VT(0, 0, 0),
5256
				Size2 = VT(0.3, 0, 0.3),
5257
				Transparency = 0.5,
5258
				Transparency2 = 1,
5259
				CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(-25, 25)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-25, 25))),
5260
				MoveToPos = nil,
5261
				RotationX = MRANDOM(-50, 50) / 10,
5262
				RotationY = MRANDOM(-50, 50) / 10,
5263
				RotationZ = MRANDOM(-50, 50) / 10,
5264
				Material = "Neon",
5265
				Color = C3(1, 1, 1),
5266
				SoundID = nil,
5267
				SoundPitch = nil,
5268
				SoundVolume = nil
5269
			})
5270
		end
5271
		for i = 0, 0.2, 0.1 / Animation_Speed do
5272
			Swait()
5273
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(150)), 2 / Animation_Speed)
5274
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
5275
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
5276
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
5277
			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)
5278
			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)
5279
		end
5280
		for i = 0, 1, 0.1 / Animation_Speed do
5281
			Swait()
5282
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(300)), 0.02 / Animation_Speed)
5283
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.02 / Animation_Speed)
5284
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.02 / Animation_Speed)
5285
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.02 / Animation_Speed)
5286
			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)
5287
			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)
5288
		end
5289
		for i = 1, 10 do
5290
			Swait()
5291
			RootPart.CFrame = RootPart.CFrame * CF(0, -0.4, 0)
5292
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(300)), 1.7 / Animation_Speed)
5293
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1.7 / Animation_Speed)
5294
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 1.7 / Animation_Speed)
5295
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.7 / Animation_Speed)
5296
			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)
5297
			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)
5298
		end
5299
		for i = 0, 0.2, 0.1 / Animation_Speed do
5300
			Swait()
5301
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(90)), 1.5 / Animation_Speed)
5302
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 1.5 / Animation_Speed)
5303
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
5304
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.5 / Animation_Speed)
5305
			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)
5306
			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)
5307
		end
5308
		local HITFLOOR, HITPOS = Raycast(RightArm.Position, CF(RightArm.Position, RightArm.Position + VT(0, -1, 0)).lookVector, 8, Character)
5309
		if HITFLOOR then
5310
			if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
5311
				local CHILDREN = HITFLOOR.Parent:GetDescendants()
5312
				for index, CHILD in pairs(CHILDREN) do
5313
					if CHILD:IsA("BasePart") and CHILD.Parent:FindFirstChildOfClass("Humanoid") then
5314
						for i = 1, 5 do
5315
							CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 2, 5, MRANDOM(15, 25))
5316
							CHILD:remove()
5317
						end
5318
					end
5319
				end
5320
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
5321
				SOUNDPART.CFrame = CF(HITPOS)
5322
				Debris:AddItem(SOUNDPART, 5)
5323
				CreateSound("130972023", SOUNDPART, 6, 3)
5324
				CreateSound("182765513", SOUNDPART, 6, 1)
5325
				WACKYEFFECT({
5326
					EffectType = "Ring",
5327
					Size = VT(0, 0, 0),
5328
					Size2 = VT(1, 1, 0),
5329
					Transparency = 0.7,
5330
					Transparency2 = 1,
5331
					CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
5332
					MoveToPos = nil,
5333
					RotationX = 0,
5334
					RotationY = 0,
5335
					RotationZ = 0,
5336
					Material = "Neon",
5337
					Color = C3(1, 1, 1),
5338
					SoundID = nil,
5339
					SoundPitch = nil,
5340
					SoundVolume = nil
5341
				})
5342
			elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
5343
				local CHILDREN = HITFLOOR.Parent.Parent:GetDescendants()
5344
				for index, CHILD in pairs(CHILDREN) do
5345
					if CHILD:IsA("BasePart") and CHILD.Parent:FindFirstChildOfClass("Humanoid") then
5346
						for i = 1, 5 do
5347
							CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 2, 5, MRANDOM(15, 25))
5348
							CHILD:remove()
5349
						end
5350
					end
5351
				end
5352
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
5353
				SOUNDPART.CFrame = CF(HITPOS)
5354
				Debris:AddItem(SOUNDPART, 5)
5355
				CreateSound("130972023", SOUNDPART, 6, 3)
5356
				CreateSound("182765513", SOUNDPART, 6, 1)
5357
				WACKYEFFECT({
5358
					EffectType = "Ring",
5359
					Size = VT(0, 0, 0),
5360
					Size2 = VT(1, 1, 0),
5361
					Transparency = 0.7,
5362
					Transparency2 = 1,
5363
					CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
5364
					MoveToPos = nil,
5365
					RotationX = 0,
5366
					RotationY = 0,
5367
					RotationZ = 0,
5368
					Material = "Neon",
5369
					Color = C3(1, 1, 1),
5370
					SoundID = nil,
5371
					SoundPitch = nil,
5372
					SoundVolume = nil
5373
				})
5374
			elseif HITFLOOR.Anchored == false then
5375
				if HITFLOOR.Parent ~= workspace then
5376
					local CHILDREN = HITFLOOR.Parent:GetDescendants()
5377
					for index, CHILD in pairs(CHILDREN) do
5378
						if CHILD:IsA("BasePart") and CHILD.Position.Y < HITPOS.Y then
5379
							for i = 1, 5 do
5380
								CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 3, 5, MRANDOM(15, 25))
5381
							end
5382
							CHILD:remove()
5383
						end
5384
					end
5385
				else
5386
					for i = 1, 5 do
5387
						CreateFlyingDebree(HITFLOOR, CF(HITFLOOR.Position), 1, HITFLOOR.Size / 3, 5, MRANDOM(15, 25))
5388
					end
5389
					HITFLOOR:remove()
5390
				end
5391
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
5392
				SOUNDPART.CFrame = CF(HITPOS)
5393
				Debris:AddItem(SOUNDPART, 5)
5394
				CreateSound("130972023", SOUNDPART, 10, 3)
5395
				CreateSound("178452217", SOUNDPART, 6, 1)
5396
				WACKYEFFECT({
5397
					EffectType = "Ring",
5398
					Size = VT(0, 0, 0),
5399
					Size2 = VT(1, 1, 0),
5400
					Transparency = 0.7,
5401
					Transparency2 = 1,
5402
					CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
5403
					MoveToPos = nil,
5404
					RotationX = 0,
5405
					RotationY = 0,
5406
					RotationZ = 0,
5407
					Material = "Neon",
5408
					Color = C3(1, 1, 1),
5409
					SoundID = nil,
5410
					SoundPitch = nil,
5411
					SoundVolume = nil
5412
				})
5413
			else
5414
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
5415
				SOUNDPART.CFrame = CF(HITPOS)
5416
				Debris:AddItem(SOUNDPART, 5)
5417
				CreateSound("130972023", SOUNDPART, 10, 1)
5418
				CreateSound("130972023", SOUNDPART, 6, 0.7)
5419
				CreateDebreeRing(HITFLOOR, HITPOS, 5, VT(5, 5, 5), 5)
5420
				CreateDebreeRing(HITFLOOR, HITPOS, 8, VT(8, 8, 8), 5)
5421
				ApplyAoE(HITPOS, 15, 45, 75, 75, false)
5422
				ApplyAoE(HITPOS, 25, 25, 35, 35, false)
5423
				for i = 1, 5 do
5424
					CreateFlyingDebree(HITFLOOR, CF(HITPOS), 1, VT(MRANDOM(10, 30) / 10, MRANDOM(10, 30) / 10, MRANDOM(10, 30) / 10), 5, MRANDOM(75, 150))
5425
				end
5426
				for i = 1, 5 do
5427
					CreateFlyingDebree(HITFLOOR, CF(HITPOS), 1, VT(MRANDOM(10, 30) / 2, MRANDOM(10, 30) / 2, MRANDOM(10, 30) / 2), 5, MRANDOM(75, 150))
5428
				end
5429
			end
5430
		end
5431
		for i = 0, 1.2, 0.1 / Animation_Speed do
5432
			Swait()
5433
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(90)), 1.5 / Animation_Speed)
5434
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 1.5 / Animation_Speed)
5435
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
5436
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.5 / Animation_Speed)
5437
			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)
5438
			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)
5439
		end
5440
		ATTACK = false
5441
		Rooted = false
5442
		UNANCHOR = true
5443
		RootPart.Anchored = false
5444
	end
5445
end
5446
5447
function Taunt()
5448
	 ATTACK = true
5449
    Rooted = true
5450
            CreateSound("1238240145", Torso, 6, 0.9)
5451
        for i=0, 0.6, 0.1 / Animation_Speed do
5452
            Swait()
5453
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5454
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
5455
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
5456
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
5457
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5458
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5459
        end
5460
        for i=0, 0.6, 0.1 / Animation_Speed do
5461
            Swait()
5462
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5463
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
5464
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
5465
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
5466
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5467
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5468
        end
5469
        for i=0, 0.6, 0.1 / Animation_Speed do
5470
            Swait()
5471
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5472
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
5473
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
5474
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
5475
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5476
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5477
        end
5478
        for i=0, 0.6, 0.1 / Animation_Speed do
5479
            Swait()
5480
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5481
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
5482
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
5483
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
5484
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5485
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5486
        end
5487
        for i=0, 0.6, 0.1 / Animation_Speed do
5488
            Swait()
5489
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5490
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
5491
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
5492
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
5493
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5494
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5495
        end
5496
        for i=0, 0.6, 0.1 / Animation_Speed do
5497
            Swait()
5498
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5499
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
5500
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
5501
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
5502
        RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5503
        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5504
        end
5505
    ATTACK = false
5506
    Rooted = false
5507
end
5508
5509
local SIZE = 1
5510
function Black_Flames()
5511
    ATTACK = true
5512
    Rooted = true
5513
for i=0, 1, 0.1 / Animation_Speed do
5514
        Swait()
5515
        RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE + 0.05 * COS(SINE / 12) * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
5516
        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
5517
        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)
5518
        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)
5519
        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)
5520
        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)
5521
        end
5522
    CreateSound("348663022", Torso, 5, 1)
5523
    local StartPos = RootPart.CFrame * CF(0,10,0).p
5524
    for i = 1, 5 do
5525
        MagicSphere2(50,50,CF(StartPos),"Really black")
5526
        Swait(15)
5527
    end
5528
    local soundeffect = IT("Sound",Torso)
5529
    soundeffect.SoundId = "rbxassetid://487186990"
5530
    soundeffect.Looped = true
5531
    soundeffect.Volume = 10
5532
    soundeffect.Playing = true
5533
    repeat
5534
        turnto(Mouse.Hit.p)
5535
        MagicSphere2(25,25,CF(StartPos),"Really black")
5536
        MagicSphere(25/10,25,CF(StartPos),"Really black")
5537
        local RayHit, RayPos, RayNormal = CastZapRay(StartPos, Mouse.Hit.p, 750, Character, false)
5538
        local distance = (StartPos - RayPos).magnitude
5539
        local RayBeam = IT("Part",Effects)
5540
        RayBeam.Material = "Neon"
5541
        RayBeam.Anchored = true
5542
        RayBeam.BrickColor = BRICKC"Really black"
5543
        local mesh = IT("SpecialMesh",RayBeam)
5544
        mesh.MeshType = "Cylinder"
5545
        RayBeam.Size = Vector3.new(distance+10, 5, 5)
5546
        RayBeam.CFrame = CFrame.new(StartPos, RayPos) * CFrame.new(0, 0, -distance/2) * ANGLES(RAD(0),RAD(90),RAD(0))
5547
        MagicSphere(65,30,CF(RayPos),"Really black")
5548
        killnearest(RayPos,65,100)
5549
        for i = 1, 3 do
5550
            CreateSwirl(0,65,true,-0.2,5,CF(RayPos) * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360))),"Really black")
5551
        end
5552
        Swait()
5553
        if KEYHOLD == false then
5554
            coroutine.resume(coroutine.create(function()
5555
                for i = 1, 5 do
5556
                    RayBeam.Transparency = RayBeam.Transparency + 1/5
5557
                    Swait()
5558
                end
5559
                RayBeam:remove()
5560
            end))
5561
        else
5562
            RayBeam:remove()
5563
        end
5564
    until KEYHOLD == false
5565
    soundeffect:remove()
5566
    ATTACK = false
5567
    Rooted = false
5568
end
5569
5570
local COLOR = "Really red"
5571
5572
function TastyBlood()
5573
    if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
5574
        local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
5575
        local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
5576
        if TORSO and HUM.Health > 0 then
5577
	ATTACK = true
5578
	Rooted = true
5579
		local SOULSPHERE = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(0,0,0))
5580
		SOULSPHERE.CFrame = CF(RootPart.Position+VT(0.2,0.2,0.2))
5581
		MakeForm(SOULSPHERE,"Ball")
5582
			        local POS = Mouse.Hit.p
5583
				WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(10,0.2,10), Size2 = VT(0,0.5,0), Transparency = 1, Transparency2 = 0, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
5584
			wait(0.3)
5585
				local SPIKE = CreatePart(3, Effects, "Fabric", 0, 0, "Maroon", "Spike", VT(8,100,8))
5586
				SPIKE.Color = C3(0,0,0)
5587
				local MSH = IT("SpecialMesh",SPIKE)
5588
				MSH.MeshType = "FileMesh"
5589
				MSH.MeshId = "http://www.roblox.com/asset/?id=785967755"
5590
				MSH.Scale = SPIKE.Size/50
5591
				SPIKE.CFrame = CF(POS+VT(0,15,0))
5592
				Ragdoll(HUM.Parent,Torso,true)
5593
				WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,5,0), Size2 = VT(5,1,5), Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 178452241, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
5594
		WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,1,25), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 1368637781, SoundPitch = 1.3, SoundVolume = 4})
5595
           local grav = Instance.new("BodyPosition",TORSO)
5596
            grav.D = 1500
5597
            grav.P = 20000
5598
            grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
5599
            grav.position = TORSO.Position+VT(0,20,0)
5600
            Debris:AddItem(grav,0.50)
5601
		for i = 1, 14 do
5602
			WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,1,25), Transparency = 0+((i/14)-(1/14)), Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
5603
				for i = 1, 16 do
5604
					Swait()
5605
		             SoulSteal(TORSO.Position,SOULSPHERE)
5606
					SPIKE.CFrame = SPIKE.CFrame*CF(0,-2,0)
5607
			end
5608
		coroutine.resume(coroutine.create(function()
5609
			Swait()
5610
			CreateSound("463598785", SOULSPHERE, 10, MRANDOM(8,12)/10)
5611
			MagicSphere(SOULSPHERE.Size,25,SOULSPHERE.CFrame,COLOR,SOULSPHERE.Size/50)
5612
			for i = 1, 50 do
5613
				Swait()
5614
				SOULSPHERE.Size = SOULSPHERE.Size * 0.9
5615
			end
5616
			SOULSPHERE:remove()
5617
wait(0.20)
5618
				SPIKE:remove()
5619
		end))
5620
end
5621
	ATTACK = false
5622
	Rooted = false
5623
end
5624
end
5625
end
5626
5627
Player_Size = 1
5628
function Absol()
5629
    local HITFLOOR, HITPOS, NORMAL = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 7 * Player_Size, Character)
5630
    if HITFLOOR ~= nil then
5631
        do
5632
            local HITBODIES = {}
5633
            ATTACK = true
5634
            Rooted = true
5635
            local ABSOLUTE = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "ABSOLUTEUM", VT(0, 0, 0))
5636
            MakeForm(ABSOLUTE, "Ball")
5637
            CreateSound("416200578", RootPart, 10, 1)
5638
            for i = 0, 8, 0.1 / Animation_Speed do
5639
                Swait()
5640
                ABSOLUTE.Size = ABSOLUTE.Size + VT(0.2, 0.2, 0.2)
5641
                ABSOLUTE.CFrame = RootPart.CFrame * CF(0, 5 + ABSOLUTE.Size.Y / 2, 0)
5642
                ABSOLUTE.Transparency = ABSOLUTE.Transparency - 0.01
5643
                local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "ABSOLUTEUM", VT(2, 2, 2))
5644
                MakeForm(CHARGE, "Ball")
5645
                CHARGE.CFrame = CF(RootPart.Position) * CF(MRANDOM(-15, 15), -15, MRANDOM(-15, 15))
5646
                FireArc(CHARGE, ABSOLUTE.Position, 45, 45, true)
5647
                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)
5648
                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)
5649
                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)
5650
                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)
5651
                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)
5652
                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)
5653
            end
5654
            CreateSound(ULTTAUNTS[MRANDOM(1, #ULTTAUNTS)], Head, 10, 0.9)
5655
            CreateSound("160772554", ABSOLUTE, 10, MRANDOM(5, 7) / 10)
5656
            for i = 1, 45 do
5657
                Swait()
5658
                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)
5659
                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)
5660
                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)
5661
                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)
5662
                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)
5663
                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)
5664
            end
5665
            coroutine.resume(coroutine.create(function()
5666
                local IMPACT = false
5667
                local BULLET = ABSOLUTE
5668
                MakeForm(BULLET, "Ball")
5669
                BULLET.CFrame = CF(BULLET.Position, Mouse.Hit.p)
5670
                for i = 1, 500 do
5671
                    Swait()
5672
                    BULLET.CFrame = BULLET.CFrame * CF(0, 0, -2)
5673
                    local HIT = Raycast(BULLET.Position, BULLET.CFrame.lookVector, BULLET.Size.X / 2, Character)
5674
                    MagicSphere(VT(10, 10, 10), 55, CF(BULLET.CFrame * CF(MRANDOM(-BULLET.Size.X / 2.5, BULLET.Size.X / 2.5), MRANDOM(-BULLET.Size.X / 2.5, BULLET.Size.X / 2.5), MRANDOM(-BULLET.Size.X / 2.5, BULLET.Size.X / 2.5)).p), "Really red", VT(-10, -10, -10) / 55)
5675
                    if HIT ~= nil then
5676
                        IMPACT = true
5677
                        break
5678
                    end
5679
                end
5680
                if IMPACT == false then
5681
                    for i = 1, 40 do
5682
                        Swait()
5683
                        BULLET.Size = BULLET.Size * 0.9
5684
                    end
5685
                    BULLET:remove()
5686
                else
5687
                    CreateSound("1127492102", BULLET, 10, MRANDOM(8, 13) / 10)
5688
                    for i = 1, 175 do
5689
                        Swait()
5690
                        BULLET.Size = BULLET.Size * 0.99
5691
                        Slice("Round", 0, 35, CF(BULLET.Position) * ANGLES(RAD(MRANDOM(-18, 18)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-18, 18))), "Black", VT(i, 0, i) / 85)
5692
                    end
5693
                    CreateSound("438666001", BULLET, 10, 3)
5694
                    Swait(35)
5695
                    BULLET.Transparency = 1
5696
                    for i = 1, 20 do
5697
                        for e = 1, 5 do
5698
                            MagicSphere(VT(0.2, 0.2, 0.2), 50, CF(BULLET.CFrame * CF(MRANDOM(-5, 5), MRANDOM(-5, 5), MRANDOM(-5, 5)).p, BULLET.Position), "Really black", VT(1, 1, i * 4), 0)
5699
                            Slice("Round", 0, 35, CF(BULLET.Position) * ANGLES(RAD(MRANDOM(-18, 18)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-18, 18))), "Really red", VT(i, 0, i) / 3)
5700
                        end
5701
                        AddChildrenToTable(BULLET.Position, workspace, i * 25, HITBODIES)
5702
                        CreateSound("178452241", BULLET, 10, MRANDOM(8, 13) / 10)
5703
                        CreateSound("178452243", BULLET, 10, MRANDOM(8, 13) / 10)
5704
                        MagicSphere(BULLET.Size, 35, BULLET.CFrame, C3(MRANDOM(0, 10) / 10, 0, 0), VT(i, i, i) * 2)
5705
                        Swait(5)
5706
                        for e = 1, #HITBODIES do
5707
                            if HITBODIES[e] ~= nil then
5708
                                local BOD = HITBODIES[e]
5709
                                local TORS = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
5710
                                if TORS then
5711
                                    BOD:BreakJoints()
5712
                                    for _, c in pairs(BOD:GetChildren()) do
5713
                                        if c.ClassName == "Part" or c.ClassName == "MeshPart" then
5714
                                            local bv = Instance.new("BodyVelocity")
5715
                                            bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
5716
                                            bv.velocity = CF(BULLET.Position, c.Position).lookVector * 250
5717
                                            bv.Parent = c
5718
                                            Debris:AddItem(bv, 0.2)
5719
                                        end
5720
                                    end
5721
                                end
5722
                            end
5723
                        end
5724
                        CreateWave(VT(0, 2, 0), 75, CF(BULLET.Position), true, -15, "Really black", VT(i, 0, i) * 2)
5725
                    end
5726
                    MagicSphere(BULLET.Size, 100, BULLET.CFrame, C3(0, 0, 150), VT(12, 12, 12))
5727
                    Debris:AddItem(BULLET, 10)
5728
                end
5729
            end))
5730
            ATTACK = false
5731
            Rooted = false
5732
        end
5733
    end
5734
end
5735
5736
function findNearestTorso(pos)
5737
	local list = game.Workspace:children()
5738
	local torso = nil
5739
	local dist = 1000
5740
	local temp = nil
5741
	local human = nil
5742
	local temp2 = nil
5743
	for x = 1, #list do
5744
		temp2 = list[x]
5745
		if (temp2.className == "Model") and (temp2 ~= Character) and (temp2 ~= pos.Parent) then
5746
			temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
5747
			human = temp2:findFirstChildOfClass("Humanoid")
5748
			if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
5749
				if (temp.Position - pos.Position).magnitude < dist then
5750
					torso = temp
5751
					dist = (temp.Position - pos.Position).magnitude
5752
				end
5753
			end
5754
		end
5755
	end
5756
	return torso,dist
5757
end
5758
5759
function LavaAura()
5760
	ATTACK = true
5761
	Rooted = true
5762
    CHOSENBRICK = "Really red"
5763
	CreateSound("214954135", Effects, 35, MRANDOM(9, 10) / 10)
5764
	for i=0, 2, 0.1 / Animation_Speed do
5765
		Swait()
5766
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
5767
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
5768
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(180), RAD(-145)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
5769
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(180), RAD(145)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
5770
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 0.5 / Animation_Speed)
5771
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.5 / Animation_Speed)
5772
	end
5773
	ATTACK = false
5774
	Rooted = false
5775
	VALUE2 = true
5776
	for i = 15, 35 do
5777
		for i = 15, 45 do
5778
			Swait()
5779
Slice("Round",15,40,RootPart.CFrame*CF(0,MRANDOM(-15,15),0)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(0.1,0,0.1))
5780
			MagicSphere(VT(0, 0, 0), 40, Eon.CFrame*CF(0,MRANDOM(-0,0),0)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))), C3(0.5, 0.5, 1), VT(1, 0.1, 0.1))
5781
		end
5782
		Freeze(Torso.Position,45)
5783
		for i = 15, 35 do
5784
			Slice("Thin",15,40,RootPart.CFrame*CF(0,MRANDOM(-15,15),0)*ANGLES(RAD(MRANDOM(-15,15)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-15,15))),"Really red",VT(0.1,0,0.1))
5785
		end
5786
	end
5787
	VALUE2 = false
5788
    CHOSENBRICK = "Really red"
5789
end
5790
5791
function Strike()
5792
    local HITBODIES = {}
5793
    local CENTER = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Lime green", "CenterPart", VT(0,0,0))
5794
    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)
5795
    CENTER.CFrame = CF(ECH)
5796
    local RAY = CreatePart(3, Effects, "Neon", 0, 1, "Really black", "Laser01", VT(25,99999,25))
5797
    RAY.Color = C3(255,0,0)
5798
    MakeForm(RAY,"Cyl")
5799
    RAY.CFrame = CF(ECH)
5800
    for i = 1, 75 do
5801
        Swait()
5802
        RAY.Transparency = RAY.Transparency - 1/75
5803
        RAY.Size = RAY.Size - VT(25/75,0,25/75)
5804
        MagicSphere(VT(1,1,1),15,CF(ECH)*CF(MRANDOM(-15,15),MRANDOM(0,100),MRANDOM(-15,15)),C3(1,1,1),VT(0,0,0))
5805
    end
5806
    ApplyAoE2(ECH,25,25)
5807
    MagicSphere(VT(0,0,0),55,CF(ECH),C3(255,0,0),VT(2,2,2))
5808
    for i = 1, 25 do
5809
        MagicSphere(VT(1,1,1),i*3,CF(ECH)*CF(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)),C3(1,1,1),VT(0,0,0))
5810
    end
5811
    CreateSound("168586621", CENTER, 10, 0.8)
5812
    RAY:remove()
5813
    Debris:AddItem(CENTER,5)
5814
end
5815
5816
function Click()
5817
	ATTACK = true
5818
	Rooted = false
5819
	local HIT = nil
5820
	OFFSET = -45
5821
	for i=0, 1, 0.1 / Animation_Speed do
5822
		Swait()
5823
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(45)), 0.15 / Animation_Speed)
5824
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
5825
	end
5826
	OFFSET = 45
5827
	local PUNCH = CreatePart(3, Effects, "Granite", 0, 1, "Really black", "Hit", VT(0.7,0.7,0.7),false)
5828
	PUNCH.CanCollide = true
5829
	CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PUNCH, CF(0,-1,0), CF(0, 0, 0))
5830
	TAUNT = true
5831
	local TOUCH = PUNCH.Touched:Connect(function(hit)
5832
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
5833
			HIT = hit.Parent
5834
		end
5835
	end)
5836
	for i=0, 0.3, 0.1 / Animation_Speed do
5837
		Swait()
5838
		RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.3)
5839
		if HIT ~= nil then
5840
			break
5841
		end
5842
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
5843
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
5844
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-35), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
5845
	end
5846
	PUNCH:remove()
5847
	TOUCH:disconnect()
5848
	if HIT ~= nil then
5849
		for _, c in pairs(HIT:GetChildren()) do
5850
			if c:IsA("BasePart") then
5851
				c.Anchored = true
5852
			end
5853
		end
5854
		Rooted = true
5855
		CreateSound(649634100, Torso, 10, 0.8)
5856
		CreateSound(1368573150, RightArm, 3, 1.5)
5857
		for i=0, 0.6, 0.1 / Animation_Speed do
5858
			Swait()
5859
			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,1,1), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
5860
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(25), RAD(-45)), 0.05 / Animation_Speed)
5861
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
5862
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-35), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
5863
		end
5864
		for _, c in pairs(HIT:GetChildren()) do
5865
			if c:IsA("BasePart") then
5866
				c.Anchored = false
5867
			end
5868
		end
5869
		KillChildren(HIT)
5870
	end
5871
	OFFSET = 0
5872
	ATTACK = false
5873
	Rooted = false
5874
	TAUNT = false
5875
end
5876
function LimbRip()
5877
	ATTACK = true
5878
	Rooted = false
5879
	local TARGET = nil
5880
	local ROOT = nil
5881
	local HUMAN = nil
5882
	local DIST = 4
5883
	Speed = 12
5884
	for i=0, 1, 0.1 / Animation_Speed do
5885
		Swait()
5886
		local CHILDREN = workspace:GetDescendants()
5887
		for index, CHILD in pairs(CHILDREN) do
5888
			if CHILD.ClassName == "Model" and CHILD ~= Character then
5889
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
5890
				if HUM then
5891
					local TORSO = CHILD:FindFirstChild("HumanoidRootPart") or CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
5892
					if TORSO and HUM.Health > 0 then
5893
						if (TORSO.Position - RightArm.Position).Magnitude <= DIST then
5894
							DIST = (TORSO.Position - RightArm.Position).Magnitude
5895
							ROOT = TORSO
5896
							HUMAN = HUM
5897
							TARGET = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
5898
						end
5899
					end
5900
				end
5901
			end
5902
		end
5903
		if ROOT then
5904
			break
5905
		end
5906
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
5907
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(-25)), 1 / Animation_Speed)
5908
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
5909
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
5910
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
5911
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
5912
	end
5913
	Speed = 16
5914
	if ROOT then
5915
		CreateSound(305685800,Torso,5,1.3,false)
5916
		Rooted = true
5917
		local GORED = false
5918
		coroutine.resume(coroutine.create(function()
5919
			repeat
5920
				Swait()
5921
				ROOT.Anchored = true
5922
			until GORED == true
5923
			ROOT.Anchored = false
5924
		end))
5925
		RootPart.CFrame = ROOT.CFrame*CF(0,0,2.25)
5926
		if TARGET.Name == "Torso" then
5927
			local RARM = TARGET.Parent:FindFirstChild("Right Arm")
5928
			local LARM = TARGET.Parent:FindFirstChild("Left Arm")
5929
			if RARM and LARM then
5930
				for i=0, 1, 0.1 / Animation_Speed do
5931
					Swait()
5932
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
5933
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
5934
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
5935
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
5936
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
5937
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
5938
				end
5939
				for _, c in pairs(TARGET.Parent:GetDescendants()) do
5940
					if c:IsA("JointInstance") then
5941
						if c.Part1 == RARM or c.Part1 == LARM or c.Part0 == RARM or c.Part0 == LARM then
5942
							c:remove()
5943
						end
5944
					end
5945
				end
5946
				CreateSound(363808674, TARGET, 3, MRANDOM(7,9)/10, false)
5947
				CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
5948
				CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, LARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
5949
				for i=0, 1, 0.1 / Animation_Speed do
5950
					Swait()
5951
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
5952
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
5953
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
5954
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
5955
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
5956
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
5957
				end
5958
				for i=0, 1, 0.1 / Animation_Speed do
5959
					Swait()
5960
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.25) * ANGLES(RAD(-25), RAD(0), RAD(80)), 1 / Animation_Speed)
5961
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
5962
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
5963
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
5964
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,1.5,0), 1 / Animation_Speed)
5965
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
5966
				end
5967
				for i=0, 0.1, 0.1 / Animation_Speed do
5968
					Swait()
5969
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
5970
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
5971
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
5972
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
5973
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
5974
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
5975
				end
5976
				GORED = true
5977
				Ragdoll(TARGET.Parent,Torso)
5978
				if ROOT.Name ~= "Torso" then
5979
					ROOT:remove()
5980
				end
5981
				local RGRAB = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
5982
				local LGRAB = CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, LARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
5983
				local bv = Instance.new("BodyVelocity",TARGET) 
5984
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
5985
				bv.velocity = TARGET.CFrame.lookVector*75
5986
				Debris:AddItem(bv,0.05)
5987
				CreateSound(621557962, RightLeg, 1, MRANDOM(7,9)/10, false)
5988
				for i=0, 0.5, 0.1 / Animation_Speed do
5989
					Swait()
5990
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
5991
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
5992
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
5993
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
5994
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
5995
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
5996
				end
5997
				for i=0, 1, 0.1 / Animation_Speed do
5998
					Swait()
5999
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6000
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
6001
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.6 / Animation_Speed)
6002
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.6 / Animation_Speed)
6003
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6004
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6005
				end
6006
				local HITBOX = CreatePart(3, RARM, "Metal", 0, 1, "Really black", "Part", RARM.Size, false)
6007
				HITBOX.CFrame = RARM.CFrame
6008
				HITBOX.CanCollide = true
6009
				weldBetween(RARM,HITBOX)
6010
				local HITBOX = CreatePart(3, LARM, "Metal", 0, 1, "Really black", "Part", RARM.Size, false)
6011
				HITBOX.CFrame = LARM.CFrame
6012
				HITBOX.CanCollide = true
6013
				weldBetween(LARM,HITBOX)
6014
				RGRAB:remove()
6015
				LGRAB:remove()
6016
				for i=0, 0.4, 0.1 / Animation_Speed do
6017
					Swait()
6018
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6019
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
6020
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(110)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6021
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(-110)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6022
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6023
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6024
				end
6025
			end
6026
		elseif TARGET.Name == "UpperTorso" then
6027
			if TARGET.Parent:FindFirstChild("RightUpperArm") and TARGET.Parent:FindFirstChild("LeftUpperArm") then
6028
				for i=0, 0.3, 0.1 / Animation_Speed do
6029
					Swait()
6030
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
6031
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
6032
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.5) * ANGLES(RAD(140), RAD(0), RAD(45)) * ANGLES(RAD(0), RAD(25), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6033
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6034
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6035
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6036
				end
6037
				local SAWBLADE = CreatePart(3, Weapon, "Neon", 0, 0.5, "Really red", "Part", VT(0,0,0),false)
6038
				local WELD = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, SAWBLADE, CF(0,-1,0) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
6039
				local BLADE = true
6040
				CreateMesh("SpecialMesh", SAWBLADE, "FileMesh", "74322089", "", VT(1,1,1), VT(0,0,0))
6041
				coroutine.resume(coroutine.create(function()
6042
					repeat
6043
						Swait()
6044
						WELD.C1 = WELD.C1 * ANGLES(RAD(0), RAD(0), RAD(25))
6045
					until BLADE == false
6046
					SAWBLADE:remove()
6047
				end))
6048
				CreateSound(1165167936, SAWBLADE, 2, 1, true)
6049
				for i=0, 1, 0.1 / Animation_Speed do
6050
					Swait()
6051
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
6052
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
6053
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.5) * ANGLES(RAD(140), RAD(0), RAD(45)) * ANGLES(RAD(0), RAD(25), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6054
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6055
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6056
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6057
				end
6058
				for i=0, 3, 0.1 / Animation_Speed do
6059
					Swait()
6060
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
6061
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
6062
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.5) * ANGLES(RAD(15), RAD(0), RAD(45)) * ANGLES(RAD(0), RAD(-25), RAD(0)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
6063
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6064
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6065
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6066
				end
6067
				CreateSound(363808674, TARGET, 3, MRANDOM(7,9)/10, false)
6068
				TARGET.Parent:FindFirstChild("RightUpperArm").RightShoulder:remove()
6069
				for i=0, 1, 0.1 / Animation_Speed do
6070
					Swait()
6071
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(1, 0, 0.3) * ANGLES(RAD(0), RAD(0), RAD(90)), 1 / Animation_Speed)
6072
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-80)), 1 / Animation_Speed)
6073
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, 0) * ANGLES(RAD(140), RAD(0), RAD(90)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6074
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6075
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6076
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6077
				end
6078
				for i=0, 3, 0.1 / Animation_Speed do
6079
					Swait()
6080
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(1, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 1 / Animation_Speed)
6081
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-80)), 1 / Animation_Speed)
6082
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
6083
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6084
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6085
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6086
				end
6087
				CreateSound(363808674, TARGET, 3, MRANDOM(7,9)/10, false)
6088
				TARGET.Parent:FindFirstChild("LeftUpperArm").LeftShoulder:remove()
6089
				BLADE = false
6090
				for i=0, 0.5, 0.1 / Animation_Speed do
6091
					Swait()
6092
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.25) * ANGLES(RAD(-25), RAD(0), RAD(80)), 1 / Animation_Speed)
6093
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
6094
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6095
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6096
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,1.5,0), 1 / Animation_Speed)
6097
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
6098
				end
6099
				for i=0, 0.1, 0.1 / Animation_Speed do
6100
					Swait()
6101
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
6102
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
6103
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-32), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6104
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6105
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
6106
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
6107
				end
6108
				GORED = true
6109
				TARGET.Parent:BreakJoints()
6110
				R15Ragdoll(TARGET.Parent)
6111
				if ROOT.Name ~= "Torso" then
6112
					ROOT:remove()
6113
				end
6114
				local bv = Instance.new("BodyVelocity",TARGET) 
6115
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
6116
				bv.velocity = TARGET.CFrame.lookVector*75
6117
				Debris:AddItem(bv,0.05)
6118
				CreateSound(621557962, RightLeg, 1, MRANDOM(7,9)/10, false)
6119
				for i=0, 0.3, 0.1 / Animation_Speed do
6120
					Swait()
6121
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
6122
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
6123
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-32), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6124
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6125
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
6126
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
6127
				end
6128
			end
6129
		end
6130
	end
6131
	ATTACK = false
6132
	Rooted = false
6133
end
6134
function CreateBody()
6135
	local zombie = IT("Model",Effects)
6136
	zombie.Name = "NOOB"
6137
	local tors = IT("Part",zombie)
6138
	tors.Name = "Torso"
6139
	tors.Size = Torso.Size
6140
	tors.CFrame = RootPart.CFrame * CF(math.random(-5,5),0,-5)
6141
	tors.Color = C3(0,0,245)
6142
	local heed = IT("Part",zombie)
6143
	heed.Size = Head.Size
6144
	heed.CFrame = tors.CFrame * CF(0,1.5,0)
6145
	heed.Name = "Head"
6146
	heed.Color = C3(255/255, 0/0, 0/0)
6147
	local face = IT("Decal",heed)
6148
	face.Texture = "http://www.roblox.com/asset/?id=152527250"
6149
	weldBetween(tors,heed)
6150
	local headmesh = IT("SpecialMesh",heed)
6151
	headmesh.Scale = VT(1.25,1.25,1.25)
6152
	local limb = IT("Part",zombie)
6153
	limb.Size = VT(1,2,1)
6154
	limb.Name = "Left Arm"
6155
	limb.CFrame = tors.CFrame * CF(-1.5,0,0)
6156
	limb.Color = C3(255/255, 0/0, 0/0)
6157
	weldBetween(tors,limb)
6158
	local limb = IT("Part",zombie)
6159
	limb.Size = VT(1,2,1)
6160
	limb.Name = "Right Arm"
6161
	limb.CFrame = tors.CFrame * CF(1.5,0,0)
6162
	limb.Color = C3(255/255, 0/0, 0/0)
6163
	weldBetween(tors,limb)
6164
	local limb = IT("Part",zombie)
6165
	limb.Size = VT(1,2,1)
6166
	limb.Name = "Right Leg"
6167
	limb.CFrame = tors.CFrame * CF(0.5,-2,0)
6168
	limb.Color = C3(0,0,245)
6169
	weldBetween(tors,limb)
6170
	local limb = IT("Part",zombie)
6171
	limb.Size = VT(1,2,1)
6172
	limb.Name = "Left Leg"
6173
	limb.CFrame = tors.CFrame * CF(-0.5,-2,0)
6174
	limb.Color = C3(0,0,245)
6175
	weldBetween(tors,limb)
6176
	local hooman = IT("Humanoid",zombie)
6177
	return zombie
6178
end
6179
6180
--//=================================\\
6181
--||	ATTACK FUNCTIONS AND STUFF
6182
--\\=================================//
6183
local LAUGHS = {"529391838"}
6184
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
6185
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
6186
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
6187
local HITBLOCKSOUNDS = {"199148933", "199148947"}
6188
local UNANCHOR = true
6189
 
6190
local ATTACKEDTAUNTS = {
6191
	"907332040",
6192
	"907332525",
6193
	"907330011"
6194
}
6195
local ATTACKTAUNTS = {
6196
	"907329893",
6197
	"907329532",
6198
	"907333294",
6199
	"907332856"
6200
}
6201
local ULTTAUNTS = {
6202
	"907332997",
6203
	"907332670",
6204
	"907330103"
6205
}
6206
6207
6208
local RightHole = CreatePart(3, Character, "Metal", 0, 0, "Mid gray", "Eye", VT(0.2,0,0.2),false)
6209
MakeForm(RightHole,"Cyl")
6210
local LeftHole = CreatePart(3, Character, "Metal", 0, 0, "Mid gray", "Eye", VT(0.2,0,0.2),false)
6211
MakeForm(LeftHole,"Cyl")
6212
6213
function getbloody(victim,amount)
6214
	local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
6215
	PART.CFrame = victim.CFrame
6216
	local HITPLAYERSOUNDS = {"356551938","264486467"}
6217
	Debris:AddItem(PART,5)
6218
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
6219
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
6220
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
6221
	local prtcl = asd:Clone()
6222
	prtcl.Parent = PART
6223
	prtcl:Emit(amount*10)
6224
end
6225
6226
function Kill(Char)
6227
	local NewCharacter = IT("Model",Effects)
6228
	NewCharacter.Name = "Ow im ded ;-;"
6229
	for _, c in pairs(Char:GetDescendants()) do
6230
		if c:IsA("BasePart") and c.Transparency == 0 then
6231
			if c.Parent == Char then
6232
				getbloody(c,5)
6233
			end
6234
			c:BreakJoints()
6235
			c.Material = "Glass"
6236
			c.Color = C3(0.5,0,0)
6237
			c.CanCollide = true
6238
			c.Transparency = 0.3
6239
			if c:FindFirstChildOfClass("SpecialMesh") then
6240
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
6241
			end
6242
			if c.Name == "Head" then
6243
				c:ClearAllChildren()
6244
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
6245
			end
6246
			if c.ClassName == "MeshPart" then
6247
				c.TextureID = ""
6248
			end
6249
			if c:FindFirstChildOfClass("BodyPosition") then
6250
				c:FindFirstChildOfClass("BodyPosition"):remove()
6251
			end
6252
			if c:FindFirstChildOfClass("ParticleEmitter") then
6253
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
6254
			end
6255
			c.Parent = NewCharacter
6256
			c.Name = "DeadPart"
6257
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
6258
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
6259
		end
6260
	end
6261
	Char:remove()
6262
	Debris:AddItem(NewCharacter,5)
6263
end
6264
6265
function Banisher_Bullet()
6266
	ATTACK = true
6267
	Rooted = false
6268
	for i=0, 0.05, 0.1 / Animation_Speed do
6269
		Swait()
6270
		turnto(Mouse.Hit.p)
6271
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
6272
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
6273
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
6274
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
6275
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
6276
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
6277
	end
6278
	repeat
6279
		for i=0, 0.05, 0.1 / Animation_Speed do
6280
			Swait()
6281
			turnto(Mouse.Hit.p)
6282
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
6283
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
6284
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
6285
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
6286
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
6287
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
6288
		end
6289
		local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
6290
		SpawnTrail(Hole.Position,POS)
6291
		if HIT ~= nil then
6292
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
6293
				Banish(HIT.Parent)
6294
			end
6295
		end
6296
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(222,255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
6297
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(222,255,0), SoundID = 162209821, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
6298
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(222,255,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
6299
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(222,255,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
6300
		for i=0, 0.05, 0.1 / Animation_Speed do
6301
			Swait()
6302
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
6303
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
6304
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(130), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
6305
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
6306
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
6307
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
6308
		end
6309
	until KEYHOLD == false
6310
	ATTACK = false
6311
	Rooted = false
6312
end
6313
function CreateRing(SIZE, DOESROT, ROT, WAIT, CFRAME, COLOR, GROW)
6314
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
6315
	wave.Color = COLOR
6316
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0, 0, 0))
6317
	wave.CFrame = CFRAME
6318
	coroutine.resume(coroutine.create(function(PART)
6319
		for i = 1, WAIT do
6320
			Swait()
6321
			mesh.Scale = mesh.Scale + GROW
6322
			if DOESROT == true then
6323
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
6324
			end
6325
			wave.Transparency = wave.Transparency + 0.5 / WAIT
6326
			if wave.Transparency > 0.99 then
6327
				wave:remove()
6328
			end
6329
		end
6330
	end))
6331
end
6332
function Erruption()
6333
	ATTACK = true
6334
	Rooted = true
6335
	CreateSound(LAUGHS[MRANDOM(1,#LAUGHS)], Torso, 7, 1, false)
6336
	for i=0, 1, 0.1 / Animation_Speed do
6337
		Swait()
6338
		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)
6339
		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)
6340
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6341
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6342
		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)
6343
		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)
6344
	end	
6345
	coroutine.resume(coroutine.create(function()
6346
		local POS = Mouse.Hit.p
6347
		local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,2000,0))
6348
		MakeForm(RAY,"Cyl")
6349
		local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,0,0))
6350
		MakeForm(SPHERE,"Ball")
6351
		local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Strike", VT(0,0,0))
6352
		MakeForm(SHIELD,"Ball")
6353
		SHIELD.CFrame = CF(POS)
6354
		RAY.CFrame = CF(POS)
6355
		SPHERE.CFrame = CF(POS)
6356
		CreateSound(440145570, SPHERE, 10, 0.8, false)
6357
		CreateSound(415700134, SPHERE, 10, 0.8, false)
6358
		for i = 1, 200 do
6359
			Swait()
6360
			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,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
6361
			RAY.Size = RAY.Size + VT(0.05,0,0.05)
6362
			SPHERE.Size = SPHERE.Size + VT(5,5,5)
6363
			SHIELD.Size = SPHERE.Size + VT(6,6,6)
6364
			ApplyAoE(SPHERE.Position,SPHERE.Size.X/3,true)
6365
		end	
6366
		for i = 1, 45 do
6367
			Swait()
6368
			RAY.Transparency = RAY.Transparency + 1/45
6369
			SPHERE.Transparency = RAY.Transparency 
6370
			SHIELD.Transparency = SPHERE.Transparency + 1/45
6371
		end
6372
		RAY:remove()
6373
		SHIELD:remove()
6374
		SPHERE:remove()
6375
	end))
6376
	for i=0, 1, 0.1 / Animation_Speed do
6377
		Swait()
6378
		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)
6379
		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)
6380
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(-45), RAD(85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6381
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(45), RAD(-85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6382
		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)
6383
		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)
6384
	end
6385
	ATTACK = false
6386
	Rooted = false
6387
end
6388
6389
function Teleport()
6390
	ATTACK = true
6391
	Rooted = false
6392
	for i=0, 0.5, 0.1 / Animation_Speed do
6393
		Swait()
6394
		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)
6395
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-25), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
6396
	end
6397
	for e = 1, #BODY do
6398
		if BODY[e] ~= nil then
6399
			local STUFF = BODY[e]
6400
			local PART = STUFF[1]
6401
			if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
6402
				local PRT = PART:Clone()
6403
				PRT.Anchored = true
6404
				PRT.CanCollide = false
6405
				PRT.Material = "Neon"
6406
				PRT.Color = C3(1,1,1)
6407
				PRT.Name = "WarpEffect"
6408
				PRT.Parent = Effects
6409
				PRT.CFrame = PART.CFrame
6410
				PRT:BreakJoints()
6411
				if PRT:FindFirstChildOfClass("Sound") then
6412
					PRT:FindFirstChildOfClass("Sound"):remove()
6413
				end
6414
				if PRT:FindFirstChildOfClass("Decal") then
6415
					PRT:FindFirstChildOfClass("Decal"):remove()
6416
				end
6417
				coroutine.resume(coroutine.create(function()
6418
					for i = 1, 100 do
6419
						Swait()
6420
						PRT.Transparency = PRT.Transparency + 1/100
6421
					end
6422
					PRT:remove()
6423
				end))
6424
			end
6425
		end
6426
	end
6427
	CreateSound(217767125, Torso, 10, 1)
6428
	local POS = RootPart.Orientation
6429
	RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
6430
	RootPart.Orientation = POS
6431
	RootJoint.Parent = RootPart
6432
	for i=0, 0.5, 0.1 / Animation_Speed do
6433
		Swait()
6434
		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)
6435
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-15), RAD(12)) * ANGLES(RAD(175 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
6436
	end
6437
	for i=0, 0.1, 0.1 / Animation_Speed do
6438
		Swait()
6439
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
6440
	end
6441
	ATTACK = false
6442
	Rooted = false
6443
end
6444
function Sky()
6445
	local HITBODIES = {}
6446
	local CENTER = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Pearl", "CenterPart", VT(0, 0, 0))
6447
	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)
6448
	CENTER.CFrame = CF(ECH)
6449
	local RAY = CreatePart(3, Effects, "Neon", 0, 1, "Really black", "Laser01", VT(25, 99999, 25))
6450
	MakeForm(RAY, "Cyl")
6451
	local RAY2 = CreatePart(3, Effects, "Neon", 0, 1, "Really black", "Laser01", VT(28, 99999, 28))
6452
	MakeForm(RAY2, "Cyl")
6453
	RAY.CFrame = CF(ECH)
6454
	RAY2.CFrame = CF(ECH)
6455
	CreateSound("1368573150", CENTER, 10, 0.8)
6456
	for i = 1, 100 do
6457
		Swait()
6458
		RAY.Transparency = RAY.Transparency - 0.01
6459
		RAY.Size = RAY.Size - VT(0.25, 0, 0.25)
6460
		RAY2.Transparency = RAY2.Transparency - 0.012
6461
		RAY2.Size = RAY2.Size - VT(0.28, 0, 0.28)
6462
	end
6463
	for i = 1, 5 do
6464
		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))
6465
	end
6466
	RAY:remove()
6467
	RAY2:remove()
6468
	CreateSound("1368637781", CENTER, 10, 0.8)
6469
	MagicSphere(VT(0, 0, 0), 15, CF(ECH), "Really black", VT(8, 8, 8))
6470
	MagicSphere(VT(1, 1, 1), 25, CF(ECH), "Really black", VT(8, 8, 8))
6471
	AddChildrenToTable(ECH, workspace, 80, HITBODIES)
6472
	Debris:AddItem(CENTER, 5)
6473
	CreateSound("414517163", CENTER, 10, 0.8)
6474
	for i = 1, 5 do
6475
		Slice("Round", 0, 35, CF(ECH) * ANGLES(RAD(MRANDOM(-18, 18)), RAD(MRANDOM(-180, 180)), RAD(MRANDOM(-18, 18))), "Really black", VT(0.5, 0, 0.5))
6476
	end
6477
	for e = 1, #HITBODIES do
6478
		if HITBODIES[e] ~= nil then
6479
			local BOD = HITBODIES[e]
6480
			local TORS = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
6481
			if TORS then
6482
				BOD:BreakJoints()
6483
				for _, c in pairs(BOD:GetChildren()) do
6484
					if c.ClassName == "Part" or c.ClassName == "MeshPart" then
6485
						local bv = Instance.new("BodyVelocity")
6486
						bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
6487
						bv.velocity = CF(ECH, c.Position).lookVector * 250
6488
						bv.Parent = c
6489
						Debris:AddItem(bv, 0.2)
6490
					end
6491
				end
6492
			end
6493
		end
6494
	end
6495
end
6496
function Prison_Key()
6497
	if Mouse.Target ~= nil then
6498
		if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
6499
			local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
6500
			local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
6501
			local GYRO = IT("BodyGyro",RootPart)
6502
			GYRO.D = 750
6503
			GYRO.P = 20000
6504
			GYRO.MaxTorque = VT(0,40000000,0)
6505
			local grav = Instance.new("BodyPosition",TORSO)
6506
			grav.D = 15
6507
			grav.P = 20000
6508
			grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
6509
			grav.position = TORSO.Position
6510
			local GYRO2 = IT("BodyGyro",TORSO)
6511
			GYRO2.D = 750
6512
			GYRO2.P = 20000
6513
			GYRO2.MaxTorque = VT(0,40000000,0)
6514
			GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
6515
			grav.Name = "Jail"
6516
			local LOCKPARTS = {}
6517
			ATTACK = true
6518
			Rooted = false
6519
			local LOCK = IT("Model",Effects)
6520
			LOCK.Name = "Lock"
6521
			local LOCK2 = IT("Model",LOCK)
6522
			LOCK2.Name = "Metal"
6523
			--CREATE LOCK--
6524
				local BASE = CreatePart(3, LOCK, "Glass", 0, 0, "Really black", "Keylock", VT(3, 2.5, 1))
6525
				LOCK.PrimaryPart = BASE
6526
				BASE.CFrame = CF(TORSO.Position,RootPart.Position)*CF(0,0,-4)
6527
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "Really black", "Keylock", VT(3, 1, 3))
6528
				PRT.CFrame = BASE.CFrame*CF(0,-1.25,0)*ANGLES(RAD(90),RAD(0),RAD(0))
6529
				MakeForm(PRT,"Cyl")
6530
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(1, 1, 1))
6531
				PRT.Color = C3(0,0,0)
6532
				PRT.CFrame = BASE.CFrame*CF(0,0.3,-0.01)*ANGLES(RAD(90),RAD(0),RAD(0))
6533
				MakeForm(PRT,"Cyl")
6534
				local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(0.5, 1, 1))
6535
				PRT.Color = C3(0,0,0)
6536
				PRT.CFrame = BASE.CFrame*CF(0,-0.2,-0.01)
6537
				for i = 1, 45 do
6538
					local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
6539
					PRT.CFrame = BASE.CFrame*CF(0,2,0)*ANGLES(RAD(0),RAD(0),RAD(-90+(360/90*i)))*CF(0,1,0)
6540
				end
6541
				local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
6542
				PRT.CFrame = BASE.CFrame*CF(0,1.5,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0)
6543
				LOCK2.PrimaryPart = PRT
6544
			---------------
6545
			local CHILDREN = LOCK:GetDescendants()
6546
			for index, CHILD in pairs(CHILDREN) do
6547
				if CHILD:IsA("BasePart") then
6548
					CHILD.Transparency = 1
6549
				end
6550
			end
6551
			for i = 1, 75 do
6552
				LOCK:SetPrimaryPartCFrame(CF(TORSO.Position,RootPart.Position)*CF(0,0,-4))
6553
				Swait()
6554
				GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
6555
				GYRO.cframe = CF(RootPart.Position,TORSO.Position)
6556
				local CHILDREN = LOCK:GetDescendants()
6557
				for index, CHILD in pairs(CHILDREN) do
6558
					if CHILD:IsA("BasePart") then
6559
						CHILD.Transparency = CHILD.Transparency - 1/75
6560
					end
6561
				end
6562
			end
6563
			HUM.DisplayDistanceType = "None"
6564
			local KEY = IT("Model",Effects)
6565
			KEY.Name = "Key"
6566
			--CREATE KEY--
6567
				local KBASE = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "KeyBase", VT(0.1, 1, 0.1),false)
6568
				KEY.PrimaryPart = KBASE
6569
				KBASE.CFrame = RightArm.CFrame*CF(0,-2.1,0)*ANGLES(RAD(0),RAD(90),RAD(0))
6570
				local WLD = weldBetween(RightArm,KBASE)
6571
				for i = 1, 45 do
6572
					local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "Key", VT(0.1, 0.1, 0.1),false)
6573
					PRT.CFrame = KBASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD((360/45*i)))*CF(0,0.25,0)
6574
					weldBetween(KBASE,PRT)
6575
				end
6576
				local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "Key", VT(0.3, 0.1, 0.1),false)
6577
				PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.45,0)
6578
				weldBetween(KBASE,PRT)
6579
				local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "Key", VT(0.3, 0.1, 0.1),false)
6580
				PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.25,0)
6581
				weldBetween(KBASE,PRT)
6582
			--------------
6583
			Rooted = true
6584
			Pose("Prepare key",1.5,1.2,false,GYRO,TORSO)
6585
			coroutine.resume(coroutine.create(function()
6586
				for i = 1, 10 do
6587
					Swait()
6588
					GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
6589
					GYRO.cframe = CF(RootPart.Position,TORSO.Position)
6590
				end
6591
				CreateSound(1149318312,BASE,5,1,false)
6592
				CreateSound(160772554,BASE,3,1,false)
6593
				LOCK2:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0))
6594
				for i = 1, 4 do
6595
					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"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
6596
				end
6597
				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"Lavender".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
6598
				wait(1)
6599
				TORSO.Parent.Parent = LOCK
6600
				for i = 1, 75 do
6601
					Swait()
6602
					local CHILDREN = KEY:GetDescendants()
6603
					for index, CHILD in pairs(CHILDREN) do
6604
						if CHILD:IsA("BasePart") then
6605
							CHILD.Transparency = i/25
6606
						end
6607
					end
6608
					local CHILDREN = LOCK:GetDescendants()
6609
					for index, CHILD in pairs(CHILDREN) do
6610
						if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
6611
							CHILD.Transparency = CHILD.Transparency + 1/75
6612
						elseif CHILD.ClassName == "Decal" then
6613
							CHILD.Transparency = CHILD.Transparency + 1/75
6614
						end
6615
					end
6616
				end
6617
				TORSO.Parent:ClearAllChildren()
6618
				KEY:remove()
6619
				LOCK:remove()
6620
			end))
6621
			Pose("Turn key",0.8,1.2,false,GYRO,TORSO)
6622
			GYRO:remove()
6623
			ATTACK = false
6624
			Rooted = false
6625
		end
6626
	end
6627
end
6628
function BanishmentBeam()
6629
	ATTACK = true
6630
	Rooted = false
6631
	local GYRO = IT("BodyGyro",RootPart)
6632
	GYRO.D = 100
6633
	GYRO.P = 2000
6634
	GYRO.MaxTorque = VT(0,4000000,0)
6635
	GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
6636
	CreateSound("93724183", RightArm, 5, 1, false)
6637
	for i=1, 35 do
6638
		Swait()
6639
		WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
6640
		GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
6641
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
6642
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
6643
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6644
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * 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)
6645
		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)
6646
		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)
6647
	end
6648
	local BEAM = CreatePart(3, Effects, "Neon", 0, 1, "White", "Lazer", VT(0,0,0))
6649
	local LOOP = CreateSound("162209821", RightArm, 5, 1, false)
6650
	local TOCH = BEAM.Touched:Connect(function(hit)
6651
		if hit.Anchored == false and hit.Parent ~= Head and  hit.Parent ~= Character and hit.Parent ~= Effects then
6652
			Kill(hit)
6653
		end
6654
	end)
6655
	local I = 0
6656
	repeat
6657
		Swait()
6658
		I = I + 1
6659
		if I <= 10 then
6660
			BEAM.Transparency = BEAM.Transparency - 0.1
6661
		end
6662
		local STARTPOS = RightArm.CFrame*CF(0,-4,0).p
6663
		local ENDHIT,ENDPOS = CastProperRay(STARTPOS,Mouse.Hit.p,650,Character)
6664
		local DISTANCE = (STARTPOS - ENDPOS).Magnitude
6665
		BEAM.CFrame = CF(STARTPOS,ENDPOS)*CF(0,0,-DISTANCE/2)*ANGLES(RAD(0),RAD(0),RAD(I*5))
6666
		BEAM.Size = VT(2,2,DISTANCE)
6667
		WACKYEFFECT({Time = 5, EffectType = "Box", Size = VT(1,1,1), Size2 = VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = CF(ENDPOS), MoveToPos = CF(ENDPOS)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,15,0).p, RotationX = MRANDOM(-5,5), RotationY = MRANDOM(-5,5), RotationZ = MRANDOM(-5,5), Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
6668
		WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-4,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
6669
		WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = CF(ENDPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
6670
		GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
6671
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
6672
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
6673
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6674
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * 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)
6675
		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)
6676
		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)
6677
		if ENDHIT ~= nil then
6678
			if ENDHIT.Anchored == false and ENDHIT.Parent ~= Effects then
6679
				Banish(ENDHIT)
6680
			end
6681
		end
6682
	until LOOP.Playing == false
6683
	GYRO:remove()
6684
	BEAM:remove()
6685
	ATTACK = false
6686
	Rooted = false
6687
end
6688
function Deathbound()
6689
	CreateSound(LAUGHS[MRANDOM(1,#LAUGHS)], Torso, 10, 1, false)
6690
	ATTACK = true
6691
	Rooted = true
6692
	for i=0, 1, 0.1 / Animation_Speed do
6693
		Swait()
6694
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6695
		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)
6696
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, 0) * ANGLES(RAD(15), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6697
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 1, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6698
		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)
6699
		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)
6700
	end
6701
	local DONE = false
6702
	local GATE = nil
6703
	local GATESPIN = true
6704
	coroutine.resume(coroutine.create(function()
6705
		repeat
6706
			Swait()
6707
			if GATE ~= nil then
6708
				GATE.CFrame = GATE.CFrame * ANGLES(RAD(0), RAD(-3), RAD(0))
6709
			end
6710
		until GATESPIN == false
6711
	end))
6712
	coroutine.resume(coroutine.create(function()
6713
		repeat
6714
			Swait()
6715
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.2 - 0.25 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
6716
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
6717
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(15), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6718
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
6719
			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)
6720
			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)
6721
		until DONE == true
6722
		Swait(35)
6723
		for i = 1, 35 do
6724
			Swait(4)
6725
			local FIRED = false
6726
			local CHILDREN = workspace:GetDescendants()
6727
			for index, CHILD in pairs(CHILDREN) do
6728
				if CHILD.ClassName == "Model" and CHILD ~= Character then
6729
					local HUM = CHILD:FindFirstChildOfClass("Humanoid")
6730
					if HUM then
6731
						local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
6732
						if TORSO then
6733
							if (TORSO.Position - GATE.Position).Magnitude <= GATE.Size.X/10.5 + TORSO.Size.Magnitude/5 then
6734
								local HITFLOOR,HITPOS = Raycast(TORSO.Position, (CF(TORSO.Position, TORSO.Position + VT(0, -1, 0))).lookVector, 15, Character)
6735
								local CFRAME = CF(HITPOS)*ANGLES(RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)))
6736
								WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(10.3,0,0.30), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = CFRAME*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = 160718677, SoundPitch = 1.5, SoundVolume = 6})
6737
								WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(10.3,0,0.30), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
6738
								SpawnTrail(CFRAME.p,CFRAME*CF(0,1000,0).p)		
6739
								Banish(CHILD)
6740
								FIRED = true
6741
								break
6742
							end
6743
						end
6744
					end
6745
				end
6746
			end
6747
			if FIRED == false then
6748
				local CFRAME = GATE.CFrame*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0,MRANDOM(2,math.ceil(GATE.Size.X/10.5)))*ANGLES(RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)))
6749
				WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(10.3,0,0.30), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = CFRAME*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = 160718677, SoundPitch = 1.5, SoundVolume = 6})
6750
				WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(10.3,0,0.30), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
6751
				SpawnTrail(CFRAME.p,CFRAME*CF(0,1000,0).p)
6752
				local HITBOD = Raycast(CFRAME.p, (CF(CFRAME.p, CFRAME.p + VT(0, 1, 0))).lookVector, 1000, Character)
6753
				if HITBOD ~= nil then
6754
					if HITBOD.Parent:FindFirstChildOfClass("Humanoid") then
6755
						Kill(HITBOD.Parent)
6756
					end
6757
				end
6758
			end
6759
		end
6760
		for i = 1, 45 do
6761
			Swait()
6762
			GATE.Size = GATE.Size - VT(10,0,10)
6763
		end
6764
		GATESPIN = false
6765
		GATE:remove()
6766
	end))
6767
	Swait(15)
6768
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 15, Character)
6769
	GATE = CreatePart(3, Effects, "Neon", 0, 1, "Teal", "Gate", VT(0,0,0))
6770
	local DECAL = IT("Decal",GATE)
6771
	DECAL.Texture = "http://www.roblox.com/asset/?id=153700391"
6772
	DECAL.Face = "Top"
6773
	GATE.CFrame = CF(HITPOS)
6774
	CreateSound(160718677, GATE, 7, 1.3, false)
6775
	for i = 1, 45 do
6776
		Swait()
6777
		GATE.Size = GATE.Size + VT(10,10,10)
6778
	end
6779
	CreateSound(160718677, RightHole, 7, 1, false)
6780
	CreateSound(160718677, LeftHole, 7, 1, false)
6781
	WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(10.3,0,0.30), Size2 = VT(10,10,10), Transparency = 0, Transparency2 = 1, CFrame = RightHole.CFrame*CF(0,-1,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
6782
	WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(10.3,0,0.30), Size2 = VT(10,10,10), Transparency = 0, Transparency2 = 1, CFrame = LeftHole.CFrame*CF(0,-1,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
6783
	ATTACK = false
6784
	Rooted = false
6785
	DONE = true
6786
end
6787
6788
6789
--//=================================\\
6790
--||	  ASSIGN THINGS TO KEYS
6791
--\\=================================//
6792
6793
function MouseDown(Mouse)
6794
	if ATTACK == false then
6795
		Click()
6796
	end
6797
end
6798
6799
function MouseUp(Mouse)
6800
HOLD = false
6801
end
6802
6803
function KeyDown(Key)
6804
	KEYHOLD = true
6805
	if Key == "z" and ATTACK == false then
6806
		Banisher_Bullet()
6807
	end
6808
6809
	if Key == "c" and ATTACK == false then
6810
                 BanishmentBeam()
6811
	end
6812
6813
	if Key == "v" and ATTACK == false then
6814
                 Teleport()
6815
	end
6816
6817
	if Key == "x" and ATTACK == false then
6818
                 Deathbound()
6819
	end
6820
6821
	if Key == "e" and ATTACK == false then
6822
                 Erruption()
6823
	end
6824
	if Key == "r" and ATTACK == false then
6825
                 Prison_Key()
6826
	end
6827
	if Key == "t" and ATTACK == false then
6828
                 Taunt2()
6829
	end
6830
	if Key == "y" and ATTACK == false then
6831
                 Sky()
6832
	end
6833
	if Key == "u" and ATTACK == false then
6834
                 LimbRip()
6835
	end
6836
	if Key == "p" and ATTACK == false then
6837
                Strike ()
6838
	end
6839
	if Key == "g" and ATTACK == false then
6840
                LavaAura()
6841
	end
6842
	if Key == "h" and ATTACK == false then
6843
                Black_Flames()
6844
	end
6845
	if Key == "j" and ATTACK == false then
6846
                Absol()
6847
	end
6848
	if Key == "k" and ATTACK == false then
6849
                TastyBlood()
6850
	end
6851
	if Key == "l" and ATTACK == false then
6852
                Taunt()
6853
	end
6854
	if Key == "=" and ATTACK == false then
6855
                Extreme_Offset()
6856
	end
6857
	if Key == "q" and ATTACK == false then
6858
                LavaBeam()
6859
	end
6860
end
6861
6862
function KeyUp(Key)
6863
	KEYHOLD = false
6864
end
6865
6866
	Mouse.Button1Down:connect(function(NEWKEY)
6867
		MouseDown(NEWKEY)
6868
	end)
6869
	Mouse.Button1Up:connect(function(NEWKEY)
6870
		MouseUp(NEWKEY)
6871
	end)
6872
	Mouse.KeyDown:connect(function(NEWKEY)
6873
		KeyDown(NEWKEY)
6874
	end)
6875
	Mouse.KeyUp:connect(function(NEWKEY)
6876
		KeyUp(NEWKEY)
6877
	end)
6878
6879
--//=================================\\
6880
--\\=================================//
6881
6882
6883
6884
function unanchor()
6885
    for _, c in pairs(Character:GetChildren()) do
6886
        if c:IsA("BasePart") and c ~= RootPart then
6887
            c.Anchored = false
6888
        end
6889
    end
6890
    if UNANCHOR == true then
6891
        RootPart.Anchored = false
6892
    else
6893
        RootPart.Anchored = true
6894
    end
6895
end
6896
 
6897
--//=================================\\
6898
--||    WRAP THE WHOLE SCRIPT UP
6899
--\\=================================//
6900
 
6901
Humanoid.Changed:connect(function(Jump)
6902
    if Jump == "Jump" and (Disable_Jump == true) then
6903
        Humanoid.Jump = false
6904
    end
6905
end)
6906
 
6907
while true do
6908
    Swait()
6909
    script.Parent = WEAPONGUI
6910
    ANIMATE.Parent = nil
6911
    for _,v in next, Humanoid:GetPlayingAnimationTracks() do
6912
        v:Stop();
6913
    end
6914
    SINE = SINE + CHANGE
6915
    local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
6916
    local TORSOVERTICALVELOCITY = RootPart.Velocity.y
6917
    local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4+Humanoid.HipHeight, Character)
6918
    local WALKSPEEDVALUE = 8 / (Humanoid.WalkSpeed / 16)
6919
    Humanoid.HipHeight = 1
6920
    if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
6921
        ANIM = "Jump"
6922
        if ATTACK == false then
6923
            RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
6924
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
6925
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(25 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6926
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-25 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
6927
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
6928
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
6929
        end
6930
    elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
6931
        ANIM = "Fall"
6932
        if ATTACK == false then
6933
            RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
6934
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
6935
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(45 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6936
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(-45 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
6937
            RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25 + 5 * SIN(SINE / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
6938
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
6939
        end
6940
    elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
6941
        ANIM = "Idle"
6942
        if ATTACK == false then
6943
           RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.5 * COS(SINE / 12)) * ANGLES(RAD(0 - 3 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
6944
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
6945
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75*SIZE, 0.5*SIZE, -1*SIZE) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
6946
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1*SIZE, 0.2*SIZE, -0.5*SIZE) * ANGLES(RAD(25), RAD(0), RAD(85)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
6947
            RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE - 0.05*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
6948
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -0.8*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
6949
                end
6950
    elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
6951
        ANIM = "Walk"
6952
        if ATTACK == false then
6953
             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.5 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
6954
            Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
6955
            RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(-55 + 2.5 * SIN(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
6956
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(55 - 2.5 * SIN(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
6957
            RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE - 0.05*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
6958
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -0.8*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
6959
        end
6960
    end
6961
    if ANIM ~= "Walk" and FADERS == true then
6962
        if MRANDOM(1,7) == 1 then
6963
            CharacterFade(C3(151, 0, 0),65,R_RANDOM(Torso.CFrame,0.5).p)
6964
        end
6965
    end
6966
    unanchor()
6967
    if Rooted == false then
6968
        Disable_Jump = false
6969
        Humanoid.WalkSpeed = Speed+(DAMAGEMULTIPLIER/5)
6970
    elseif Rooted == true then
6971-
		sick.SoundId = "rbxassetid://971019793"
6971+
6972
        Humanoid.WalkSpeed = 0
6973
    end
6974
    if Head:FindFirstChild("face") then
6975
        Head:FindFirstChild("face"):remove()
6976
    end
6977
    Humanoid.Name = "Black Butler"
6978
    Humanoid.MaxHealth = "inf"
6979
    Humanoid.Health = "inf"
6980
end
6981
sick.Parent = Torso
6982
	sick.Playing = true
6983
		sick.SoundId = "rbxassetid://566603081"
6984
	for _, c in pairs(Weapon:GetChildren()) do
6985
		if c.Name == "Eon" then
6986
			c.BrickColor = BRICKC(CHOSENBRICK)
6987
		end
6988
	end
6989
 
6990
--//=================================\\
6991
--\\=================================//
6992
 
6993
refit()
6994
 
6995
 
6996
 
6997
--//====================================================\\--
6998
--||                     END OF SCRIPT
6999
--\\====================================================//--