View difference between Paste ID: 2uMrCxCt and vaQ2V54U
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2-
--||			   CREATED BY SHACKLUSTER
2+
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
3-
--\\====================================================//--
3+
do
4
	print("FE Compatibility code by Mokiros")
5
	script.Parent = Player.Character
6
7
	--RemoteEvent for communicating
8
	local Event = Instance.new("RemoteEvent")
9
	Event.Name = "UserInput_Event"
10
11
	--Fake event to make stuff like Mouse.KeyDown work
12
	local function fakeEvent()
13
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
14
		t.connect = t.Connect
15
		return t
16
	end
17
18
	--Creating fake input objects with fake variables
19
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
20
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
21
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
22
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
23
	end}
24
	--Merged 2 functions into one by checking amount of arguments
25
	CAS.UnbindAction = CAS.BindAction
26
27
	--This function will trigger the events that have been :Connect()'ed
28
	local function te(self,ev,...)
29
		local t = m[ev]
30
		if t and t._fakeEvent and t.Function then
31
			t.Function(...)
32
		end
33
	end
34
	m.TrigEvent = te
35
	UIS.TrigEvent = te
36
37
	Event.OnServerEvent:Connect(function(plr,io)
38
	    if plr~=Player then return end
39
		if io.isMouse then
40
			m.Target = io.Target
41
			m.Hit = io.Hit
42
		else
43
			local b = io.UserInputState == Enum.UserInputState.Begin
44
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
45
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
46
			end
47
			for _,t in pairs(CAS.Actions) do
48
				for _,k in pairs(t.Keys) do
49
					if k==io.KeyCode then
50
						t.Function(t.Name,io.UserInputState,io)
51
					end
52
				end
53
			end
54
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
55-
Player = game:GetService("Players").LocalPlayer
55+
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
56
	    end
57
	end)
58
	Event.Parent = NLS([==[
59
	local Player = game:GetService("Players").LocalPlayer
60
	local Event = script:WaitForChild("UserInput_Event")
61-
Mouse = Player:GetMouse()
61+
62
	local UIS = game:GetService("UserInputService")
63
	local input = function(io,a)
64
		if a then return end
65
		--Since InputObject is a client-side instance, we create and pass table instead
66
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
67
	end
68
	UIS.InputBegan:Connect(input)
69
	UIS.InputEnded:Connect(input)
70
71
	local Mouse = Player:GetMouse()
72
	local h,t
73
	--Give the server mouse data 30 times every second, but only if the values changed
74
	--If player is not moving their mouse, client won't fire events
75
	while wait(1/30) do
76
		if h~=Mouse.Hit or t~=Mouse.Target then
77
			h,t=Mouse.Hit,Mouse.Target
78
			Event:FireServer({isMouse=true,Target=t,Hit=h})
79
		end
80
	end]==],Player.Character)
81
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
82
end
83
84
wait(0.2)
85
86
87
88
89
90
CV="Magenta"
91
	p = game.Players.LocalPlayer
92
	char = p.Character
93
	local txt = Instance.new("BillboardGui", char)
94
	txt.Adornee = char .Head
95
	txt.Name = "_status"
96
	txt.Size = UDim2.new(2, 0, 1.2, 0)
97
	txt.StudsOffset = Vector3.new(-9, 8, 0)
98
	local text = Instance.new("TextLabel", txt)
99
	text.Size = UDim2.new(10, 0, 7, 0)
100
	text.FontSize = "Size24"
101
	text.TextScaled = true
102
	text.TextTransparency = 0
103
	text.BackgroundTransparency = 1 
104
	text.TextTransparency = 0
105
	text.TextStrokeTransparency = 0
106
	text.Font = "Bodoni"
107
	text.TextStrokeColor3 = Color3.new(0,0,0)
108
109
	v=Instance.new("Part")
110
	v.Name = "ColorBrick"
111
	v.Parent=p.Character
112
	v.FormFactor="Symmetric"
113
	v.Anchored=true
114
	v.CanCollide=false
115
	v.BottomSurface="Smooth"
116
	v.TopSurface="Smooth"
117
	v.Size=Vector3.new(10,5,3)
118
	v.Transparency=1
119
	v.CFrame=char.Torso.CFrame
120
	v.BrickColor=BrickColor.new(CV)
121
	v.Transparency=1
122
	text.TextColor3 = Color3.new(170,0,170)
123
	v.Shape="Block"
124
	text.Text = "Sin"
125
126
127
128
129
130
131
132
Player = owner
133
PlayerGui = Player.PlayerGui
134
Cam = workspace.CurrentCamera
135
Backpack = Player.Backpack
136
Character = Player.Character
137
Humanoid = Character.Humanoid
138
RootPart = Character["HumanoidRootPart"]
139
Torso = Character["Torso"]
140
Head = Character["Head"]
141
RightArm = Character["Right Arm"]
142
LeftArm = Character["Left Arm"]
143
RightLeg = Character["Right Leg"]
144
LeftLeg = Character["Left Leg"]
145
RootJoint = RootPart["RootJoint"]
146
Neck = Torso["Neck"]
147
RightShoulder = Torso["Right Shoulder"]
148
LeftShoulder = Torso["Left Shoulder"]
149
RightHip = Torso["Right Hip"]
150
LeftHip = Torso["Left Hip"]
151
local sick = Instance.new("Sound",Character)
152
sick.SoundId = "rbxassetid://165498643"
153
sick.Looped = true
154
sick.Pitch = 1
155
sick.Volume = 3
156
sick:Play()
157
Humanoid.DisplayDistanceType = "None"
158
159
IT = Instance.new
160
CF = CFrame.new
161
VT = Vector3.new
162
RAD = math.rad
163
C3 = Color3.new
164
UD2 = UDim2.new
165
BRICKC = BrickColor.new
166
ANGLES = CFrame.Angles
167
EULER = CFrame.fromEulerAnglesXYZ
168
COS = math.cos
169
ACOS = math.acos
170
SIN = math.sin
171
ASIN = math.asin
172
ABS = math.abs
173
MRANDOM = math.random
174
FLOOR = math.floor
175
176
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
177
	local NEWMESH = IT(MESH)
178
	if MESH == "SpecialMesh" then
179
		NEWMESH.MeshType = MESHTYPE
180
		if MESHID ~= "nil" and MESHID ~= "" then
181
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
182
		end
183
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
184
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
185
		end
186
	end
187
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
188
	NEWMESH.Scale = SCALE
189
	NEWMESH.Parent = PARENT
190
	return NEWMESH
191
end
192
193
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
194
	local NEWPART = IT("Part")
195
	NEWPART.formFactor = FORMFACTOR
196
	NEWPART.Reflectance = REFLECTANCE
197
	NEWPART.Transparency = TRANSPARENCY
198
	NEWPART.CanCollide = false
199
	NEWPART.Anchored = true
200
	NEWPART.Locked = true
201
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
202
	NEWPART.Name = NAME
203
	NEWPART.Size = SIZE
204
	NEWPART.Position = Torso.Position
205
	NEWPART.Material = MATERIAL
206
	NEWPART:BreakJoints()
207
	NEWPART.Parent = PARENT
208
	return NEWPART
209
end
210
211
212
--//=================================\\
213
--||		  CUSTOMIZATION
214
--\\=================================//
215
216
Class_Name = "Sin"
217
Weapon_Name = "Add-ons"
218
219
Custom_Colors = {
220
	Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
221
	Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
222
223
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
224
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
225
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
226
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
227
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
228
229
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
230
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
231
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
232
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
233
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
234
}
235
236
237
Player_Size = 1.15 --Size of the player.
238
Animation_Speed = 1.2
239
Attack_Animation_Speed = 2.5
240
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
241
242
local Speed = 45
243
local Effects2 = {}
244
245
--//=================================\\
246
--|| 	  END OF CUSTOMIZATION
247
--\\=================================//
248
249
	local function weldBetween(a, b)
250
	    local weldd = Instance.new("ManualWeld")
251
	    weldd.Part0 = a
252
	    weldd.Part1 = b
253
	    weldd.C0 = CFrame.new()
254
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
255
	    weldd.Parent = a
256
	    return weldd
257
	end
258
259
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
260
local acs = Instance.new("Part")
261
acs.CanCollide = false
262
acs.Anchored = false
263
acs.Size = Vector3.new(0,0,0)
264
acs.CFrame = attachmentpart.CFrame
265
acs.Parent = Character
266
acs.BrickColor = color
267
    local meshs = Instance.new("SpecialMesh")
268
    meshs.MeshId = mesh
269
    meshs.TextureId = texture
270
    meshs.Parent = acs
271
    meshs.Scale = scale
272
    meshs.Offset = offset
273
weldBetween(attachmentpart,acs)
274
end
275
276
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
277
if TYPE == "Gem" then
278
	local acs = CreatePart(3, PART, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
279
	acs.Anchored = false
280
    acs.CanCollide = false
281
	acs.CFrame = PART.CFrame
282
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
283
weldBetween(PART,acs)
284
elseif TYPE == "Skull" then
285
	local acs = CreatePart(3, PART, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
286
	acs.Anchored = false
287
    acs.CanCollide = false
288
	acs.CFrame = PART.CFrame
289
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
290
weldBetween(PART,acs)
291
elseif TYPE == "Eye" then
292
	local acs = CreatePart(3, PART, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
293
	acs.Anchored = false
294
    acs.CanCollide = false
295
	acs.CFrame = PART.CFrame
296
	local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
297
weldBetween(PART,acs)
298
end
299
end
300
301
--//=================================\\
302
--|| 	      USEFUL VALUES
303
--\\=================================//
304
305
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
306
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
307
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
308
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
309
local CO1 = 0
310
local CO2 = 0
311
local CO3 = 0
312
local CO4 = 0
313
local CHANGEDEFENSE = 0
314
local CHANGEDAMAGE = 1e999
315
local CHANGEMOVEMENT = 0
316
local ANIM = "Idle"
317
local ATTACK = false
318
local EQUIPPED = false
319
local HOLD = false
320
local COMBO = 1
321
local LASTPOINT = nil
322
local BLCF = nil
323
local SCFR = nil
324
local STAGGERHITANIM = false
325
local STAGGERANIM = false
326
local STUNANIM = false
327
local CRITCHANCENUMBER = 1e999
328
local IDLENUMBER = 0
329
local DONUMBER = 0
330
local HANDIDLE = false
331
local SINE = 0
332
local CHANGE = 2 / Animation_Speed
333
local WALKINGANIM = false
334
local WALK = 0
335
local DISABLEJUMPING = false
336
local HASBEENBLOCKED = false
337
local STUNDELAYNUMBER = 0
338
local MANADELAYNUMBER = 0
339
local HASJUMPED = false
340
local punch = 1
341
local KEYHOLD = false
342
local SECONDARYMANADELAYNUMBER = 0
343
local ROBLOXIDLEANIMATION = IT("Animation")
344
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
345
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
346
--ROBLOXIDLEANIMATION.Parent = Humanoid
347
local WEAPONGUI = IT("ScreenGui", nil)
348
WEAPONGUI.Name = "Weapon GUI"
349
local WEAPONTOOL = IT("HopperBin", nil)
350
WEAPONTOOL.Name = Weapon_Name
351
local Weapon = IT("Model")
352
Weapon.Name = Weapon_Name
353
local Effects = IT("Folder", Weapon)
354
Effects.Name = "Effects"
355
local ANIMATOR = Humanoid.Animator
356
local ANIMATE = Character.Animate
357
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
358
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
359
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
360
local HITBLOCKSOUNDS = {"199148933", "199148947"}
361
local ATTACKSOUNDS = {"159972643","159972627"}
362
local UNANCHOR = true
363
364
--//=================================\\
365
--\\=================================//
366
367
--//=================================\\
368
--||			  STATS
369
--\\=================================//
370
371
if Character:FindFirstChild("Stats") ~= nil then
372
Character:FindFirstChild("Stats").Parent = nil
373
end
374
375
local Stats = IT("Folder", nil)
376
Stats.Name = "Stats"
377
local ChangeStat = IT("Folder", Stats)
378
ChangeStat.Name = "ChangeStat"
379
local Defense = IT("NumberValue", Stats)
380
Defense.Name = "Defense"
381
Defense.Value = 1e999
382
local Movement = IT("NumberValue", Stats)
383
Movement.Name = "Movement"
384
Movement.Value = 1
385
local Damage = IT("NumberValue", Stats)
386
Damage.Name = "Damage"
387
Damage.Value = 1e999
388
local Mana = IT("NumberValue", Stats)
389
Mana.Name = "Mana"
390
Mana.Value = 0
391
local SecondaryMana = IT("NumberValue", Stats)
392
SecondaryMana.Name = "SecondaryMana"
393
SecondaryMana.Value = 0
394
local CanCrit = IT("BoolValue", Stats)
395
CanCrit.Name = "CanCrit"
396
CanCrit.Value = false
397
local CritChance = IT("NumberValue", Stats)
398
CritChance.Name = "CritChance"
399
CritChance.Value = 20
400
local CanPenetrateArmor = IT("BoolValue", Stats)
401
CanPenetrateArmor.Name = "CanPenetrateArmor"
402
CanPenetrateArmor.Value = false
403
local AntiTeamKill = IT("BoolValue", Stats)
404
AntiTeamKill.Name = "AntiTeamKill"
405
AntiTeamKill.Value = false
406
local Rooted = IT("BoolValue", Stats)
407
Rooted.Name = "Rooted"
408
Rooted.Value = false
409
local Block = IT("BoolValue", Stats)
410
Block.Name = "Block"
411
Block.Value = false
412
local RecentEnemy = IT("ObjectValue", Stats)
413
RecentEnemy.Name = "RecentEnemy"
414
RecentEnemy.Value = nil
415
local StaggerHit = IT("BoolValue", Stats)
416
StaggerHit.Name = "StaggerHit"
417
StaggerHit.Value = false
418
local Stagger = IT("BoolValue", Stats)
419
Stagger.Name = "Stagger"
420
Stagger.Value = false
421
local Stun = IT("BoolValue", Stats)
422
Stun.Name = "Stun"
423
Stun.Value = false
424
local StunValue = IT("NumberValue", Stats)
425
StunValue.Name = "StunValue"
426
StunValue.Value = 0
427
428
429
--//=================================\\
430
--\\=================================//
431
432
433
434
435
436
--//=================================\\
437
--|| 	     DEBUFFS / BUFFS
438
--\\=================================//
439
440
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
441
DEFENSECHANGE1.Name = "ChangeDefense"
442
DEFENSECHANGE1.Value = 0
443
444
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
445
MOVEMENTCHANGE1.Name = "ChangeMovement"
446
MOVEMENTCHANGE1.Value = 0
447
448
--//=================================\\
449
--\\=================================//
450
451
452
453
454
455
--//=================================\\
456
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
457
--\\=================================//
458
459
ArtificialHB = Instance.new("BindableEvent", script)
460
ArtificialHB.Name = "ArtificialHB"
461
462
script:WaitForChild("ArtificialHB")
463
464
frame = Frame_Speed
465
tf = 0
466
allowframeloss = false
467
tossremainder = false
468
lastframe = tick()
469
script.ArtificialHB:Fire()
470
471
game:GetService("RunService").Heartbeat:connect(function(s, p)
472
	tf = tf + s
473
	if tf >= frame then
474
		if allowframeloss then
475
			script.ArtificialHB:Fire()
476
			lastframe = tick()
477
		else
478
			for i = 1, math.floor(tf / frame) do
479
				script.ArtificialHB:Fire()
480
			end
481
		lastframe = tick()
482
		end
483
		if tossremainder then
484
			tf = 0
485
		else
486
			tf = tf - frame * math.floor(tf / frame)
487
		end
488
	end
489
end)
490
491
--//=================================\\
492
--\\=================================//
493
494
495
496
497
498
--//=================================\\
499
--|| 	      SOME FUNCTIONS
500
--\\=================================//
501
502
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
503
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
504
end
505
506
function PositiveAngle(NUMBER)
507
	if NUMBER >= 0 then
508
		NUMBER = 0
509
	end
510
	return NUMBER
511
end
512
513
function NegativeAngle(NUMBER)
514
	if NUMBER <= 0 then
515
		NUMBER = 0
516
	end
517
	return NUMBER
518
end
519
520
function Swait(NUMBER)
521
	if NUMBER == 0 or NUMBER == nil then
522
		ArtificialHB.Event:wait()
523
	else
524
		for i = 1, NUMBER do
525
			ArtificialHB.Event:wait()
526
		end
527
	end
528
end
529
530
function QuaternionFromCFrame(cf)
531
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
532
	local trace = m00 + m11 + m22
533
	if trace > 0 then 
534
		local s = math.sqrt(1 + trace)
535
		local recip = 0.5 / s
536
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
537
	else
538
		local i = 0
539
		if m11 > m00 then
540
			i = 1
541
		end
542
		if m22 > (i == 0 and m00 or m11) then
543
			i = 2
544
		end
545
		if i == 0 then
546
			local s = math.sqrt(m00 - m11 - m22 + 1)
547
			local recip = 0.5 / s
548
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
549
		elseif i == 1 then
550
			local s = math.sqrt(m11 - m22 - m00 + 1)
551
			local recip = 0.5 / s
552
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
553
		elseif i == 2 then
554
			local s = math.sqrt(m22 - m00 - m11 + 1)
555
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
556
		end
557
	end
558
end
559
 
560
function QuaternionToCFrame(px, py, pz, x, y, z, w)
561
	local xs, ys, zs = x + x, y + y, z + z
562
	local wx, wy, wz = w * xs, w * ys, w * zs
563
	local xx = x * xs
564
	local xy = x * ys
565
	local xz = x * zs
566
	local yy = y * ys
567
	local yz = y * zs
568
	local zz = z * zs
569
	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))
570
end
571
 
572
function QuaternionSlerp(a, b, t)
573
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
574
	local startInterp, finishInterp;
575
	if cosTheta >= 0.0001 then
576
		if (1 - cosTheta) > 0.0001 then
577
			local theta = ACOS(cosTheta)
578
			local invSinTheta = 1 / SIN(theta)
579
			startInterp = SIN((1 - t) * theta) * invSinTheta
580
			finishInterp = SIN(t * theta) * invSinTheta
581
		else
582
			startInterp = 1 - t
583
			finishInterp = t
584
		end
585
	else
586
		if (1 + cosTheta) > 0.0001 then
587
			local theta = ACOS(-cosTheta)
588
			local invSinTheta = 1 / SIN(theta)
589
			startInterp = SIN((t - 1) * theta) * invSinTheta
590
			finishInterp = SIN(t * theta) * invSinTheta
591
		else
592
			startInterp = t - 1
593
			finishInterp = t
594
		end
595
	end
596
	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
597
end
598
599
function Clerp(a, b, t)
600
	local qa = {QuaternionFromCFrame(a)}
601
	local qb = {QuaternionFromCFrame(b)}
602
	local ax, ay, az = a.x, a.y, a.z
603
	local bx, by, bz = b.x, b.y, b.z
604
	local _t = 1 - t
605
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
606
end
607
608
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
609
	local frame = IT("Frame")
610
	frame.BackgroundTransparency = TRANSPARENCY
611
	frame.BorderSizePixel = BORDERSIZEPIXEL
612
	frame.Position = POSITION
613
	frame.Size = SIZE
614
	frame.BackgroundColor3 = COLOR
615
	frame.BorderColor3 = BORDERCOLOR
616
	frame.Name = NAME
617
	frame.Parent = PARENT
618
	return frame
619
end
620
621
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
622
	local label = IT("TextLabel")
623
	label.BackgroundTransparency = 1
624
	label.Size = UD2(1, 0, 1, 0)
625
	label.Position = UD2(0, 0, 0, 0)
626
	label.TextColor3 = C3(255, 255, 255)
627
	label.TextStrokeTransparency = STROKETRANSPARENCY
628
	label.TextTransparency = TRANSPARENCY
629
	label.FontSize = TEXTFONTSIZE
630
	label.Font = TEXTFONT
631
	label.BorderSizePixel = BORDERSIZEPIXEL
632
	label.TextScaled = true
633
	label.Text = TEXT
634
	label.Name = NAME
635
	label.Parent = PARENT
636
	return label
637
end
638
639
function NoOutlines(PART)
640
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
641
end
642
643
644
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
645
	local NEWWELD = IT(TYPE)
646
	NEWWELD.Part0 = PART0
647
	NEWWELD.Part1 = PART1
648
	NEWWELD.C0 = C0
649
	NEWWELD.C1 = C1
650
	NEWWELD.Parent = PARENT
651
	return NEWWELD
652
end
653
654
function CreateSound(ID, PARENT, VOLUME, PITCH)
655
	local NEWSOUND = IT("Sound", PARENT)
656
	NEWSOUND.Volume = VOLUME
657
	NEWSOUND.Pitch = PITCH
658
	NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
659
	coroutine.resume(coroutine.create(function()
660
		Swait()
661
		NEWSOUND:play()
662
		repeat Swait() until NEWSOUND.Playing == false
663
		NEWSOUND:remove()
664
	end))
665
	return NEWSOUND
666
end
667
668
function CFrameFromTopBack(at, top, back)
669
	local right = top:Cross(back)
670
	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)
671
end
672
673
function Lightning(POSITION1, POSITION2, MULTIPLIERTIME, LIGHTNINGDELAY, OFFSET, BRICKCOLOR, MATERIAL, SIZE, TRANSPARENCY, LASTINGTIME)
674
	local MAGNITUDE = (POSITION1 - POSITION2).magnitude 
675
	local CURRENTPOSITION = POSITION1
676
	local LIGHTNINGOFFSET = {-OFFSET, OFFSET}
677
	coroutine.resume(coroutine.create(function()
678
		for i = 1, MULTIPLIERTIME do 
679
			local LIGHTNINGPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR,"Effect", VT(SIZE * Player_Size, SIZE * Player_Size, MAGNITUDE / MULTIPLIERTIME))
680
			LIGHTNINGPART.Anchored = true
681
			local LIGHTNINGOFFSET2 = VT(LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)]) 
682
			local LIGHTNINGPOSITION1 = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME).p + LIGHTNINGOFFSET2
683
			if MULTIPLIERTIME == i then 
684
				local LIGHTNINGMAGNITUDE1 = (CURRENTPOSITION - POSITION2).magnitude
685
				LIGHTNINGPART.Size = VT(SIZE * Player_Size, SIZE * Player_Size, LIGHTNINGMAGNITUDE1)
686
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, -LIGHTNINGMAGNITUDE1 / 2)
687
			else
688
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, LIGHTNINGPOSITION1) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2)
689
			end
690
			CURRENTPOSITION=LIGHTNINGPART.CFrame * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2).p
691
			game.Debris:AddItem(LIGHTNINGPART, LASTINGTIME)
692
			coroutine.resume(coroutine.create(function()
693
				while LIGHTNINGPART.Transparency ~= 1 do
694
					--local StartTransparency = tra
695
					for i=0, 1, LASTINGTIME do
696
						Swait()
697
						LIGHTNINGPART.Transparency = LIGHTNINGPART.Transparency + (0.1 / LASTINGTIME)
698
					end
699
				end
700
			end))
701
		Swait(LIGHTNINGDELAY / Animation_Speed)
702
		end
703
	end))
704
end
705
706
function MagicBlock(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
707
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
708
	EFFECTPART.Anchored = true
709
	EFFECTPART.CFrame = CFRAME
710
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
711
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
712
	coroutine.resume(coroutine.create(function(PART, MESH)
713
		for i = 0, 1, delay do
714
			Swait()
715
			PART.CFrame = PART.CFrame * ROTATION
716
			PART.Transparency = i
717
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
718
		end
719
		PART.Parent = nil
720
	end), EFFECTPART, EFFECTMESH)
721
end
722
723
function MagicSphere(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
724
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
725
	EFFECTPART.Anchored = true
726
	EFFECTPART.CFrame = CFRAME
727
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Sphere", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
728
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
729
	coroutine.resume(coroutine.create(function(PART, MESH)
730
		for i = 0, 1, delay do
731
			Swait()
732
			PART.CFrame = PART.CFrame * ROTATION
733
			PART.Transparency = i
734
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
735
		end
736
		PART.Parent = nil
737
	end), EFFECTPART, EFFECTMESH)
738
end
739
740
function MagicCylinder(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
741
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
742
	EFFECTPART.Anchored = true
743
	EFFECTPART.CFrame = CFRAME
744
	local EFFECTMESH = CreateMesh("CylinderMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
745
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
746
	coroutine.resume(coroutine.create(function(PART, MESH)
747
		for i = 0, 1, delay do
748
			Swait()
749
			PART.CFrame = PART.CFrame * ROTATION
750
			PART.Transparency = i
751
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
752
		end
753
		PART.Parent = nil
754
	end), EFFECTPART, EFFECTMESH)
755
end
756
757
function MagicHead(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
758
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
759
	EFFECTPART.Anchored = true
760
	EFFECTPART.CFrame = CFRAME
761
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Head", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
762
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
763
	coroutine.resume(coroutine.create(function(PART, MESH)
764
		for i = 0, 1, delay do
765
			Swait()
766
			PART.CFrame = PART.CFrame * ROTATION
767
			PART.Transparency = i
768
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
769
		end
770
		PART.Parent = nil
771
	end), EFFECTPART, EFFECTMESH)
772
end
773
774
function MagicRing(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
775
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
776
	EFFECTPART.Anchored = true
777
	EFFECTPART.CFrame = CFRAME
778
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "3270017", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
779
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
780
	coroutine.resume(coroutine.create(function(PART, MESH)
781
		for i = 0, 1, delay do
782
			Swait()
783
			PART.CFrame = PART.CFrame * ROTATION
784
			PART.Transparency = i
785
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
786
		end
787
		PART.Parent = nil
788
	end), EFFECTPART, EFFECTMESH)
789
end
790
791
function MagicWave(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
792
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
793
	EFFECTPART.Anchored = true
794
	EFFECTPART.CFrame = CFRAME
795
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "20329976", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), VT(0, 0, (-0.1 * Z1)) + (OFFSET * Player_Size))
796
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
797
	coroutine.resume(coroutine.create(function(PART, MESH)
798
		for i = 0, 1, delay do
799
			Swait()
800
			PART.CFrame = PART.CFrame * ROTATION
801
			PART.Transparency = i
802
			MESH.Offset = VT(0, 0, (-0.1 * MESH.Scale.Z))
803
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
804
		end
805
		PART.Parent = nil
806
	end), EFFECTPART, EFFECTMESH)
807
end
808
809
function MagicCrystal(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
810
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
811
	EFFECTPART.Anchored = true
812
	EFFECTPART.CFrame = CFRAME
813
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "9756362", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
814
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
815
	coroutine.resume(coroutine.create(function(PART, MESH)
816
		for i = 0, 1, delay do
817
			Swait()
818
			PART.CFrame = PART.CFrame * ROTATION
819
			PART.Transparency = i
820
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
821
		end
822
		PART.Parent = nil
823
	end), EFFECTPART, EFFECTMESH)
824
end
825
826
function MagicSwirl(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
827
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
828
	EFFECTPART.Anchored = true
829
	EFFECTPART.CFrame = CFRAME
830
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1051557", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
831
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
832
	coroutine.resume(coroutine.create(function(PART, MESH)
833
		for i = 0, 1, delay do
834
			Swait()
835
			PART.CFrame = PART.CFrame * ROTATION
836
			PART.Transparency = i
837
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
838
		end
839
		PART.Parent = nil
840
	end), EFFECTPART, EFFECTMESH)
841
end
842
843
function MagicSharpCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
844
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
845
	EFFECTPART.Anchored = true
846
	EFFECTPART.CFrame = CFRAME
847
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1778999", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
848
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
849
	coroutine.resume(coroutine.create(function(PART, MESH)
850
		for i = 0, 1, delay do
851
			Swait()
852
			PART.CFrame = PART.CFrame * ROTATION
853
			PART.Transparency = i
854
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
855
		end
856
		PART.Parent = nil
857
	end), EFFECTPART, EFFECTMESH)
858
end
859
860
function MagicFlatCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
861
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
862
	EFFECTPART.Anchored = true
863
	EFFECTPART.CFrame = CFRAME
864
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1033714", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
865
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
866
	coroutine.resume(coroutine.create(function(PART, MESH)
867
		for i = 0, 1, delay do
868
			Swait()
869
			PART.CFrame = PART.CFrame * ROTATION
870
			PART.Transparency = i
871
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
872
		end
873
		PART.Parent = nil
874
	end), EFFECTPART, EFFECTMESH)
875
end
876
877
function MagicSpikedCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
878
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
879
	EFFECTPART.Anchored = true
880
	EFFECTPART.CFrame = CFRAME
881
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1323306", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
882
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
883
	coroutine.resume(coroutine.create(function(PART, MESH)
884
		for i = 0, 1, delay do
885
			Swait()
886
			PART.CFrame = PART.CFrame * ROTATION
887
			PART.Transparency = i
888
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
889
		end
890
		PART.Parent = nil
891
	end), EFFECTPART, EFFECTMESH)
892
end
893
894
function MagicFlatCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
895
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
896
	EFFECTPART.Anchored = true
897
	EFFECTPART.CFrame = CFRAME
898
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1078075", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
899
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
900
	coroutine.resume(coroutine.create(function(PART, MESH)
901
		for i = 0, 1, delay do
902
			Swait()
903
			PART.CFrame = PART.CFrame * ROTATION
904
			PART.Transparency = i
905
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
906
		end
907
		PART.Parent = nil
908
	end), EFFECTPART, EFFECTMESH)
909
end
910
911
function MagicSkull(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
912
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
913
	EFFECTPART.Anchored = true
914
	EFFECTPART.CFrame = CFRAME
915
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
916
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
917
	coroutine.resume(coroutine.create(function(PART, MESH)
918
		for i = 0, 1, delay do
919
			Swait()
920
			PART.CFrame = PART.CFrame * ROTATION
921
			PART.Transparency = i
922
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
923
		end
924
		PART.Parent = nil
925
	end), EFFECTPART, EFFECTMESH)
926
end
927
928
function ElectricEffect(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X, Y, Z, delay)
929
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
930
	EFFECTPART.Anchored = true
931
	EFFECTPART.CFrame = CFRAME
932
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X * Player_Size, Y * Player_Size, Z * Player_Size), OFFSET * Player_Size)
933
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
934
	local XVALUE = MRANDOM()
935
	local YVALUE = MRANDOM()
936
	local ZVALUE = MRANDOM()
937
	coroutine.resume(coroutine.create(function(PART, MESH, THEXVALUE, THEYVALUE, THEZVALUE)
938
		for i = 0, 1, delay do
939
			Swait()
940
			PART.CFrame = PART.CFrame * ROTATION
941
			PART.Transparency = i
942
			THEXVALUE = THEXVALUE - 0.1 * (delay * 10)
943
			THEYVALUE = THEYVALUE - 0.1 * (delay * 10)
944
			THEZVALUE = THEZVALUE - 0.1 * (delay * 10)
945
			MESH.Scale = MESH.Scale + VT(THEXVALUE * Player_Size, THEYVALUE * Player_Size, THEZVALUE * Player_Size)
946
		end
947
		PART.Parent = nil
948
	end), EFFECTPART, EFFECTMESH, XVALUE, YVALUE, ZVALUE)
949
end
950
951
function TrailEffect(BRICKCOLOR, MATERIAL, CURRENTCFRAME, OLDCFRAME, MESHTYPE, REFLECTANCE, SIZE, ROTATION, X, Y, Z, delay)
952
	local MAGNITUDECFRAME = (CURRENTCFRAME.p - OLDCFRAME.p).magnitude
953
	if MAGNITUDECFRAME > (1 / 100) then
954
		local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT(1, MAGNITUDECFRAME, 1))
955
		EFFECTPART.Anchored = true
956
		EFFECTPART.CFrame = CF((CURRENTCFRAME.p + OLDCFRAME.p) / 2, OLDCFRAME.p) * ANGLES(RAD(90), 0, 0)
957
		local THEMESHTYPE = "BlockMesh"
958
		if MESHTYPE == "Cylinder" then
959
			THEMESHTYPE = "CylinderMesh"
960
		end
961
		local EFFECTMESH = CreateMesh(THEMESHTYPE, EFFECTPART, "", "", "", VT(0 + SIZE * Player_Size, 1, 0 + SIZE * Player_Size), VT(0, 0, 0))
962
		game:GetService("Debris"):AddItem(EFFECTPART, 10)
963
		coroutine.resume(coroutine.create(function(PART, MESH)
964
			for i = 0, 1, delay do
965
				Swait()
966
				PART.CFrame = PART.CFrame * ROTATION
967
				PART.Transparency = i
968
				MESH.Scale = MESH.Scale + VT(X * Player_Size, Y * Player_Size, Z * Player_Size)
969
			end
970
			PART.Parent = nil
971
		end), EFFECTPART, EFFECTMESH)
972
	end
973
end
974
975
function ClangEffect(BRICKCOLOR, MATERIAL, CFRAME, ANGLE, DURATION, SIZE, POWER, REFLECTANCE, X, Y, Z, delay)
976
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 1, BRICKCOLOR, "Effect", VT())
977
	EFFECTPART.Anchored = true
978
	EFFECTPART.CFrame = CFRAME
979
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(0, 0, 0), VT(0, 0, 0))
980
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
981
	local THELASTPOINT = CFRAME
982
	coroutine.resume(coroutine.create(function(PART)
983
		for i = 1, DURATION do
984
			Swait()
985
			PART.CFrame = PART.CFrame * ANGLES(RAD(ANGLE), 0, 0) * CF(0, POWER * Player_Size, 0)
986
			TrailEffect(BRICKCOLOR, MATERIAL, PART.CFrame, THELASTPOINT, "Cylinder", REFLECTANCE, SIZE * Player_Size, ANGLES(0, 0, 0), X * Player_Size, Y * Player_Size, Z * Player_Size, delay)
987
			THELASTPOINT = PART.CFrame
988
		end
989
		PART.Parent = nil
990
	end), EFFECTPART)
991
end
992
993
function CreateWave(inair,size,doesrotate,rotatedirection,waitt,part,offset)
994
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, Torso.BrickColor, "Effect", VT(0,0,0))
995
	local mesh = IT("SpecialMesh",wave)
996
	mesh.MeshType = "FileMesh"
997
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
998
	mesh.Scale = VT(size,size,size)
999
	mesh.Offset = VT(0,0,-size/8)
1000
	wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
1001
	coroutine.resume(coroutine.create(function(PART)
1002
		for i = 1, waitt do
1003
			Swait()
1004
			mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
1005
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1006
			if doesrotate == true then
1007
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
1008
			end
1009
			wave.Transparency = wave.Transparency + (0.5/waitt)
1010
			if wave.Transparency > 0.99 then
1011
				wave:remove()
1012
			end
1013
		end
1014
	end))
1015
end
1016
1017
function CreateRing(inair,size,doesrotate,rotatedirection,waitt,part,offset,spin1,spin2)
1018
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, Torso.BrickColor, "Effect", VT(0,0,0))
1019
	local mesh = IT("SpecialMesh",wave)
1020
	mesh.MeshType = "FileMesh"
1021
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
1022
	mesh.Scale = VT(size,size,size)
1023
	mesh.Offset = VT(0,0,0)
1024
	wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
1025
	coroutine.resume(coroutine.create(function(PART)
1026
		for i = 1, waitt do
1027
			Swait()
1028
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
1029
			if doesrotate == true then
1030
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(spin2, rotatedirection, spin1)
1031
			end
1032
			wave.Transparency = wave.Transparency + (0.5/waitt)
1033
			if wave.Transparency > 0.99 then
1034
				wave:remove()
1035
			end
1036
		end
1037
	end))
1038
end
1039
1040
function CreatePentagram(size,doesrotate,rotatedirection,waitt,cframe,offset)
1041
	local sinkhole = IT("Part",Effects)
1042
	sinkhole.Size = VT(size,0,size)
1043
	sinkhole.CFrame = cframe * CF(0,offset,0)
1044
	sinkhole.Material = "Neon"
1045
	sinkhole.Color = C3(170, 0, 170)
1046
	sinkhole.Anchored = true
1047
	sinkhole.CanCollide = false
1048
	sinkhole.Transparency = 1
1049
	local decal = IT("Decal",sinkhole)
1050
	decal.Face = "Top"
1051
	decal.Texture = "http://www.roblox.com/asset/?id=177470914"
1052
	coroutine.resume(coroutine.create(function(PART)
1053
		for i = 1, waitt do
1054
			Swait()
1055
			if doesrotate == true then
1056
				sinkhole.CFrame = sinkhole.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
1057
			end
1058
			if i > waitt-11 then
1059
				decal.Transparency = decal.Transparency + 0.1
1060
			end
1061
		end
1062
		sinkhole:remove()
1063
	end))
1064
	return sinkhole
1065
end
1066
1067
--local list={}
1068
function Triangle(Color, Material, a, b, c, delay)
1069
	local edge1 = (c - a):Dot((b - a).unit)
1070
	local edge2 = (a - b):Dot((c - b).unit)
1071
	local edge3 = (b - c):Dot((a - c).unit)
1072
	if edge1 <= (b - a).magnitude and edge1 >= 0 then
1073
		a, b, c=a, b, c
1074
	elseif edge2 <= (c - b).magnitude and edge2 >= 0 then
1075
		a, b, c=b, c, a
1076
	elseif edge3 <= (a - c).magnitude and edge3 >= 0 then
1077
		a, b, c=c, a, b
1078
	else
1079
		assert(false, "unreachable")
1080
	end
1081
	local len1 = (c - a):Dot((b - a).unit)
1082
	local len2 = (b - a).magnitude - len1
1083
	local width = (a + (b - a).unit * len1 - c).magnitude
1084
	local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, - (b - a).unit)
1085
	if len1 > 1 / 100 then
1086
		local sz = VT(0.2, width, len1)
1087
		local w1 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
1088
		local sp = CreateMesh("SpecialMesh", w1, "Wedge", "", "", VT(0, 1, 1) * sz / w1.Size, VT(0, 0, 0))
1089
		w1.Anchored = true
1090
		w1.CFrame = maincf * ANGLES(math.pi, 0, math.pi / 2) * CF(0, width / 2, len1 / 2)
1091
		coroutine.resume(coroutine.create(function()
1092
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
1093
				Swait()
1094
				w1.Transparency = i
1095
			end
1096
			w1.Parent = nil
1097
		end))
1098
		game:GetService("Debris"):AddItem(w1, 10)
1099
		--table.insert(list, w1)
1100
	end
1101
	if len2 > 1 / 100 then
1102
		local sz = VT(0.2, width, len2)
1103
		local w2 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
1104
		local sp = CreateMesh("SpecialMesh", w2, "Wedge", "", "", VT(0, 1, 1) * sz / w2.Size, VT(0, 0, 0))
1105
		w2.Anchored = true
1106
		w2.CFrame = maincf * ANGLES(math.pi, math.pi, -math.pi / 2) * CF(0, width / 2, -len1 - len2 / 2)
1107
		coroutine.resume(coroutine.create(function()
1108
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
1109
				Swait()
1110
				w2.Transparency = i
1111
			end
1112
			w2.Parent = nil
1113
		end))
1114
		game:GetService("Debris"):AddItem(w2, 10)
1115
		--table.insert(list, w2)
1116
	end
1117
	--return unpack(list)
1118
end
1119
1120
--[[Usage:
1121
	local Pos = Part
1122
	local Offset = Part.CFrame * CF(0, 0, 0)
1123
	local Color = "Institutional white"
1124
	local Material = "Neon"
1125
	local TheDelay = 0.01
1126
	local Height = 4
1127
	BLCF = Offset
1128
	if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
1129
		local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
1130
		if a then game:GetService("Debris"):AddItem(a, 1) end
1131
		if b then game:GetService("Debris"):AddItem(b, 1) end
1132
		local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
1133
		if a then game:GetService("Debris"):AddItem(a, 1) end
1134
		if b then game:GetService("Debris"):AddItem(b, 1) end
1135
		SCFR = BLCF
1136
	elseif not SCFR then
1137
		SCFR = BLCF
1138
	end
1139
--
1140
BLCF = nil
1141
SCFR = nil
1142
--]]
1143
1144
--//=================================\\
1145
--\\=================================//
1146
1147
if Player_Size ~= 1 then
1148
RootPart.Size = RootPart.Size * Player_Size
1149
Torso.Size = Torso.Size * Player_Size
1150
Head.Size = Head.Size * Player_Size
1151
RightArm.Size = RightArm.Size * Player_Size
1152
LeftArm.Size = LeftArm.Size * Player_Size
1153
RightLeg.Size = RightLeg.Size * Player_Size
1154
LeftLeg.Size = LeftLeg.Size * Player_Size
1155
RootJoint.Parent = RootPart
1156
Neck.Parent = Torso
1157
RightShoulder.Parent = Torso
1158
LeftShoulder.Parent = Torso
1159
RightHip.Parent = Torso
1160
LeftHip.Parent = Torso
1161
	
1162
RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1163
	RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1164
	Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
1165
	Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
1166
	RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
1167
	LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
1168
	--if Disable_Moving_Arms == false then
1169
		RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1170
		LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1171
	--else
1172
		--RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1173
		--LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1174
	--end
1175
	RightHip.C0 = CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
1176
	LeftHip.C0 = CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
1177
	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))
1178
	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))
1179
end
1180
1181
--//=================================\\
1182
--||	     WEAPON CREATION
1183
--\\=================================//
1184
1185
if Player_Size ~= 1 then
1186
	for _, v in pairs (Weapon:GetChildren()) do
1187
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
1188
			local p1 = v.Part1
1189
			v.Part1 = nil
1190
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
1191
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
1192
			v.Part1 = p1
1193
		elseif v.ClassName == "Part" then
1194
			for _, b in pairs (v:GetChildren()) do
1195
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
1196
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
1197
				end
1198
			end
1199
		end
1200
	end
1201
end
1202
1203
createaccessory(Head,"http://www.roblox.com/asset/?id=210118899","",VT(1, 1, 1),VT(0, 0.25, 0.1),BrickColor.new"Really black")
1204
1205
1206
local AT1 = IT("Attachment",RightArm)
1207
AT1.Position = VT(0,-1.15,0)
1208
local AT2 = IT("Attachment",LeftArm)
1209
AT2.Position = VT(0,-1.15,0)
1210
1211
Humanoid.HealthChanged:connect(function()
1212
	if Humanoid.Health ~= "inf" then
1213
		Humanoid.Health = "inf"
1214
	end
1215
	if Humanoid.MaxHealth ~= "inf" then
1216
		Humanoid.MaxHealth = "inf"
1217
	end
1218
end)
1219
1220
local EyeSizes={
1221
	NumberSequenceKeypoint.new(0,1.2,0),
1222
	NumberSequenceKeypoint.new(1,0,0)
1223
}
1224
local EyeTrans={
1225
	NumberSequenceKeypoint.new(0,0.8,0),
1226
	NumberSequenceKeypoint.new(1,1,0)
1227
}
1228
local PE=Instance.new("ParticleEmitter")
1229
PE.LightEmission=0
1230
PE.Size=NumberSequence.new(EyeSizes)
1231
PE.Transparency=NumberSequence.new(EyeTrans)
1232
PE.Lifetime=NumberRange.new(0.35,0.35,0.35)
1233
PE.Rotation=NumberRange.new(0,360)
1234
PE.Rate=999
1235
PE.Acceleration = Vector3.new(0,0,0)
1236
PE.Drag = 5
1237
PE.LockedToPart = false
1238
PE.Speed = NumberRange.new(0,0,0)
1239
PE.Rotation = NumberRange.new(-100, 100)
1240
PE.RotSpeed = NumberRange.new(-100, 100)
1241
PE.Texture="http://www.roblox.com/asset/?id=669492379"
1242
PE.Color = ColorSequence.new(Color3.new(170, 0, 170))
1243
PE.ZOffset = 0
1244
PE.Name = "Reign"
1245
PE.Enabled = false
1246
PE.VelocitySpread = 10000
1247
1248
function particles(art)
1249
local o = PE:Clone()
1250
o.Parent = art
1251
o.Enabled = true
1252
return o
1253
end
1254
1255
particles(AT1)
1256
particles(AT2)
1257
1258
createbodypart("Gem","Magenta",Torso,VT(0, 0.2, 0.5),VT(0.6,1.5,0.5))
1259
createbodypart("Gem","Magenta",Torso,VT(0, -0.2, 0.5),VT(0.2,1,0.5))
1260
createbodypart("Gem","Magenta",Torso,VT(-0.3, 0.5, 0.5),VT(0.5,0.8,0.2))
1261
createbodypart("Gem","Magenta",Torso,VT(0.3, 0.5, 0.5),VT(0.5,0.8,0.2))
1262
1263
---ribs---
1264
createbodypart("Gem","Magenta",Torso,VT(0.6, 0.9, -0.57),VT(0.8,0.2,0.2))
1265
createbodypart("Gem","Magenta",Torso,VT(-0.6, 0.9, -0.57),VT(0.8,0.2,0.2))
1266
1267
createbodypart("Gem","Magenta",Torso,VT(0.7, 0.5, -0.57),VT(0.6,0.2,0.2))
1268
createbodypart("Gem","Magenta",Torso,VT(-0.7, 0.5, -0.57),VT(0.6,0.2,0.2))
1269
1270
createbodypart("Gem","Magenta",Torso,VT(0.8, 0.2, -0.57),VT(0.4,0.2,0.2))
1271
createbodypart("Gem","Magenta",Torso,VT(-0.8, 0.2, -0.57),VT(0.4,0.2,0.2))
1272
----------
1273
1274
1275
1276
for _, c in pairs(Weapon:GetChildren()) do
1277
	if c.ClassName == "Part" then
1278
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1279
	end
1280
end
1281
1282
Weapon.Parent = Character
1283
1284
Humanoid.Died:connect(function()
1285
	q = workspace:GetChildren()
1286
	CreatePentagram(1500,true,-0.1,150,CF(RootPart.Position),-3)
1287
	Head.Parent = nil
1288
	Head = nil
1289
	for i = 1, #q do
1290
		local child = q[i]
1291
		if child.ClassName == "Model" and child:FindFirstChild("Humanoid") then
1292
			child:BreakJoints()
1293
		end
1294
	end
1295
	local taunt = CreateSound("135009414", workspace, 10, 1)
1296
	local effect = IT("PitchShiftSoundEffect",taunt)
1297
	effect.Octave = 0.700
1298
	ATTACK = true
1299
end)
1300
1301
print(Class_Name.." loaded.")
1302
1303
--//=================================\\
1304
--\\=================================//
1305
1306
1307
1308
1309
1310
--//=================================\\
1311
--||	     DAMAGE FUNCTIONS
1312
--\\=================================//
1313
1314
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
1315
	local STATPART = CreatePart(3, Effects, "Neon", 0, 1, "Really black", "Effect", VT())
1316
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
1317
	local BODYGYRO = IT("BodyGyro", STATPART)
1318
	local BODYPOSITION = IT("BodyPosition", STATPART)
1319
	BODYPOSITION.P = 2000
1320
	BODYPOSITION.D = 100
1321
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
1322
	if LABELTYPE == "Normal" then
1323
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
1324
	elseif LABELTYPE == "Debuff" then
1325
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
1326
	elseif LABELTYPE == "Interruption" then
1327
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
1328
	end
1329
	game:GetService("Debris"):AddItem(STATPART ,5)
1330
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
1331
	BILLBOARDGUI.Adornee = STATPART
1332
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
1333
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
1334
	BILLBOARDGUI.AlwaysOnTop = true
1335
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
1336
	TEXTLABEL.BackgroundTransparency = 1
1337
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
1338
	TEXTLABEL.Text = TEXT
1339
	TEXTLABEL.Font = "Antique"
1340
	TEXTLABEL.FontSize="Size42"
1341
	TEXTLABEL.TextColor3 = COLOR
1342
	TEXTLABEL.TextStrokeTransparency = 1
1343
	TEXTLABEL.TextScaled = true
1344
	TEXTLABEL.TextWrapped = true
1345
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
1346
		wait(0.2)
1347
		for i=1, 5 do
1348
			wait()
1349
			THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
1350
		end
1351
		wait(1.2)
1352
		for i=1, 5 do
1353
			wait()
1354
			THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
1355
			THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
1356
			THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
1357
		end
1358
		THEPART.Parent = nil
1359
	end),STATPART, BODYPOSITION, TEXTLABEL)
1360
end
1361
1362
1363
--//=================================\\
1364
--||			DAMAGING
1365
--\\=================================//
1366
1367
1368
1369
function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
1370
	if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
1371
		local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
1372
		local dmg = math.random(min,max)
1373
		if humanoid.Health > 0 then
1374
			if beserk == true then
1375
				humanoid.Health = 0
1376
			else
1377
				CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
1378
				hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
1379
				if math.random(1,100) < critrate+1 then
1380
					humanoid.Health = humanoid.Health - dmg*critmultiplier
1381
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(1, 0, 0))
1382
				else
1383
					humanoid.Health = humanoid.Health - dmg
1384
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(0, 0, 0))
1385
				end
1386
				local defence = Instance.new("BoolValue",hit.Parent)
1387
				defence.Name = ("HitBy"..Player.Name)
1388
				game:GetService("Debris"):AddItem(defence, 0.5)
1389
			end
1390
		end
1391
	end
1392
end
1393
1394
function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping)
1395
	local dmg = math.random(min,max)
1396
	for i,v in ipairs(workspace:GetChildren()) do
1397
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
1398
		local body = v:GetChildren()
1399
			for part = 1, #body do
1400
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1401
					if(body[part].Position - position).Magnitude < radius then
1402
						if v.ClassName == "Model" then
1403
							if v:FindFirstChild("Humanoid") then
1404
								if v.Humanoid.Health ~= 0 then
1405
									if CanBeDodgedByJumping == true then
1406
										if body[part].Position.Y < position.Y+5 then
1407
											if math.random(1,100) < critrate+1 then
1408
												v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
1409
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
1410
											else
1411
												v.Humanoid.Health = v.Humanoid.Health - dmg
1412
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
1413
											end
1414
											local defence = Instance.new("BoolValue",v)
1415
											defence.Name = ("HitBy"..Player.Name)
1416
											game:GetService("Debris"):AddItem(defence, 0.5)
1417
										end
1418
									else
1419
										if beserk == true then
1420
											v.Humanoid.Health = 0
1421
										end
1422
										if math.random(1,100) < critrate+1 then
1423
											v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
1424
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
1425
										else
1426
											v.Humanoid.Health = v.Humanoid.Health - dmg
1427
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
1428
										end
1429
										local defence = Instance.new("BoolValue",v)
1430
										defence.Name = ("HitBy"..Player.Name)
1431
										game:GetService("Debris"):AddItem(defence, 0.5)
1432
									end
1433
								end
1434
							end
1435
						end
1436
						body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
1437
					end
1438
				end
1439
			end
1440
			if v.ClassName == "Part" then
1441
				if v.Anchored == false and (v.Position - position).Magnitude < radius then
1442
					v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
1443
				end
1444
			end
1445
		end
1446
	end
1447
end
1448
1449
function killnearest(position,range,maxstrength)
1450
	for i,v in ipairs(workspace:GetChildren()) do
1451
	local body = v:GetChildren()
1452
		for part = 1, #body do
1453
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1454
				if(body[part].Position - position).Magnitude < range then
1455
					if v.ClassName == "Model" then
1456
						v:BreakJoints()
1457
					end
1458
					--table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
1459
					body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
1460
				end
1461
			end
1462
		end
1463
		if v.ClassName == "Part" then
1464
			if v.Anchored == false and (v.Position - position).Magnitude < range then
1465
				--table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
1466
				v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
1467
			end
1468
		end
1469
	end
1470
end
1471
1472
--//=================================\\
1473
--||	ATTACK FUNCTIONS AND STUFF
1474
--\\=================================//
1475
1476
Humanoid.HealthChanged:connect(function()
1477
	if Humanoid.Health == 0 then
1478
		Humanoid.MaxHealth = "inf"
1479
		Humanoid.Health = "inf"
1480
		if ATTACK == false then
1481
			if Humanoid.Health == 0 then
1482
				workspace:ClearAllChildren()
1483
			else
1484
				ViolentRoar()
1485
			end
1486
		end
1487
	end
1488
end)
1489
1490
function clerp(a, b, t)
1491
  return a:lerp(b, t)
1492
end
1493
1494
function newBezier(startpos, pos2, pos3, endpos, t)
1495
  local A = clerp(startpos, pos2, t)
1496
  local B = clerp(pos2, pos3, t)
1497
  local C = clerp(pos3, endpos, t)
1498
  local lerp1 = clerp(A, B, t)
1499
  local lerp2 = clerp(B, C, t)
1500
  local cubic = clerp(lerp1, lerp2, t)
1501
  return cubic
1502
end
1503
1504
function Mortar(Target)
1505
	local newball = Instance.new("Part", workspace)
1506
	newball.Anchored = true
1507
	newball.Shape = "Ball"
1508
	newball.Material = "Neon"
1509
	newball.Size = Vector3.new(2, 2, 2)
1510
	newball.CanCollide = false
1511
	newball.CFrame = Target.CFrame
1512
	newball.BrickColor = BrickColor.new("Magenta")
1513
	newball.Transparency = 0.5
1514
  	local Cys = Instance.new("SpecialMesh", newball)
1515
  	Cys.MeshType = "FileMesh"
1516
  	Cys.MeshId = "rbxassetid://9756362"
1517
  	Cys.Scale = Vector3.new(1, 1, 1)
1518
	local onefourth = Target.Position:Lerp(Mouse.Hit.p, 0.25) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25))
1519
	local threefourths = Target.Position:Lerp(Mouse.Hit.p, 0.75) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25))
1520
  	local MPos = Mouse.Hit.p
1521
	 local A1 = IT("Attachment",newball)
1522
	    A1.Position = Vector3.new(0, 1, 0)
1523
	  local A2 = IT("Attachment",newball)
1524
	    A2.Position = Vector3.new(0, -1, 0)
1525
	  local Trail = IT("Trail",newball)
1526
	    Trail.LightEmission = 1
1527
	    Trail.FaceCamera = true
1528
	    Trail.Texture = "rbxassetid://945758042"
1529
	    Trail.Attachment0 = A1
1530
	    Trail.Attachment1 = A2
1531
	    Trail.Lifetime = 0.5
1532
	    Trail.MinLength = 0
1533
	    Trail.Transparency = NumberSequence.new(0.3, 1)
1534
	    Trail.Color = ColorSequence.new(BrickColor.new("Magenta").Color)
1535
  	coroutine.resume(coroutine.create(function()
1536
		local loop = 0
1537
   		for i = 0, 1, 0.07 do
1538
    	  	Swait()
1539
			loop = loop + 1
1540
			if loop == 1 then
1541
				CreateRing(0,3,true,-0.2,15,newball,0,0.3,-0.3)
1542
			elseif loop == 2 then
1543
				CreateRing(0,3,true,-0.2,15,newball,0,-0.3,0.3)
1544
				loop = 1
1545
			end
1546
    	  	newball.CFrame = CFrame.new(newBezier(Target.Position, onefourth, threefourths, MPos, i))
1547
    	end
1548
		killnearest(newball.Position,5,10)
1549
		MagicSphere("Magenta", "Neon", CF(newball.Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, 7.5, 7.5, 7.5, 0.05)
1550
		MagicBlock("Magenta", "Neon", CF(newball.Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, 7.5, 7.5,7.5, 0.05)
1551
		newball.Transparency = 1
1552
		CreateSound("971125740", newball, 10, 1)
1553
		for i = 1, 7 do
1554
			coroutine.resume(coroutine.create(function()
1555
				local ray = IT("Part",Effects)
1556
				ray.Size = VT(newball.Size.Y,newball.Size.Y/10,newball.Size.Y/10)
1557
				ray.CFrame = CFrame.new(newball.Position,Vector3.new(newball.Position.X+math.random(-360,360),newball.Position.Y+math.random(-360,360),newball.Position.Z+math.random(-360,360)))
1558
				local mesh = IT("BlockMesh",ray)
1559
				ray.Anchored = true
1560
				ray.CanCollide = false
1561
				ray.Material = newball.Material
1562
				ray.Color = newball.Color
1563
				table.insert(Effects2,{ray,"Block1",0.04,1,0,0,2})
1564
			end))
1565
		end
1566
  		game:GetService("Debris"):AddItem(newball, 5)
1567
	end))
1568
end
1569
1570
function RayCast(Position, Direction, MaxDistance, IgnoreList)
1571
	return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position, Direction.unit * (MaxDistance or 999.999)), IgnoreList) 
1572
end
1573
1574
function JumpUp()
1575
	ATTACK = true
1576
	--Rooted = true
1577
	for i=0, 2, 0.1 / Animation_Speed do
1578
		Swait()
1579
		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)
1580
		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)
1581
		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)
1582
		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)
1583
		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)
1584
		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)
1585
	end
1586
	CreateSound("2767090", Torso, 5, MRANDOM(7, 12) / 10)
1587
	CreateWave(0,3.5,true,0.2,150,RootPart,-2)
1588
	CreateWave(0,5,true,-0.2,150,RootPart,-2)
1589
	local bv = Instance.new("BodyVelocity") 
1590
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1591
	bv.velocity = Vector3.new(0,300,0)
1592
	bv.Parent = Torso
1593
	bv.Name = "DASH"
1594
	ATTACK = false
1595
	--Rooted = false
1596
	game:GetService("Debris"):AddItem(bv, 0.5)
1597
		coroutine.resume(coroutine.create(function()
1598
			Swait(50)
1599
			HASJUMPED = false
1600
		end))
1601
end
1602
1603
1604
function attacktemplate()
1605
	ATTACK = true
1606
	for i=0, 1, 0.1 / Animation_Speed do
1607
		Swait()
1608
		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)
1609
		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)
1610
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1611
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1612
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1613
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1614
	end
1615
	ATTACK = false
1616
end
1617
1618
1619
function Attack1()
1620
	Rooted = true
1621
	ATTACK = true
1622
	for i=0, 1, 0.1 / Animation_Speed do
1623
		Swait()
1624
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
1625
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(2.5), RAD(0), RAD(30)), 0.4 / Animation_Speed)
1626
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(180), RAD(0), RAD(100)) * ANGLES(RAD(-30), RAD(80), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1627
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1628
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(5)), 0.4 / Animation_Speed)
1629
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
1630
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
1631
			break
1632
		end
1633
	end
1634
	CreatePentagram(15,true,0.1,45,CF(RootPart.Position),-3)
1635
	local paw = RightArm.Touched:Connect(function(hit)
1636
		dealdamage(hit,9999,9999,9000,false,9999,9999)
1637
	end) 
1638
	local bv = Instance.new("BodyVelocity") 
1639
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1640
	bv.velocity = RootPart.CFrame.lookVector * 50
1641
	bv.Parent = Torso
1642
	bv.Name = "DASH"
1643
	ATTACK = false
1644
	Rooted = false
1645
	game:GetService("Debris"):AddItem(bv, 0.05)
1646
	for i=0, 1, 0.1 / Animation_Speed do
1647
		Swait()
1648
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(30)), 0.4 / Animation_Speed)
1649
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(2.5), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
1650
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(10)) * ANGLES(RAD(-30), RAD(80), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1651
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1652
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(40), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(5)), 0.4 / Animation_Speed)
1653
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-35), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
1654
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
1655
			break
1656
		end
1657
	end
1658
	COMBO = 2
1659
	paw:disconnect()
1660
	BLCF = nil
1661
	SCFR = nil
1662
	ATTACK = false
1663
	Rooted = false
1664
end
1665
1666
function Attack2()
1667
	Rooted = true
1668
	ATTACK = true
1669
	for i=0, 1, 0.1 / Animation_Speed do
1670
		Swait()
1671
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(20)), 0.4 / Animation_Speed)
1672
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-10)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
1673
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1674
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-55)) * ANGLES(RAD(5), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1675
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
1676
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, 0.05 * Player_Size) * ANGLES(RAD(0), RAD(-40), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-10)), 0.4 / Animation_Speed)
1677
	end
1678
	CreatePentagram(15,true,-0.1,45,CF(RootPart.Position),-3)
1679
	local paw = LeftArm.Touched:Connect(function(hit)
1680
		dealdamage(hit,9999,9999,9000,false,9999,9999)
1681
	end) 
1682
	local bv = Instance.new("BodyVelocity") 
1683
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1684
	bv.velocity = RootPart.CFrame.lookVector * 50
1685
	bv.Parent = Torso
1686
	bv.Name = "DASH"
1687
	ATTACK = false
1688
	Rooted = false
1689
	game:GetService("Debris"):AddItem(bv, 0.05)
1690
	for i=0, 1.5, 0.1 / Animation_Speed do
1691
		Swait()
1692
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-90)), 0.4 / Animation_Speed)
1693
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(90)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
1694
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1695
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-55)) * ANGLES(RAD(5), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1696
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
1697
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, 0.05 * Player_Size) * ANGLES(RAD(0), RAD(-40), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-10)), 0.4 / Animation_Speed)
1698
	end
1699
	COMBO = 3
1700
	paw:disconnect()
1701
	ATTACK = false
1702
	Rooted = false
1703
end
1704
1705
function Attack3()
1706
	ATTACK = true
1707
    Rooted = true
1708
	for i=0, 1, 0.1 / Animation_Speed do
1709
		Swait()
1710
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1711
			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)
1712
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, -0.2 * Player_Size, 0.3 * Player_Size) * ANGLES(RAD(50), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1713
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1714
			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)
1715
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.3 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(5), RAD(0)) * ANGLES(RAD(45), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1716
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
1717
			break
1718
		end
1719
	end
1720
	for i=0, 1, 0.1 / Animation_Speed do
1721
		Swait()
1722
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1723
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1724
			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)
1725
			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)
1726
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1727
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1728
	end
1729
	for i=0, 1, 0.1 / Animation_Speed*7 do
1730
		Swait()
1731
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1732
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1733
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1734
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1735
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -4.7 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(45), RAD(45), RAD(0)), 0.2 / Animation_Speed)
1736
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed*5)
1737
	end
1738
	CreateSound("2248511", RightLeg, 2, 1)
1739
	CreateWave(0,3.5,true,0.2,25,RightLeg,-1)
1740
	CreateWave(0,3,true,-0.2,25,RightLeg,-1)
1741
	CreateWave(0,2.5,true,0.2,25,RightLeg,-1)
1742
	CreateWave(0,2,true,-0.2,25,RightLeg,-1)
1743
	AoEDamage(RightLeg.Position,15,25,30,15,false,5,3,true)
1744
	COMBO = 1
1745
    Rooted = false
1746
	ATTACK = false
1747
end
1748
1749
function Sinnerwave()
1750
	ATTACK = true
1751
	Rooted = true
1752
	for i=0, 2, 0.1 / Animation_Speed do
1753
		Swait()
1754
		Rooted = true
1755
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0.35 * Player_Size, 0 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1756
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1757
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1758
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1759
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(15)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1760
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(-5)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1761
	end
1762
	Rooted = true
1763
	local Animation_Speed2 = Animation_Speed/2
1764
	for i=0, 1, 0.1 / Animation_Speed2 do
1765
		Swait()
1766
		Rooted = true
1767
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, -0.35 * Player_Size, 0 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed2)
1768
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.15 / Animation_Speed2)
1769
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed2)
1770
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed2)
1771
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(-15)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed2)
1772
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(5)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed2)
1773
	end
1774
	CreateWave(0,4,true,0.2,45,RootPart,-5)
1775
	CreateWave(0,4.5,true,-0.2,40,RootPart,-5)
1776
	CreateWave(0,5,true,0.2,35,RootPart,-5)
1777
	CreateWave(0,5.5,true,-0.2,30,RootPart,-5)
1778
	CreateWave(0,6,true,0.2,25,RootPart,-5)
1779
	CreateSound("971126018", Torso, 2, 1)
1780
	coroutine.resume(coroutine.create(function()
1781
		local RayHit, RayPos = RayCast(Torso.Position, Vector3.new(0, -1, 0), (10000), {Character})
1782
		local SpawnPosition = RayPos
1783
		local floor = RayHit
1784
		local needcframe = RootPart.CFrame
1785
		local LastPosition = RootPart.Position
1786
		local Delay = 1
1787
		for i = 1, 6 do
1788
			local RayHit, RayPos = RayCast(LastPosition, needcframe.lookVector, 10, {workspace})
1789
			local End = RayPos
1790
			LastPosition = End
1791
			local locatepart = Instance.new("Part",Effects)
1792
			locatepart.Size = VT(0.5,0.5,0.5)
1793
			locatepart.Position = End
1794
			locatepart.CanCollide = false
1795
			locatepart.Anchored = true
1796
			locatepart.Transparency = 1
1797
				if SpawnPosition then
1798
					if i ~= 6 then
1799
						CreateSound("971125740", locatepart, 7, 1)
1800
						AoEDamage(End,15,25,30,15,false,5,3,false)
1801
						CreateWave(0,2.5,true,-0.05,25,locatepart,-2)
1802
						CreateWave(0,2,true,0.05,25,locatepart,-2)
1803
						CreateWave(0,1.5,true,-0.05,25,locatepart,-2)
1804
						CreateWave(0,1,true,0.05,25,locatepart,-2)
1805
					else
1806
						CreateRing(0,15,true,-0.2,35,locatepart,0,0.3,0.3)
1807
						CreateRing(0,12.5,true,0.2,35,locatepart,0,0.3,-0.3)
1808
						CreateRing(0,10,true,-0.2,35,locatepart,0,-0.3,0.3)
1809
						CreateRing(0,7.5,true,0.2,35,locatepart,0,-0.3,-0.3)
1810
						CreatePentagram(85,true,-0.05,75,CF(End),0)
1811
						CreateSound("971125740", locatepart, 7, 0.5)
1812
						AoEDamage(End,25,45,60,15,false,5,3,false)
1813
						CreateWave(0,6.5,true,-0.05,45,locatepart,-2)
1814
						CreateWave(0,6,true,0.05,45,locatepart,-2)
1815
						CreateWave(0,5.5,true,-0.05,45,locatepart,-2)
1816
						CreateWave(0,5,true,0.05,45,locatepart,-2)
1817
						local particle = particles(locatepart)
1818
						particle.Enabled = false
1819
						particle.Drag = 1
1820
						particle.Lifetime=NumberRange.new(2.35,2.35,2.35)
1821
						particle.Speed = NumberRange.new(25,25,25)
1822
						particle:Emit(250)
1823
					end
1824
				end
1825
			Swait(5)
1826
			game:GetService("Debris"):AddItem(locatepart, 5)
1827
		end
1828
	end))
1829
	Swait(50)
1830
	ATTACK = false
1831
	Rooted = false
1832
end
1833
1834
function ViolentRoar()
1835
	ATTACK = true
1836
	Rooted = true
1837
	for i=0, 2, 0.1 / Animation_Speed do
1838
		Swait()
1839
		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)
1840
		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)
1841
		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)
1842
		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)
1843
		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*5)
1844
		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*5)
1845
	end
1846
	if Head ~= nil then
1847
	local roar = CreateSound("577131694", Head, 10, 1)
1848
		repeat
1849
			for i=0, 1.3, 0.1 / Animation_Speed do
1850
				Swait()
1851
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
1852
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1853
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(70)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1854
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-120)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1855
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(120), RAD(-35)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1856
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(35)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1857
			end
1858
			killnearest(Head.Position,25,25)
1859
			CreateRing(0,6,true,-0.2,35,Head,0,0.3,-0.3)
1860
			CreateRing(0,6,true,-0.2,35,Head,0,0.3,0.3)
1861
			CreateWave(0,5.5,true,0.05,45,RootPart,-4)
1862
			if roar.Playing == true then
1863
				for i=0, 1.3, 0.1 / Animation_Speed do
1864
					Swait()
1865
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1866
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1867
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(120)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1868
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-70)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1869
					RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(-35)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1870
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-120), RAD(35)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1871
				end
1872
				killnearest(Head.Position,25,25)
1873
				CreateRing(0,6,true,-0.2,35,Head,0,-0.3,-0.3)
1874
				CreateRing(0,6,true,-0.2,35,Head,0,-0.3,0.3)
1875
				CreateWave(0,5.5,true,-0.05,45,RootPart,-4)
1876
			end
1877
		until roar.Playing == false
1878
	end
1879
	Rooted = false
1880
	ATTACK = false
1881
end
1882
1883
function BulletsFromAbove()
1884
	HASJUMPED = true
1885
	--Rooted = true
1886
	for i=0, 2, 0.1 / Animation_Speed do
1887
		Swait()
1888
		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)
1889
		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)
1890
		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)
1891
		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)
1892
		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)
1893
		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)
1894
	end
1895
	CreateSound("2767090", Torso, 5, MRANDOM(7, 12) / 10)
1896
	CreateWave(0,3.5,true,0.2,150,RootPart,-2)
1897
	CreateWave(0,5,true,-0.2,150,RootPart,-2)
1898
	local bv = Instance.new("BodyVelocity") 
1899
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1900
	bv.velocity = Vector3.new(0,300,0)
1901
	bv.Parent = Torso
1902
	bv.Name = "DASH"
1903
	--Rooted = false
1904
	game:GetService("Debris"):AddItem(bv, 0.5)
1905
	Swait(125)
1906
	ATTACK = true
1907
	Rooted = true
1908
	UNANCHOR = false
1909
	RootPart.Anchored = true
1910
	local BulletHolder = IT("Folder",Weapon)
1911
	BulletHolder.Name = "Bullets"
1912
	game:GetService("Debris"):AddItem(BulletHolder, 30)
1913
	for i=0, 5, 0.1 / Animation_Speed do
1914
		Swait()
1915
		Rooted = true
1916
		RootPart.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1917
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0.35 * Player_Size, 0 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1918
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1919
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0.5 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1920
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0.5 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1921
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(15)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1922
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(-5)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1923
	end
1924
	for i = 1 ,15 do
1925
		Swait()
1926
		RootPart.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1927
	end
1928
	CreateSound("333476017", Torso, 10, 1)
1929
	for i = 1, 35 do
1930
		Swait()
1931
		RootPart.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1932
		coroutine.resume(coroutine.create(function()
1933
			local gem = IT("Part",BulletHolder)
1934
			gem.Size = VT(0.2,0.2,0.2)
1935
			gem.CFrame = Torso.CFrame * CF(math.random(-25,25),math.random(-25,25),math.random(-25,25))
1936
			gem.Anchored = true
1937
			gem.Color = C3(170, 0, 170)
1938
			local e = particles(gem)
1939
			e.LockedToPart = false
1940
			local Cys = Instance.new("SpecialMesh", gem)
1941
  			Cys.MeshType = "FileMesh"
1942
  			Cys.MeshId = "rbxassetid://9756362"
1943
  			Cys.Scale = Vector3.new(2,2,2)
1944
		end))
1945
	end
1946
	local Animation_Speed2 = Animation_Speed/2
1947
	for i=0, 1, 0.1 / Animation_Speed2 do
1948
		Swait()
1949
		--RootPart.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1950
		Rooted = true
1951
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, -0.35 * Player_Size, 0 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed2)
1952
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.15 / Animation_Speed2)
1953
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed2)
1954
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed2)
1955
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(-15)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed2)
1956
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(5)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed2)
1957
	end
1958
	CreateSound("318745457", Torso, 2, 1)
1959
	coroutine.resume(coroutine.create(function()
1960
		q = BulletHolder:GetChildren()
1961
		for i = 1, #q do
1962
			local bullet = q[i]
1963
			local bv = Instance.new("BodyVelocity") 
1964
			bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1965
			bv.velocity = RootPart.CFrame.lookVector * math.random(150,300)
1966
			bv.Parent = bullet
1967
			bv.Name = "DASH"
1968
			bullet.Anchored = false
1969
			local paw = bullet.Touched:Connect(function(hit)
1970
				if bullet.Reign.Enabled == true then
1971
					local cframe = bullet.CFrame
1972
					bullet.Anchored = true
1973
					bullet.Reign.Enabled = false
1974
					local particle = particles(bullet)
1975
					particle.Enabled = false
1976
					particle.Drag = 1
1977
					particle.Name = "poof"
1978
					particle.Lifetime=NumberRange.new(2.35,2.35,2.35)
1979
					particle.Speed = NumberRange.new(25,25,25)
1980
					particle:Emit(250)
1981
					CreateSound("438666196", bullet, 5, 1)
1982
					CreateRing(0,4,true,-0.2,35,bullet,0,0.3,-0.3)
1983
					CreateRing(0,4,true,-0.2,35,bullet,0,0.3,0.3)
1984
					CreateRing(0,6,true,-0.2,35,bullet,0,-0.3,0.3)
1985
					CreateRing(0,6,true,-0.2,35,bullet,0,-0.3,-0.3)
1986
					CreateWave(0,2.5,true,-0.05,25,bullet,-2)
1987
					CreateWave(0,2,true,0.05,25,bullet,-2)
1988
					CreateWave(0,1.5,true,-0.05,25,bullet,-2)
1989
					CreateWave(0,1,true,0.05,25,bullet,-2)
1990
					table.insert(Effects2,{bullet,"Block1",0.025,1,1,1,2})
1991
					AoEDamage(bullet.Position,25,25,30,15,false,5,3,false)
1992
				end
1993
			end) 
1994
		end
1995
	end))
1996
	for i = 1, 35 do
1997
		Swait()
1998
	end
1999
	UNANCHOR = true
2000
	RootPart.Anchored = false
2001
	Rooted = false
2002
	ATTACK = false
2003
		coroutine.resume(coroutine.create(function()
2004
			Swait(50)
2005
			HASJUMPED = false
2006
		end))
2007
end
2008
2009
function fromthedepths()
2010
	ATTACK = true
2011
	Rooted = true
2012
	for i=0, 2, 0.1 / Animation_Speed do
2013
		Swait()
2014
		turnto(Mouse.Hit.p)
2015
		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)
2016
		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)
2017
		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)
2018
		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)
2019
		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)
2020
		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)
2021
	end
2022
	local sinkhole = IT("Part",Effects)
2023
	sinkhole.Size = VT(85,0,85)
2024
	sinkhole.CFrame = CF(Mouse.Hit.p)
2025
	sinkhole.Material = "Neon"
2026
	sinkhole.Color = C3(170, 0, 170)
2027
	sinkhole.Anchored = true
2028
	sinkhole.CanCollide = false
2029
	sinkhole.Transparency = 1
2030
	local decal = IT("Decal",sinkhole)
2031
	decal.Face = "Top"
2032
	decal.Texture = "http://www.roblox.com/asset/?id=177470914"
2033
	repeat
2034
		Swait()
2035
		turnto(Mouse.Hit.p)
2036
		sinkhole.CFrame = CF(Mouse.Hit.p)
2037
	until KEYHOLD == false
2038
		coroutine.resume(coroutine.create(function()
2039
			local soundeffect = IT("Sound",sinkhole)
2040
			soundeffect.SoundId = "rbxassetid://487186990"
2041
			soundeffect.Looped = true
2042
			soundeffect.Volume = 10
2043
			soundeffect.Playing = true
2044
			for i = 1, 450 do
2045
				AoEDamage(sinkhole.Position,15,666,666,15,false,0,0,false)
2046
				AoEDamage(sinkhole.Position,25,65,80,15,false,5,3,true)
2047
				AoEDamage(sinkhole.Position,45,45,60,15,false,5,3,true)
2048
				Swait()
2049
				CreateWave(0,8,true,0.05,45,sinkhole,-1)
2050
				CreateWave(0,8,true,-0.05,45,sinkhole,-1)
2051
				if i > 439 then
2052
					decal.Transparency = decal.Transparency + 0.1
2053
					soundeffect.Volume = soundeffect.Volume - 1
2054
				end
2055
			end
2056
			sinkhole:remove()
2057
		end))
2058
	for i=0, 3, 0.1 / Animation_Speed do
2059
		Swait()
2060
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2061
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2062
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2063
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2064
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(-35)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2065
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(35)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2066
	end
2067
	Rooted = false
2068
	ATTACK = false
2069
end
2070
2071
function Warp()
2072
	ATTACK = true
2073
	CreateRing(0,2,true,-0.2,35,RootPart,0,0.3,0.3)
2074
	CreateRing(0,2.5,true,-0.2,35,RootPart,0,-0.3,0.3)
2075
	CreateRing(0,3,true,-0.2,35,RootPart,0,0.3,-0.3)
2076
	CreateRing(0,3.5,true,-0.2,35,RootPart,0,-0.3,-0.3)
2077
	local originalcframe = RootPart.CFrame
2078
	RootPart.CFrame = CF(VT(Mouse.Hit.p.X,Mouse.Hit.p.Y+(RootPart.Size.Y/2),Mouse.Hit.Z),originalcframe.p)
2079
	local penta = CreatePentagram(15,false,0,45,CF(RootPart.Position),-1)
2080
	CreateSound("3264923", penta, 2, 2)
2081
	ATTACK = false
2082
end
2083
2084
--//=================================\\
2085
--||	  ASSIGN THINGS TO KEYS
2086
--\\=================================//
2087
2088
function turnto(pos)
2089
	RootPart.CFrame = CF(RootPart.Position,VT(pos.X,RootPart.Position.Y,pos.Z))
2090
end
2091
2092
function MouseDown(Mouse)
2093
	if ATTACK == false and HASJUMPED == false and COMBO ~= "HALT" and Rooted == false then
2094
		HOLD = true
2095
		if ATTACK == false then
2096
			if COMBO == 1 then
2097
				COMBO = "HALT"
2098
				Attack1()
2099
			elseif COMBO == 2 then
2100
				COMBO = "HALT"
2101
				Attack2()
2102
			elseif COMBO == 3 then
2103
				COMBO = "HALT"
2104
				Attack3()
2105
			end
2106
			coroutine.resume(coroutine.create(function()
2107
				for i=1, 50 do
2108
					if ATTACK == false and COMBO ~= "HALT" then
2109
						Swait()
2110
					end
2111
				end
2112
				if ATTACK == false and COMBO ~= "HALT" then
2113
					COMBO = 1
2114
				end
2115
			end))
2116
		end
2117
	end
2118
end
2119
2120
function MouseUp(Mouse)
2121
HOLD = false
2122
end
2123
2124
function KeyDown(Key)
2125
	KEYHOLD = true
2126
	if Key == "e" and HASJUMPED == false and ATTACK == false then
2127
		Warp()
2128
	end
2129
	if Key == "g" and HASJUMPED == false and ATTACK == false then
2130
		fromthedepths()
2131
	end
2132
	if Key == "q" and HASJUMPED == false and ATTACK == false then
2133
		ViolentRoar()
2134
	end
2135
	if Key == "x" and HASJUMPED == false and ATTACK == false then
2136
		BulletsFromAbove()
2137
	end
2138
	if Key == "f" and HASJUMPED == false and ATTACK == false then
2139
		Sinnerwave()
2140
	end
2141
	if Key == "t" and ATTACK == false then
2142
		local taunt = CreateSound("907332670", Head, 10, 1)
2143
		local effect = IT("PitchShiftSoundEffect",taunt)
2144
		effect.Octave = 0.700
2145
	end
2146
end
2147
2148
function KeyUp(Key)
2149
	KEYHOLD = false
2150
end
2151
2152
	Mouse.Button1Down:connect(function(NEWKEY)
2153
		MouseDown(NEWKEY)
2154
	end)
2155
	Mouse.Button1Up:connect(function(NEWKEY)
2156
		MouseUp(NEWKEY)
2157
	end)
2158
	Mouse.KeyDown:connect(function(NEWKEY)
2159
		KeyDown(NEWKEY)
2160
	end)
2161
	Mouse.KeyUp:connect(function(NEWKEY)
2162
		KeyUp(NEWKEY)
2163
	end)
2164
2165
--//=================================\\
2166
--\\=================================//
2167
2168
2169
function unanchor()
2170
	if UNANCHOR == true then
2171
		g = Character:GetChildren()
2172
		for i = 1, #g do
2173
			if g[i].ClassName == "Part" then
2174
				g[i].Anchored = false
2175
			end
2176
		end
2177
	end
2178
end
2179
2180
2181
--//=================================\\
2182
--||	WRAP THE WHOLE SCRIPT UP
2183
--\\=================================//
2184
2185
local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
2186
2187
Humanoid.Changed:connect(function(Jump)
2188
	if Jump == "Jump" then
2189
		Humanoid.Jump = false
2190
		if HASJUMPED == false and HITFLOOR ~= nil and ATTACK == false and DISABLEJUMPING == false then
2191
			HASJUMPED = true
2192
			JumpUp()
2193
		end
2194
	end
2195
end)
2196
		Rooted = true
2197
		ANIMATE.Parent = nil
2198
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
2199
		IDLEANIMATION:Play()
2200
		Swait()
2201
		Rooted = false
2202
2203
createbodypart("Eye","Magenta",Head,VT(0.25, 0, -0.65),VT(3,3,3))
2204
createbodypart("Eye","Magenta",Head,VT(-0.25, 0, -0.65),VT(3,3,3))
2205
createbodypart("Eye","Magenta",Head,VT(0, 0.2, -0.65),VT(5,5,3))
2206
2207
while true do
2208
	Swait()
2209
	SINE = SINE + CHANGE
2210
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
2211
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
2212
	HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
2213
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
2214
	local WALKSPEEDVALUE = 24 / (Humanoid.WalkSpeed / 16)
2215
		if ANIM == "Walk" and ATTACK == false and TORSOVELOCITY > 1 then
2216
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2217
			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)
2218
			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*2)
2219
			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*2)
2220
		elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
2221
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2222
			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)
2223
			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*2)
2224
			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*2)
2225
		end
2226
		if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
2227
			ANIM = "Jump"
2228
			if ATTACK == false then
2229
				CreateWave(180,3,true,0,15,RootPart,-4)
2230
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2231
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2232
				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)
2233
				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)
2234
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
2235
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
2236
	        end
2237
		elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil and ATTACK == false then
2238
			ANIM = "Fall"
2239
			if ATTACK == false then
2240
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2241
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2242
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
2243
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
2244
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
2245
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
2246
			end
2247
		elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil and ATTACK == false then
2248
			ANIM = "Idle"
2249
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2250
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2251
				--RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2252
				--LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2253
				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)
2254
				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)
2255
				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)
2256
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.3 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(5), RAD(0)) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2257
		elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
2258
			ANIM = "Walk"
2259
			WALK = WALK + 1 / Animation_Speed
2260
			if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
2261
				WALK = 0
2262
				if WALKINGANIM == true then
2263
					WALKINGANIM = false
2264
				elseif WALKINGANIM == false then
2265
					WALKINGANIM = true
2266
				end
2267
			end
2268
			--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)
2269
			--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)
2270
			if ATTACK == false then
2271
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.5 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(35), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2272
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2273
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
2274
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
2275
				--RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2276
				--LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2277
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2278
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2279
			end
2280
		end
2281
if #Effects2>0 then
2282
for e=1,#Effects2 do
2283
if Effects2[e]~=nil then
2284
local Thing=Effects2[e]
2285
if Thing~=nil then
2286
local Part=Thing[1]
2287
local Mode=Thing[2]
2288
local Delay=Thing[3]
2289
local IncX=Thing[4]
2290
local IncY=Thing[5]
2291
local IncZ=Thing[6]
2292
local Part2=Thing[8]
2293
if Thing[1].Transparency<=1 then
2294
if Thing[2]=="Block1" then
2295
Thing[1].CFrame=Thing[1].CFrame
2296
Mesh=Thing[1].Mesh
2297
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
2298
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
2299
elseif Thing[2]=="Cylinder" then
2300
Mesh=Thing[1].Mesh
2301
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
2302
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
2303
elseif Thing[2]=="Blood" then
2304
Mesh=Thing[7]
2305
Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
2306
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
2307
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
2308
elseif Thing[2]=="Elec" then
2309
Mesh=Thing[1].Mesh
2310
Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
2311
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
2312
elseif Thing[2]=="Disappear" then
2313
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
2314
end
2315
else
2316
Part.Parent=nil
2317
table.remove(Effects2,e)
2318
end
2319
end
2320
end
2321
end
2322
end
2323
if UNANCHOR == true then
2324
	unanchor()
2325
end
2326
Humanoid.MaxHealth = "inf"
2327
Humanoid.Health = "inf"
2328
if Rooted == false then
2329
	DISABLEJUMPING = false
2330
	if ANIM == "Fall" then
2331
		Humanoid.WalkSpeed = Speed*3
2332
	else
2333
		Humanoid.WalkSpeed = Speed
2334
	end
2335
elseif Rooted == true then
2336
	DISABLEJUMPING = true
2337
	Humanoid.WalkSpeed = 0
2338
end
2339
q = Character:GetChildren()
2340
for u = 1, #q do
2341
	if q[u].ClassName == "Accessory" or q[u].ClassName == "Hat" then
2342
		q[u]:remove()
2343
	elseif q[u].ClassName == "Shirt" then
2344
		q[u]:Destroy()
2345
	elseif q[u].ClassName == "Pants" then
2346
		q[u]:Destroy()
2347
	elseif q[u].ClassName == "CharacterMesh" then
2348
		q[u]:remove()
2349
	elseif q[u].ClassName == "ShirtGraphic" then
2350
		q[u]:remove()
2351
	elseif q[u].ClassName == "Part" and q[u].Name ~= "HumanoidRootPart" then
2352
		q[u].Color = Color3.new(0/255, 0/255, 0/255)
2353
	end
2354
end
2355
if Head:FindFirstChild("face") then
2356
	Head.face:remove()
2357
end
2358
end
2359
2360
--//=================================\\
2361
--\\=================================//
2362
2363
2364
2365
2366
2367
--//====================================================\\--
2368
--||			  		 END OF SCRIPT
2369
--\\====================================================//--