View difference between Paste ID: KCy4s4jU and sQu2nbGZ
SHOW: | | - or go back to the newest paste.
1-
---------------
1+
 if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use r/ and not rl/") end
2-
--Nahid hunter v2--
2+
local Player,game,owner = owner,game
3-
----------------------------------------------------------------
3+
local RealPlayer = Player
4-
print([[
4+
do
5-
--edited by ozzak1003                   --
5+
    print("FE Compatibility code by Mokiros")
6-
--YT: https://www.youtube.com/channel/UC38cAdtSgPWJVEHV8zgZi6A--
6+
    local rp = RealPlayer
7-
--Discord: ozzak1003ripagain#3275
7+
    script.Parent = rp.Character
8
    
9-
hello good sir
9+
    --RemoteEvent for communicating
10-
Don't leak pls
10+
    local Event = Instance.new("RemoteEvent")
11-
Enjoy ;)
11+
    Event.Name = "UserInput_Event"
12
 
13-
]])
13+
    --Fake event to make stuff like Mouse.KeyDown work
14
    local function fakeEvent()
15
        local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
16
        t.connect = t.Connect
17
        return t
18
    end
19
 
20
    --Creating fake input objects with fake variables
21
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
22
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
23-
music.SoundId = "rbxassetid://0"
23+
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
24
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
25
    end}
26
    --Merged 2 functions into one by checking amount of arguments
27
    CAS.UnbindAction = CAS.BindAction
28
 
29
    --This function will trigger the events that have been :Connect()'ed
30
    local function te(self,ev,...)
31
        local t = m[ev]
32
        if t and t._fakeEvent then
33
            for _,f in pairs(t.Functions) do
34
                f(...)
35
            end
36
        end
37
    end
38
    m.TrigEvent = te
39
    UIS.TrigEvent = te
40
 
41
    Event.OnServerEvent:Connect(function(plr,io)
42
        if plr~=rp then return end
43
        m.Target = io.Target
44
        m.Hit = io.Hit
45
        if not io.isMouse then
46
            local b = io.UserInputState == Enum.UserInputState.Begin
47
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
48
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
49
            end
50
            for _,t in pairs(CAS.Actions) do
51
                for _,k in pairs(t.Keys) do
52
                    if k==io.KeyCode then
53
                        t.Function(t.Name,io.UserInputState,io)
54
                    end
55
                end
56
            end
57
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
        end
60
    end)
61
    Event.Parent = NLS([==[
62
    local Player = game:GetService("Players").LocalPlayer
63
    local Event = script:WaitForChild("UserInput_Event")
64
 
65
    local Mouse = Player:GetMouse()
66
    local UIS = game:GetService("UserInputService")
67
    local input = function(io,a)
68
        if a then return end
69
        --Since InputObject is a client-side instance, we create and pass table instead
70
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
71
    end
72
    UIS.InputBegan:Connect(input)
73
    UIS.InputEnded:Connect(input)
74
 
75
    local h,t
76
    --Give the server mouse data 30 times every second, but only if the values changed
77
    --If player is not moving their mouse, client won't fire events
78
    while wait(1/30) do
79
        if h~=Mouse.Hit or t~=Mouse.Target then
80
            h,t=Mouse.Hit,Mouse.Target
81
            Event:FireServer({isMouse=true,Target=t,Hit=h})
82
        end
83
    end]==],Player.Character)
84
 
85
    ----Sandboxed game object that allows the usage of client-side methods and services
86
    --Real game object
87
    local _rg = game
88
 
89
    --Metatable for fake service
90
    local fsmt = {
91
        __index = function(self,k)
92
            local s = rawget(self,"_RealService")
93
            if s then return s[k] end
94
        end,
95
        __newindex = function(self,k,v)
96
            local s = rawget(self,"_RealService")
97
            if s then s[k]=v end
98
        end,
99
        __call = function(self,...)
100
            local s = rawget(self,"_RealService")
101
            if s then return s(...) end
102
        end
103
    }
104
    local function FakeService(t,RealService)
105
        t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
106
        return setmetatable(t,fsmt)
107
    end
108
 
109
    --Fake game object
110
    local g = {
111
        GetService = function(self,s)
112
            return self[s]
113-
sick.SoundId = "rbxassetid://1118967006"
113+
        end,
114
        Players = FakeService({
115-
sick.Pitch = 1
115+
            LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
116
        },"Players"),
117
        UserInputService = FakeService(UIS,"UserInputService"),
118
        ContextActionService = FakeService(CAS,"ContextActionService"),
119
    }
120
    rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
121
    g.service = g.GetService
122
    
123
    g.RunService = FakeService({
124
        RenderStepped = _rg:GetService("RunService").Heartbeat,
125
        BindToRenderStep = function(self,name,_,fun)
126
 
127
        end,
128
        UnbindFromRenderStep = function(self,name)
129
            self._btrs[name]:Disconnect()
130
        end,
131
    },"RunService")
132
 
133
    setmetatable(g,{
134
        __index=function(self,s)
135
            return _rg:GetService(s) or typeof(_rg[s])=="function"
136
            and function(_,...)return _rg[s](_rg,...)end or _rg[s]
137
        end,
138
        __newindex = fsmt.__newindex,
139
        __call = fsmt.__call
140
    })
141
    --Changing owner to fake player object to support owner:GetMouse()
142
    game,owner = g,g.Players.LocalPlayer
143
end
144
plr = game.Players.LocalPlayer
145
chara = plr.Character
146
mouse = plr:GetMouse()
147
Create = Instance.new
148
Huge = math.huge
149
150
local music = Create("Sound",chara.HumanoidRootPart)
151
music.SoundId = "rbxassetid://450439098"
152
music.Volume = 1
153
music.Looped = true
154
music:Play()
155
local shadowhead = Create("Part",chara.Head)
156
shadowhead.BrickColor = BrickColor.new("Really black")
157
shadowhead.Size = Vector3.new(1.2, 0.6, 1)
158
shadowhead.CanCollide = false
159
local shadowheadmesh = Create("SpecialMesh",shadowhead)
160
shadowheadmesh.MeshType = "Head"
161
shadowheadmesh.Scale = Vector3.new(1.26, 1.5, 1.26)
162
local weld2 = Create("Weld",shadowhead)
163
weld2.Part0 = shadowhead
164
weld2.Part1 = chara.Head
165
weld2.C1 = CFrame.new(0, 0.200000048, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
166
167
Player = game:GetService("Players").LocalPlayer
168
PlayerGui = Player.PlayerGui
169
Cam = workspace.CurrentCamera
170
Backpack = Player.Backpack
171
Character = Player.Character
172
char = Player.Character
173
Humanoid = Character.Humanoid
174
Mouse = Player:GetMouse()
175
RootPart = Character["HumanoidRootPart"]
176
Torso = Character["Torso"]
177
Head = Character["Head"]
178
RightArm = Character["Right Arm"]
179
LeftArm = Character["Left Arm"]
180
RightLeg = Character["Right Leg"]
181
LeftLeg = Character["Left Leg"]
182
RootJoint = RootPart["RootJoint"]
183
Neck = Torso["Neck"]
184
RightShoulder = Torso["Right Shoulder"]
185
LeftShoulder = Torso["Left Shoulder"]
186
RightHip = Torso["Right Hip"]
187
LeftHip = Torso["Left Hip"]
188
189
local Orin = "http://www.roblox.com/asset/?id=7074786"
190
Head.face.Texture = Orin
191
function weld(a, b, acf)
192
	local w = Instance.new("Weld", a)
193
	w.Part0 = a
194
	w.Part1 = b
195
	w.C0 = acf
196
end
197
198
local righteyebrickcolor = "Really red"
199
local reye = Instance.new("Part", char)
200
reye.CanCollide = false
201
reye.BrickColor = BrickColor.new(righteyebrickcolor)
202
reye.Material = "Neon"
203
reye.Size = Vector3.new(.25,.35,.25)
204
weld(reye, char.Head, CFrame.new(-0.12,-0.2,0.55), CFrame.new(1,0,0))
205
m1 = Instance.new("SpecialMesh", reye)
206
m1.MeshType = "Sphere"
207
m1.Scale = Vector3.new(0.9,0.9,0.9)
208
reye.Locked = true
209
reye.Name = "re"
210
--------------------------------
211
char.Head.face.Texture = "http://www.roblox.com/asset/?id=596345665"
212
--------------------------------
213
214
wait(0.2)
215
216
p = game.Players.LocalPlayer
217
Player = game:GetService("Players").LocalPlayer
218
PlayerGui = Player.PlayerGui
219
Cam = workspace.CurrentCamera
220
Backpack = Player.Backpack
221
Character = Player.Character
222
Humanoid = Character.Humanoid
223
Mouse = Player:GetMouse()
224
RootPart = Character["HumanoidRootPart"] 
225
Torso = Character["Torso"]
226
Head = Character["Head"]
227
RightArm = Character["Right Arm"]
228
LeftArm = Character["Left Arm"]	
229
RightLeg = Character["Right Leg"]
230
LeftLeg = Character["Left Leg"]
231
RootJoint = RootPart["RootJoint"]
232
Neck = Torso["Neck"]
233
RightShoulder = Torso["Right Shoulder"]
234
LeftShoulder = Torso["Left Shoulder"]
235
RightHip = Torso["Right Hip"]
236
LeftHip = Torso["Left Hip"]
237
player=game:GetService('Players').LocalPlayer
238
c=player.Character
239
local POWERLEVEL = 1
240
local sick = Instance.new("Sound",Torso)
241
sick.SoundId = "rbxassetid://450439098"
242
sick.Looped = true
243
sick.Pitch = 0.89
244
sick.Volume = 5
245
sick:Play()
246
247
IT = Instance.new
248
CF = CFrame.new
249
VT = Vector3.new
250
RAD = math.rad
251
C3 = Color3.new
252
UD2 = UDim2.new
253
BRICKC = BrickColor.new
254
ANGLES = CFrame.Angles
255
EULER = CFrame.fromEulerAnglesXYZ
256
COS = math.cos
257
ACOS = math.acos
258
SIN = math.sin
259
ASIN = math.asin
260
ABS = math.abs
261
MRANDOM = math.random
262
FLOOR = math.floor
263
local INNERKNIFES = {}
264
local OUTERKNIFES = {}
265
266
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
267
	local NEWMESH = Instance.new(MESH)
268
	if MESH == "SpecialMesh" then
269
		NEWMESH.MeshType = MESHTYPE
270
		if MESHID ~= "nil" and MESHID ~= "" then
271
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
272
		end
273
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
274
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
275
		end
276
	end
277
	NEWMESH.Offset = OFFSET or Vector3.new(0, 0, 0)
278
	NEWMESH.Scale = SCALE
279
	NEWMESH.Parent = PARENT
280
	return NEWMESH
281
end
282
283
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
284
	local NEWPART = Instance.new("Part")
285
	NEWPART.formFactor = FORMFACTOR
286
	NEWPART.Reflectance = REFLECTANCE
287
	NEWPART.Transparency = TRANSPARENCY
288
	NEWPART.CanCollide = false
289
	NEWPART.Locked = true
290
	NEWPART.Anchored = true
291
	if ANCHOR == false then
292
		NEWPART.Anchored = false
293
	end
294
	NEWPART.BrickColor = BrickColor.new(tostring(BRICKCOLOR))
295
	NEWPART.Name = NAME
296
	NEWPART.Size = SIZE
297
	NEWPART.Position = tors.Position
298
	NEWPART.Material = MATERIAL
299
	NEWPART:BreakJoints()
300
	NEWPART.Parent = PARENT
301
	return NEWPART
302
end
303
304
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
305
	local NEWMESH = IT(MESH)
306
	if MESH == "SpecialMesh" then
307
		NEWMESH.MeshType = MESHTYPE
308
		if MESHID ~= "nil" and MESHID ~= "" then
309
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
310
		end
311
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
312
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
313
		end
314
	end
315
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
316
	NEWMESH.Scale = SCALE
317
	NEWMESH.Parent = PARENT
318
	return NEWMESH
319
end
320
321
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
322
	local NEWPART = IT("Part")
323
	NEWPART.formFactor = FORMFACTOR
324
	NEWPART.Reflectance = REFLECTANCE
325
	NEWPART.Transparency = TRANSPARENCY
326
	NEWPART.CanCollide = false
327
	NEWPART.Locked = true
328
	NEWPART.Anchored = true
329
	if ANCHOR == false then
330
		NEWPART.Anchored = false
331
	end
332
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
333
	NEWPART.Name = NAME
334
	NEWPART.Size = SIZE
335
	NEWPART.Position = Torso.Position
336
	NEWPART.Material = MATERIAL
337
	NEWPART:BreakJoints()
338
	NEWPART.Parent = PARENT
339
	return NEWPART
340
end
341
342
--//=================================\\
343
--||		  CUSTOMIZATION
344
--\\=================================//
345
346
Player_Size = 1 --Size of the player.
347
Animation_Speed = 3
348
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
349
350
local Speed = 16
351
local Effects2 = {}
352
353
--//=================================\\
354
--|| 	  END OF CUSTOMIZATION
355
--\\=================================//
356
357
	local function weldBetween(a, b)
358
	    local weldd = Instance.new("ManualWeld")
359
	    weldd.Part0 = a
360
	    weldd.Part1 = b
361
	    weldd.C0 = CFrame.new()
362
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
363
	    weldd.Parent = a
364
	    return weldd
365
	end
366
367
--//=================================\\
368
--|| 	      USEFUL VALUES
369
--\\=================================//
370
371
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
372
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
373
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
374
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
375
local CHANGEDEFENSE = 0
376
local CHANGEDAMAGE = 0
377
local CHANGEMOVEMENT = 0
378
local DAMAGEMULTIPLIER = 1
379
local ANIM = "Idle"
380
local ATTACK = false
381
local EQUIPPED = false
382
local HOLD = false
383
local COMBO = 1
384
local Rooted = false
385
local SINE = 0
386
local KEYHOLD = false
387
local CHANGE = 2 / Animation_Speed
388
local WALKINGANIM = false
389
local WALK = 0
390
local VALUE1 = false
391
local VALUE2 = false
392
local ROBLOXIDLEANIMATION = IT("Animation")
393
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
394
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
395
--ROBLOXIDLEANIMATION.Parent = Humanoid
396
local WEAPONGUI = IT("ScreenGui", PlayerGui)
397
WEAPONGUI.Name = "Weapon GUI"
398
local Effects = IT("Folder", Character)
399
Effects.Name = "Effects"
400
local ANIMATOR = Humanoid.Animator
401
local ANIMATE = Character.Animate
402
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
403
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
404
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
405
local HITBLOCKSOUNDS = {"199148933", "199148947"}
406
local UNANCHOR = true
407
408
local SKILLTEXTCOLOR = C3(1,0,0)
409
410
411
412
--//=================================\\
413
--\\=================================//
414
415
416
--//=================================\\
417
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
418
--\\=================================//
419
420
ArtificialHB = Instance.new("BindableEvent", script)
421
ArtificialHB.Name = "ArtificialHB"
422
423
script:WaitForChild("ArtificialHB")
424
425
frame = Frame_Speed
426
tf = 0
427
allowframeloss = false
428
tossremainder = false
429
lastframe = tick()
430
script.ArtificialHB:Fire()
431
432
game:GetService("RunService").Heartbeat:connect(function(s, p)
433
	tf = tf + s
434
	if tf >= frame then
435
		if allowframeloss then
436
			script.ArtificialHB:Fire()
437
			lastframe = tick()
438
		else
439
			for i = 1, math.floor(tf / frame) do
440
				script.ArtificialHB:Fire()
441
			end
442
		lastframe = tick()
443
		end
444
		if tossremainder then
445
			tf = 0
446
		else
447
			tf = tf - frame * math.floor(tf / frame)
448
		end
449
	end
450
end)
451
452
--//=================================\\
453
--\\=================================//
454
455
456
457
458
459
--//=================================\\
460
--|| 	      SOME FUNCTIONS
461
--\\=================================//
462
-----
463
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
464
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
465
end
466
467
function PositiveAngle(NUMBER)
468
	if NUMBER >= 0 then
469
		NUMBER = 0
470
	end
471
	return NUMBER
472
end
473
474
function NegativeAngle(NUMBER)
475
	if NUMBER <= 0 then
476
		NUMBER = 0
477
	end
478
	return NUMBER
479
end
480
481
function Swait(NUMBER)
482
	if NUMBER == 0 or NUMBER == nil then
483
		ArtificialHB.Event:wait()
484
	else
485
		for i = 1, NUMBER do
486
			ArtificialHB.Event:wait()
487
		end
488
	end
489
end
490
491
function QuaternionFromCFrame(cf)
492
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
493
	local trace = m00 + m11 + m22
494
	if trace > 0 then 
495
		local s = math.sqrt(1 + trace)
496
		local recip = 0.5 / s
497
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
498
	else
499
		local i = 0
500
		if m11 > m00 then
501
			i = 1
502
		end
503
		if m22 > (i == 0 and m00 or m11) then
504
			i = 2
505
		end
506
		if i == 0 then
507
			local s = math.sqrt(m00 - m11 - m22 + 1)
508
			local recip = 0.5 / s
509
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
510
		elseif i == 1 then
511
			local s = math.sqrt(m11 - m22 - m00 + 1)
512
			local recip = 0.5 / s
513
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
514
		elseif i == 2 then
515
			local s = math.sqrt(m22 - m00 - m11 + 1)
516
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
517
		end
518
	end
519
end
520
 
521
function QuaternionToCFrame(px, py, pz, x, y, z, w)
522
	local xs, ys, zs = x + x, y + y, z + z
523
	local wx, wy, wz = w * xs, w * ys, w * zs
524
	local xx = x * xs
525
	local xy = x * ys
526
	local xz = x * zs
527
	local yy = y * ys
528
	local yz = y * zs
529
	local zz = z * zs
530
	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))
531
end
532
 
533
function QuaternionSlerp(a, b, t)
534
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
535
	local startInterp, finishInterp;
536
	if cosTheta >= 0.0001 then
537
		if (1 - cosTheta) > 0.0001 then
538
			local theta = ACOS(cosTheta)
539
			local invSinTheta = 1 / SIN(theta)
540
			startInterp = SIN((1 - t) * theta) * invSinTheta
541
			finishInterp = SIN(t * theta) * invSinTheta
542
		else
543
			startInterp = 1 - t
544
			finishInterp = t
545
		end
546
	else
547
		if (1 + cosTheta) > 0.0001 then
548
			local theta = ACOS(-cosTheta)
549
			local invSinTheta = 1 / SIN(theta)
550
			startInterp = SIN((t - 1) * theta) * invSinTheta
551
			finishInterp = SIN(t * theta) * invSinTheta
552
		else
553
			startInterp = t - 1
554
			finishInterp = t
555
		end
556
	end
557
	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
558
end
559
560
function Clerp(a, b, t)
561
	local qa = {QuaternionFromCFrame(a)}
562
	local qb = {QuaternionFromCFrame(b)}
563
	local ax, ay, az = a.x, a.y, a.z
564
	local bx, by, bz = b.x, b.y, b.z
565
	local _t = 1 - t
566
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
567
end
568
569
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
570
	local frame = IT("Frame")
571
	frame.BackgroundTransparency = TRANSPARENCY
572
	frame.BorderSizePixel = BORDERSIZEPIXEL
573
	frame.Position = POSITION
574
	frame.Size = SIZE
575
	frame.BackgroundColor3 = COLOR
576
	frame.BorderColor3 = BORDERCOLOR
577
	frame.Name = NAME
578
	frame.Parent = PARENT
579
	return frame
580
end
581
582
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
583
	local label = IT("TextLabel")
584
	label.BackgroundTransparency = 1
585
	label.Size = UD2(1, 0, 1, 0)
586
	label.Position = UD2(0, 0, 0, 0)
587
	label.TextColor3 = TEXTCOLOR
588
	label.TextStrokeTransparency = STROKETRANSPARENCY
589
	label.TextTransparency = TRANSPARENCY
590
	label.FontSize = TEXTFONTSIZE
591
	label.Font = TEXTFONT
592
	label.BorderSizePixel = BORDERSIZEPIXEL
593
	label.TextScaled = false
594
	label.Text = TEXT
595
	label.Name = NAME
596
	label.Parent = PARENT
597
	return label
598
end
599
600
function NoOutlines(PART)
601
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
602
end
603
604
605
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
606
	local NEWWELD = IT(TYPE)
607
	NEWWELD.Part0 = PART0
608
	NEWWELD.Part1 = PART1
609
	NEWWELD.C0 = C0
610
	NEWWELD.C1 = C1
611
	NEWWELD.Parent = PARENT
612
	return NEWWELD
613
end
614
615
local SOUND = IT("Sound")
616
617
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
618
	local NEWSOUND = nil
619
	coroutine.resume(coroutine.create(function()
620
		NEWSOUND = SOUND:Clone()
621
		NEWSOUND.Parent = PARENT
622
		NEWSOUND.Volume = VOLUME
623
		NEWSOUND.Pitch = PITCH
624
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
625
		--Swait()
626
		NEWSOUND:play()
627
		if DOESLOOP == false then
628
			repeat Swait() until NEWSOUND.Playing == false
629
			NEWSOUND:remove()
630
		elseif DOESLOOP == true then
631
			NEWSOUND.Looped = true
632
		end
633
	end))
634
	return NEWSOUND
635
end
636
637
function CFrameFromTopBack(at, top, back)
638
	local right = top:Cross(back)
639
	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)
640
end
641
642
function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
643
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
644
	local mesh = IT("SpecialMesh",wave)
645
	mesh.MeshType = "FileMesh"
646
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
647
	mesh.Scale = SIZE
648
	mesh.Offset = VT(0,0,-SIZE.X/8)
649
	wave.CFrame = CFRAME
650
	coroutine.resume(coroutine.create(function(PART)
651
		for i = 1, WAIT do
652
			Swait()
653
			mesh.Scale = mesh.Scale + GROW
654
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
655
			if DOESROT == true then
656
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
657
			end
658
			wave.Transparency = wave.Transparency + (0.5/WAIT)
659
			if wave.Transparency > 0.99 then
660
				wave:remove()
661
			end
662
		end
663
	end))
664
end
665
666
function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
667
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
668
	local mesh = IT("SpecialMesh",wave)
669
	mesh.MeshType = "FileMesh"
670
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
671
	mesh.Scale = SIZE
672
	mesh.Offset = VT(0,0,0)
673
	wave.CFrame = CFRAME
674
	coroutine.resume(coroutine.create(function(PART)
675
		for i = 1, WAIT do
676
			Swait()
677
			mesh.Scale = mesh.Scale + GROW
678
			if DOESROT == true then
679
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
680
			end
681
			wave.Transparency = wave.Transparency + (0.5/WAIT)
682
			if wave.Transparency > 0.99 then
683
				wave:remove()
684
			end
685
		end
686
	end))
687
end
688
689
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
690
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
691
	local mesh = IT("SpecialMesh",wave)
692
	mesh.MeshType = "Sphere"
693
	mesh.Scale = SIZE
694
	mesh.Offset = VT(0,0,0)
695
	wave.CFrame = CFRAME
696
	coroutine.resume(coroutine.create(function(PART)
697
		for i = 1, WAIT do
698
			Swait()
699
			mesh.Scale = mesh.Scale + GROW
700
			wave.Transparency = wave.Transparency + (1/WAIT)
701
			if wave.Transparency > 0.99 then
702
				wave:remove()
703
			end
704
		end
705
	end))
706
end
707
function MagicSpheres(size,waitt,cframe,color)
708
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(1,1,1))
709
    local mesh = IT("SpecialMesh",wave)
710
    mesh.MeshType = "Sphere"
711
    mesh.Scale = VT(size,size,size)
712
    mesh.Offset = VT(0,0,0)
713
    wave.CFrame = cframe
714
    coroutine.resume(coroutine.create(function(PART)
715
        for i = 1, waitt do
716
            Swait()
717
            mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
718
            wave.Transparency = wave.Transparency + (1/waitt)
719
            if wave.Transparency > 0.99 then
720
                wave:remove()
721
            end
722
        end
723
    end))
724
end
725
function MagicSpheres2(size,waitt,cframe,color)
726
    local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(1,1,1))
727
    local mesh = IT("SpecialMesh",wave)
728
    mesh.MeshType = "Sphere"
729
    mesh.Scale = VT(size,size,size)
730
    mesh.Offset = VT(0,0,0)
731
    wave.CFrame = cframe
732
    coroutine.resume(coroutine.create(function(PART)
733
        for i = 1, waitt do
734
            Swait()
735
            mesh.Scale = mesh.Scale - VT(size/waitt,size/waitt,size/waitt)
736
            wave.Transparency = wave.Transparency - (1/waitt)
737
        end
738
        wave:remove()
739
    end))
740
end
741
function MagicBlock(size,waitt,part,offset,color)
742
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(size,size,size))
743
    local mesh = IT("BlockMesh",wave)
744
    wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(0),RAD(0),RAD(0))
745
    coroutine.resume(coroutine.create(function(PART)
746
        for i = 1, waitt do
747
            Swait()
748
            mesh.Scale = mesh.Scale + VT(size/15,size/15,size/15)
749
            wave.CFrame = CF(wave.Position) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
750
            wave.Transparency = wave.Transparency + (1/waitt)
751
            if wave.Transparency > 0.99 then
752
                wave:remove()
753
            end
754
        end
755
    end))
756
end
757
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
758
	if FLOOR ~= nil then
759
		coroutine.resume(coroutine.create(function()
760
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Really red", "DebreeCenter", VT(0,0,0))
761
			PART.CFrame = CF(POSITION)
762
			for i = 1, 45 do
763
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Really red", "DebreePart", BLOCKSIZE)
764
				RingPiece.Material = FLOOR.Material
765
				RingPiece.Color = FLOOR.Color
766
				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)))
767
				Debris:AddItem(RingPiece,SWAIT)
768
			end
769
			PART:remove()
770
		end))
771
	end
772
end
773
774
function Slice(SIZE,WAIT,CFRAME,COLOR,GROW)
775
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
776
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
777
	wave.CFrame = CFRAME
778
	coroutine.resume(coroutine.create(function(PART)
779
		for i = 1, WAIT do
780
			Swait()
781
			mesh.Scale = mesh.Scale * GROW
782
			wave.Transparency = wave.Transparency + (0.5/WAIT)
783
			if wave.Transparency > 0.99 then
784
				wave:remove()
785
			end
786
		end
787
	end))
788
end
789
790
function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
791
	if FLOOR ~= nil then
792
		for i = 1, AMOUNT do
793
			local DEBREE = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Debree", BLOCKSIZE, false)
794
			DEBREE.Material = FLOOR.Material
795
			DEBREE.Color = FLOOR.Color
796
			DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
797
			DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),STRENGTH,MRANDOM(-STRENGTH,STRENGTH))
798
			coroutine.resume(coroutine.create(function()
799
				Swait(15)
800
				DEBREE.Parent = workspace
801
				DEBREE.CanCollide = true
802
				Debris:AddItem(DEBREE,SWAIT)
803
			end))
804
		end
805
	end
806
end
807
808
function MakeForm(PART,TYPE)
809
	if TYPE == "Cyl" then
810
		local MSH = IT("CylinderMesh",PART)
811
	elseif TYPE == "Ball" then
812
		local MSH = IT("SpecialMesh",PART)
813
		MSH.MeshType = "Sphere"
814
	elseif TYPE == "Wedge" then
815
		local MSH = IT("SpecialMesh",PART)
816
		MSH.MeshType = "Wedge"
817
	end
818
end
819
820
function CheckTableForString(Table, String)
821
	for i, v in pairs(Table) do
822
		if string.find(string.lower(String), string.lower(v)) then
823
			return true
824
		end
825
	end
826
	return false
827
end
828
829
function CheckIntangible(Hit)
830
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
831
	if Hit and Hit.Parent then
832
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
833
			return true
834
		end
835
	end
836
	return false
837
end
838
839
Debris = game:GetService("Debris")
840
841
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
842
	local Direction = CFrame.new(StartPos, Vec).lookVector
843
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
844
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
845
	if RayHit and CheckIntangible(RayHit) then
846
		if DelayIfHit then
847
			wait()
848
		end
849
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
850
	end
851
	return RayHit, RayPos, RayNormal
852
end
853
854
function turnto(position)
855
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
856
end
857
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
858
function WACKYEFFECT(Table)
859
	local TYPE = (Table.EffectType or "Sphere")
860
	local SIZE = (Table.Size or VT(1,1,1))
861
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
862
	local TRANSPARENCY = (Table.Transparency or 0)
863
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
864
	local CFRAME = (Table.CFrame or Torso.CFrame)
865
	local MOVEDIRECTION = (Table.MoveToPos or nil)
866
	local ROTATION1 = (Table.RotationX or 0)
867
	local ROTATION2 = (Table.RotationY or 0)
868
	local ROTATION3 = (Table.RotationZ or 0)
869
	local MATERIAL = (Table.Material or "Neon")
870
	local COLOR = (Table.Color or C3(1,1,1))
871
	local TIME = (Table.Time or 45)
872
	local SOUNDID = (Table.SoundID or nil)
873
	local SOUNDPITCH = (Table.SoundPitch or nil)
874
	local SOUNDVOLUME = (Table.SoundVolume or nil)
875
	coroutine.resume(coroutine.create(function()
876
		local PLAYSSOUND = false
877
		local SOUND = nil
878
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
879
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
880
			PLAYSSOUND = true
881
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
882
		end
883
		EFFECT.Color = COLOR
884
		local MSH = nil
885
		if TYPE == "Sphere" then
886
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
887
		elseif TYPE == "Block" then
888
			MSH = IT("BlockMesh",EFFECT)
889
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
890
		elseif TYPE == "Box" then
891
			MSH = IT("BlockMesh",EFFECT)
892
			MSH.Scale = SIZE
893
		elseif TYPE == "Wave" then
894
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
895
		elseif TYPE == "Ring" then
896
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
897
		elseif TYPE == "Slash" then
898
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
899
		elseif TYPE == "Round Slash" then
900
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
901
		elseif TYPE == "Swirl" then
902
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
903
		elseif TYPE == "Skull" then
904
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
905
		elseif TYPE == "Crystal" then
906
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
907
		end
908
		if MSH ~= nil then
909
			local MOVESPEED = nil
910
			if MOVEDIRECTION ~= nil then
911
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
912
			end
913
			local GROWTH = SIZE - ENDSIZE
914
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
915
			if TYPE == "Block" then
916
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
917
			else
918
				EFFECT.CFrame = CFRAME
919
			end
920
			for LOOP = 1, TIME+1 do
921
				Swait()
922
				MSH.Scale = MSH.Scale - GROWTH/TIME
923
				if TYPE == "Wave" then
924
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
925
				end
926
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
927
				if TYPE == "Block" then
928
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
929
				else
930
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
931
				end
932
				if MOVEDIRECTION ~= nil then
933
					local ORI = EFFECT.Orientation
934
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
935
					EFFECT.Orientation = ORI
936
				end
937
			end
938
			if PLAYSSOUND == false then
939
				EFFECT:remove()
940
			else
941
				SOUND.Stopped:Connect(function()
942
					EFFECT:remove()
943
				end)
944
			end
945
		else
946
			if PLAYSSOUND == false then
947
				EFFECT:remove()
948
			else
949
				repeat Swait() until SOUND.Playing == false
950
				EFFECT:remove()
951
			end
952
		end
953
	end))
954
end
955
function SpawnTrail(FROM,TO,BIG)
956
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
957
	MakeForm(TRAIL,"Cyl")
958
	local DIST = (FROM - TO).Magnitude
959
	if BIG == true then
960
		TRAIL.Size = VT(0.5,DIST,0.5)
961
	else
962
		TRAIL.Size = VT(0.25,DIST,0.25)
963
	end
964
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
965
	coroutine.resume(coroutine.create(function()
966
		for i = 1, 5 do
967
			Swait()
968
			TRAIL.Transparency = TRAIL.Transparency + 0.1
969
		end
970
		TRAIL:remove()
971
	end))
972
end
973
local asd = Instance.new("ParticleEmitter")
974
asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
975
asd.LightEmission = .1
976
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
977
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
978
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
979
asd.Transparency = bbb
980
asd.Size = aaa
981
asd.ZOffset = .9
982
asd.Acceleration = Vector3.new(0, -15, 0)
983
asd.LockedToPart = false
984
asd.EmissionDirection = "Back"
985
asd.Lifetime = NumberRange.new(1, 2)
986
asd.Rotation = NumberRange.new(-100, 100)
987
asd.RotSpeed = NumberRange.new(-100, 100)
988
asd.Speed = NumberRange.new(10)
989
asd.Enabled = false
990
asd.VelocitySpread = 999
991
992
function getbloody(victim,amount)
993
	local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
994
	PART.CFrame = victim.CFrame
995
	local HITPLAYERSOUNDS = {"356551938","264486467"}
996
	Debris:AddItem(PART,5)
997
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
998
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
999
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1000
	local prtcl = asd:Clone()
1001
	prtcl.Parent = PART
1002
	prtcl:Emit(amount*10)
1003
end
1004
function AddChildrenToTable(FROM,PARENT,DIST,TABLE)
1005
	for _, c in pairs(PARENT:GetDescendants()) do
1006
		if c.ClassName == "Model" then
1007
			if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then
1008
				local HUMANOID = c:FindFirstChildOfClass("Humanoid")
1009
				local TORSO = (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso"))
1010
				if (TORSO.Position - FROM).Magnitude < DIST then
1011
					table.insert(TABLE,c)
1012
				end
1013
			end
1014
		end
1015
	end
1016
end
1017
-----
1018
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
1019
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
1020
end
1021
1022
function PositiveAngle(NUMBER)
1023
	if NUMBER >= 0 then
1024
		NUMBER = 0
1025
	end
1026
	return NUMBER
1027
end
1028
1029
function NegativeAngle(NUMBER)
1030
	if NUMBER <= 0 then
1031
		NUMBER = 0
1032
	end
1033
	return NUMBER
1034
end
1035
1036
function Swait(NUMBER)
1037
	if NUMBER == 0 or NUMBER == nil then
1038
		ArtificialHB.Event:wait()
1039
	else
1040
		for i = 1, NUMBER do
1041
			ArtificialHB.Event:wait()
1042
		end
1043
	end
1044
end
1045
1046
function QuaternionFromCFrame(cf)
1047
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
1048
	local trace = m00 + m11 + m22
1049
	if trace > 0 then 
1050
		local s = math.sqrt(1 + trace)
1051
		local recip = 0.5 / s
1052
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
1053
	else
1054
		local i = 0
1055
		if m11 > m00 then
1056
			i = 1
1057
		end
1058
		if m22 > (i == 0 and m00 or m11) then
1059
			i = 2
1060
		end
1061
		if i == 0 then
1062
			local s = math.sqrt(m00 - m11 - m22 + 1)
1063
			local recip = 0.5 / s
1064
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
1065
		elseif i == 1 then
1066
			local s = math.sqrt(m11 - m22 - m00 + 1)
1067
			local recip = 0.5 / s
1068
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
1069
		elseif i == 2 then
1070
			local s = math.sqrt(m22 - m00 - m11 + 1)
1071
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
1072
		end
1073
	end
1074
end
1075
 
1076
function QuaternionToCFrame(px, py, pz, x, y, z, w)
1077
	local xs, ys, zs = x + x, y + y, z + z
1078
	local wx, wy, wz = w * xs, w * ys, w * zs
1079
	local xx = x * xs
1080
	local xy = x * ys
1081
	local xz = x * zs
1082
	local yy = y * ys
1083
	local yz = y * zs
1084
	local zz = z * zs
1085
	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))
1086
end
1087
 
1088
function QuaternionSlerp(a, b, t)
1089
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
1090
	local startInterp, finishInterp;
1091
	if cosTheta >= 0.0001 then
1092
		if (1 - cosTheta) > 0.0001 then
1093
			local theta = ACOS(cosTheta)
1094
			local invSinTheta = 1 / SIN(theta)
1095
			startInterp = SIN((1 - t) * theta) * invSinTheta
1096
			finishInterp = SIN(t * theta) * invSinTheta
1097
		else
1098
			startInterp = 1 - t
1099
			finishInterp = t
1100
		end
1101
	else
1102
		if (1 + cosTheta) > 0.0001 then
1103
			local theta = ACOS(-cosTheta)
1104
			local invSinTheta = 1 / SIN(theta)
1105
			startInterp = SIN((t - 1) * theta) * invSinTheta
1106
			finishInterp = SIN(t * theta) * invSinTheta
1107
		else
1108
			startInterp = t - 1
1109
			finishInterp = t
1110
		end
1111
	end
1112
	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
1113
end
1114
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
1115
	local NEWMESH = IT(MESH)
1116
	if MESH == "SpecialMesh" then
1117
		NEWMESH.MeshType = MESHTYPE
1118
		if MESHID ~= "nil" and MESHID ~= "" then
1119
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
1120
		end
1121
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
1122
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
1123
		end
1124
	end
1125
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
1126
	NEWMESH.Scale = SCALE
1127
	NEWMESH.Parent = PARENT
1128
	return NEWMESH
1129
end
1130
1131
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
1132
	local NEWPART = IT("Part")
1133
	NEWPART.formFactor = FORMFACTOR
1134
	NEWPART.Reflectance = REFLECTANCE
1135
	NEWPART.Transparency = TRANSPARENCY
1136
	NEWPART.CanCollide = false
1137
	NEWPART.Locked = true
1138
	NEWPART.Anchored = true
1139
	if ANCHOR == false then
1140
		NEWPART.Anchored = false
1141
	end
1142
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
1143
	NEWPART.Name = NAME
1144
	NEWPART.Size = SIZE
1145
	NEWPART.Position = Torso.Position
1146
	NEWPART.Material = MATERIAL
1147
	NEWPART:BreakJoints()
1148
	NEWPART.Parent = PARENT
1149
	return NEWPART
1150
end
1151
1152
	local function weldBetween(a, b)
1153
	    local weldd = IT("Weld")
1154
	    weldd.Part0 = a
1155
	    weldd.Part1 = b
1156
	    weldd.C0 = CF()
1157
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
1158
	    weldd.Parent = a
1159
	    return weldd
1160
	end
1161
1162
function Clerp(a, b, t)
1163
	local qa = {QuaternionFromCFrame(a)}
1164
	local qb = {QuaternionFromCFrame(b)}
1165
	local ax, ay, az = a.x, a.y, a.z
1166
	local bx, by, bz = b.x, b.y, b.z
1167
	local _t = 1 - t
1168
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
1169
end
1170
1171
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
1172
	local frame = IT("Frame")
1173
	frame.BackgroundTransparency = TRANSPARENCY
1174
	frame.BorderSizePixel = BORDERSIZEPIXEL
1175
	frame.Position = POSITION
1176
	frame.Size = SIZE
1177
	frame.BackgroundColor3 = COLOR
1178
	frame.BorderColor3 = BORDERCOLOR
1179
	frame.Name = NAME
1180
	frame.Parent = PARENT
1181
	return frame
1182
end
1183
1184
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
1185
	local label = IT("TextLabel")
1186
	label.BackgroundTransparency = 1
1187
	label.Size = UD2(1, 0, 1, 0)
1188
	label.Position = UD2(0, 0, 0, 0)
1189
	label.TextColor3 = TEXTCOLOR
1190
	label.TextStrokeTransparency = STROKETRANSPARENCY
1191
	label.TextTransparency = TRANSPARENCY
1192
	label.FontSize = TEXTFONTSIZE
1193
	label.Font = TEXTFONT
1194
	label.BorderSizePixel = BORDERSIZEPIXEL
1195
	label.TextScaled = false
1196
	label.Text = TEXT
1197
	label.Name = NAME
1198
	label.Parent = PARENT
1199
	return label
1200
end
1201
1202
function NoOutlines(PART)
1203
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
1204
end
1205
1206
1207
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
1208
	local NEWWELD = IT(TYPE)
1209
	NEWWELD.Part0 = PART0
1210
	NEWWELD.Part1 = PART1
1211
	NEWWELD.C0 = C0
1212
	NEWWELD.C1 = C1
1213
	NEWWELD.Parent = PARENT
1214
	return NEWWELD
1215
end
1216
1217
local S = IT("Sound")
1218
1219
function CreateSound(ID, PARENT, VOLUME, PITCH)
1220
	local NEWSOUND = nil
1221
	coroutine.resume(coroutine.create(function()
1222
		NEWSOUND = S:Clone()
1223
		NEWSOUND.Parent = PARENT
1224
		NEWSOUND.Volume = VOLUME
1225
		NEWSOUND.Pitch = PITCH
1226
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
1227
		Swait()
1228
		NEWSOUND:play()
1229
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
1230
	end))
1231
	return NEWSOUND
1232
end
1233
1234
local asd = Instance.new("ParticleEmitter")
1235
asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
1236
asd.LightEmission = .1
1237
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
1238
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
1239
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
1240
asd.Transparency = bbb
1241
asd.Size = aaa
1242
asd.ZOffset = .9
1243
asd.Acceleration = Vector3.new(0, -15, 0)
1244
asd.LockedToPart = false
1245
asd.EmissionDirection = "Back"
1246
asd.Lifetime = NumberRange.new(1, 2)
1247
asd.Rotation = NumberRange.new(-100, 100)
1248
asd.RotSpeed = NumberRange.new(-100, 100)
1249
asd.Speed = NumberRange.new(10)
1250
asd.Enabled = false
1251
asd.VelocitySpread = 999
1252
1253
1254
1255
function getbloody(victim,amount)
1256
	local PART = CreatePart(1, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
1257
	PART.CFrame = victim.CFrame
1258
	local HITPLAYERSOUNDS = {"356551938","264486467"}
1259
	Debris:AddItem(PART,5)
1260
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], Torso, 0.3, (math.random(8,12)/10))
1261
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], Torso, 0.3, (math.random(8,12)/10))
1262
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], Torso, 0.3, (math.random(8,12)/10))
1263
	local prtcl = asd:Clone()
1264
	prtcl.Parent = PART
1265
	prtcl:Emit(amount*10)
1266
end
1267
1268
1269
function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1270
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1271
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
1272
	wave.CFrame = CFRAME
1273
	coroutine.resume(coroutine.create(function(PART)
1274
		for i = 1, WAIT do
1275
			Swait()
1276
			mesh.Scale = mesh.Scale + GROW
1277
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1278
			if DOESROT == true then
1279
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1280
			end
1281
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1282
			if wave.Transparency > 0.99 then
1283
				wave:remove()
1284
			end
1285
		end
1286
	end))
1287
end
1288
1289
function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
1290
	local wave = CreatePart(1, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1291
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0,0,0))
1292
	wave.CFrame = CFRAME
1293
	coroutine.resume(coroutine.create(function(PART)
1294
		for i = 1, WAIT do
1295
			Swait()
1296
			mesh.Scale = mesh.Scale + GROW
1297
			if DOESROT == true then
1298
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1299
			end
1300
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1301
			if wave.Transparency > 0.99 then
1302
				wave:remove()
1303
			end
1304
		end
1305
	end))
1306
end
1307
1308
1309
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
1310
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
1311
	local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
1312
	wave.CFrame = CFRAME
1313
	coroutine.resume(coroutine.create(function(PART)
1314
		for i = 1, WAIT do
1315
			Swait()
1316
			mesh.Scale = mesh.Scale + GROW
1317
			wave.Transparency = wave.Transparency + (1/WAIT)
1318
			if wave.Transparency > 0.99 then
1319
				wave:remove()
1320
			end
1321
		end
1322
	end))
1323
end
1324
1325
function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
1326
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
1327
	local mesh = nil	
1328
	if KIND == "Base" then
1329
 		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
1330
	elseif KIND == "Thin" then
1331
 		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
1332
	elseif KIND == "Round" then
1333
 		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
1334
	end
1335
	wave.CFrame = CFRAME
1336
	coroutine.resume(coroutine.create(function(PART)
1337
		for i = 1, WAIT do
1338
			Swait()
1339
			mesh.Scale = mesh.Scale + GROW/10
1340
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1341
			if wave.Transparency > 0.99 then
1342
				wave:remove()
1343
			end
1344
		end
1345
	end))
1346
end
1347
1348
function MakeForm(PART,TYPE)
1349
	if TYPE == "Cyl" then
1350
		local MSH = IT("CylinderMesh",PART)
1351
	elseif TYPE == "Ball" then
1352
		local MSH = IT("SpecialMesh",PART)
1353
		MSH.MeshType = "Sphere"
1354
	elseif TYPE == "Wedge" then
1355
		local MSH = IT("SpecialMesh",PART)
1356
		MSH.MeshType = "Wedge"
1357
	end
1358
end
1359
1360
function SpawnKnife(SIZE,ISGRABBED,LIMB,ROT,ROT2,DOESDODAMAGE,DAMAGE)
1361
	SIZE = SIZE / 2
1362
	local WELD = nil
1363
	local KNIFEMODEL = IT("Model",Effects)
1364
	KNIFEMODEL.Name = "Knife"
1365
	local HandlePart = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Handle", VT(0.2,1.5,0.2)*SIZE,false)
1366
	MakeForm(HandlePart,"Cyl")
1367
	if ISGRABBED == true then
1368
		WELD = CreateWeldOrSnapOrMotor("Weld", HandlePart, LIMB, HandlePart, CF(0, -1, 0) * ANGLES(RAD(ROT), RAD(ROT2), RAD(0)), CF(0, 0, 0))
1369
	end
1370
	local BladePart = CreatePart(3, KNIFEMODEL, "Neon", 0,1, "Really red", "BladeHolder", VT(0.2,2.8+(3.25/1.5),0.2)*SIZE,false)
1371
	BladePart.CFrame = HandlePart.CFrame*CF(0,-2.8*SIZE,-0.05*SIZE)
1372
	weldBetween(HandlePart,BladePart)
1373
	local Part = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Blade", VT(0,2.8,1)*SIZE,false)
1374
	MakeForm(Part,"Wedge")
1375
	Part.CFrame = BladePart.CFrame*CF(0,-1.475*SIZE,0.45*SIZE) * ANGLES(RAD(180), RAD(0), RAD(0))
1376
	weldBetween(BladePart,Part)
1377
	local Part = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Blade", VT(0,3.25/1.5,0.5)*SIZE,false)
1378
	MakeForm(Part,"Wedge")
1379
	Part.CFrame = BladePart.CFrame*CF(0,1*SIZE,1.2*SIZE) * ANGLES(RAD(180), RAD(0), RAD(0))
1380
	weldBetween(BladePart,Part)
1381
	local Part = CreatePart(3, KNIFEMODEL, "Neon", 0,0, "Really red", "Blade", VT(0,3.25/1.5,1)*SIZE,false)
1382
	Part.CFrame = BladePart.CFrame*CF(0,1*SIZE,0.45*SIZE) * ANGLES(RAD(180), RAD(0), RAD(0))
1383
	weldBetween(BladePart,Part)
1384
	local A = IT("Attachment",BladePart)
1385
	A.Position = VT(0,BladePart.Size.Y/2,0)
1386
	local B = IT("Attachment",BladePart)
1387
	B.Position = VT(0,-BladePart.Size.Y/2,0)
1388
	local Trail = IT("Trail",BladePart)
1389
	Trail.Attachment0 = A
1390
	Trail.Attachment1 = B
1391
	Trail.Lifetime = 0.2
1392
	Trail.Color = ColorSequence.new(BRICKC"Really red".Color)
1393
	Trail.Transparency = NumberSequence.new(0, 1)
1394
	for _, c in pairs(KNIFEMODEL:GetChildren()) do
1395
		if c.ClassName == "Part" then
1396
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1397
		end
1398
	end
1399
	if DOESDODAMAGE == true then
1400
		local HIT = false
1401
		BladePart.CanCollide = true
1402
		local TOUCHED = BladePart.Touched:Connect(function(hit)
1403
			if HIT == false then
1404
				if hit ~= nil then
1405
					if hit.Parent ~= nil then
1406
						if hit.Parent ~= Character and hit.Parent:FindFirstChildOfClass("Humanoid") then
1407
							HIT = true
1408
							ApplyDamage(hit.Parent:FindFirstChildOfClass("Humanoid"),DAMAGE,2,2)
1409
							wait(0.1)
1410
							HIT = false
1411
						end
1412
					end
1413
				end
1414
			end
1415
		end)
1416
	end
1417
	return KNIFEMODEL,WELD,BladePart
1418
end
1419
1420
function PuddleOfBlood(Position,MaxDrop,Model,MaxSize)
1421
	local HITFLOOR, HITPOS, NORMAL = Raycast(Position, (CF(Position, Position + VT(0, -1, 0))).lookVector, MaxDrop, Model)
1422
	if HITFLOOR ~= nil then
1423
		if HITFLOOR.Parent ~= Effects and HITFLOOR.Parent ~= Character then
1424
			if HITFLOOR.Name == "BloodPuddle" then
1425
				local DIST = (Position - HITFLOOR.Position).Magnitude
1426
				if (HITFLOOR.Size.Z <= 5 and HITFLOOR.Size.Z < MaxSize) or (HITFLOOR.Size.Z > 5 and HITFLOOR.Size.Z < MaxSize and DIST < HITFLOOR.Size.Z/3) then
1427
					HITFLOOR.Size = HITFLOOR.Size + VT(0.1,0,0.1)
1428
				end
1429
			else
1430
				if HITFLOOR.Anchored == true then
1431
					local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(2,0,2))
1432
					BLOOD.CFrame = CF(HITPOS,HITPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0))
1433
					MakeForm(BLOOD,"Cyl")
1434
					coroutine.resume(coroutine.create(function()
1435
						Swait(75)
1436
						while true do
1437
							Swait()
1438
							BLOOD.Size = BLOOD.Size - VT(0.02,0,0.02)
1439
							if BLOOD.Size.Z < 0.051 then
1440
								BLOOD:remove()
1441
								break
1442
							end
1443
						end
1444
					end))
1445
				end
1446
			end
1447
		end
1448
	end
1449
end
1450
1451
function SprayBlood(POSITION,DIRECTION,BloodSize,DoesTable,Table)
1452
	local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(0.5,0.5,0.5),false)
1453
	BLOOD.CFrame = CF(POSITION)
1454
	MakeForm(BLOOD,"Ball")
1455
	local bv = Instance.new("BodyVelocity",BLOOD) 
1456
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1457
	bv.velocity = CF(POSITION,DIRECTION+VT(MRANDOM(-3,3),MRANDOM(-3,3)/30,MRANDOM(-3,3))).lookVector*65
1458
	bv.Name = "MOVE"
1459
	Debris:AddItem(bv,0.05)
1460
	coroutine.resume(coroutine.create(function()
1461
		local HASTOUCHEDGROUND = false
1462
		local HIT = BLOOD.Touched:Connect(function(hit)
1463
			if hit.Anchored == true then
1464
				HASTOUCHEDGROUND = true
1465
				if DoesTable == true then
1466
					AddChildrenToTable(BLOOD.Position,workspace,15,Table)
1467
				end
1468
				PuddleOfBlood(BLOOD.Position+VT(0,1,0),2,BLOOD,BloodSize)
1469
			end
1470
		end)
1471
		for i = 1, 75 do
1472
			Swait()
1473
			if i > 5 then
1474
				BLOOD.CanCollide = true
1475
			end
1476
			if HASTOUCHEDGROUND == true then
1477
				break
1478
			end
1479
		end
1480
		BLOOD:remove()
1481
	end))
1482
end
1483
1484
function CheckTableForString(Table, String)
1485
	for i, v in pairs(Table) do
1486
		if string.find(string.lower(String), string.lower(v)) then
1487
			return true
1488
		end
1489
	end
1490
	return false
1491
end
1492
1493
function CheckIntangible(Hit)
1494
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
1495
	if Hit and Hit.Parent then
1496
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
1497
			return true
1498
		end
1499
	end
1500
	return false
1501
end
1502
1503
Debris = game:GetService("Debris")
1504
1505
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
1506
	local Direction = CFrame.new(StartPos, Vec).lookVector
1507
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
1508
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
1509
	if RayHit and CheckIntangible(RayHit) then
1510
		if DelayIfHit then
1511
			wait()
1512
		end
1513
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
1514
	end
1515
	return RayHit, RayPos, RayNormal
1516
end
1517
1518
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
1519
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
1520
end
1521
1522
function turnto(position)
1523
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1524
end
1525
1526
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1527
function WACKYEFFECT(Table)
1528
	local TYPE = (Table.EffectType or "Sphere")
1529
	local SIZE = (Table.Size or VT(1,1,1))
1530
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
1531
	local TRANSPARENCY = (Table.Transparency or 0)
1532
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
1533
	local CFRAME = (Table.CFrame or Torso.CFrame)
1534
	local MOVEDIRECTION = (Table.MoveToPos or nil)
1535
	local ROTATION1 = (Table.RotationX or 0)
1536
	local ROTATION2 = (Table.RotationY or 0)
1537
	local ROTATION3 = (Table.RotationZ or 0)
1538
	local MATERIAL = (Table.Material or "Neon")
1539
	local COLOR = (Table.Color or C3(1,1,1))
1540
	local TIME = (Table.Time or 45)
1541
	local SOUNDID = (Table.SoundID or nil)
1542
	local SOUNDPITCH = (Table.SoundPitch or nil)
1543
	local SOUNDVOLUME = (Table.SoundVolume or nil)
1544
	coroutine.resume(coroutine.create(function()
1545
		local PLAYSSOUND = false
1546
		local SOUND = nil
1547-
tecks2.Text = "Nahid hunter"
1547+
1548
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
1549
			PLAYSSOUND = true
1550
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
1551
		end
1552
		EFFECT.Color = COLOR
1553
		local MSH = nil
1554
		if TYPE == "Sphere" then
1555
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
1556
		elseif TYPE == "Block" then
1557
			MSH = IT("BlockMesh",EFFECT)
1558
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
1559
		elseif TYPE == "Wave" then
1560
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
1561
		elseif TYPE == "Ring" then
1562
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
1563
		elseif TYPE == "Slash" then
1564
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1565
		elseif TYPE == "Round Slash" then
1566
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1567
		elseif TYPE == "Swirl" then
1568
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1569
		elseif TYPE == "Skull" then
1570
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1571
		elseif TYPE == "Crystal" then
1572
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1573
		end
1574
		if MSH ~= nil then
1575
			local MOVESPEED = nil
1576
			if MOVEDIRECTION ~= nil then
1577
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
1578
			end
1579
			local GROWTH = SIZE - ENDSIZE
1580
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1581
			if TYPE == "Block" then
1582
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1583
			else
1584
				EFFECT.CFrame = CFRAME
1585
			end
1586
				Swait()
1587
					for LOOP = 1, TIME+1 do
1588
				MSH.Scale = MSH.Scale - GROWTH/TIME
1589
				if TYPE == "Wave" then
1590
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
1591
				end
1592
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1593
				if TYPE == "Block" then
1594
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1595
				else
1596
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1597
				end
1598
				if MOVEDIRECTION ~= nil then
1599
					local ORI = EFFECT.Orientation
1600
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
1601
					EFFECT.Orientation = ORI
1602
				end
1603
			end
1604
			if PLAYSSOUND == false then
1605
				EFFECT:remove()
1606
			else
1607
				SOUND.Stopped:Connect(function()
1608
					EFFECT:remove()
1609
				end)
1610
			end
1611
		else
1612
			if PLAYSSOUND == false then
1613
				EFFECT:remove()
1614
			else
1615
				repeat Swait() until SOUND.Playing == false
1616
				EFFECT:remove()
1617
			end
1618
		end
1619
	end))
1620
end
1621
1622
function Intro()
1623
	EQUIPPED = true
1624
	ATTACK = true
1625
	Rooted = true
1626
	if Rooted == false then
1627
		Disable_Jump = false
1628
		Humanoid.WalkSpeed = Speed
1629
	elseif Rooted == true then
1630
		Disable_Jump = true
1631
		Humanoid.WalkSpeed = 0
1632
	end
1633
	for i = 0, 3, 0.1 / Animation_Speed do
1634
		Swait()
1635
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0,300 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1636
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 2 / Animation_Speed)
1637
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1638
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1639
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 2 / Animation_Speed)
1640
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 2 / Animation_Speed)
1641
	end
1642
	for i = 0, 4, 0.1 / Animation_Speed do
1643
		Swait()
1644
		CreateSound("1368583274", Torso, 1, 1)
1645
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.5 / Animation_Speed)
1646
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.5 / Animation_Speed)
1647
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1648
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1649
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1650
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1651
		CreateRing(VT(5,5,0)*3,false,0,25,Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(1,0,0)*3)
1652
        MagicSphere(VT(0,0,0),10,Torso.CFrame,"Really red",VT(5,5,5))
1653
        CreateWave(VT(0,0,0),15,Torso.CFrame*CF(0,-Torso.Size.Y/1.8,0),true,2,"Really red",VT(3,3,3))
1654
        CreateWave(VT(0,0,0),15,Torso.CFrame*CF(0,-Torso.Size.Y/1.8,0),true,2,"Really red",VT(1,5,5))
1655
	end
1656
	ATTACK = false
1657
	Rooted = false
1658
end
1659
1660
--//=================================\\
1661
--||	     WEAPON CREATION
1662
--\\=================================//
1663
---------
1664
local naeeym2 = IT("BillboardGui",Character)
1665
naeeym2.AlwaysOnTop = true
1666
naeeym2.Size = UDim2.new(5,35,2,15)
1667
naeeym2.StudsOffset = Vector3.new(0,2,0)
1668
naeeym2.MaxDistance = 75
1669
naeeym2.Adornee = Character.Head
1670
naeeym2.Name = "Name"
1671
local tecks2 = IT("TextLabel",naeeym2)
1672
tecks2.BackgroundTransparency = 1
1673
tecks2.TextScaled = true
1674
tecks2.BorderSizePixel = 0
1675
tecks2.Text = "Edgy Hunter"
1676
tecks2.Font = "Fantasy"
1677
tecks2.TextSize = 30
1678
tecks2.TextStrokeTransparency = 0
1679
tecks2.TextColor3 = C3(0,0,0)
1680
tecks2.TextStrokeColor3 = C3(255,0,0)
1681
tecks2.Size = UDim2.new(1,0,0.5,0)
1682
tecks2.Parent = naeeym2
1683
---------------------
1684
local plr = game:service'Players'.LocalPlayer
1685
local char = plr.Character
1686
local hum = char.Humanoid
1687
local ra = char["Right Arm"]
1688
local la= char["Left Arm"]
1689
local rl= char["Right Leg"]
1690
local ll = char["Left Leg"]
1691
local hed = char.Head
1692
local root = char.HumanoidRootPart
1693
local rootj = root.RootJoint
1694
local tors = char.Torso
1695
local mouse = plr:GetMouse()
1696
New = function(Object, Parent, Name, Data)
1697
	local Object = Instance.new(Object)
1698
	for Index, Value in pairs(Data or {}) do
1699
		Object[Index] = Value
1700
	end
1701
	Object.Parent = Parent
1702
	Object.Name = Name
1703
	return Object
1704
end
1705
	
1706
XBlade = New("Model",char,"XBlade",{})
1707
Handle = New("Part",XBlade,"Handle",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,Shape = Enum.PartType.Cylinder,Size = Vector3.new(2, 0.119999982, 0.119999982),CFrame = CFrame.new(-44.0486794, 1.89940667, 173.921341, 0.99009043, -0.134159163, -0.0414969474, 0.0418755226, -2.00014849e-09, 0.999122798, -0.134041354, -0.990959466, 0.00561797712),BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(100, 0, 0),})
1708
Wedge = New("WedgePart",XBlade,"Wedge",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,Size = Vector3.new(0.0799999461, 4.97000027, 1.4),CFrame = CFrame.new(-40.6379662, 1.33008528, 173.459518, 0.134159088, 0.990090489, -0.0414969511, 3.48056417e-10, 0.0418755226, 0.999122798, 0.990959585, -0.134041339, 0.00561797852),BottomSurface = Enum.SurfaceType.Smooth,Color = Color3.new(100, 0, 0),})
1709
mot = New("Motor",Wedge,"mot",{Part0 = Wedge,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0.134159088, 0, 0.990959764, 0.990090549, 0.0418755226, -0.134041384, -0.0414969586, 0.999122858, 0.00561798085),C1 = CFrame.new(3.41497803, 7.62939453e-05, -0.712950706, 0.990090549, 0.0418755226, -0.134041443, -0.134159133, -1.83043725e-09, -0.990959704, -0.0414969549, 0.999122798, 0.00561798038),})
1710
1711
	local color="Really red"
1712
                local transPoints = {
1713
                        NumberSequenceKeypoint.new(0,.819,.0375),
1714
                        NumberSequenceKeypoint.new(.207,.594,.0187),
1715
                        NumberSequenceKeypoint.new(.4,.55,.031),
1716
                        NumberSequenceKeypoint.new(.57,.619,.05),
1717
                        NumberSequenceKeypoint.new(.76,.8,.0375),
1718
                        NumberSequenceKeypoint.new(1,1,0),
1719
                }
1720
                local sizePoints = {
1721
 					    NumberSequenceKeypoint.new(0,0.505,0),
1722
                        NumberSequenceKeypoint.new(1,0,0),
1723
                }
1724
                local Size = NumberSequence.new(sizePoints)
1725
                local Transparency = NumberSequence.new(transPoints)
1726
1727
                efxBlock2 = Instance.new("Part",c)
1728
				efxBlock2.CanCollide=false
1729
                efxBlock2.BrickColor = BrickColor.new(color)
1730
                efxBlock2.Material = "Neon"
1731
                efxBlock2.FormFactor = "Custom"
1732
                efxBlock2.Transparency = 1
1733
                efxBlock2.Size = Vector3.new(.25,.25,.25)
1734
                local mesh2 = Instance.new("SpecialMesh",efxBlock2)
1735
                mesh2.MeshType = Enum.MeshType.Sphere
1736
                mesh2.Scale = Vector3.new(1,1,1)
1737
                local particles2 = Instance.new("ParticleEmitter",efxBlock2)
1738
                particles2.Color = ColorSequence.new(Color3.new(255/255, 0/255, 0/255),Color3.new(0/255, 0/255, 0/255))
1739
                particles2.LightEmission = .2
1740
                particles2.Size = Size
1741
                particles2.Name = "Fire"
1742
                particles2.Transparency = Transparency
1743
                particles2.LockedToPart = false
1744
                particles2.VelocityInheritance = .5
1745
                particles2.LockedToPart = false
1746
                particles2.Rate = 15
1747
                particles2.Texture = "rbxassetid://41068173"
1748
                particles2.Lifetime = NumberRange.new(2,2)
1749
                particles2.RotSpeed = NumberRange.new(100,100)
1750
                particles2.Speed = NumberRange.new(1,1)
1751
                local offset = Vector3.new(0.11, .23, -0.5)
1752
                local weld2 = Instance.new("Weld",c.Head)
1753
                weld2.Part0 = c.Head
1754
                weld2.Part1 = efxBlock2
1755
                weld2.C0 = CFrame.new(offset) * CFrame.Angles(math.rad(40),math.rad(50),math.rad(-60))
1756
                efxBlock2.Parent = c
1757
 
1758
for _, v in pairs(XBlade:GetChildren()) do
1759
    if v:IsA'BasePart' then
1760
    v.CanCollide = false
1761
end
1762
end
1763
1764
1765
1766
local NewInstance = function(instance,parent,properties)
1767
	local inst = Instance.new(instance,parent)
1768
	if(properties)then
1769
		for i,v in next, properties do
1770
			pcall(function() inst[i] = v end)
1771
		end
1772
	end
1773
	return inst;
1774
end
1775
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))})
1776
1777
1778
Humanoid.Died:connect(function()
1779
	ATTACK = true
1780
end)
1781
1782
1783
--//=================================\\
1784
--||	     DAMAGE FUNCTIONS
1785
--\\=================================//
1786
1787
function StatLabel(CFRAME, TEXT, COLOR)
1788
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
1789
	STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
1790
	local BODYGYRO = IT("BodyGyro", STATPART)
1791
	game:GetService("Debris"):AddItem(STATPART ,5)
1792
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
1793
	BILLBOARDGUI.Adornee = STATPART
1794
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
1795
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
1796
	BILLBOARDGUI.AlwaysOnTop = false
1797
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
1798
	TEXTLABEL.BackgroundTransparency = 1
1799
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
1800
	TEXTLABEL.Text = TEXT
1801
	TEXTLABEL.Font = "Fantasy"
1802
	TEXTLABEL.FontSize="Size42"
1803
	TEXTLABEL.TextColor3 = COLOR
1804
	TEXTLABEL.TextStrokeTransparency = 0
1805
	TEXTLABEL.TextScaled = true
1806
	TEXTLABEL.TextWrapped = true
1807
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
1808
		for i = 1, 50 do
1809
			Swait()
1810
			STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
1811
			TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
1812
			TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
1813
		end
1814
		THEPART.Parent = nil
1815
	end),STATPART, TEXTLABEL)
1816
end
1817
1818
1819
--//=================================\\
1820
--||			DAMAGING
1821
--\\=================================//
1822
1823
function ApplyDamage(Humanoid,Damage,CritRate,CritMultiplier)
1824
	local defence = Instance.new("BoolValue",Humanoid.Parent)
1825
	defence.Name = ("HitBy"..Player.Name)
1826
	game:GetService("Debris"):AddItem(defence, 0.001)
1827
	if Humanoid.Health ~= 0 then
1828
		local CritChance = MRANDOM(1,100)
1829
		if CritChance < CritRate + 1 then
1830
			Damage = Damage*CritMultiplier
1831
		end
1832
		if Damage > Humanoid.Health then
1833
			Damage = math.ceil(Humanoid.Health)
1834
			if Damage == 0 then
1835
				Damage = 0.1
1836
			end
1837
		end
1838
		Humanoid.Health = Humanoid.Health - Damage
1839
		if Humanoid.Parent:FindFirstChild("Head") then
1840
			CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], Humanoid.Parent.Head, 3, 1)
1841
			if CritChance < CritRate + 1 then
1842
				StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
1843
			else
1844
				StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, SKILLTEXTCOLOR)
1845
			end
1846
		end
1847
	end
1848
end
1849
1850
function AoEDamage(position,radius,min,max,maxstrength,critrate,critmultiplier,CanBeDodgedByJumping)
1851
	local dmg = math.random(min,max)
1852
	for i,v in ipairs(workspace:GetChildren()) do
1853
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
1854
		local body = v:GetChildren()
1855
			for part = 1, #body do
1856
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1857
					if(body[part].Position - position).Magnitude < radius then
1858
						if v.ClassName == "Model" then
1859
							if v:FindFirstChildOfClass("Humanoid") then
1860
								if CanBeDodgedByJumping == true then
1861
									if body[part].Position.Y < position.Y+5 then
1862
										ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
1863
									end
1864
								else
1865
									ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
1866
								end
1867
								local bv = Instance.new("BodyVelocity") 
1868
								bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1869
								bv.velocity = RootPart.CFrame.lookVector*maxstrength
1870
								bv.Parent = body[part]
1871
								Debris:AddItem(bv,0.2)
1872
							end
1873
						end
1874
					end
1875
				end
1876
			end
1877
		end
1878
		if v:FindFirstChild("HitBy"..Player.Name) then
1879
			v:FindFirstChild("HitBy"..Player.Name):remove()
1880
		end
1881
	end
1882
end
1883
1884
function BreakLimit()
1885
	ATTACK = true
1886
	Rooted = false
1887
	UNANCHOR = false
1888
	RootPart.Anchored = true
1889
	for i=0, 0.1, 0.1 / Animation_Speed do
1890
		Swait()
1891
		RootPart.CFrame = RootPart.CFrame * CF(0,0.2,0)
1892
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1893
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 2 / Animation_Speed)
1894
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1895
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1896
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 2 / Animation_Speed)
1897
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 2 / Animation_Speed)
1898
	end
1899
	CreateSound("1368598393", Torso, 1, 1)
1900
	for i=0, 0.1, 0.1 / Animation_Speed do
1901
		Swait()
1902
		local CFRAME = CF(Torso.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
1903
		MagicSphere(VT(0,0,0),15,CFRAME,"Really Red",VT(0.1,0.1,5))
1904
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Institutional white",VT(0.1,0.1,5))
1905
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1906
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 2 / Animation_Speed)
1907
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-75)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1908
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(75)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1909
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
1910
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
1911
	end
1912
	CreateSound("1368583274", Torso, 1, 1)
1913
	for i=0, 0.1, 0.1 / Animation_Speed do
1914
		Swait()
1915
		CreateRing(VT(45,5,0)*2,false,0,45,Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(-1,0,0))
1916
		CreateRing(VT(45,5,0)*3,false,0,45,Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(-1,0,0)*3)
1917
		local CFRAME = CF(Torso.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
1918
		MagicSphere(VT(0,0,0),15,CFRAME,"Red",VT(0.1,0.1,55))
1919
		MagicSphere(VT(0,0,0),15,CFRAME,"Black",VT(2,2,2))
1920
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really Red",VT(0.1,0.1,55))
1921
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1922
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 2 / Animation_Speed)
1923
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-75)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1924
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(75)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1925
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
1926
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
1927
	end
1928
	Swait(45)
1929
	CreateRing(VT(0,0,0),false,0,45,RootPart.CFrame*ANGLES(RAD(90),RAD(0),RAD(0)),"Red",VT(7,7,0))
1930
	CreateSound("1368605755", Torso, 1, 1)
1931
	CreateSound("1368637781", Torso, 1, 1)
1932
	MagicSphere(VT(0,0,0),45,Torso.CFrame,"Really red",VT(5,5,5))
1933
	LIMITBROKEN = true
1934
	for i=0, 1, 0.1 / Animation_Speed do
1935
		Swait()
1936
		CreateRing(VT(0,0,0),false,0,45,Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Black",VT(4,4,0))
1937
		CreateRing(VT(0,0,0),false,0,45,Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Black",VT(5,5,0))
1938
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1939
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 2 / Animation_Speed)
1940
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-60), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1941
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1942
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-50)), 2 / Animation_Speed)
1943
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(50)), 2 / Animation_Speed)
1944
	end
1945
	UNANCHOR = true
1946
	RootPart.Anchored = false
1947
	ATTACK = false
1948
	Rooted = false
1949
end
1950
1951
function Kill(Char)
1952
	local NewCharacter = IT("Model",Effects)
1953
	NewCharacter.Name = "Ow im ded ;-;"
1954
	for _, c in pairs(Char:GetDescendants()) do
1955
		if c:IsA("BasePart") and c.Transparency == 0 then
1956
			if c.Parent == Char then
1957
				getbloody(c,5)
1958
			end
1959
			c:BreakJoints()
1960
			c.Material = "Glass"
1961
			c.Color = C3(0.5,0,0)
1962
			c.CanCollide = true
1963
			c.Transparency = 0.3
1964
			if c:FindFirstChildOfClass("SpecialMesh") then
1965
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1966
			end
1967
			if c.Name == "Head" then
1968
				c:ClearAllChildren()
1969
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
1970
			end
1971
			if c.ClassName == "MeshPart" then
1972
				c.TextureID = ""
1973
			end
1974
			if c:FindFirstChildOfClass("BodyPosition") then
1975
				c:FindFirstChildOfClass("BodyPosition"):remove()
1976
			end
1977
			if c:FindFirstChildOfClass("ParticleEmitter") then
1978
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
1979
			end
1980
			c.Parent = NewCharacter
1981
			c.Name = "DeadPart"
1982
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
1983
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
1984
		end
1985
	end
1986
	Char:remove()
1987
	Debris:AddItem(NewCharacter,5)
1988
end
1989
1990
function ApplyAoE(POSITION,radius,min,max,maxstrength)
1991
	local CHILDREN = workspace:GetDescendants()
1992
	for index, CHILD in pairs(CHILDREN) do
1993
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1994
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1995
			if HUM then
1996
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1997
				if TORSO then
1998
1999
						if BRUTAL == true then
2000
							Kill(CHILD)
2001
						else
2002
							CHILD:BreakJoints()
2003
						end
2004
					end
2005
				end
2006
			end
2007
		end
2008
	end
2009
2010
--//=================================\\
2011
--||	ATTACK FUNCTIONS AND STUFF
2012
--\\=================================//
2013
----
2014
Humanoid.HealthChanged:connect(function()
2015
	if DEATH == false then
2016
		if Humanoid.Health ~= "inf" then
2017
			Humanoid.Health = "inf"
2018
			CreateSound("907330011", Torso, 10, 1)
2019
		end
2020
		if Humanoid.MaxHealth ~= "inf" then
2021
			Humanoid.MaxHealth = "inf"
2022
		end
2023
	end
2024
end)
2025
2026
function VanishPlayer()
2027
	tecks2.TextTransparency = 1
2028
	tecks2.TextStrokeTransparency = 1
2029
	for _, c in pairs(Character:GetChildren()) do
2030
		if c.ClassName == "Part" then
2031
			c.Transparency = 1
2032
			if c:FindFirstChildOfClass("Decal") then
2033
				c:FindFirstChildOfClass("Decal").Transparency = 1
2034
			end
2035
			if c:FindFirstChildOfClass("ParticleEmitter") then
2036
				c:FindFirstChildOfClass("ParticleEmitter").Enabled = false
2037
			end
2038
		elseif c.ClassName == "Accessory" then
2039
			c.Handle.Transparency = 1
2040
			if c.Handle:FindFirstChildOfClass("ParticleEmitter") then
2041
				c.Handle:FindFirstChildOfClass("ParticleEmitter").Enabled = false
2042
			end
2043
		end
2044
	end
2045
end
2046
2047
function Reappear()
2048
2049
	for _, c in pairs(Character:GetChildren()) do
2050
		if c.ClassName == "Part" and c.Name ~= "HumanoidRootPart" then
2051
			c.Transparency = 0
2052
			if c:FindFirstChildOfClass("Decal") then
2053
				c:FindFirstChildOfClass("Decal").Transparency = 0
2054
			end
2055
			if c:FindFirstChildOfClass("ParticleEmitter") then
2056
				c:FindFirstChildOfClass("ParticleEmitter").Enabled = true
2057
			end
2058
		elseif c.ClassName == "Accessory" then
2059
			c.Handle.Transparency = 0
2060
			if c.Handle:FindFirstChildOfClass("ParticleEmitter") then
2061
				c.Handle:FindFirstChildOfClass("ParticleEmitter").Enabled = true
2062
			end
2063
		end
2064
	end
2065
end
2066
2067
function Warp()
2068
	ATTACK = true
2069
	Rooted = true
2070
	for i = 1, 50 do
2071
		Swait()
2072
		CreateRing(VT(0,0,0),false,0,5,RootPart.CFrame*ANGLES(RAD(0),RAD(90),RAD(0)),"Institutional white",VT(i/3,i/3,0))
2073
		CreateRing(VT(0,0,0),false,0,5,RootPart.CFrame*ANGLES(RAD(0),RAD(0),RAD(0)),"Institutional white",VT(i/3,i/3,0))
2074
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.3 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0 - 2.5 * SIN(SINE / 12))), 3 / Animation_Speed)
2075
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0 + 2.5 * SIN(SINE / 12))), 3 / Animation_Speed)
2076
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0, -0.5) * ANGLES(RAD(140 + 2.5 * SIN(SINE / 12)), RAD(15), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
2077
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0, -0.5) * ANGLES(RAD(140 + 2.5 * SIN(SINE / 12)), RAD(-15), RAD(0)) * LEFTSHOULDERC0, 3 / Animation_Speed)
2078
		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(-25 - 2.5 * SIN(SINE / 12))), 3 / Animation_Speed)
2079
		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(-45 - 2.5 * SIN(SINE / 12))), 3 / Animation_Speed)
2080
	end
2081
	if VALUE2 == false then
2082
		VALUE2 = true
2083
	elseif VALUE2 == true then
2084
		VALUE2 = false
2085
	end
2086
	ATTACK = false
2087
	Rooted = false
2088
end
2089
2090
function Darkness()
2091
		ATTACK = true
2092
Rooted = true
2093
	local AIMPOS = Mouse.Hit.p
2094
		local BODIES = {}
2095
			local ZONE = CreatePart(3, Effects, "Neon", 0, 1, C3(0,0,0), "Shade Zone", VT(15,0.10,15))
2096
			ZONE.Color = C3(0,0,0)
2097
			MakeForm(ZONE,"Cyl")
2098
			ZONE.CFrame = CF(AIMPOS)
2099
			local AURA = CreateSound(1393698948, ZONE, 0, 0.5, true)
2100
			for i =1, 45 do
2101
				Swait()
2102
				AURA.Volume = AURA.Volume + 10/45
2103
				ZONE.Transparency = ZONE.Transparency - 1/45
2104
				ZONE.Size = ZONE.Size + VT(2,0,2)
2105
			end
2106
			local SIZE = ZONE.Size
2107
			for i =1, 400 do
2108
				Swait()
2109
				AddChildrenToTable(ZONE.Position,workspace,ZONE.Size.X/2,BODIES)
2110
				if MRANDOM(1,5) == 1 then
2111
					WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(5,0,5), Size2 = VT(0,135,0), Transparency = 0, Transparency2 = 1, CFrame = CF(ZONE.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,MRANDOM(0,math.ceil(ZONE.Size.X/2.1))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2112
					WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(5,0,5), Size2 = VT(0,135,0), Transparency = 0, Transparency2 = 1, CFrame = CF(ZONE.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,MRANDOM(0,math.ceil(ZONE.Size.X/2.1))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2113
					WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(5,0,5), Size2 = VT(0,135,0), Transparency = 0, Transparency2 = 1, CFrame = CF(ZONE.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,MRANDOM(0,math.ceil(ZONE.Size.X/2.1))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2114
					WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(5,0,5), Size2 = VT(0,135,0), Transparency = 0, Transparency2 = 1, CFrame = CF(ZONE.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,MRANDOM(0,math.ceil(ZONE.Size.X/2.1))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2115
				end
2116
				ZONE.Size = SIZE + VT(2 * COS(i / 12),0,2 * COS(i / 12))
2117
			end
2118
			for i =1, 45 do
2119
				Swait()
2120
				AURA.Volume = AURA.Volume - 10/45
2121
				ZONE.Transparency = ZONE.Transparency + 1/45
2122
				ZONE.Size = ZONE.Size - VT(2,0,2)
2123
			end
2124
			ZONE:remove()
2125
			for e = 1, #BODIES do
2126
				Swait()
2127
				if BODIES[e] ~= nil then
2128
					local BOD = BODIES[e]
2129
					for i = 1, 10 do
2130
						for i = 1, #BODIES do
2131
							if (BODIES[i] == BOD and i ~= e) then
2132
								table.remove(BODIES,i)
2133
							end
2134
						end
2135
					end
2136
						local BODY = BODIES[e]
2137
						local TORSO = BODIES[e]:FindFirstChild("Torso") or BODIES[e]:FindFirstChild("UpperTorso")
2138
						local HUM = BODIES[e]:FindFirstChildOfClass("Humanoid")
2139
						if TORSO and HUM then
2140
							TORSO.Anchored = true
2141
							for i = 1, 15 do
2142
								if HUM.Health > 0 then
2143
									wait(0.1)
2144
									WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(15,15,15), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 182765513, SoundPitch = MRANDOM(6,8)/10, SoundVolume = 2.5})
2145
		ApplyAoE(TORSO.CFrame*CF(0,0,-1.2).p,15,true)
2146
		end
2147
		ATTACK = false
2148
Rooted = false
2149
end
2150
end
2151
end
2152
end
2153
end
2154
2155
function HeadOff()
2156
   if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2157
        local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
2158
        local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
2159
        local HEDD = HUM.Parent:FindFirstChild("Head")
2160
        if TORSO and HUM.Health > 0 then
2161
            ATTACK = true
2162
            Rooted = false
2163
            local GYRO = IT("BodyGyro",RootPart)
2164
            GYRO.D = 275
2165
            GYRO.P = 20000
2166
            GYRO.MaxTorque = VT(0,40000,0)
2167
            for i=0, 0.8, 0.1 / Animation_Speed do
2168
                Swait()
2169
                GYRO.cframe = CF(RootPart.Position,TORSO.Position)
2170
 		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)
2171
		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)
2172
            end
2173
local oof = MagicBlock(5,50,TORSO,0,BRICKC("Really red").Color)
2174
local oof = MagicBlock(2.5,50,TORSO,0,BRICKC("Really red").Color)
2175
        local POS = Mouse.Hit.p
2176
WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(30,50,30), Size2 = VT(30,50,30), 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(1,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
2177
WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(30,50,30), Size2 = VT(30,50,30), 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(1,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
2178
        WACKYEFFECT({EffectType = "Block", Size = VT(1,1,1), Size2 = VT(25,25,25), Transparency = 0.25, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 178452241, SoundPitch = 0.6, SoundVolume = 6})
2179
            Debris:AddItem(oof,1)
2180
            CreateSound(429459101, Torso, 7, 1, false)
2181
            CreateSound(429459101, TORSO, 7, 1, false)
2182
2183
            GYRO:remove()
2184
            ATTACK = false
2185
            Rooted = false
2186
        end
2187
    end
2188
end
2189
2190
function Boost()
2191
	ATTACK = true
2192
	Rooted = true
2193
	CreateSound("466493476", Torso, 10, MRANDOM(7, 12) / 10)
2194
	for i = 1, 50 do
2195
		Swait()
2196
		CreateRing(VT(0,0,0),false,0,5,RootPart.CFrame*ANGLES(RAD(0),RAD(90),RAD(0)),"Really red",VT(i/5,i/5,0))
2197
		CreateRing(VT(0,0,0),false,0,5,RootPart.CFrame*ANGLES(RAD(0),RAD(0),RAD(0)),"Really red",VT(i/5,i/5,0))
2198
		CreateRing(VT(0,0,0),false,0,25,RootPart.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Institutional white",VT(i/3,i/3,0))
2199
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.3 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0 - 2.5 * SIN(SINE / 12))), 3 / Animation_Speed)
2200
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0 + 2.5 * SIN(SINE / 12))), 3 / Animation_Speed)
2201
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0, -0.5) * ANGLES(RAD(140 + 2.5 * SIN(SINE / 12)), RAD(15), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
2202
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0, -0.5) * ANGLES(RAD(140 + 2.5 * SIN(SINE / 12)), RAD(-15), RAD(0)) * LEFTSHOULDERC0, 3 / Animation_Speed)
2203
		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(-25 - 2.5 * SIN(SINE / 12))), 3 / Animation_Speed)
2204
		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(-45 - 2.5 * SIN(SINE / 12))), 3 / Animation_Speed)
2205
	end
2206
	POWERLEVEL = POWERLEVEL + 1
2207
	ATTACK = false
2208
	Rooted = false
2209
end
2210
2211
function FalseEnd()
2212
	ATTACK = true
2213
	Rooted = true
2214
	local AIMPOS = Mouse.Hit.p
2215
2216
	coroutine.resume(coroutine.create(function()
2217
		local RAYS = {}
2218
		for i = 1, 4 do
2219
			local RAY = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Ray", VT(50,2000,50))
2220
			MakeForm(RAY,"Cyl")
2221
			RAY.Mesh.Scale = VT(1,1.1,1)
2222
			table.insert(RAYS,RAY)
2223
		end
2224
		CreateSound(348663022, Effects, 2, 1.2, false)
2225
		for i = 1, 100 do
2226
			Swait()
2227
			for e = 1, #RAYS do
2228
				if RAYS[e] ~= nil then
2229
					local RAY = RAYS[e]
2230
					RAY.CFrame = CF(AIMPOS+VT(0,1000,0))*ANGLES(RAD(0),RAD(90*e),RAD(0))*ANGLES(RAD(0),RAD(0),RAD(50-(i/2)))*CF(0,-1000,0)
2231
					RAY.Transparency = RAY.Transparency - 0.01
2232
				end
2233
			end
2234
		end
2235
		for i = 1, 20 do
2236
			Swait()
2237
			for e = 1, #RAYS do
2238
				if RAYS[e] ~= nil then
2239
					local RAY = RAYS[e]
2240
					RAY.Mesh.Scale = RAY.Mesh.Scale - VT(1/20,0,1/20)
2241
				end
2242
			end
2243
		end
2244
		wait(0.3)
2245
		for i = 1, 16 do
2246
			local POS = CF(AIMPOS)*ANGLES(RAD(0),RAD(0,360),RAD(0))*CF(0,0,MRANDOM(0,5)).p
2247
			SpawnTrail(POS+VT(0,200,0),POS)
2248
		end
2249
		for i = 1, 4 do
2250
			CreateDebreeRing(AIM,AIMPOS-VT(0,3,0),5*i,VT(5,5,5)*i,5)
2251
		end
2252
2253
		CreateFlyingDebree(AIM,CF(AIMPOS),7,VT(3,3,3),5,185,false)
2254
		CreateFlyingDebree(AIM,CF(AIMPOS),7,VT(6,6,6),5,285,false)
2255
		CreateSound(130972023, Effects, 2, 1, false)
2256
		local POS = Mouse.Hit.p
2257
		local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Strike", VT(0,0,0))
2258
		MakeForm(RAY,"Cyl")
2259
		local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Strike", VT(130,130,130))
2260
		MakeForm(SPHERE,"Ball")
2261
		local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Strike", VT(120,120,120))
2262
		MakeForm(SHIELD,"Ball")
2263
		SHIELD.CFrame = CF(AIMPOS)
2264
		RAY.CFrame = CF(AIMPOS)
2265
		SPHERE.CFrame = CF(AIMPOS)
2266
		local CFRAME = CF(SPHERE.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
2267
		CreateSound(415700134, SPHERE, 10, 0.8, false)
2268
		for i = 1, 200 do
2269
			Swait()
2270
		WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(10,10,10), Transparency = 0, Transparency2 = 1, CFrame = CF(SPHERE.Position+VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))), MoveToPos = CF(RAY.Position), RotationX = MRANDOM(-15,15), RotationY = MRANDOM(-15,15), RotationZ = MRANDOM(-15,15), Material = "Neon", Color = C3(1,0,0), SoundID = "444667859", SoundPitch = 2, SoundVolume = nil})
2271
	MagicSphere(VT(0,0,0),45,SPHERE.CFrame,"Really red",VT(5,20,5))
2272
			RAY.Size = RAY.Size + VT(0,0,0)
2273
			SPHERE.Size = SPHERE.Size + VT(0.05,0.05,0.05)
2274
			SHIELD.Size = SPHERE.Size + VT(0.05,0.05,0.05)
2275
			ApplyAoE(SPHERE.Position,SPHERE.Size.X/2,true)
2276
		end	
2277
		for i = 1, 45 do
2278
			Swait()
2279
			RAY.Transparency = RAY.Transparency + 1/45
2280
			SPHERE.Transparency = RAY.Transparency 
2281
			SHIELD.Transparency = SPHERE.Transparency + 1/45
2282
		end
2283
		RAY:remove()
2284
		SHIELD:remove()
2285
		SPHERE:remove()
2286
	end))
2287
	ATTACK = false
2288
	Rooted = false
2289
end
2290
2291
function Taunt()
2292
	ATTACK = true
2293
	Rooted = true
2294
	CreateSound("907330011", Head, 10, 1.1)
2295
	for i=0, 1, 0.1 / Animation_Speed do
2296
		Swait()
2297
		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)
2298
		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)
2299
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.8) * ANGLES(RAD(170), RAD(0), RAD(-30)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2300
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2301
		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)
2302
		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)
2303
	end
2304
	for i=0, 2, 0.1 / Animation_Speed do
2305
		Swait()
2306
		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)
2307
		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)
2308
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(75), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2309
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2310
		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)
2311
		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)
2312
	end
2313
	ATTACK = false
2314
	Rooted = false
2315
end
2316
2317
function BreakLimit()
2318
	ATTACK = true
2319
	Rooted = false
2320
	UNANCHOR = false
2321
	RootPart.Anchored = true
2322
	for i=0, 5, 0.1 / Animation_Speed do
2323
		Swait()
2324
		RootPart.CFrame = RootPart.CFrame * CF(0,0.2,0)
2325
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2326
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 2 / Animation_Speed)
2327
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2328
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2329
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 2 / Animation_Speed)
2330
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 2 / Animation_Speed)
2331
	end
2332
	CreateSound("1368598393", Effects, 10, 1)
2333
	for i=0, 2, 0.1 / Animation_Speed do
2334
		Swait()
2335
		local CFRAME = CF(Torso.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
2336
		MagicSphere(VT(0,0,0),15,CFRAME,"Really black",VT(0.1,0.1,5))
2337
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Institutional white",VT(0.1,0.1,5))
2338
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2339
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 2 / Animation_Speed)
2340
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-75)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2341
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(75)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2342
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
2343
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
2344
	end
2345
	CreateSound("1368583274", Effects, 10, 1)
2346
	for i=0, 6, 0.1 / Animation_Speed do
2347
		Swait()
2348
		CreateRing(VT(45,5,0)*2,false,0,45,Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(-1,0,0))
2349
		CreateRing(VT(45,5,0)*3,false,0,45,Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(-1,0,0)*3)
2350
		local CFRAME = CF(Torso.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
2351
		MagicSphere(VT(0,0,0),15,CFRAME,"Really red",VT(0.1,0.1,55))
2352
		MagicSphere(VT(0,0,0),15,CFRAME,"Really red",VT(2,2,2))
2353
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",VT(0.1,0.1,55))
2354
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2355
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 2 / Animation_Speed)
2356
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-75)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2357
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(75)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2358
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
2359
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
2360
	end
2361
	CreateSound("907329532", Effects, 10, 1.1)
2362
	Swait(175)
2363
	CreateRing(VT(0,0,0),false,0,45,RootPart.CFrame*ANGLES(RAD(90),RAD(0),RAD(0)),"Really red",VT(7,7,0))
2364
	CreateSound("1368605755", Effects, 10, 1)
2365
	CreateSound("1368637781", Effects, 10, 1)
2366
	MagicSphere(VT(0,0,0),45,Torso.CFrame,"Really red",VT(5,5,5))
2367
	LIMITBROKEN = true
2368
	for i=0, 1, 0.1 / Animation_Speed do
2369
		Swait()
2370
		CreateRing(VT(0,0,0),false,0,45,Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(4,4,0))
2371
		CreateRing(VT(0,0,0),false,0,45,Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(5,5,0))
2372
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2373
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 2 / Animation_Speed)
2374
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-60), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2375
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2376
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-50)), 2 / Animation_Speed)
2377
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(50)), 2 / Animation_Speed)
2378
	end
2379
	UNANCHOR = true
2380
	RootPart.Anchored = false
2381
	ATTACK = false
2382
	Rooted = false
2383
end
2384
2385
function Beam()
2386
    ATTACK = true
2387
    Rooted = true
2388
    for i=0, 1, 0.1 / Animation_Speed do
2389
        Swait()
2390
 		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2391
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2392
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(180), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2393
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(180), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2394
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2395
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2396
2397
    end
2398
    CreateSound("348663022", Torso, 5, 1)
2399
2400
	local StartPos = RootPart.CFrame * CF(0,50,0).p
2401
    for i = 1, 5 do
2402
        MagicSpheres2(50,25,CF(StartPos),"Really red")
2403
        Swait(15)
2404
    end
2405
    repeat
2406
        turnto(Mouse.Hit.p)
2407
        MagicSpheres2(70,25,CF(StartPos),"Really red")
2408
        MagicSpheres(70/10,25,CF(StartPos),"Really red")
2409
        local RayHit, RayPos, RayNormal = CastZapRay(StartPos, Mouse.Hit.p, 750, Character, false)
2410
        local distance = (StartPos - RayPos).magnitude
2411
        local RayBeam = IT("Part",Effects)
2412
        RayBeam.Material = "Neon"
2413
        RayBeam.Anchored = true
2414
        RayBeam.BrickColor = BRICKC"Really red"
2415
        local mesh = IT("SpecialMesh",RayBeam)
2416
        mesh.MeshType = "Cylinder"
2417
        RayBeam.Size = Vector3.new(distance+30, math.random(15,35), math.random(15,35))
2418
        RayBeam.CFrame = CFrame.new(StartPos, RayPos) * CFrame.new(0, 0, -distance/2) * ANGLES(RAD(0),RAD(90),RAD(0))
2419
        MagicSpheres(35,5,CF(RayPos),"Really red")
2420
		WACKYEFFECT({EffectType = "Box", Size = VT(1,1,1), Size2 = VT(0,3,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Torso.Position+VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))), MoveToPos = StartPos, RotationX = MRANDOM(-15,15), RotationY = MRANDOM(-15,15), RotationZ = MRANDOM(-15,15), Material = "Neon", Color = C3(1,0,0), SoundID = "444667859", SoundPitch = 2, SoundVolume = nil})
2421
        ApplyAoE(RayPos,20,true)
2422
        Swait()
2423
        if KEYHOLD == false then
2424
            coroutine.resume(coroutine.create(function()
2425
                for i = 1, 30 do
2426
                    RayBeam.Transparency = i/30
2427
                    Swait()
2428
                end
2429
                RayBeam:remove()
2430
            end))
2431
        else
2432
            RayBeam:remove()
2433
        end
2434
    until KEYHOLD == false
2435
    ATTACK = false
2436
    Rooted = false
2437
end
2438
function ggg()
2439
	if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2440
		local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
2441
		local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
2442
		if TORSO and HUM.Health > 0 then
2443
			ATTACK = true
2444
			Rooted = false
2445
			local GYRO = IT("BodyGyro",RootPart)
2446
			GYRO.D = 275
2447
			GYRO.P = 20000
2448
			GYRO.MaxTorque = VT(0,40000,0)
2449
			for i=0, 0.8, 0.1 / Animation_Speed do
2450
				Swait()
2451
				GYRO.cframe = CF(RootPart.Position,TORSO.Position)
2452
			end
2453
			TORSO.CFrame = TORSO.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))			
2454
			local grav = Instance.new("BodyPosition",TORSO)
2455
			grav.D = 1500
2456
			grav.P = 20000
2457
			grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
2458
			grav.position = TORSO.Position+VT(0,20,0)
2459
			Debris:AddItem(grav,10)
2460
			TORSO.CFrame = TORSO.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
2461
									WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(15,15,15), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 182765513, SoundPitch = MRANDOM(6,8)/10, SoundVolume = 2.5})
2462
			CreateSound(429459101, Torso, 7, 1, false)
2463
			CreateSound(429459101, TORSO, 7, 1, false)
2464
			for i=0, 1, 0.1 / Animation_Speed do
2465
				Swait()
2466
				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)
2467
				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)
2468
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(125), RAD(-45), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2469
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(125), RAD(45), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2470
				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)
2471
				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)
2472
									WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(5,5,5), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 182765513, SoundPitch = MRANDOM(6,8)/10, SoundVolume = 2.5})
2473
			end
2474
			GYRO:remove()
2475
2476
			ATTACK = false
2477
			Rooted = false
2478
		end
2479
	end
2480
end
2481
-- LIMIT BROKEN
2482
function THEEND()
2483
ATTACK = true
2484
Rooted = false
2485
sick:Stop()
2486
		for i=0, 2, 0.1 / Animation_Speed do
2487
			Swait()
2488
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1.2 * Player_Size) * ANGLES(RAD(65), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2489
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2490
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
2491
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
2492
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
2493
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2494
		end
2495
		CreateSound("588734767", Torso, 10, 0.5)
2496
		local END = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "end", VT(0,0,0))
2497
		MakeForm(END,"Ball")
2498
		END.CFrame = Torso.CFrame
2499
		coroutine.resume(coroutine.create(function()
2500
			for i = 1, 10 do
2501
				Swait()
2502
				END.Transparency = 1-(i/10)
2503
			end
2504
		end))
2505
		for i=1, 100 do
2506
			RootPart.CFrame = RootPart.CFrame * CF(0,2,0)
2507
			Swait()
2508
			END.CFrame = RootPart.CFrame*CF(0,2,0)
2509
			END.Size = END.Size + VT(0.5,0.5,0.5)
2510
			END.CFrame = RootPart.CFrame*CF(0,0,0)
2511
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2512
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 2 / Animation_Speed)
2513
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-75)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2514
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(75)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2515
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
2516
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
2517
end
2518
	local StartPos = RootPart.CFrame * CF(0,0,0).p
2519
SOUND = CreateSound("1208650519", END, 0, 1, false)
2520
repeat
2521
Swait()
2522
			END.Size = END.Size + VT(0.2,0.2,0.2)
2523
		local CFRAME = CF(Torso.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
2524
		MagicSphere(VT(0,0,0),15,CFRAME,"Really red",END.Size * VT(0.08,0.08,0.08))
2525
		MagicSphere(VT(0,0,0),15,CFRAME,"Really red",END.Size * VT(0.08,0.08,0.08))
2526
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.03,0.05,0.75))
2527
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.01,0.01,0.55))
2528
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.03,0.05,0.75))
2529
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.01,0.01,0.55))
2530
until SOUND.Playing ==false
2531
SOUND = CreateSound("1208650519", END, 0, 1, false)
2532
repeat
2533
Swait()
2534
			END.Size = END.Size + VT(0.2,0.2,0.2)
2535
		local CFRAME = CF(Torso.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
2536
		MagicSphere(VT(0,0,0),15,CFRAME,"Really red",END.Size * VT(0.08,0.08,0.08))
2537
		MagicSphere(VT(0,0,0),15,CFRAME,"Really red",END.Size * VT(0.08,0.08,0.08))
2538
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.03,0.05,0.75))
2539
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.01,0.01,0.55))
2540
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.03,0.05,0.75))
2541
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.01,0.01,0.55))
2542
until SOUND.Playing ==false
2543
SOUND = CreateSound("1208650519", END, 0, 1, false)
2544
repeat
2545
Swait()
2546
			END.Size = END.Size + VT(0.2,0.2,0.2)
2547
		local CFRAME = CF(Torso.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
2548
		MagicSphere(VT(0,0,0),15,CFRAME,"Really red",END.Size * VT(0.08,0.08,0.08))
2549
		MagicSphere(VT(0,0,0),15,CFRAME,"Really red",END.Size * VT(0.08,0.08,0.08))
2550
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.03,0.05,0.75))
2551
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.01,0.01,0.55))
2552
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.03,0.05,0.75))
2553
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.01,0.01,0.55))
2554
until SOUND.Playing ==false
2555
SOUND = CreateSound("1208650519", END, 0, 1, false)
2556
repeat
2557
Swait()
2558
			END.Size = END.Size - VT(1,1,1)
2559
		local CFRAME = CF(Torso.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))
2560
		MagicSphere(VT(0,0,0),15,CFRAME,"Really red",END.Size * VT(0.08,0.08,0.08))
2561
		MagicSphere(VT(0,0,0),15,CFRAME,"Really red",END.Size * VT(0.08,0.08,0.08))
2562
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.03,0.05,0.75))
2563
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.01,0.01,0.55))
2564
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.03,0.05,0.75))
2565
		MagicSphere(VT(0.1,0.1,0.1),15,CFRAME,"Really red",END.Size * VT(0.01,0.01,0.55))
2566
until SOUND.Playing ==false
2567
SOUND = CreateSound("1208650519", END, 0, 1, false)
2568
repeat
2569
Swait()
2570
        MagicSpheres2(50,25,CF(Torso.Position),"Really red")
2571
		WACKYEFFECT({EffectType = "Box", Size = VT(1,1,1), Size2 = VT(0,3,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Torso.Position+VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))), MoveToPos = StartPos, RotationX = MRANDOM(-15,15), RotationY = MRANDOM(-15,15), RotationZ = MRANDOM(-15,15), Material = "Neon", Color = C3(1,0,0), SoundID = "444667859", SoundPitch = 2, SoundVolume = nil})
2572
until SOUND.Playing == false
2573
		local POS = Torso.Position
2574
		local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Strike", VT(10,10,10))
2575
		MakeForm(RAY,"Ball")
2576
		local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Strike", VT(0,0,0))
2577
		MakeForm(SPHERE,"Ball")
2578
		local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Strike", VT(0,0,0))
2579
		MakeForm(SHIELD,"Ball")
2580
		SHIELD.CFrame = CF(POS)
2581
		RAY.CFrame = CF(POS)
2582
		SPHERE.CFrame = CF(POS)
2583
		CreateSound(440145570, SPHERE, 10, 0.8, false)
2584
		CreateSound(415700134, SPHERE, 10, 0.8, false)
2585
		for i = 1, 200 do
2586
			Swait()
2587
			RAY.Size = RAY.Size + VT(0.05,0,0.05)
2588
			SPHERE.Size = SPHERE.Size + VT(6,6,6)
2589
			SHIELD.Size = SPHERE.Size + VT(7,7,7)
2590
		end	
2591
		for i = 1, 45 do
2592
			Swait()
2593
			RAY.Transparency = 0.3
2594
			SPHERE.Transparency = 0.3
2595
			SHIELD.Transparency = 0.3
2596
		end
2597
	for i=0, 1, 0.1 / Animation_Speed do
2598
		Swait()
2599
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2600
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2601
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(180), RAD(-145)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2602
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(180), RAD(145)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2603
			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)
2604
			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)
2605
end
2606
ATTACK = false
2607
Rooted = false
2608
END:remove()
2609
        RAY:remove()
2610
		SHIELD:remove()
2611
		SPHERE:remove()
2612
HappyEnd = true
2613
end
2614
----
2615
function Slash()
2616
	ATTACK = true
2617
	Rooted = false
2618
	local KNIFE1,WELD1,BLADE1 = SpawnKnife(MRANDOM(20,20)/10,true,RightArm,90,0,true,20)
2619
	CreateSound("92597369", Torso, 1, 1)
2620
	for i=0, 0.25, 0.1 / Animation_Speed do
2621
		Swait()
2622
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(90)), 1.5 / Animation_Speed)
2623
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-90)), 1.5 / Animation_Speed)
2624
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(75), RAD(90)) * RIGHTSHOULDERC0, 1.2 / Animation_Speed)
2625
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 1.5 / Animation_Speed)
2626
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1.5 / Animation_Speed)
2627
		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)), 1.5 / Animation_Speed)
2628
	end
2629
		if COMBO == 1 then
2630
		COMBO = 2
2631
		for i=0, 0.1, 0.1 / Animation_Speed do
2632
			RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.1)
2633
			Swait()
2634
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1.5 / Animation_Speed)
2635
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(65)), 1.5 / Animation_Speed)
2636
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(8)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1.5 / Animation_Speed)
2637
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(8)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1.5 / Animation_Speed)
2638
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.3) * ANGLES(RAD(45), RAD(60), RAD(35)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
2639
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -1.5) * ANGLES(RAD(120), RAD(0), RAD(30)) * LEFTSHOULDERC0, 1.5 / Animation_Speed)
2640
		end
2641
				for i=0, 0.15, 0.1 / Animation_Speed do
2642
			RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.12)
2643
			Swait()
2644
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.5 / Animation_Speed)
2645
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(75)), 0.5 / Animation_Speed)
2646
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(145), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2647
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-150), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2648
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.3) * ANGLES(RAD(45), RAD(60), RAD(75)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2649
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -1.5) * ANGLES(RAD(120), RAD(0), RAD(30)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2650
		end
2651
	elseif COMBO == 2 then
2652
		COMBO = 1
2653
		for i=0, 0.2, 0.1 / Animation_Speed do
2654
			Swait()
2655
			RootPart.CFrame = RootPart.CFrame*CF(0,0,0.1)
2656
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
2657
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
2658
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(185), RAD(25)) * ANGLES(RAD(-30), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2659
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2660
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.3) * ANGLES(RAD(90), RAD(-85), RAD(145)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2661
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(-25), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2662
2663
		end
2664
2665
		for i=0, 0.1, 0.1 / Animation_Speed do
2666
			Swait()
2667
			RootPart.CFrame = RootPart.CFrame*CF(0,0,0.15)
2668
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
2669
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
2670
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(185), RAD(20)) * ANGLES(RAD(-30), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2671
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-125), RAD(10)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2672
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.3) * ANGLES(RAD(125), RAD(-85), RAD(130)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2673
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(-25), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2674
		end
2675
	end
2676
	KNIFE1:remove()
2677
	ATTACK = false
2678
	Rooted = false
2679
end
2680
2681
function AddChildrenToTable(FROM,PARENT,DIST,TABLE)
2682
	for _, c in pairs(PARENT:GetChildren()) do
2683
		if c.ClassName == "Model" then
2684
			if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then
2685
				local HUMANOID = c:FindFirstChildOfClass("Humanoid")
2686
				local TORSO = (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso"))
2687
				if (TORSO.Position - FROM).Magnitude < DIST then
2688
					table.insert(TABLE,c)
2689
				end
2690
				AddChildrenToTable(FROM,c,DIST,TABLE)
2691
			elseif c.ClassName == "Folder" then
2692
				AddChildrenToTable(FROM,c,DIST,TABLE)
2693
			end
2694
		end
2695
	end
2696
end
2697
	
2698
function clerp(a, b, t) 
2699
	local qa = {
2700
		QuaternionFromCFrame(a)
2701
	}
2702
	local qb = {
2703
		QuaternionFromCFrame(b)
2704
	} 
2705
	local ax, ay, az = a.x, a.y, a.z 
2706
	local bx, by, bz = b.x, b.y, b.z
2707
	local _t = 1 - t
2708
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t)) 
2709
end
2710
angles = CFrame.Angles
2711
2712
function FalseDenial()
2713
	if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2714
		local HITBODY = Mouse.Target.Parent
2715
		local TORS = HITBODY:FindFirstChild("Torso") or HITBODY:FindFirstChild("UpperTorso")
2716
		local HUMAN = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
2717
		if TORS ~= nil and HUMAN ~= nil then
2718
			ATTACK = true
2719
			Rooted = true
2720
			RootPart.CFrame = TORS.CFrame * CF(-1,0,7)
2721
			TORS.Anchored = true
2722
			CreateSound(ALONE, Head, 1, 1)
2723
			CreateSound("289556450", Torso, 1, 1)
2724
	        CreateRing(VT(0,0,0),false,0,20,Torso.CFrame*ANGLES(RAD(MRANDOM(-30,30)),RAD(MRANDOM(-60,60)),RAD(MRANDOM(-120,120))),"White",VT(4,4,0))
2725
		    CreateRing(VT(0,0,0),false,0,20,Torso.CFrame*ANGLES(RAD(MRANDOM(-30,30)),RAD(MRANDOM(-60,60)),RAD(MRANDOM(-120,120))),"White",VT(4,4,0))
2726
			CreateRing(VT(0,0,0),false,0,20,Torso.CFrame*ANGLES(RAD(MRANDOM(-30,30)),RAD(MRANDOM(-60,60)),RAD(MRANDOM(-120,120))),"White",VT(4,4,0))
2727
		    MagicSphere(VT(5,5,5),35,Torso.CFrame,C3(1,0,0),VT(1,1,1))
2728
			for i=0, 1, 0.1 / Animation_Speed do
2729
				Swait()
2730
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(-35)), 0.5 / Animation_Speed)
2731
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(35)), 0.5 / Animation_Speed)
2732
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(90), RAD(90), RAD(-20)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2733
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2734
				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(-15), RAD(-15)), 0.5 / Animation_Speed)
2735
				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(15), RAD(-15)), 0.5 / Animation_Speed)
2736
				HW.C0 = Clerp(HW.C0, CFrame.new(0,-.9,0)*angles (math.rad(-180),math.rad(0),math.rad(90)), 0.15)
2737
			end
2738
				Rooted = true
2739
			CreateSound("199149137", Torso, 1, 1)
2740
			Swait()
2741
	
2742
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(45)), 3 / Animation_Speed)
2743
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 3 / Animation_Speed)
2744
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, -0.7) * ANGLES(RAD(110), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
2745
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 3 / Animation_Speed)
2746
			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(-15), RAD(-15)), 3 / Animation_Speed)
2747
			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(15), RAD(-15)), 3 / Animation_Speed)
2748
			HW.C0 = Clerp(HW.C0, CFrame.new(0,-.9,0)*angles (math.rad(-90),math.rad(90),math.rad(0)), 0.15)
2749
			CreateWave(VT(0,0,0),15,Wedge.CFrame*CF(0,-Wedge.Size.Y/1.8,0),true,2,"Really red",VT(0.6,0.1,0.6))
2750
			CreateWave(VT(0,0,0),20,Wedge.CFrame*CF(0,-Wedge.Size.Y/2,0),true,2,"Really red",VT(0.6,0.1,1))
2751
			Swait()
2752
			Swait(30)
2753
			for i = 1, 25 do
2754
				Swait()
2755
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(-35)), 0.5 / Animation_Speed)
2756
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(35)), 0.5 / Animation_Speed)
2757
	            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2758
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(90), RAD(90), RAD(-20)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2759
				HW.C0 = Clerp(HW.C0, CFrame.new(0,-.9,0)*angles (math.rad(-90),math.rad(0),math.rad(90)), 0.15)
2760
				HITBODY:BreakJoints()
2761
				getbloody(TORS,1)
2762
2763
			end
2764
		end
2765
			TORS.Anchored = false
2766
			ATTACK = false
2767
			Rooted = false
2768
			coroutine.resume(coroutine.create(function()
2769
				Swait(15)
2770
				for i = 1, 50 do
2771
					Swait()
2772
				end
2773
			end))
2774
		 end
2775
	  end
2776
2777
2778
function findNearestTorso(pos)
2779
	local list = game.Workspace:children()
2780
	local torso = nil
2781
	local dist = 1000
2782
	local temp = nil
2783
	local human = nil
2784
	local temp2 = nil
2785
	for x = 1, #list do
2786
		temp2 = list[x]
2787
		if (temp2.className == "Model") and (temp2 ~= Character) and (temp2 ~= pos.Parent) then
2788
			temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
2789
			human = temp2:findFirstChildOfClass("Humanoid")
2790
			if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
2791
				if (temp.Position - pos.Position).magnitude < dist then
2792
					torso = temp
2793
					dist = (temp.Position - pos.Position).magnitude
2794
				end
2795
			end
2796
		end
2797
	end
2798
	return torso,dist
2799
end
2800
2801
function ReaperDash2()
2802
		ATTACK = true
2803
	Rooted = false
2804
	local TARGET = nil
2805
	local TORS = nil
2806
	local GYRO = IT("BodyGyro",RootPart)
2807
	GYRO.D = 175
2808
	GYRO.P = 20000
2809
	GYRO.MaxTorque = VT(0,40000,0)
2810
	GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
2811
	local RANGE = 5
2812
	CreateSound(541909867, Torso, 1, 1, false)
2813
	WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(12,0.5,12), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2814
	for i=0, 1, 0.1 / Animation_Speed do	
2815
		Swait()
2816
		RootPart.CFrame = RootPart.CFrame * CF(0,0,-2)
2817
		GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
2818
		local CHILDREN = workspace:GetDescendants()
2819
		for index, CHILD in pairs(CHILDREN) do
2820
			if CHILD.ClassName == "Model" and CHILD ~= Character then
2821
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2822
				if HUM then
2823
					local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2824
					if TORSO then
2825
						if (TORSO.Position - LeftArm.Position).Magnitude <= RANGE + TORSO.Size.Magnitude/5 then
2826
							RANGE = (TORSO.Position - LeftArm.Position).Magnitude
2827
							TARGET = HUM
2828
							TORS = TORSO
2829
						end
2830
					end
2831
				end
2832
			end
2833
		end
2834
		if TARGET then
2835
			break
2836
		end
2837
		CreateWave(VT(0,0,0),15,Torso.CFrame*CF(0,-Torso.Size.Y/1.8,0),true,2,"Really red",VT(0.6,0.1,0.6))
2838
		RootPart.CFrame = RootPart.CFrame*CF(0,0,-2)
2839
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0)), 2 / Animation_Speed)
2840
		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)
2841
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2842
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.7, 0) * ANGLES(RAD(65), RAD(30), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2843
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 7), -0.5) * ANGLES(RAD(-35), RAD(0), RAD(0)) * ANGLES(RAD(8), RAD(90), RAD(0)), 2 / Animation_Speed)
2844
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 7), -0.1) * ANGLES(RAD(-40), RAD(0), RAD(0)) * ANGLES(RAD(8), RAD(-90), RAD(0)), 2 / Animation_Speed)
2845
		end
2846
	GYRO:remove()
2847
2848
	if TORS and TARGET then
2849
		Rooted = true
2850
		local BODYPOSITION = IT("BodyPosition", TORS)
2851
		BODYPOSITION.P = 100
2852
		BODYPOSITION.D = 100
2853
		BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
2854
		for i=0, 1, 0.1 / Animation_Speed do
2855
			Swait()
2856
			TORS.CFrame = Wedge.CFrame * CF(0,TORS.Size.Z/2,1) * ANGLES(RAD(90), RAD(0), RAD(0))
2857
			BODYPOSITION.Position = TORS.Position
2858
			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)
2859
	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)
2860
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(60), RAD(0), RAD(50)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2861
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.7, 0) * ANGLES(RAD(55), RAD(10), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2862
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 7), -0.5) * ANGLES(RAD(-35), RAD(0), RAD(0)) * ANGLES(RAD(8), RAD(90), RAD(0)), 2 / Animation_Speed)
2863
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 7), -0.1) * ANGLES(RAD(-40), RAD(0), RAD(0)) * ANGLES(RAD(8), RAD(-90), RAD(0)), 2 / Animation_Speed)
2864
		HW.C0 = Clerp(HW.C0, CFrame.new(0,-.9,0)*angles (math.rad(-90),math.rad(0),math.rad(90)), 0.15)
2865
		end
2866
		for i=0, 0.4, 0.1 / Animation_Speed do
2867
			Swait()
2868
			TORS.CFrame = Wedge.CFrame * CF(0,TORS.Size.Z/2,1) * ANGLES(RAD(90), RAD(0), RAD(0))
2869
			BODYPOSITION.Position = TORS.Position
2870
			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)
2871
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(70), RAD(40), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2872
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.7, 0) * ANGLES(RAD(15), RAD(10), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2873
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 7), -0.5) * ANGLES(RAD(-35), RAD(0), RAD(0)) * ANGLES(RAD(8), RAD(90), RAD(0)), 2 / Animation_Speed)
2874
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 7), -0.1) * ANGLES(RAD(50), RAD(0), RAD(0)) * ANGLES(RAD(8), RAD(-90), RAD(0)), 2 / Animation_Speed)
2875
		HW.C0 = Clerp(HW.C0, CFrame.new(0,-.9,0)*angles (math.rad(-90),math.rad(0),math.rad(90)), 0.15)
2876
		end	
2877
		local LOOP = 0
2878
		local LOOP2 = 0
2879
		for i=0, 0.5, 0.1 / Animation_Speed do
2880
			Swait()
2881
			LOOP = LOOP + 1
2882
			TORS.Anchored = false
2883
			LOOP2 = LOOP2 + 1
2884
			if LOOP2 >= 5 then
2885
				LOOP2 = 0
2886
				getbloody(TORS,1)
2887
			end
2888
			CreateRing(VT(0,0,0),false,0,45,Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"White",VT(5,5,0))
2889
			TORS.CFrame = Wedge.CFrame * CF(0,TORS.Size.Z/2,1) * ANGLES(RAD(90), RAD(0), RAD(0))
2890
			BODYPOSITION.Position = TORS.Position
2891
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0)), 2 / Animation_Speed)
2892
			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)
2893
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-80), RAD(-20), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2894
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.7, 0) * ANGLES(RAD(76), RAD(10), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2895
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 7), -0.5) * ANGLES(RAD(-35), RAD(0), RAD(0)) * ANGLES(RAD(8), RAD(90), RAD(0)), 2 / Animation_Speed)
2896
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 7), -0.1) * ANGLES(RAD(50), RAD(0), RAD(0)) * ANGLES(RAD(8), RAD(-90), RAD(0)), 2 / Animation_Speed)
2897
		HW.C0 = Clerp(HW.C0, CFrame.new(0,-.9,0)*angles (math.rad(-90),math.rad(0),math.rad(90)), 0.15)
2898
		end	
2899
		BODYPOSITION:remove()
2900
		if TORS then
2901
			TORS.Anchored = false
2902
			Kill(TORS.Parent)
2903
		end
2904
	end
2905
	ATTACK = false
2906
	Rooted = false
2907
end
2908
2909
2910
2911
--//=================================\\
2912
--||	  ASSIGN THINGS TO KEYS
2913
--\\=================================//
2914
2915
function MouseDown(Mouse)
2916
	if ATTACK == false then
2917
		Slash()
2918
	end
2919
end
2920
2921
function MouseUp(Mouse)
2922
HOLD = false
2923
end
2924
2925
function KeyDown(Key)
2926
	KEYHOLD = false
2927
	if Key == "z" and ATTACK == false then
2928
		FalseDenial()
2929
	end
2930
	if Key == "x" and ATTACK == false then
2931
		ReaperDash2()
2932
	end
2933
		if Key == "t" and ATTACK == false then
2934
			Taunt()
2935
		end
2936
	
2937
		if Key == "f" and ATTACK == false then
2938
			Beam()
2939
		end
2940
	
2941
		if Key == "g" and ATTACK == false then
2942
			Darkness()
2943
		end
2944
	
2945
		if Key == "h" and ATTACK == false then
2946
			HeadOff()
2947
		end
2948
	
2949
		if Key == "j" and ATTACK == false then
2950
				ggg()
2951
		end
2952
2953
		if Key == "k" and ATTACK == false then
2954
			BreakLimit()
2955
                end
2956
2957
		if Key == "l" and ATTACK == false then
2958
			FalseEnd()
2959
                end
2960
2961
		if Key == "q" and ATTACK == false then
2962
                       THEEND()
2963
                end
2964
2965
		if Key == "" and ATTACK == false then
2966
		noh()
2967
	end
2968
 end
2969
2970
function KeyUp(Key)
2971
	KEYHOLD = false
2972
end
2973
2974
	Mouse.Button1Down:connect(function(NEWKEY)
2975
		MouseDown(NEWKEY)
2976
	end)
2977
	Mouse.Button1Up:connect(function(NEWKEY)
2978
		MouseUp(NEWKEY)
2979
	end)
2980
	Mouse.KeyDown:connect(function(NEWKEY)	
2981
		KeyDown(NEWKEY)
2982
	end)
2983
	Mouse.KeyUp:connect(function(NEWKEY)
2984
		KeyUp(NEWKEY)
2985
	end)
2986
2987
--//=================================\\
2988
--\\=================================//
2989
2990
2991
function unanchor()
2992
	if UNANCHOR == true then
2993
		g = Character:GetChildren()
2994
		for i = 1, #g do
2995
			if g[i].ClassName == "Part" then
2996
				g[i].Anchored = false
2997
			end
2998
		end
2999
	end
3000
end
3001
3002
--//=================================\\
3003
--||	WRAP THE WHOLE SCRIPT UP
3004
--\\=================================//
3005
3006
Humanoid.Changed:connect(function(Jump)
3007
	if Jump == "Jump" and (Disable_Jump == true) then
3008
		Humanoid.Jump = false
3009
	end
3010
end)
3011
3012
while true do
3013
	Swait()
3014
	ANIMATE.Parent = nil
3015
	local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
3016
	IDLEANIMATION:Play()
3017
	SINE = SINE + CHANGE
3018
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
3019
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
3020
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
3021
	local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
3022
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
3023
		local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
3024
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
3025
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3026
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3027
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3028
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3029
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
3030
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3031
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3032
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3033
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3034
	end
3035
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
3036
		ANIM = "Jump"
3037
		if ATTACK == false then
3038
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3039
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3040
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
3041
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3042
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3043
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3044
	    end
3045
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
3046
		ANIM = "Fall"
3047
		if ATTACK == false then
3048
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3049
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3050
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
3051
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3052
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3053
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3054
		end
3055
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
3056
		ANIM = "Idle"
3057
		if ATTACK == false then
3058
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.5 / Animation_Speed)
3059
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.5 / Animation_Speed)
3060
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
3061
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
3062
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3063
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3064
		end
3065
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
3066
		ANIM = "Walk"
3067
		WALK = WALK + 1 / Animation_Speed
3068
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
3069
			WALK = 0
3070
			if WALKINGANIM == true then
3071
				WALKINGANIM = false
3072
			elseif WALKINGANIM == false then
3073
				WALKINGANIM = true
3074
			end
3075
		end
3076
		--RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3077
		--LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3078
		if ATTACK == false then
3079
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3080
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3081
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)), RAD(-25), RAD(10)) * RIGHTSHOULDERC0, 0.03 / Animation_Speed)
3082
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.20 / Animation_Speed)
3083
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
3084
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
3085
		end
3086
	end
3087
3088
	unanchor()	
3089
	Humanoid.MaxHealth = "inf"
3090
	Humanoid.Health = "inf"
3091
	if Rooted == false then
3092
		Disable_Jump = false
3093
		Humanoid.WalkSpeed = Speed
3094
	elseif Rooted == true then
3095
		Disable_Jump = true
3096
		Humanoid.WalkSpeed = 0
3097
	end
3098
	sick.Parent = Torso
3099
	local MATHS = {"0","1"}
3100
	Humanoid.Name = MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]
3101
	Humanoid.PlatformStand = false
3102
			if EQUIPPED == false then
3103
		Intro()
3104
    end
3105
  end
3106
3107
--//=================================\\
3108
--\\=================================//
3109
3110
3111
3112
3113
3114
--//====================================================\\--
3115
--||			  		 END OF SCRIPT
3116
--\\====================================================//--