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