View difference between Paste ID: JfEbb6z0 and UGdSrfZk
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||			   CREATED BY  KARMARANGE
3
--\\====================================================//--
4
5
local e = script.Parent:FindFirstChild("Body Colors")
6
if e then
7
e:Destroy()
8
end
9
10
wait(1 / 60)
11
12
13
wait(1)
14
HOLDBLIZZARD = false
15
Player = game:GetService("Players").LocalPlayer
16
PlayerGui = Player.PlayerGui
17
Cam = workspace.CurrentCamera
18
Backpack = Player.Backpack
19
Character = Player.Character
20
Humanoid = Character.Humanoid
21
Mouse = Player:GetMouse()
22
RootPart = Character["HumanoidRootPart"]
23
Torso = Character["Torso"]
24
Head = Character["Head"]
25
RightArm = Character["Right Arm"]
26
LeftArm = Character["Left Arm"]
27
RightLeg = Character["Right Leg"]
28
LeftLeg = Character["Left Leg"]
29
RootJoint = RootPart["RootJoint"]
30
Neck = Torso["Neck"]
31
RightShoulder = Torso["Right Shoulder"]
32
LeftShoulder = Torso["Left Shoulder"]
33
RightHip = Torso["Right Hip"]
34
LeftHip = Torso["Left Hip"]
35
FREEZEHIT = 0
36
Head.BrickColor = BrickColor.new("Light stone grey")
37
RightArm.BrickColor = BrickColor.new("Light stone grey")
38
LeftArm.BrickColor = BrickColor.new("Light stone grey")
39
LeftLeg.BrickColor = BrickColor.new("Light stone grey")
40
RightLeg.BrickColor = BrickColor.new("Light stone grey")
41
Torso.BrickColor = BrickColor.new("Light stone grey")
42
wait(0.2)
43
Head.face:Destroy()
44
Humanoid.MaxHealth = "inf"
45
Humanoid.Health = "inf"
46
Humanoid.WalkSpeed = 45
47
Humanoid.JumpPower = 175
48
local eye1 = Instance.new("Hat")
49
eye1.AttachmentPos = Vector3.new(0.15,2,0.6)
50
eye1.AttachmentForward = Vector3.new(0,-1,0)
51
eye1.AttachmentRight = Vector3.new(0,0,1)
52
eye1.AttachmentUp = Vector3.new(1,0,0)
53
pupil1 = Instance.new("Part")
54
pupil1.Size = Vector3.new(1.45,1,1.8)
55
pupil1.CanCollide = false
56
local mesh = Instance.new("SpecialMesh")
57
mesh.MeshType = "Sphere"
58
mesh.Parent = pupil1
59
pupil1.Material = "Neon"
60
pupil1.BrickColor = BrickColor.new("Steel blue")
61
pupil1.Parent = eye1
62
pupil1.Name = "Handle"
63
local eye2 = Instance.new("Hat")
64
eye2.AttachmentPos = Vector3.new(0.15,2,-0.6)
65
eye2.AttachmentForward = Vector3.new(0,-1,0)
66
eye2.AttachmentRight = Vector3.new(0,0,1)
67
eye2.AttachmentUp = Vector3.new(1,0,0)
68
pupil2 = Instance.new("Part")
69
pupil2.Size = Vector3.new(1.45,1,1.8)
70
pupil2.CanCollide = false
71
local mesh2 = Instance.new("SpecialMesh")
72
mesh2.MeshType = "Sphere"
73
mesh2.Parent = pupil2
74
pupil2.Material = "Neon"
75
pupil2.BrickColor = BrickColor.new("Steel blue")
76
pupil2.Parent = eye2
77
pupil2.Name = "Handle"
78
k = Instance.new("Sound",Character)
79
k.Volume = 1.5
80
k.Looped = true
81
k.PlaybackSpeed = 1
82
k.Pitch = 1
83
k.SoundId = "rbxassetid://182880939"
84
k:Play()
85
k.Name = "BackgroundMusic"
86
local horns = Instance.new("Hat")
87
horns.AttachmentPos = Vector3.new(0, -1.7, 0.6)
88
horns.AttachmentForward = Vector3.new(0, 0, -1)
89
horns.AttachmentRight = Vector3.new(1, 0, 0)
90
horns.AttachmentUp = Vector3.new(0, 1, 0)
91
he = Instance.new("Part")
92
he.Size = Vector3.new(0.5,0.5,0.5)
93
he.CanCollide = false
94
he.Name = "Handle"
95
he.Parent = horns
96
he.BrickColor = BrickColor.new("Really black")
97
local mesh2 = Instance.new("SpecialMesh")
98
mesh2.MeshType = "FileMesh"
99
mesh2.Parent = he
100
mesh2.MeshId = "http://www.roblox.com/asset/?id=77352193"
101
mesh2.Scale = Vector3.new(4, 4, 4)
102
if Character:FindFirstChild("Shirt") then
103
Character.Shirt:Destroy()
104
end
105
if Character:FindFirstChild("Pants") then
106
Character.Pants:Destroy()
107
end
108
local top = Instance.new("Shirt")
109
top.ShirtTemplate = "rbxassetid://727336287"
110
top.Parent = Character
111
Head.BrickColor = BrickColor.new("Light stone grey")
112
RightArm.BrickColor = BrickColor.new("Light stone grey")
113
LeftArm.BrickColor = BrickColor.new("Light stone grey")
114
LeftLeg.BrickColor = BrickColor.new("Light stone grey")
115
RightLeg.BrickColor = BrickColor.new("Light stone grey")
116
Torso.BrickColor = BrickColor.new("Light stone grey")
117
it=Instance.new
118
vt=Vector3.new
119
cf=CFrame.new
120
euler=CFrame.fromEulerAnglesXYZ
121
angles=CFrame.Angles
122
Head.Mesh:Destroy()
123
newmesh = Instance.new("SpecialMesh")
124
newmesh.Scale = Vector3.new(4,4,4)
125
newmesh.MeshId = "http://www.roblox.com/asset/?id=74888095"
126
newmesh.TextureId = "http://www.roblox.com/asset/?id=364477701"
127
newmesh.Parent = Head
128
129
130
131
IT = Instance.new
132
CF = CFrame.new
133
VT = Vector3.new
134
RAD = math.rad
135
C3 = Color3.new
136
UD2 = UDim2.new
137
BRICKC = BrickColor.new
138
ANGLES = CFrame.Angles
139
EULER = CFrame.fromEulerAnglesXYZ
140
COS = math.cos
141
ACOS = math.acos
142
SIN = math.sin
143
ASIN = math.asin
144
ABS = math.abs
145
MRANDOM = math.random
146
FLOOR = math.floor
147
148
149
150
151
152
--//=================================\\
153
--||		  CUSTOMIZATION
154
--\\=================================//
155
156
Class_Name = "Arlis"
157
Weapon_Name = "Arlis"
158
159
Custom_Colors = {
160
	Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
161
	Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
162
163
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
164
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
165
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
166
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
167
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
168
169
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
170
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
171
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
172
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
173
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
174
}
175
176
Mana_Bar_Background_Transparency = 0 --Transparency for the background of the mana bar.
177
Secondary_Mana_Bar_Background_Transparency = 0 --Transparency for the background of the secondary mana bar.
178
Health_Bar_Background_Transparency = 0 --Transparency for the background of the health bar.
179
Stun_Bar_Background_Transparency = 0 --Transparency for the background of the stun bar.
180
Ability_Background_Transparency = 0  --Transparency for the background of the abilities.
181
Stat_Background_Transparency = 0 --Transparency for the background of the stats.
182
183
Player_Size = 4 --Size of the player.
184
Animation_Speed = 8
185
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
186
187
Enable_Gui = false --Enables or disables the Weapon Gui. Also functions as hiding or showing the Gui.
188
Enable_Stats = false --Enables or disables stats.
189
Put_Stats_In_Character = false --Places stats in Character.
190
Enable_Stagger_Hit = false --Enables or disables staggering when hitting a hitbox of some sort.
191
Play_Hitbox_Hit_Sound = true --Plays a hit sound when hitting a hitbox of some sort.
192
Enable_Stagger = false --Enables or disables staggering.
193
Enable_Stun = false --Enables or disables the stun mechanic.
194
Enable_Abilities = false --Enables abilites with cooldowns and mana costs.
195
Enable_Secondary_Bar = false --Enables the secondary mana bar, if true.
196
197
Start_Equipped = false --Starts the player equipped with their weapon.
198
Start_Equipped_With_Equipped_Animation = false --Used in conjunction with the above option. Starts your equip animation.
199
Can_Equip_Or_Unequip = true --Enables or disables the ability to unequip or equip your weapon.
200
Disable_Animator = true --Disables the Animator in the humanoid.
201
Disable_Animate = true --Disables the Animate script in the character.
202
Disable_Moving_Arms = false --Keeps the arms from moving around.
203
Use_Motors_Instead_Of_Welds = false --Uses motors instead of welds to disable moving arms.
204
Walkspeed_Depends_On_Movement_Value = false --Walkspeed depends on movement value. Self-explanatory.
205
Disable_Jump = false --Disables jumping.
206
Use_HopperBin = true --Uses a hopperbin to do things.
207
208
Cooldown_1 = 0 --Cooldowns for abilites.
209
Cooldown_2 = 0
210
Cooldown_3 = 0
211
Cooldown_4 = 0
212
Skill_1_Mana_Cost = 0 --How much mana is required to use the skill.
213
Skill_2_Mana_Cost = 0
214
Skill_3_Mana_Cost = 0
215
Skill_4_Mana_Cost = 0
216
Max_Mana = 0 --Maximum amount of mana you can have.
217
Max_Secondary_Mana = 0 --Maximum amount of secondary mana you can have.
218
Mana_Name = "Mana" --Name for the mana bar.
219
Secondary_Mana_Name = "Block" --Name for the secondary mana bar.
220
Max_Stun = 1 --Maximum amount of stun you can have.
221
Recover_Mana = 0 --How much mana you gain.
222
Mana_Regen_Mode = "1" --Basically switches from one mana regen system to another.
223
Secondary_Mana_Regen_Mode = "1" --Basically switches from one secondary mana regen system to another.
224
Stun_Lose_Mode = "1" --Basically switches from one secondary stun loss system to another.
225
Recover_Secondary_Mana = 0 --How much secondary mana you gain.
226
Lose_Stun = 0 --How much stun you lose.
227
Stun_Wait = 0 --Delay between losing stun.
228
Mana_Wait = 0 --Delay between gaining mana.
229
Secondary_Mana_Wait = 0 --Delay between gaining secondary mana.
230
Menu_Update_Speed = 0 --How fast the Weapon Gui will update.
231
Constant_Update = false --Removes the delay between updating the Weapon GUI.
232
Show_Stats = false --Hides or shows stats.
233
Stat_Offset = 0.74 --For cosmetic purposes. {0.74, 0.78}
234
235
--//=================================\\
236
--|| 	  END OF CUSTOMIZATION
237
--\\=================================//
238
239
240
function chatfunc(text)
241
local chat = coroutine.wrap(function()
242
if Character:FindFirstChild("TalkingBillBoard")~= nil then
243
Character:FindFirstChild("TalkingBillBoard"):destroy()
244
end
245
local naeeym2 = Instance.new("BillboardGui",Character)
246
naeeym2.Size = UDim2.new(0,100,0,40)
247
naeeym2.StudsOffset = Vector3.new(0,7,0)
248
naeeym2.Adornee = Character.Head
249
naeeym2.Name = "TalkingBillBoard"
250
naeeym2.AlwaysOnTop = true
251
local tecks2 = Instance.new("TextLabel",naeeym2)
252
tecks2.BackgroundTransparency = 1
253
tecks2.BorderSizePixel = 0
254
tecks2.Text = ""
255
tecks2.Font = "Fantasy"
256
tecks2.TextSize = 30
257
tecks2.TextStrokeTransparency = 0
258
tecks2.TextColor3 = Color3.new(0,0,1)
259
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
260
tecks2.Size = UDim2.new(1,0,0.5,0)
261
local tecks3 = Instance.new("TextLabel",naeeym2)
262
tecks3.BackgroundTransparency = 1
263
tecks3.BorderSizePixel = 0
264
tecks3.Text = ""
265
tecks3.Font = "Fantasy"
266
tecks3.TextSize = 30
267
tecks3.TextStrokeTransparency = 0
268
tecks3.TextColor3 = Color3.new(0,0,1)
269
tecks3.TextStrokeColor3 = Color3.new(0,0,0)
270
tecks3.Size = UDim2.new(1,0,0.5,0)
271
for i = 1,string.len(text),1 do
272
tecks2.Text = string.sub(text,1,i)
273
tecks3.Text = string.sub(text,1,i)
274
wait(0.01)
275
end
276
wait(2)
277
for i = 1, 50 do
278
wait()
279
tecks2.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
280
tecks2.Rotation = tecks2.Rotation - .8
281
tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
282
tecks2.TextTransparency = tecks2.TextTransparency + .04
283
tecks3.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
284
tecks3.Rotation = tecks2.Rotation + .8
285
tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
286
tecks3.TextTransparency = tecks2.TextTransparency + .04
287
end
288
naeeym2:Destroy()
289
end)
290
chat()
291
end
292
function onChatted(msg)
293
chatfunc(msg)
294
end
295
Player.Chatted:connect(onChatted)
296
297
298
--//=================================\\
299
--|| 	      USEFUL VALUES
300
--\\=================================//
301
302
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
303
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
304
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
305
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
306
local CO1 = 0
307
local CO2 = 0
308
local CO3 = 0
309
local CO4 = 0
310
local CHANGEDEFENSE = 0
311
local CHANGEDAMAGE = 0
312
local CHANGEMOVEMENT = 0
313
local ANIM = "Idle"
314
local ATTACK = false
315
local EQUIPPED = false
316
local HOLD = false
317
local COMBO = 1
318
local LASTPOINT = nil
319
local BLCF = nil
320
local SCFR = nil
321
local STAGGERHITANIM = false
322
local STAGGERANIM = false
323
local STUNANIM = false
324
local CRITCHANCENUMBER = 0
325
local IDLENUMBER = 0
326
local DONUMBER = 0
327
local HANDIDLE = false
328
local SINE = 0
329
local CHANGE = 2 / Animation_Speed
330
local WALKINGANIM = false
331
local WALK = 0
332
local DISABLEJUMPING = false
333
local HASBEENBLOCKED = false
334
local STUNDELAYNUMBER = 0
335
local MANADELAYNUMBER = 0
336
local SECONDARYMANADELAYNUMBER = 0
337
local ROBLOXIDLEANIMATION = IT("Animation")
338
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
339
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
340
--ROBLOXIDLEANIMATION.Parent = Humanoid
341
local WEAPONGUI = IT("ScreenGui", nil)
342
WEAPONGUI.Name = "Weapon GUI"
343
local WEAPONTOOL = IT("HopperBin", nil)
344
WEAPONTOOL.Name = Weapon_Name
345
local Weapon = IT("Model")
346
Weapon.Name = Weapon_Name
347
local Effects = IT("Folder", Weapon)
348
Effects.Name = "Effects"
349
local ANIMATOR = Humanoid.Animator
350
local ANIMATE = Character.Animate
351
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
352
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
353
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
354
local HITBLOCKSOUNDS = {"199148933", "199148947"}
355
356
--//=================================\\
357
--\\=================================//
358
359
360
361
362
363
--//=================================\\
364
--||			  STATS
365
--\\=================================//
366
367
if Character:FindFirstChild("Stats") ~= nil then
368
Character:FindFirstChild("Stats").Parent = nil
369
end
370
371
local Stats = IT("Folder", nil)
372
Stats.Name = "Stats"
373
local ChangeStat = IT("Folder", Stats)
374
ChangeStat.Name = "ChangeStat"
375
local Defense = IT("NumberValue", Stats)
376
Defense.Name = "Defense"
377
Defense.Value = 1
378
local Movement = IT("NumberValue", Stats)
379
Movement.Name = "Movement"
380
Movement.Value = 1
381
local Damage = IT("NumberValue", Stats)
382
Damage.Name = "Damage"
383
Damage.Value = 1
384
local Mana = IT("NumberValue", Stats)
385
Mana.Name = "Mana"
386
Mana.Value = 0
387
local SecondaryMana = IT("NumberValue", Stats)
388
SecondaryMana.Name = "SecondaryMana"
389
SecondaryMana.Value = 0
390
local CanCrit = IT("BoolValue", Stats)
391
CanCrit.Name = "CanCrit"
392
CanCrit.Value = false
393
local CritChance = IT("NumberValue", Stats)
394
CritChance.Name = "CritChance"
395
CritChance.Value = 20
396
local CanPenetrateArmor = IT("BoolValue", Stats)
397
CanPenetrateArmor.Name = "CanPenetrateArmor"
398
CanPenetrateArmor.Value = false
399
local AntiTeamKill = IT("BoolValue", Stats)
400
AntiTeamKill.Name = "AntiTeamKill"
401
AntiTeamKill.Value = false
402
local Rooted = IT("BoolValue", Stats)
403
Rooted.Name = "Rooted"
404
Rooted.Value = false
405
local Block = IT("BoolValue", Stats)
406
Block.Name = "Block"
407
Block.Value = false
408
local RecentEnemy = IT("ObjectValue", Stats)
409
RecentEnemy.Name = "RecentEnemy"
410
RecentEnemy.Value = nil
411
local StaggerHit = IT("BoolValue", Stats)
412
StaggerHit.Name = "StaggerHit"
413
StaggerHit.Value = false
414
local Stagger = IT("BoolValue", Stats)
415
Stagger.Name = "Stagger"
416
Stagger.Value = false
417
local Stun = IT("BoolValue", Stats)
418
Stun.Name = "Stun"
419
Stun.Value = false
420
local StunValue = IT("NumberValue", Stats)
421
StunValue.Name = "StunValue"
422
StunValue.Value = 0
423
424
if Enable_Stats == true and Put_Stats_In_Character == true then
425
	Stats.Parent = Character
426
end
427
428
--//=================================\\
429
--\\=================================//
430
431
432
433
434
435
--//=================================\\
436
--|| 	     DEBUFFS / BUFFS
437
--\\=================================//
438
439
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
440
DEFENSECHANGE1.Name = "ChangeDefense"
441
DEFENSECHANGE1.Value = 0
442
443
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
444
MOVEMENTCHANGE1.Name = "ChangeMovement"
445
MOVEMENTCHANGE1.Value = 0
446
447
--//=================================\\
448
--\\=================================//
449
450
451
452
453
454
--//=================================\\
455
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
456
--\\=================================//
457
458
ArtificialHB = Instance.new("BindableEvent", script)
459
ArtificialHB.Name = "ArtificialHB"
460
461
script:WaitForChild("ArtificialHB")
462
463
frame = Frame_Speed
464
tf = 0
465
allowframeloss = false
466
tossremainder = false
467
lastframe = tick()
468
script.ArtificialHB:Fire()
469
470
game:GetService("RunService").Heartbeat:connect(function(s, p)
471
	tf = tf + s
472
	if tf >= frame then
473
		if allowframeloss then
474
			script.ArtificialHB:Fire()
475
			lastframe = tick()
476
		else
477
			for i = 1, math.floor(tf / frame) do
478
				script.ArtificialHB:Fire()
479
			end
480
		lastframe = tick()
481
		end
482
		if tossremainder then
483
			tf = 0
484
		else
485
			tf = tf - frame * math.floor(tf / frame)
486
		end
487
	end
488
end)
489
490
--//=================================\\
491
--\\=================================//
492
493
494
495
496
497
--//=================================\\
498
--|| 	      SOME FUNCTIONS
499
--\\=================================//
500
501
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
502
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
503
end
504
505
function PositiveAngle(NUMBER)
506
	if NUMBER >= 0 then
507
		NUMBER = 0
508
	end
509
	return NUMBER
510
end
511
512
function NegativeAngle(NUMBER)
513
	if NUMBER <= 0 then
514
		NUMBER = 0
515
	end
516
	return NUMBER
517
end
518
519
function Swait(NUMBER)
520
	if NUMBER == 0 or NUMBER == nil then
521
		ArtificialHB.Event:wait()
522
	else
523
		for i = 1, NUMBER do
524
			ArtificialHB.Event:wait()
525
		end
526
	end
527
end
528
529
function QuaternionFromCFrame(cf)
530
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
531
	local trace = m00 + m11 + m22
532
	if trace > 0 then 
533
		local s = math.sqrt(1 + trace)
534
		local recip = 0.5 / s
535
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
536
	else
537
		local i = 0
538
		if m11 > m00 then
539
			i = 1
540
		end
541
		if m22 > (i == 0 and m00 or m11) then
542
			i = 2
543
		end
544
		if i == 0 then
545
			local s = math.sqrt(m00 - m11 - m22 + 1)
546
			local recip = 0.5 / s
547
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
548
		elseif i == 1 then
549
			local s = math.sqrt(m11 - m22 - m00 + 1)
550
			local recip = 0.5 / s
551
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
552
		elseif i == 2 then
553
			local s = math.sqrt(m22 - m00 - m11 + 1)
554
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
555
		end
556
	end
557
end
558
 
559
function QuaternionToCFrame(px, py, pz, x, y, z, w)
560
	local xs, ys, zs = x + x, y + y, z + z
561
	local wx, wy, wz = w * xs, w * ys, w * zs
562
	local xx = x * xs
563
	local xy = x * ys
564
	local xz = x * zs
565
	local yy = y * ys
566
	local yz = y * zs
567
	local zz = z * zs
568
	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))
569
end
570
 
571
function QuaternionSlerp(a, b, t)
572
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
573
	local startInterp, finishInterp;
574
	if cosTheta >= 0.0001 then
575
		if (1 - cosTheta) > 0.0001 then
576
			local theta = ACOS(cosTheta)
577
			local invSinTheta = 1 / SIN(theta)
578
			startInterp = SIN((1 - t) * theta) * invSinTheta
579
			finishInterp = SIN(t * theta) * invSinTheta
580
		else
581
			startInterp = 1 - t
582
			finishInterp = t
583
		end
584
	else
585
		if (1 + cosTheta) > 0.0001 then
586
			local theta = ACOS(-cosTheta)
587
			local invSinTheta = 1 / SIN(theta)
588
			startInterp = SIN((t - 1) * theta) * invSinTheta
589
			finishInterp = SIN(t * theta) * invSinTheta
590
		else
591
			startInterp = t - 1
592
			finishInterp = t
593
		end
594
	end
595
	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
596
end
597
598
function Clerp(a, b, t)
599
	local qa = {QuaternionFromCFrame(a)}
600
	local qb = {QuaternionFromCFrame(b)}
601
	local ax, ay, az = a.x, a.y, a.z
602
	local bx, by, bz = b.x, b.y, b.z
603
	local _t = 1 - t
604
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
605
end
606
607
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
608
	local frame = IT("Frame")
609
	frame.BackgroundTransparency = TRANSPARENCY
610
	frame.BorderSizePixel = BORDERSIZEPIXEL
611
	frame.Position = POSITION
612
	frame.Size = SIZE
613
	frame.BackgroundColor3 = COLOR
614
	frame.BorderColor3 = BORDERCOLOR
615
	frame.Name = NAME
616
	frame.Parent = PARENT
617
	return frame
618
end
619
620
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
621
	local label = IT("TextLabel")
622
	label.BackgroundTransparency = 1
623
	label.Size = UD2(1, 0, 1, 0)
624
	label.Position = UD2(0, 0, 0, 0)
625
	label.TextColor3 = C3(255, 255, 255)
626
	label.TextStrokeTransparency = STROKETRANSPARENCY
627
	label.TextTransparency = TRANSPARENCY
628
	label.FontSize = TEXTFONTSIZE
629
	label.Font = TEXTFONT
630
	label.BorderSizePixel = BORDERSIZEPIXEL
631
	label.TextScaled = true
632
	label.Text = TEXT
633
	label.Name = NAME
634
	label.Parent = PARENT
635
	return label
636
end
637
638
function NoOutlines(PART)
639
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
640
end
641
642
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
643
	local NEWPART = IT("Part")
644
	NEWPART.formFactor = FORMFACTOR
645
	NEWPART.Reflectance = REFLECTANCE
646
	NEWPART.Transparency = TRANSPARENCY
647
	NEWPART.CanCollide = false
648
	NEWPART.Locked = true
649
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
650
	NEWPART.Name = NAME
651
	NEWPART.Size = SIZE
652
	NEWPART.Position = Torso.Position
653
	NoOutlines(NEWPART)
654
	NEWPART.Material = MATERIAL
655
	NEWPART:BreakJoints()
656
	NEWPART.Parent = PARENT
657
	return NEWPART
658
end
659
660
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
661
	local NEWMESH = IT(MESH)
662
	if MESH == "SpecialMesh" then
663
		NEWMESH.MeshType = MESHTYPE
664
		if MESHID ~= "nil" and MESHID ~= "" then
665
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
666
		end
667
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
668
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id=909271408"
669
		end
670
	end
671
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
672
	NEWMESH.Scale = SCALE
673
	NEWMESH.Parent = PARENT
674
    PARENT.Transparency = 1
675
	return NEWMESH
676
end
677
678
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
679
	local NEWWELD = IT(TYPE)
680
	NEWWELD.Part0 = PART0
681
	NEWWELD.Part1 = PART1
682
	NEWWELD.C0 = C0
683
	NEWWELD.C1 = C1
684
	NEWWELD.Parent = PARENT
685
	return NEWWELD
686
end
687
688
function CreateSound(ID, PARENT, VOLUME, PITCH)
689
	coroutine.resume(coroutine.create(function()
690
		local NEWSOUND = IT("Sound", PARENT)
691
		NEWSOUND.Volume = VOLUME
692
		NEWSOUND.Pitch = PITCH
693
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
694
		Swait()
695
		NEWSOUND:play()
696
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
697
	end))
698
end
699
700
function CFrameFromTopBack(at, top, back)
701
	local right = top:Cross(back)
702
	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)
703
end
704
705
function Lightning(POSITION1, POSITION2, MULTIPLIERTIME, LIGHTNINGDELAY, OFFSET, BRICKCOLOR, MATERIAL, SIZE, TRANSPARENCY, LASTINGTIME)
706
	local MAGNITUDE = (POSITION1 - POSITION2).magnitude 
707
	local CURRENTPOSITION = POSITION1
708
	local LIGHTNINGOFFSET = {-OFFSET, OFFSET}
709
	coroutine.resume(coroutine.create(function()
710
		for i = 1, MULTIPLIERTIME do 
711
			local LIGHTNINGPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR,"Effect", VT(SIZE * Player_Size, SIZE * Player_Size, MAGNITUDE / MULTIPLIERTIME))
712
			LIGHTNINGPART.Anchored = true
713
			local LIGHTNINGOFFSET2 = VT(LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)]) 
714
			local LIGHTNINGPOSITION1 = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME).p + LIGHTNINGOFFSET2
715
			if MULTIPLIERTIME == i then 
716
				local LIGHTNINGMAGNITUDE1 = (CURRENTPOSITION - POSITION2).magnitude
717
				LIGHTNINGPART.Size = VT(SIZE * Player_Size, SIZE * Player_Size, LIGHTNINGMAGNITUDE1)
718
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, -LIGHTNINGMAGNITUDE1 / 2)
719
			else
720
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, LIGHTNINGPOSITION1) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2)
721
			end
722
			CURRENTPOSITION=LIGHTNINGPART.CFrame * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2).p
723
			game.Debris:AddItem(LIGHTNINGPART, LASTINGTIME)
724
			coroutine.resume(coroutine.create(function()
725
				while LIGHTNINGPART.Transparency ~= 1 do
726
					--local StartTransparency = tra
727
					for i=0, 1, LASTINGTIME do
728
						Swait()
729
						LIGHTNINGPART.Transparency = LIGHTNINGPART.Transparency + (0.1 / LASTINGTIME)
730
					end
731
				end
732
			end))
733
		Swait(LIGHTNINGDELAY / Animation_Speed)
734
		end
735
	end))
736
end
737
738
	function part(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
739
		local fp=it("Part")
740
		fp.formFactor=formfactor
741
		fp.Parent=parent
742
		fp.Reflectance=reflectance
743
		fp.Transparency=transparency
744
		fp.CanCollide=false
745
		fp.Locked=true
746
		fp.BrickColor=BrickColor.new(tostring(brickcolor))
747
		fp.Name=name
748
		fp.Size=size
749
		fp.Position=Character.Torso.Position
750
		fp.Material=material
751
		fp:BreakJoints()
752
		return fp
753
	end
754
	
755
	function mesh(Mesh,part,meshtype,meshid,offset,scale)
756
		local mesh=it(Mesh)
757
		mesh.Parent=part
758
		if Mesh=="SpecialMesh" then
759
			mesh.MeshType=meshtype
760
			mesh.MeshId=meshid
761
		end
762
		mesh.Offset=offset
763
		mesh.Scale=scale
764
		return mesh
765
	end
766
767
function BreakEffect(brickcolor,cframe,x1,y1,z1)
768
local prt=part("Custom",workspace,"Ice",0,0,"Steel blue","Effect",vt(1.5,1.5,1.5))
769
prt.Anchored = true
770
prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
771
local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1))
772
coroutine.resume(coroutine.create(function(Part,CF,Numbb,randnumb) 
773
CF=Part.CFrame
774
Numbb=0
775
randnumb=math.random()-math.random()
776
for i=0,1,0.05 do
777
wait()
778
CF=CF*cf(0,1,0)
779
--Part.CFrame=Part.CFrame*euler(0.5,0,0)*cf(0,1,0)
780
Part.CFrame=CF*euler(Numbb,0,0)
781
Part.Transparency=i
782
Numbb=Numbb+randnumb
783
end
784
Part.Parent=nil
785
end),prt)
786
end
787
788
function reap(t)
789
if t.Name ~= "Corpse" and t:FindFirstChild("Torso") then
790
local s = Instance.new("Model")
791
s.Name = t.Name
792
s.Parent = workspace
793
local tors = Instance.new("Part")
794
tors.Name = "Torso"
795
tors.Size = t.Torso.Size
796
tors.Parent = s
797
tors.CFrame = t.Torso.CFrame
798
tors.Transparency = 1
799
tors.CanCollide = false
800
CreateSound("144884907", tors, 1, 1)
801
for i = 1, 25 do
802
BreakEffect(BrickColor.new("Black"),tors.CFrame,0.5,math.random(5,20),0.5)
803
end
804
t:Destroy()
805
end
806
end
807
808
function MagicBlock(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
809
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
810
	EFFECTPART.Anchored = true
811
	EFFECTPART.CFrame = CFRAME
812
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
813
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
814
	coroutine.resume(coroutine.create(function(PART, MESH)
815
		for i = 0, 1, delay do
816
			Swait()
817
			PART.CFrame = PART.CFrame * ROTATION
818
			PART.Transparency = i
819
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
820
		end
821
		PART.Parent = nil
822
	end), EFFECTPART, EFFECTMESH)
823
end
824
825
function MagicSphere(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
826
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
827
	EFFECTPART.Anchored = true
828
	EFFECTPART.CFrame = CFRAME
829
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Sphere", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
830
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
831
	coroutine.resume(coroutine.create(function(PART, MESH)
832
		for i = 0, 1, delay do
833
			Swait()
834
			PART.CFrame = PART.CFrame * ROTATION
835
			PART.Transparency = i
836
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
837
		end
838
		PART.Parent = nil
839
	end), EFFECTPART, EFFECTMESH)
840
end
841
842
function MagicCylinder(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
843
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
844
	EFFECTPART.Anchored = true
845
	EFFECTPART.CFrame = CFRAME
846
	local EFFECTMESH = CreateMesh("CylinderMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
847
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
848
	coroutine.resume(coroutine.create(function(PART, MESH)
849
		for i = 0, 1, delay do
850
			Swait()
851
			PART.CFrame = PART.CFrame * ROTATION
852
			PART.Transparency = i
853
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
854
		end
855
		PART.Parent = nil
856
	end), EFFECTPART, EFFECTMESH)
857
end
858
859
function MagicHead(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
860
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
861
	EFFECTPART.Anchored = true
862
	EFFECTPART.CFrame = CFRAME
863
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Head", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
864
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
865
	coroutine.resume(coroutine.create(function(PART, MESH)
866
		for i = 0, 1, delay do
867
			Swait()
868
			PART.CFrame = PART.CFrame * ROTATION
869
			PART.Transparency = i
870
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
871
		end
872
		PART.Parent = nil
873
	end), EFFECTPART, EFFECTMESH)
874
end
875
876
function MagicRing(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
877
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
878
	EFFECTPART.Anchored = true
879
	EFFECTPART.CFrame = CFRAME
880
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "3270017", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
881
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
882
	coroutine.resume(coroutine.create(function(PART, MESH)
883
		for i = 0, 1, delay do
884
			Swait()
885
			PART.CFrame = PART.CFrame * ROTATION
886
			PART.Transparency = i
887
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
888
		end
889
		PART.Parent = nil
890
	end), EFFECTPART, EFFECTMESH)
891
end
892
893
function MagicWave(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
894
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
895
	EFFECTPART.Anchored = true
896
	EFFECTPART.CFrame = CFRAME
897
	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))
898
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
899
	coroutine.resume(coroutine.create(function(PART, MESH)
900
		for i = 0, 1, delay do
901
			Swait()
902
			PART.CFrame = PART.CFrame * ROTATION
903
			PART.Transparency = i
904
			MESH.Offset = VT(0, 0, (-0.1 * MESH.Scale.Z))
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 MagicCrystal(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", "9756362", "", 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 MagicSwirl(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, 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", "1051557", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
933
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
934
	coroutine.resume(coroutine.create(function(PART, MESH)
935
		for i = 0, 1, delay do
936
			Swait()
937
			PART.CFrame = PART.CFrame * ROTATION
938
			PART.Transparency = i
939
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
940
		end
941
		PART.Parent = nil
942
	end), EFFECTPART, EFFECTMESH)
943
end
944
945
function MagicSharpCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
946
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
947
	EFFECTPART.Anchored = true
948
	EFFECTPART.CFrame = CFRAME
949
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1778999", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
950
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
951
	coroutine.resume(coroutine.create(function(PART, MESH)
952
		for i = 0, 1, delay do
953
			Swait()
954
			PART.CFrame = PART.CFrame * ROTATION
955
			PART.Transparency = i
956
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
957
		end
958
		PART.Parent = nil
959
	end), EFFECTPART, EFFECTMESH)
960
end
961
962
function MagicFlatCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
963
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
964
	EFFECTPART.Anchored = true
965
	EFFECTPART.CFrame = CFRAME
966
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1033714", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
967
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
968
	coroutine.resume(coroutine.create(function(PART, MESH)
969
		for i = 0, 1, delay do
970
			Swait()
971
			PART.CFrame = PART.CFrame * ROTATION
972
			PART.Transparency = i
973
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
974
		end
975
		PART.Parent = nil
976
	end), EFFECTPART, EFFECTMESH)
977
end
978
979
function MagicSpikedCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
980
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
981
	EFFECTPART.Anchored = true
982
	EFFECTPART.CFrame = CFRAME
983
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1323306", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
984
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
985
	coroutine.resume(coroutine.create(function(PART, MESH)
986
		for i = 0, 1, delay do
987
			Swait()
988
			PART.CFrame = PART.CFrame * ROTATION
989
			PART.Transparency = i
990
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
991
		end
992
		PART.Parent = nil
993
	end), EFFECTPART, EFFECTMESH)
994
end
995
996
function MagicFlatCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
997
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
998
	EFFECTPART.Anchored = true
999
	EFFECTPART.CFrame = CFRAME
1000
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1078075", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1001
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1002
	coroutine.resume(coroutine.create(function(PART, MESH)
1003
		for i = 0, 1, delay do
1004
			Swait()
1005
			PART.CFrame = PART.CFrame * ROTATION
1006
			PART.Transparency = i
1007
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1008
		end
1009
		PART.Parent = nil
1010
	end), EFFECTPART, EFFECTMESH)
1011
end
1012
1013
function MagicSkull(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1014
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1015
	EFFECTPART.Anchored = true
1016
	EFFECTPART.CFrame = CFRAME
1017
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1018
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1019
	coroutine.resume(coroutine.create(function(PART, MESH)
1020
		for i = 0, 1, delay do
1021
			Swait()
1022
			PART.CFrame = PART.CFrame * ROTATION
1023
			PART.Transparency = i
1024
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1025
		end
1026
		PART.Parent = nil
1027
	end), EFFECTPART, EFFECTMESH)
1028
end
1029
1030
function ElectricEffect(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X, Y, Z, delay)
1031
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1032
	EFFECTPART.Anchored = true
1033
	EFFECTPART.CFrame = CFRAME
1034
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X * Player_Size, Y * Player_Size, Z * Player_Size), OFFSET * Player_Size)
1035
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1036
	local XVALUE = MRANDOM()
1037
	local YVALUE = MRANDOM()
1038
	local ZVALUE = MRANDOM()
1039
	coroutine.resume(coroutine.create(function(PART, MESH, THEXVALUE, THEYVALUE, THEZVALUE)
1040
		for i = 0, 1, delay do
1041
			Swait()
1042
			PART.CFrame = PART.CFrame * ROTATION
1043
			PART.Transparency = i
1044
			THEXVALUE = THEXVALUE - 0.1 * (delay * 10)
1045
			THEYVALUE = THEYVALUE - 0.1 * (delay * 10)
1046
			THEZVALUE = THEZVALUE - 0.1 * (delay * 10)
1047
			MESH.Scale = MESH.Scale + VT(THEXVALUE * Player_Size, THEYVALUE * Player_Size, THEZVALUE * Player_Size)
1048
		end
1049
		PART.Parent = nil
1050
	end), EFFECTPART, EFFECTMESH, XVALUE, YVALUE, ZVALUE)
1051
end
1052
1053
function TrailEffect(BRICKCOLOR, MATERIAL, CURRENTCFRAME, OLDCFRAME, MESHTYPE, REFLECTANCE, SIZE, ROTATION, X, Y, Z, delay)
1054
	local MAGNITUDECFRAME = (CURRENTCFRAME.p - OLDCFRAME.p).magnitude
1055
	if MAGNITUDECFRAME > (1 / 100) then
1056
		local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT(1, MAGNITUDECFRAME, 1))
1057
		EFFECTPART.Anchored = true
1058
		EFFECTPART.CFrame = CF((CURRENTCFRAME.p + OLDCFRAME.p) / 2, OLDCFRAME.p) * ANGLES(RAD(90), 0, 0)
1059
		local THEMESHTYPE = "BlockMesh"
1060
		if MESHTYPE == "Cylinder" then
1061
			THEMESHTYPE = "CylinderMesh"
1062
		end
1063
		local EFFECTMESH = CreateMesh(THEMESHTYPE, EFFECTPART, "", "", "", VT(0 + SIZE * Player_Size, 1, 0 + SIZE * Player_Size), VT(0, 0, 0))
1064
		game:GetService("Debris"):AddItem(EFFECTPART, 10)
1065
		coroutine.resume(coroutine.create(function(PART, MESH)
1066
			for i = 0, 1, delay do
1067
				Swait()
1068
				PART.CFrame = PART.CFrame * ROTATION
1069
				PART.Transparency = i
1070
				MESH.Scale = MESH.Scale + VT(X * Player_Size, Y * Player_Size, Z * Player_Size)
1071
			end
1072
			PART.Parent = nil
1073
		end), EFFECTPART, EFFECTMESH)
1074
	end
1075
end
1076
1077
function ClangEffect(BRICKCOLOR, MATERIAL, CFRAME, ANGLE, DURATION, SIZE, POWER, REFLECTANCE, X, Y, Z, delay)
1078
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 1, BRICKCOLOR, "Effect", VT())
1079
	EFFECTPART.Anchored = true
1080
	EFFECTPART.CFrame = CFRAME
1081
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(0, 0, 0), VT(0, 0, 0))
1082
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1083
	local THELASTPOINT = CFRAME
1084
	coroutine.resume(coroutine.create(function(PART)
1085
		for i = 1, DURATION do
1086
			Swait()
1087
			PART.CFrame = PART.CFrame * ANGLES(RAD(ANGLE), 0, 0) * CF(0, POWER * Player_Size, 0)
1088
			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)
1089
			THELASTPOINT = PART.CFrame
1090
		end
1091
		PART.Parent = nil
1092
	end), EFFECTPART)
1093
end
1094
1095
--local list={}
1096
function Triangle(Color, Material, a, b, c, delay)
1097
	local edge1 = (c - a):Dot((b - a).unit)
1098
	local edge2 = (a - b):Dot((c - b).unit)
1099
	local edge3 = (b - c):Dot((a - c).unit)
1100
	if edge1 <= (b - a).magnitude and edge1 >= 0 then
1101
		a, b, c=a, b, c
1102
	elseif edge2 <= (c - b).magnitude and edge2 >= 0 then
1103
		a, b, c=b, c, a
1104
	elseif edge3 <= (a - c).magnitude and edge3 >= 0 then
1105
		a, b, c=c, a, b
1106
	else
1107
		assert(false, "unreachable")
1108
	end
1109
	local len1 = (c - a):Dot((b - a).unit)
1110
	local len2 = (b - a).magnitude - len1
1111
	local width = (a + (b - a).unit * len1 - c).magnitude
1112
	local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, - (b - a).unit)
1113
	if len1 > 1 / 100 then
1114
		local sz = VT(0.2, width, len1)
1115
		local w1 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
1116
		local sp = CreateMesh("SpecialMesh", w1, "Wedge", "", "", VT(0, 1, 1) * sz / w1.Size, VT(0, 0, 0))
1117
		w1.Anchored = true
1118
		w1.CFrame = maincf * ANGLES(math.pi, 0, math.pi / 2) * CF(0, width / 2, len1 / 2)
1119
		coroutine.resume(coroutine.create(function()
1120
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
1121
				Swait()
1122
				w1.Transparency = i
1123
			end
1124
			w1.Parent = nil
1125
		end))
1126
		game:GetService("Debris"):AddItem(w1, 10)
1127
		--table.insert(list, w1)
1128
	end
1129
	if len2 > 1 / 100 then
1130
		local sz = VT(0.2, width, len2)
1131
		local w2 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
1132
		local sp = CreateMesh("SpecialMesh", w2, "Wedge", "", "", VT(0, 1, 1) * sz / w2.Size, VT(0, 0, 0))
1133
		w2.Anchored = true
1134
		w2.CFrame = maincf * ANGLES(math.pi, math.pi, -math.pi / 2) * CF(0, width / 2, -len1 - len2 / 2)
1135
		coroutine.resume(coroutine.create(function()
1136
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
1137
				Swait()
1138
				w2.Transparency = i
1139
			end
1140
			w2.Parent = nil
1141
		end))
1142
		game:GetService("Debris"):AddItem(w2, 10)
1143
		--table.insert(list, w2)
1144
	end
1145
	--return unpack(list)
1146
end
1147
1148
--[[Usage:
1149
	local Pos = Part
1150
	local Offset = Part.CFrame * CF(0, 0, 0)
1151
	local Color = "Institutional white"
1152
	local Material = "Neon"
1153
	local TheDelay = 0.01
1154
	local Height = 4
1155
	BLCF = Offset
1156
	if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
1157
		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)
1158
		if a then game:GetService("Debris"):AddItem(a, 1) end
1159
		if b then game:GetService("Debris"):AddItem(b, 1) end
1160
		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)
1161
		if a then game:GetService("Debris"):AddItem(a, 1) end
1162
		if b then game:GetService("Debris"):AddItem(b, 1) end
1163
		SCFR = BLCF
1164
	elseif not SCFR then
1165
		SCFR = BLCF
1166
	end
1167
--
1168
BLCF = nil
1169
SCFR = nil
1170
--]]
1171
1172
--//=================================\\
1173
--\\=================================//
1174
1175
1176
1177
1178
1179
--//=================================\\
1180
--||	      RESIZE PLAYER
1181
--\\=================================//
1182
1183
if Player_Size ~= 1 then
1184
RootPart.Size = RootPart.Size * Player_Size
1185
Torso.Size = Torso.Size * Player_Size
1186
Head.Size = Head.Size * Player_Size
1187
RightArm.Size = RightArm.Size * Player_Size
1188
LeftArm.Size = LeftArm.Size * Player_Size
1189
RightLeg.Size = RightLeg.Size * Player_Size
1190
LeftLeg.Size = LeftLeg.Size * Player_Size
1191
RootJoint.Parent = RootPart
1192
Neck.Parent = Torso
1193
RightShoulder.Parent = Torso
1194
LeftShoulder.Parent = Torso
1195
RightHip.Parent = Torso
1196
LeftHip.Parent = Torso
1197
	
1198
RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1199
	RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1200
	Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
1201
	Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
1202
	RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
1203
	LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
1204
	if Disable_Moving_Arms == false then
1205
		RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1206
		LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1207
	else
1208
		RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1209
		LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1210
	end
1211
	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))
1212
	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))
1213
	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))
1214
	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))
1215
wait(0.1)
1216
eye1.Parent = Character
1217
eye2.Parent = Character
1218
horns.Parent = Character
1219
end
1220
1221
1222
--//=================================\\
1223
--\\=================================//
1224
1225
1226
1227
1228
1229
--//=================================\\
1230
--||	     WEAPON CREATION
1231
--\\=================================//
1232
1233
local HandlePart = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Handle", VT(0, 0, 0))
1234
local HandleMesh = CreateMesh("SpecialMesh", HandlePart, "FileMesh", "93180631", "93180676", VT(1, 1, 1), VT(0, 3.1 * Player_Size, 0))
1235
local HandleWeld = CreateWeldOrSnapOrMotor("Weld", HandlePart, Torso, HandlePart, CF(2 * Player_Size, 2 * Player_Size, 0.6 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(135)), CF(0, 0, 0))
1236
1237
local HitboxPart = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Really black", "Hitbox", VT(0, 0, 0))
1238
local HitboxWeld = CreateWeldOrSnapOrMotor("Weld", HitboxPart, HandlePart, HitboxPart, CF(0 * Player_Size, 4 * Player_Size, 0 * Player_Size), CF(0, 0, 0))
1239
1240
local EffectPart = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Really black", "Effect Part", VT(0, 0, 0))
1241
local EffectWeld = CreateWeldOrSnapOrMotor("Weld", EffectPart, HandlePart, EffectPart, CF(0 * Player_Size, 7 * Player_Size, 0 * Player_Size), CF(0, 0, 0))
1242
1243
if Player_Size ~= 1 then
1244
	for _, v in pairs (Weapon:GetChildren()) do
1245
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
1246
			local p1 = v.Part1
1247
			v.Part1 = nil
1248
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
1249
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
1250
			v.Part1 = p1
1251
		elseif v.ClassName == "Part" then
1252
			for _, b in pairs (v:GetChildren()) do
1253
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
1254
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
1255
				end
1256
			end
1257
		end
1258
	end
1259
end
1260
1261
for _, c in pairs(Weapon:GetChildren()) do
1262
	if c.ClassName == "Part" then
1263
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1264
	end
1265
end
1266
1267
if Start_Equipped == true and Start_Equipped_With_Equipped_Animation == false then
1268
	HandleWeld.Part0 = RightArm
1269
	HandleWeld.C0 = CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1270
end
1271
1272
Weapon.Parent = Character
1273
1274
Humanoid.Died:connect(function()
1275
	ATTACK = true
1276
end)
1277
1278
print(Class_Name.." loaded.")
1279
1280
--//=================================\\
1281
--\\=================================//
1282
1283
1284
1285
1286
1287
--//=================================\\
1288
--||	     DAMAGE FUNCTIONS
1289
--\\=================================//
1290
1291
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
1292
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
1293
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
1294
	local BODYGYRO = IT("BodyGyro", STATPART)
1295
	local BODYPOSITION = IT("BodyPosition", STATPART)
1296
	BODYPOSITION.P = 2000
1297
	BODYPOSITION.D = 100
1298
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
1299
	if LABELTYPE == "Normal" then
1300
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
1301
	elseif LABELTYPE == "Debuff" then
1302
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
1303
	elseif LABELTYPE == "Interruption" then
1304
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
1305
	end
1306
	game:GetService("Debris"):AddItem(STATPART ,5)
1307
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
1308
	BILLBOARDGUI.Adornee = STATPART
1309
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
1310
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
1311
	BILLBOARDGUI.AlwaysOnTop = false
1312
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
1313
	TEXTLABEL.BackgroundTransparency = 1
1314
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
1315
	TEXTLABEL.Text = TEXT
1316
	TEXTLABEL.Font = "SourceSans"
1317
	TEXTLABEL.FontSize="Size42"
1318
	TEXTLABEL.TextColor3 = COLOR
1319
	TEXTLABEL.TextStrokeTransparency = 0
1320
	TEXTLABEL.TextScaled = true
1321
	TEXTLABEL.TextWrapped = true
1322
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
1323
		wait(0.2)
1324
		for i=1, 5 do
1325
			wait()
1326
			THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
1327
		end
1328
		wait(1.2)
1329
		for i=1, 5 do
1330
			wait()
1331
			THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
1332
			THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
1333
			THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
1334
		end
1335
		THEPART.Parent = nil
1336
	end),STATPART, BODYPOSITION, TEXTLABEL)
1337
end
1338
1339
function IncreaseOrDecreaseStat(LOCATION, STAT, AMOUNT, DURATION, SHOWTHESTAT)
1340
	if LOCATION:FindFirstChild("Stats") ~= nil then
1341
		if LOCATION.Stats:FindFirstChild("Block") ~= nil then
1342
			if LOCATION.Stats:FindFirstChild("Block").Value == true then
1343
				return
1344
			end
1345
		end
1346
		if LOCATION.Stats:FindFirstChild("ChangeStat") ~= nil and LOCATION.Stats:FindFirstChild("Block").Value == false then
1347
			local NewStatChange = IT("NumberValue")
1348
			NewStatChange.Value = AMOUNT
1349
			if STAT == "Defense" then
1350
				NewStatChange.Name = "ChangeDefense"
1351
			elseif STAT == "Damage" then
1352
				NewStatChange.Name = "ChangeDamage"
1353
			elseif STAT == "Movement" then
1354
				NewStatChange.Name = "ChangeMovement"
1355
			end
1356
			if SHOWTHESTAT == true then
1357
				if AMOUNT < 0 then
1358
					StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "-"..STAT, C3(1, 1, 1))
1359
				elseif AMOUNT > 0 then
1360
					StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "+"..STAT, C3(1, 1, 1))
1361
				end
1362
			end
1363
			if DURATION ~= nil and DURATION ~= 0 then
1364
				local StatDuration = IT("NumberValue")
1365
				StatDuration.Name = "Duration"
1366
				StatDuration.Value = DURATION
1367
				StatDuration.Parent = NewStatChange
1368
			end
1369
			NewStatChange.Parent = LOCATION.Stats:FindFirstChild("ChangeStat")
1370
		end
1371
	end
1372
end
1373
1374
--Usage: DamageFunction(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, hit, false, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, false, true, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
1375
function DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HIT, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
1376
	if HIT.Parent == nil then
1377
		return
1378
	end
1379
	local HITHUMANOID = HIT.Parent:FindFirstChild("Humanoid")
1380
	for _, v in pairs(HIT.Parent:GetChildren()) do
1381
		if v:IsA("Humanoid") then
1382
			HITHUMANOID = v
1383
            HITHUMANOID.MaxHealth = 100
1384
		end
1385
	end
1386
	if HIT.Name == "Hitbox" and RANGED ~= true and HIT.Parent ~= Weapon and Enable_Stagger_Hit == true then
1387
		StaggerHit.Value = true
1388
		if Play_Hitbox_Hit_Sound == true then
1389
			if HITWEAPONSOUND ~= "" and HITWEAPONSOUND ~= "nil" then
1390
				CreateSound(HITWEAPONSOUND, HIT, 1, HITWEAPONSOUNDPITCH)
1391
			end
1392
		end
1393
		return
1394
	end
1395
	if HIT.Parent.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent.Parent:FindFirstChild("UpperTorso") ~= nil then
1396
		HITHUMANOID = HIT.Parent.Parent:FindFirstChild("Humanoid")
1397
	end
1398
	if HIT.Parent.ClassName == "Hat" or HIT.ClassName == "Accessory" then
1399
		HIT = HIT.Parent.Parent:FindFirstChild("Head")
1400
	end
1401
	if HITHUMANOID ~= nil and HIT.Parent.Name ~= Character.Name and (HIT.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent:FindFirstChild("UpperTorso") ~= nil) then
1402
		if HIT.Parent:FindFirstChild("DebounceHit") ~= nil then
1403
			if HIT.Parent.DebounceHit.Value == true then
1404
				return
1405
			end
1406
		end
1407
		if AntiTeamKill.Value == true then
1408
			if Player.Neutral == false and game.Players:GetPlayerFromCharacter(HIT.Parent) ~= nil then
1409
				if game.Players:GetPlayerFromCharacter(HIT.Parent).TeamColor == Player.TeamColor then
1410
					return
1411
				end
1412
			end
1413
		end
1414
		if HITEVENWHENDEAD == false then
1415
			if HIT.Parent:FindFirstChild("Humanoid") ~= nil then
1416
				if HIT.Parent:FindFirstChild("Humanoid").Health <= 0 then
1417
					return
1418
				end
1419
			end
1420
		end
1421
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1422
			if HIT.Parent.Stats:FindFirstChild("StunValue") ~= nil then
1423
				HIT.Parent.Stats:FindFirstChild("StunValue").Value = HIT.Parent.Stats:FindFirstChild("StunValue").Value + INCREASESTUN
1424
			end
1425
		end
1426
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1427
			if HIT.Parent.Stats:FindFirstChild("Stagger") ~= nil then
1428
				if STAGGER == true and Enable_Stagger == true then
1429
					HIT.Parent.Stats:FindFirstChild("Stagger").Value = true
1430
				end
1431
			end
1432
		end
1433
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1434
			if HIT.Parent.Stats:FindFirstChild("Block") ~= nil then
1435
				if HIT.Parent.Stats:FindFirstChild("Block").Value == true then
1436
					HASBEENBLOCKED = true
1437
					if HIT.Parent.Stats:FindFirstChild("Block"):FindFirstChild("BlockDebounce") == nil then
1438
						StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Blocked!", C3(0, 100 / 255, 255 / 255))
1439
						if RANGED ~= true then
1440
							if HITBLOCKSOUND ~= "" and HITBLOCKSOUND ~= "nil" then
1441
								CreateSound(HITBLOCKSOUND, HIT, 1, HITBLOCKSOUNDPITCH)
1442
							end
1443
						end
1444
						local BlockDebounce = IT("BoolValue", HIT.Parent.Stats:FindFirstChild("Block"))
1445
						BlockDebounce.Name = "BlockDebounce"
1446
						BlockDebounce.Value = true
1447
						if RANGED ~= true then
1448
							game:GetService("Debris"):AddItem(BlockDebounce, 0.5)
1449
						else
1450
							game:GetService("Debris"):AddItem(BlockDebounce, 0.1)
1451
						end
1452
					end
1453
					if RANGED ~= true and Enable_Stagger == true then
1454
						HIT.Parent.Stats:FindFirstChild("Block").Value = false
1455
						Stagger.Value = true
1456
					end
1457
					return
1458
				end
1459
			end
1460
		end
1461
		if DECREASETHESTAT ~= nil then
1462
			if HIT.Parent:FindFirstChild("Stats") ~= nil then
1463
				IncreaseOrDecreaseStat(HIT.Parent, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
1464
			end
1465
		end
1466
		local DAMAGE = MRANDOM(MINIMUMDAMAGE,MAXIMUMDAMAGE) * Damage.Value
1467
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1468
			if HIT.Parent.Stats:FindFirstChild("Defense") ~= nil then
1469
				if CanPenetrateArmor.Value == true then
1470
					DAMAGE = DAMAGE
1471
				else
1472
					DAMAGE = DAMAGE / HIT.Parent.Stats:FindFirstChild("Defense").Value
1473
				end
1474
			elseif HIT.Parent.Stats:FindFirstChild("Defense") == nil then
1475
				DAMAGE = DAMAGE
1476
			end
1477
		end
1478
		if CanCrit.Value == true then
1479
			CRITCHANCENUMBER = MRANDOM(1, CritChance.Value)
1480
			if CRITCHANCENUMBER == 1 then
1481
				DAMAGE = DAMAGE * 2
1482
			end
1483
		end
1484
		DAMAGE = math.floor(DAMAGE)
1485
		if HASBEENBLOCKED == false then
1486
			HITHUMANOID.Health = HITHUMANOID.Health - DAMAGE
1487
		end
1488
		if DAMAGE < 20 and HASBEENBLOCKED == false and HITHUMANOID.Parent:FindFirstChild("IceCover") == nil then
1489
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
1490
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
1491
				CreateSound("296102734", HIT, 1, 1)
1492
			else
1493
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 220/255, 0))
1494
			end
1495
		elseif DAMAGE >= 20 and HASBEENBLOCKED == false and HITHUMANOID.Parent:FindFirstChild("IceCover") == nil then
1496
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
1497
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
1498
				CreateSound("296102734", HIT, 1, 1)
1499
			else
1500
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 0, 0))
1501
			end
1502
		elseif DAMAGE <= 3 and HASBEENBLOCKED == false and HITHUMANOID.Parent:FindFirstChild("IceCover") == nil then
1503
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
1504
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
1505
				CreateSound("296102734", HIT, 1, 1)
1506
			else
1507
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(225/255, 225/255, 225/255))
1508
			end
1509
        elseif HITHUMANOID.Parent:FindFirstChild("IceCover") then
1510
        HITHUMANOID.Health = 0
1511
		StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "SHATTERED", C3(225/255, 225/255, 225/255))
1512
        reap(HITHUMANOID.Parent)
1513
		end
1514
		if TYPE == "Normal" then
1515
			local vp = IT("BodyVelocity")
1516
			vp.P=500
1517
			vp.maxForce = VT(math.huge, 0, math.huge)
1518
			if KNOCKBACKTYPE == 1 then
1519
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK + PROPERTY.Velocity / 1.05
1520
			elseif KNOCKBACKTYPE == 2 then
1521
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK
1522
			end
1523
			if KNOCKBACK > 0 and HASBEENBLOCKED == false then
1524
				vp.Parent = HIT--.Parent.Torso
1525
			end
1526
			game:GetService("Debris"):AddItem(vp, 0.5)
1527
		end
1528
		HASBEENBLOCKED = false
1529
		RecentEnemy.Value = HIT.Parent
1530
		local DebounceHit = IT("BoolValue", HIT.Parent)
1531
		DebounceHit.Name = "DebounceHit"
1532
		DebounceHit.Value = true
1533
		game:GetService("Debris"):AddItem(DebounceHit, DELAY)
1534
	end
1535
end
1536
1537
--Usage: MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Part, 5, true, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, false, true, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
1538
function MagnitudeDamage(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, PART, MAGNITUDE, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
1539
	for _, c in pairs(workspace:GetChildren()) do
1540
		local HUMANOID = c:FindFirstChild("Humanoid")
1541
		local HEAD = nil
1542
		if HUMANOID ~= nil then
1543
			for _, d in pairs(c:GetChildren()) do
1544
				if d.ClassName == "Model" and RANGED ~= true then
1545
					HEAD = d:FindFirstChild("Hitbox")
1546
					if HEAD ~= nil then
1547
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
1548
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
1549
							if Play_Hitbox_Hit_Sound == true then
1550
								local HitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
1551
								HitRefpart.Anchored = true
1552
								HitRefpart.CFrame = CF(HEAD.Position)
1553
								CreateSound(HITWEAPONSOUND, HitRefpart, 1, HITWEAPONSOUNDPITCH)
1554
							end
1555
							if Enable_Stagger_Hit == true then
1556
								StaggerHit.Value = true
1557
							end
1558
						end
1559
					end
1560
				elseif d:IsA"BasePart" then
1561
					HEAD = d
1562
					if HEAD ~= nil then
1563
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
1564
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
1565
							DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HEAD, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
1566
						end
1567
					end
1568
				end
1569
			end
1570
		end
1571
	end
1572
end
1573
1574
--Usage: MagnitudeBuffOrDebuff(Part, 5, "Defense", -0.1, 3, true, true)
1575
function MagnitudeBuffOrDebuff(PART, MAGNITUDE, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF, APPLYTOOTHERSINSTEAD)
1576
	if Player.Neutral == true then
1577
		IncreaseOrDecreaseStat(Character, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
1578
	end
1579
	for _, c in pairs(workspace:GetChildren()) do
1580
		local HUMANOID = c:FindFirstChild("Humanoid")
1581
		local THEHEAD = nil
1582
		if HUMANOID ~= nil then
1583
			if c:FindFirstChild("Torso") ~= nil then
1584
				THEHEAD = c:FindFirstChild("Torso")
1585
			elseif c:FindFirstChild("UpperTorso") ~= nil then
1586
				THEHEAD = c:FindFirstChild("UpperTorso")
1587
			end
1588
			if THEHEAD ~= nil then
1589
				local THEMAGNITUDE = (THEHEAD.Position - PART.Position).magnitude
1590
				print("yes 1")
1591
				if APPLYTOOTHERSINSTEAD == true then
1592
					if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
1593
						if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
1594
							if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
1595
								IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
1596
							end
1597
						end
1598
					end
1599
				elseif APPLYTOOTHERSINSTEAD == false then
1600
					if THEMAGNITUDE <= (MAGNITUDE * Player_Size) then
1601
						if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
1602
							if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
1603
								IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
1604
							end
1605
						end
1606
					end
1607
				end
1608
			end
1609
		end
1610
	end
1611
end
1612
1613
--//=================================\\
1614
--\\=================================//
1615
1616
1617
1618
1619
1620
--//=================================\\
1621
--||			WEAPON GUI
1622
--\\=================================//
1623
1624
local MANABAR = CreateFrame(WEAPONGUI, Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_8.r, Custom_Colors.Custom_Color_8.g, Custom_Colors.Custom_Color_8.b), C3(0, 0, 0),"Mana Bar") 
1625
local MANACOVER = CreateFrame(MANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_5.r, Custom_Colors.Custom_Color_5.g, Custom_Colors.Custom_Color_5.b), C3(0, 0, 0),"Mana Cover")
1626
local MANATEXT = CreateLabel(MANABAR, Mana_Name.." ["..FLOOR(Mana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Mana Text")
1627
1628
local HEALTHBAR = CreateFrame(WEAPONGUI, Health_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_11.r, Custom_Colors.Custom_Color_11.g, Custom_Colors.Custom_Color_11.b), C3(0, 0, 0), "Health Bar")
1629
local HEALTHCOVER = CreateFrame(HEALTHBAR, 0, 2,UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_6.r, Custom_Colors.Custom_Color_6.g, Custom_Colors.Custom_Color_6.b), C3(0, 0, 0), "Health Cover")
1630
local HEALTHTEXT = CreateLabel(HEALTHBAR, "Health ["..FLOOR(Humanoid.Health).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Health Text")
1631
1632
local STUNFRAME = CreateFrame(nil, Stun_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.78, 0),UD2(0.26, 0, 0, 0),C3(Custom_Colors.Custom_Color_10.r, Custom_Colors.Custom_Color_10.g, Custom_Colors.Custom_Color_10.b), C3(0, 0, 0), "Stun Frame")
1633
local STUNBAR = CreateFrame(STUNFRAME, 0, 2, UD2(0, 0, 0, 0),UD2(0, 0, 1, 0),C3(Custom_Colors.Custom_Color_7.r, Custom_Colors.Custom_Color_7.g, Custom_Colors.Custom_Color_7.b), C3(0, 0, 0), "Stun Bar")
1634
local STUNTEXT = CreateLabel(STUNFRAME, "Stun ["..FLOOR(StunValue.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Stun Text")
1635
1636
local SECONDARYMANABAR = CreateFrame(nil, Secondary_Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.78, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_9.r, Custom_Colors.Custom_Color_9.g, Custom_Colors.Custom_Color_9.b), C3(0, 0, 0),"Secondary Mana Bar") 
1637
local SECONDARYMANACOVER = CreateFrame(SECONDARYMANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_4.r, Custom_Colors.Custom_Color_4.g, Custom_Colors.Custom_Color_4.b), C3(0, 0, 0),"Secondary Mana Cover")
1638
local SECONDARYMANATEXT = CreateLabel(SECONDARYMANABAR, Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Secondary Mana Text")
1639
1640
local DEFENSEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.23, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 100 / 255, 255 / 255), C3(0, 0, 0),"Defense Frame")
1641
local DEFENSETEXT = CreateLabel(DEFENSEFRAME, "Defense ["..(Defense.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Defense Text")
1642
1643
local DAMAGEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.456, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(255 / 255, 100 / 255, 100 / 255), C3(0, 0, 0),"Damage Frame")
1644
local DAMAGETEXT = CreateLabel(DAMAGEFRAME, "Damage ["..(Damage.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Damage Text")
1645
1646
local MOVEMENTFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.685, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 255 / 255, 100 / 255), C3(0, 0, 0),"Movement Frame")
1647
local MOVEMENTTEXT = CreateLabel(MOVEMENTFRAME, "Movement ["..(Movement.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Movement Text")
1648
1649
local SKILL1FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 1 Frame")
1650
local SKILL2FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 2 Frame")
1651
local SKILL3FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 3 Frame")
1652
local SKILL4FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 4 Frame")
1653
1654
local SKILL1BAR = CreateFrame(SKILL1FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 1 Bar")
1655
local SKILL2BAR = CreateFrame(SKILL2FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 2 Bar")
1656
local SKILL3BAR = CreateFrame(SKILL3FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 3 Bar")
1657
local SKILL4BAR = CreateFrame(SKILL4FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 4 Bar")
1658
1659
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Ability 1", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 1")
1660
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[X] Ability 2", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 2")
1661
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 3")
1662
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 4")
1663
1664
if Enable_Gui == true then
1665
	WEAPONGUI.Parent = PlayerGui
1666
end
1667
1668
if Enable_Stats == true and Show_Stats == true then
1669
	DEFENSEFRAME.Parent = WEAPONGUI
1670
	DAMAGEFRAME.Parent = WEAPONGUI
1671
	MOVEMENTFRAME.Parent = WEAPONGUI
1672
end
1673
1674
if Enable_Secondary_Bar == true then
1675
	SECONDARYMANABAR.Parent = WEAPONGUI
1676
end
1677
1678
if Enable_Abilities == true then
1679
	SKILL1FRAME.Parent = WEAPONGUI
1680
	SKILL2FRAME.Parent = WEAPONGUI
1681
	SKILL3FRAME.Parent = WEAPONGUI
1682
	SKILL4FRAME.Parent = WEAPONGUI
1683
end
1684
1685
if Enable_Stun == true then
1686
	STUNFRAME.Parent = WEAPONGUI
1687
end
1688
1689
function UpdateGUI()
1690
	MANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1691
	MANACOVER:TweenSize(UD2(1 * (Mana.Value / Max_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1692
	MANATEXT.Text = Mana_Name.." ["..FLOOR(Mana.Value).."]"
1693
	HEALTHBAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1694
	HEALTHCOVER:TweenSize(UD2(1 * (Humanoid.Health / Humanoid.MaxHealth), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1695
	HEALTHTEXT.Text = "Health ["..FLOOR(Humanoid.Health).."]"
1696
	if Enable_Abilities == true then
1697
		SKILL1FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1698
		SKILL2FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1699
		SKILL3FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1700
		SKILL4FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1701
		SKILL1BAR:TweenSize(UD2(1 * (CO1 / Cooldown_1), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1702
		SKILL2BAR:TweenSize(UD2(1 * (CO2 / Cooldown_2), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1703
		SKILL3BAR:TweenSize(UD2(1 * (CO3 / Cooldown_3), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1704
		SKILL4BAR:TweenSize(UD2(1 * (CO4 / Cooldown_4), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1705
	end
1706
	if Enable_Stats == true and Show_Stats == true then
1707
		DEFENSEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1708
		DEFENSETEXT.Text = "Defense ["..(Defense.Value * 100).."%]"
1709
		DAMAGEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1710
		DAMAGETEXT.Text = "Damage ["..(Damage.Value * 100).."%]"
1711
		MOVEMENTFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1712
		MOVEMENTTEXT.Text = "Movement ["..(Movement.Value * 100).."%]"
1713
	end
1714
	if Enable_Stun == true then
1715
		STUNFRAME:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1716
		STUNBAR:TweenSize(UD2(1 * (StunValue.Value / Max_Stun), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1717
		STUNTEXT.Text = "Stun ["..FLOOR(StunValue.Value).."]"
1718
	end
1719
	if Enable_Secondary_Bar == true then
1720
		SECONDARYMANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1721
		SECONDARYMANACOVER:TweenSize(UD2(1 * (SecondaryMana.Value / Max_Secondary_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1722
		SECONDARYMANATEXT.Text = Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]"
1723
	end
1724
end
1725
1726
if Enable_Gui == true then
1727
	UpdateGUI()
1728
	for _, v in pairs (WEAPONGUI:GetChildren()) do
1729
		if v.ClassName == "Frame" then
1730
			for _, b in pairs (v:GetChildren()) do
1731
				if b.ClassName == "TextLabel" then
1732
					coroutine.resume(coroutine.create(function(THETEXTLABEL)
1733
						wait(Menu_Update_Speed)
1734
						for i = 1, 0, -0.1 do
1735
							Swait()
1736
							THETEXTLABEL.TextTransparency = i
1737
							THETEXTLABEL.TextStrokeTransparency = i
1738
							end
1739
						THETEXTLABEL.TextTransparency = 0
1740
						THETEXTLABEL.TextStrokeTransparency = 0
1741
					end), b)
1742
				end
1743
			end
1744
		end
1745
	end
1746
end
1747
1748
--//=================================\\
1749
--\\=================================//
1750
1751
1752
1753
1754
1755
--//=================================\\
1756
--||	     SKILL FUNCTIONS
1757
--\\=================================//
1758
1759
function UpdateSkillsAndStuff()
1760
	if Mana_Regen_Mode == "1" then
1761
		if Mana.Value >= Max_Mana then
1762
			Mana.Value = Max_Mana
1763
		elseif Mana.Value < 0 then
1764
			Mana.Value = 0
1765
		else
1766
			if MANADELAYNUMBER <= Mana_Wait then
1767
				MANADELAYNUMBER = MANADELAYNUMBER + 1
1768
			else
1769
				MANADELAYNUMBER = 0
1770
				Mana.Value = Mana.Value + Recover_Mana
1771
			end
1772
		end
1773
	elseif Mana_Regen_Mode == "2" then
1774
		if Mana.Value <= Max_Mana then
1775
			Mana.Value = Mana.Value + (Recover_Mana / 30) / Animation_Speed
1776
		elseif Mana.Value >= Max_Mana then
1777
			Mana.Value = Max_Mana
1778
		elseif Mana.Value < 0 then
1779
			Mana.Value = 0
1780
		end
1781
	end
1782
	if Enable_Secondary_Bar == true then
1783
		if Secondary_Mana_Regen_Mode == "1" then
1784
			if SecondaryMana.Value >= Max_Secondary_Mana then
1785
				SecondaryMana.Value = Max_Secondary_Mana
1786
			elseif SecondaryMana.Value < 0 then
1787
				SecondaryMana.Value = 0
1788
			else
1789
				if SECONDARYMANADELAYNUMBER <= Secondary_Mana_Wait then
1790
					SECONDARYMANADELAYNUMBER = SECONDARYMANADELAYNUMBER + 1
1791
				else
1792
					SECONDARYMANADELAYNUMBER = 0
1793
					SecondaryMana.Value = SecondaryMana.Value + Recover_Secondary_Mana
1794
				end
1795
			end
1796
		elseif Secondary_Mana_Regen_Mode == "2" then
1797
			if SecondaryMana.Value <= Max_Secondary_Mana then
1798
				SecondaryMana.Value = SecondaryMana.Value + (Recover_Secondary_Mana / 30) / Animation_Speed
1799
			elseif SecondaryMana.Value >= Max_Secondary_Mana then
1800
				SecondaryMana.Value = Max_Secondary_Mana
1801
			elseif SecondaryMana.Value < 0 then
1802
				SecondaryMana.Value = 0
1803
			end
1804
		end
1805
	else
1806
		SecondaryMana.Value = 0
1807
	end
1808
	if Enable_Stun == true then
1809
		if Stun_Lose_Mode == "1" then
1810
			if StunValue.Value > Max_Stun then
1811
				StunValue.Value = Max_Stun
1812
			elseif StunValue.Value <= 0 then
1813
				StunValue.Value = 0
1814
			else
1815
				if STUNDELAYNUMBER <= Stun_Wait then
1816
					STUNDELAYNUMBER = STUNDELAYNUMBER + 1
1817
				else
1818
					STUNDELAYNUMBER = 0
1819
					StunValue.Value = StunValue.Value - Lose_Stun
1820
				end
1821
			end
1822
		elseif Stun_Lose_Mode == "2" then
1823
			if StunValue.Value <= Max_Stun and StunValue.Value > 0 then
1824
				StunValue.Value = StunValue.Value - (Lose_Stun / 30) / Animation_Speed
1825
			elseif StunValue.Value > Max_Stun then
1826
				StunValue.Value = Max_Stun
1827
			elseif StunValue.Value <= 0 then
1828
				StunValue.Value = 0
1829
			end
1830
		end
1831
	else
1832
		StunValue.Value = 0
1833
	end
1834
	if Enable_Abilities == true then
1835
		if CO1 <= Cooldown_1 then
1836
			CO1 = CO1 + (1 / 30) / Animation_Speed
1837
		elseif CO1 >= Cooldown_1 then
1838
			CO1 = Cooldown_1
1839
		end
1840
		if CO2 <= Cooldown_2 then
1841
			CO2 = CO2 + (1 / 30) / Animation_Speed
1842
		elseif CO2 >= Cooldown_2 then
1843
			CO2 = Cooldown_2
1844
		end
1845
		if CO3 <= Cooldown_3 then
1846
			CO3 = CO3 + (1 / 30) / Animation_Speed
1847
		elseif CO3 >= Cooldown_3 then
1848
			CO3 = Cooldown_3
1849
		end
1850
		if CO4 <= Cooldown_4 then
1851
			CO4 = CO4 + (1 / 30) / Animation_Speed
1852
		elseif CO4 >= Cooldown_4 then
1853
			CO4 = Cooldown_4
1854
		end
1855
	end
1856
end
1857
1858
--//=================================\\
1859
--\\=================================//
1860
1861
1862
1863
1864
1865
--//=================================\\
1866
--||	ATTACK FUNCTIONS AND STUFF
1867
--\\=================================//
1868
1869
function EquipWeapon()
1870
	--ATTACK = true
1871
	DEFENSECHANGE1.Parent = nil
1872
	MOVEMENTCHANGE1.Parent = ChangeStat
1873
	for i=0, 1, 0.5 / Animation_Speed do
1874
		Swait()
1875
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1876
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
1877
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.75 * Player_Size, 0 * Player_Size) * ANGLES(RAD(140), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1878
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1879
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1880
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1881
	end
1882
	for i=0, 1, 0.08 / Animation_Speed do
1883
		Swait()
1884
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1885
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
1886
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.75 * Player_Size, 0 * Player_Size) * ANGLES(RAD(210), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1887
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1888
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1889
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1890
	end
1891
	HandleWeld.Part0 = RightArm
1892
	HandleWeld.C0 = CF(-0.05 * Player_Size, -1 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(-27), RAD(0), RAD(-19)) * ANGLES(RAD(0), RAD(110), RAD(0))
1893
	CreateSound("174884033", HitboxPart, 1, 1.5)
1894
	for i=0, 1, 0.5 / Animation_Speed do
1895
		Swait()
1896
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1897
		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.3 / Animation_Speed)
1898
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(80)) * ANGLES(RAD(20), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1899
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1900
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1901
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1902
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-70), RAD(90), RAD(0)), 0.3 / Animation_Speed)
1903
	end
1904
	LASTPOINT = EffectPart.CFrame
1905
	for i=0, 1, 0.08 / Animation_Speed do
1906
		Swait()
1907
		TrailEffect("Institutional white", "Neon", EffectPart.CFrame, LASTPOINT, "Block", 0, 0.2, ANGLES(0, 0, 0), -0.01, 0, -0.01, 0.1)
1908
		LASTPOINT = EffectPart.CFrame
1909
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
1910
		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)
1911
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(80)) * ANGLES(RAD(-60), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1912
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1913
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.4 / Animation_Speed)
1914
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
1915
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-140), RAD(90), RAD(0)), 0.3 / Animation_Speed)
1916
	end
1917
	LASTPOINT = nil
1918
	--ATTACK = false
1919
end
1920
1921
function UnequipWeapon()
1922
	--ATTACK = true
1923
	for i=0, 1, 0.5 / Animation_Speed do
1924
		Swait()
1925
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1926
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
1927
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.75 * Player_Size, 0 * Player_Size) * ANGLES(RAD(140), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1928
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1929
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1930
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1931
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(-0.05 * Player_Size, -1 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(-27), RAD(0), RAD(-19)) * ANGLES(RAD(0), RAD(110), RAD(0)), 0.3 / Animation_Speed)
1932
	end
1933
	CreateSound("245542809", HitboxPart, 1, 1.2)
1934
	for i=0, 1, 0.08 / Animation_Speed do
1935
		Swait()
1936
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1937
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
1938
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.75 * Player_Size, 0 * Player_Size) * ANGLES(RAD(210), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1939
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1940
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1941
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1942
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(-0.05 * Player_Size, -1 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(-27), RAD(0), RAD(-19)) * ANGLES(RAD(0), RAD(110), RAD(0)), 0.3 / Animation_Speed)
1943
	end
1944
	HandleWeld.Part0 = Torso
1945
	HandleWeld.C0 = CF(2 * Player_Size, 2 * Player_Size, 0.6 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(135))
1946
	for i=0, 1, 0.5 / Animation_Speed do
1947
		Swait()
1948
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1949
		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.3 / Animation_Speed)
1950
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.75 * Player_Size, 0 * Player_Size) * ANGLES(RAD(140), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1951
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1952
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1953
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1954
	end
1955
	for i=0, 1, 0.08 / Animation_Speed do
1956
		Swait()
1957
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1958
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1959
		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.3 / Animation_Speed)
1960
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)), 0.3 / Animation_Speed)
1961
		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.3 / Animation_Speed)
1962
		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.3 / Animation_Speed)
1963
		if Disable_Moving_Arms == false then
1964
			RightShoulder.C1 = Clerp(RightShoulder.C1, ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5), 0.3 / Animation_Speed)
1965
			LeftShoulder.C1 = Clerp(LeftShoulder.C1, ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5), 0.3 / Animation_Speed)
1966
		else
1967
			RightShoulder.C1 = Clerp(RightShoulder.C1, CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size), 0.3 / Animation_Speed)
1968
			LeftShoulder.C1 = Clerp(LeftShoulder.C1, CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size), 0.3 / Animation_Speed)
1969
		end
1970
		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.3 / Animation_Speed)
1971
		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.3 / Animation_Speed)
1972
		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.3 / Animation_Speed)
1973
		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.3 / Animation_Speed)
1974
	end
1975
	RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1976
	RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1977
	Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
1978
	Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
1979
	RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
1980
	LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
1981
	if Disable_Moving_Arms == false then
1982
		RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1983
		LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1984
	else
1985
		RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1986
		LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1987
	end
1988
	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))
1989
	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))
1990
	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))
1991
	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))
1992
	--ATTACK = false
1993
	DEFENSECHANGE1.Parent = ChangeStat
1994
	MOVEMENTCHANGE1.Parent = nil
1995
end
1996
1997
function StaggerHitAnimation()
1998
	ATTACK = true
1999
	if Weapon:FindFirstChild("Hitbox") ~= nil then
2000
		for i = 1, MRANDOM(2, 4) do
2001
			ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
2002
		end
2003
	end
2004
	for i = 0, 1, 0.1 / Animation_Speed do
2005
		Swait()
2006
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
2007
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(30)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2008
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-30), RAD(0), RAD(60)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2009
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-20)) * ANGLES(RAD(0), RAD(20), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2010
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.9 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
2011
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1.1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(10)), 0.3 / Animation_Speed)
2012
		if Stagger.Value == true or Stun.Value == true then
2013
			break
2014
		end
2015
	end
2016
	ATTACK = false
2017
end
2018
2019
function StaggerAnimation()
2020
	ATTACK = true
2021
	if Weapon:FindFirstChild("Hitbox") ~= nil then
2022
		for i = 1, MRANDOM(2, 4) do
2023
			ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
2024
		end
2025
	end
2026
	DISABLEJUMPING = true
2027
	COMBO = 1
2028
	StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Staggered!", C3(255 / 255, 255 / 255, 0))
2029
	local STAGGERVELOCITY = Instance.new("BodyVelocity",Torso)
2030
	STAGGERVELOCITY.P = 500
2031
	STAGGERVELOCITY.maxForce = VT(math.huge, 0, math.huge)
2032
	if Rooted.Value == false then
2033
		STAGGERVELOCITY.Velocity = RootPart.CFrame.lookVector * -40
2034
	end
2035
	for i = 0, 1, 0.35 / Animation_Speed do
2036
		Swait()
2037
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
2038
		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(20)), 0.3 / Animation_Speed)
2039
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size,0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2040
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size,0 * Player_Size) * ANGLES(RAD(-7.5), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2041
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size,0 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(30)), 0.3 / Animation_Speed)
2042
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size,0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(5)), 0.3 / Animation_Speed)
2043
	end
2044
	for i = 0, 1, 0.2 / Animation_Speed do
2045
		Swait()
2046
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
2047
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.4 / Animation_Speed)
2048
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2049
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-7.5), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2050
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(50)), 0.4 / Animation_Speed)
2051
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.4 / Animation_Speed)
2052
	end
2053
	STAGGERVELOCITY.Parent = nil
2054
	for i = 1, 50 * Animation_Speed do
2055
		Swait()
2056
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1.8 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-20)) * ANGLES(RAD(-5), RAD(-5), RAD(0)), 0.3 / Animation_Speed)
2057
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.3 / Animation_Speed)
2058
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(-20), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2059
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-10)) * ANGLES(RAD(0), RAD(15), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2060
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.4 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(30), RAD(0)), 0.3 / Animation_Speed)
2061
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-10)), 0.3 / Animation_Speed)
2062
	end
2063
	DISABLEJUMPING = false
2064
	ATTACK = false
2065
end
2066
2067
function StunAnimation()
2068
	ATTACK = true
2069
	DISABLEJUMPING = true
2070
	COMBO = 1
2071
	StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Stunned!", C3(255 / 255, 255 / 255, 0))
2072
	for i = 0, 1, 0.3 / Animation_Speed do
2073
		Swait()
2074
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(15), RAD(0), RAD(-150)), 0.3 / Animation_Speed)
2075
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
2076
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2077
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2078
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(30)), 0.3 / Animation_Speed)
2079
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(20)), 0.3 / Animation_Speed)
2080
	end
2081
	for i = 0, 1, 0.3 / Animation_Speed do
2082
		Swait()
2083
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
2084
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
2085
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2086
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2087
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(15)), 0.4 / Animation_Speed)
2088
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(50)), 0.4 / Animation_Speed)
2089
	end
2090
	for i = 0, 1, 0.3 / Animation_Speed do
2091
		Swait()
2092
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(75), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
2093
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-60)), 0.4 / Animation_Speed)
2094
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2095
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-80)) * ANGLES(RAD(0), RAD(-40), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2096
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(10)), 0.4 / Animation_Speed)
2097
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(80)), 0.4 / Animation_Speed)
2098
	end
2099
	for i = 1, 70 * Animation_Speed do
2100
		Swait()
2101
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -2.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-180)), 0.3 / Animation_Speed)
2102
		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)), 0.3 / Animation_Speed)
2103
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(-10), RAD(90)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2104
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2105
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2106
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2107
	end
2108
	for i = 0, 1, 0.2 / Animation_Speed do
2109
		Swait()
2110
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1.5 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(100)), 0.4 / Animation_Speed)
2111
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
2112
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(-10), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2113
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(80), RAD(0), RAD(20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2114
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(70)), 0.4 / Animation_Speed)
2115
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.25 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(20)), 0.4 / Animation_Speed)
2116
	end
2117
	DISABLEJUMPING = false
2118
	ATTACK = false
2119
end
2120
2121
function EAbility()
2122
	ATTACK = true
2123
	ATTACK = false
2124
end
2125
2126
function Attack1()
2127
	ATTACK = true
2128
	for i=0, 1, 0.1 / Animation_Speed do
2129
		Swait()
2130
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
2131
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(35)), 0.4 / Animation_Speed)
2132
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2133
		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(-10), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2134
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2135
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-80), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2136
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2137
			break
2138
		end
2139
	end
2140
	CreateSound("553461842", LeftArm, 1.2, MRANDOM(8, 9) / 10)
2141
	for i=0, 1, 0.1 / Animation_Speed*4 do
2142
		Swait()
2143
		local Pos = HitboxPart
2144
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2145
		local Color = "Cyan"
2146
		local Material = "Neon"
2147
		local TheDelay = 0.01
2148
		local Height = 6.2 * Player_Size
2149
		BLCF = Offset
2150
		local SWORDHIT, SWORDPOS = Raycast(EffectPart.Position, (CF(EffectPart.Position, EffectPart.Position + VT(0, -1, 0))).lookVector, 1 * Player_Size, Character)
2151
			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)
2152
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
2153
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(5)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed*6)
2154
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(17.5)), 0.4 / Animation_Speed)
2155
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2156
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-150), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2157
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2158
			break
2159
		end
2160
    end
2161
    shockwaveright()
2162
	BLCF = nil
2163
	SCFR = nil
2164
	ATTACK = false
2165
end
2166
2167
function Attack2()
2168
	ATTACK = true
2169
	for i=0, 1, 0.1 / Animation_Speed do
2170
		Swait()
2171
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-50)), 0.4 / Animation_Speed)
2172
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(15)), 0.4 / Animation_Speed)
2173
	    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0.5 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(5)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2174
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2175
	    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(-10), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2176
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2177
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-110), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2178
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2179
			break
2180
		end
2181
	end
2182
	CreateSound("553461718", LeftArm, 1.2, MRANDOM(7, 9) / 10)
2183
	for i=0, 1, 0.1 / Animation_Speed*5 do
2184
		Swait()
2185
		local Pos = HitboxPart
2186
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2187
		local Color = "Cyan"
2188
		local Material = "Neon"
2189
		local TheDelay = 0.01
2190
		local Height = 6.2 * Player_Size
2191
		BLCF = Offset
2192
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-10)), 0.4 / Animation_Speed)
2193
		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(10)), 0.4 / Animation_Speed)
2194
	    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75 * Player_Size, 0.5 * Player_Size, -1.25 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-35)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed*4)
2195
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2196
		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)
2197
		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)
2198
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-130), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2199
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2200
			break
2201
		end
2202
	end
2203
    shockwaveright()
2204
	BLCF = nil
2205
	SCFR = nil
2206
	ATTACK = false
2207
end
2208
2209
function Freeze()
2210
    pupil1.BrickColor = BrickColor.new("Deep blue")
2211
    pupil2.BrickColor = BrickColor.new("Deep blue")
2212
    Humanoid.JumpPower = 0
2213
    Humanoid.WalkSpeed = 0
2214
	ATTACK = true
2215
	CreateSound("357558023",Torso, 15, MRANDOM(11, 13) / 10)
2216
	for i=0, 1, 0.1 / Animation_Speed do
2217
		Swait()
2218
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-20)), 0.15 / Animation_Speed)
2219
			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(25), RAD(25)), 0.15 / Animation_Speed)
2220
		    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)
2221
		    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)
2222
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-2.5)), 0.15 / Animation_Speed)
2223
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
2224
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-100), RAD(90), RAD(0)), 0.15 / Animation_Speed)
2225
		    if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2226
			break
2227
		end
2228
	end
2229
    SilenceRoar2()
2230
    UniqueMove1()
2231
end
2232
2233
function FirePillar(POSITION1, POSITION2, SIZE, RISE, RANGE, LOWDAMAGE, HIGHDAMAGE, LASTINGTIME)
2234
	local POS1 = POSITION1
2235
	local POS2 = POSITION2
2236
	local MOUSELOOK = CF((POS1 + POS2) / 2, POS2)
2237
	local FIREPILLARHITSOUNDS = {"260433557", --[["646619365",--]] "260433522"--[[, "144140670"--]]}
2238
	local FIREPILLARCOLORS = {"Toothpaste", "Cyan", "Tael"}
2239
	local FIREPILLAR1HIT, FIREPILLAR1POS = Raycast(POS1, MOUSELOOK.lookVector, RANGE * Player_Size, Character)
2240
	local FirePillarRefpart1 = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
2241
	FirePillarRefpart1.Anchored = true
2242
	FirePillarRefpart1.CFrame = CF(FIREPILLAR1POS) * CF(0, 10, 0)
2243
	game:GetService("Debris"):AddItem(FirePillarRefpart1, 5)
2244
	local FIREPILLAR2HIT, FIREPILLAR2POS = Raycast(FirePillarRefpart1.Position, CF(FirePillarRefpart1.Position, FirePillarRefpart1.Position + VT(0, -1, 0)).lookVector, 999, Character)
2245
	if FIREPILLAR2HIT ~= nil then
2246
		FirePillarRefpart1.Parent = nil
2247
		local FirePillarRefpart2 = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
2248
		FirePillarRefpart2.Anchored = true
2249
		FirePillarRefpart2.CFrame = CF(FIREPILLAR2POS)
2250
		game:GetService("Debris"):AddItem(FirePillarRefpart2, 5)
2251
		CreateSound(FIREPILLARHITSOUNDS[MRANDOM(1, #FIREPILLARHITSOUNDS)], FirePillarRefpart2, 1.2, MRANDOM(11, 13) / 10)
2252
		for i = 1, MRANDOM(5, 10) do
2253
			MagicBlock(FIREPILLARCOLORS[MRANDOM(1, #FIREPILLARCOLORS)], "Neon", FirePillarRefpart2.CFrame * ANGLES(RAD(MRANDOM(-60, 60)), 0, RAD(MRANDOM(-60, 60))), CF(0, MRANDOM(5, 7) / 10 * Player_Size, 0), VT(0, 0, 0), 3, 3, 3, 0, 0, 0, MRANDOM(3, 5) / 100)
2254
		end
2255
		for i = 1, MRANDOM(15, 20) do
2256
			local FIREEFFECTSIZE = MRANDOM(1, 2)
2257
			MagicBlock(FIREPILLARCOLORS[MRANDOM(1, #FIREPILLARCOLORS)], "Neon", FirePillarRefpart2.CFrame, CF(0, MRANDOM(5, 10) / 100, 0) * ANGLES(0, RAD(MRANDOM(-20, 20)), 0), VT(MRANDOM(SIZE / 6, SIZE / 4), 0, 0), FIREEFFECTSIZE, FIREEFFECTSIZE, FIREEFFECTSIZE, -0.02, -0.02, -0.02, MRANDOM(1, 2) / 100)
2258
		end
2259
		MagicCylinder("Cyan", "Neon", CF(FIREPILLAR2POS), ANGLES(0, 0, 0), VT(0, 0, 0), SIZE, 0.1, SIZE, 1.5, 0, 1.5, LASTINGTIME)
2260
		MagicSphere("White", "Neon", FirePillarRefpart2.CFrame, ANGLES(0, 0, 0), VT(0, 0, 0), SIZE, 0.1, SIZE, 1.5, RISE, 1.5, LASTINGTIME)
2261
		MagicSphere("Tael", "Neon", FirePillarRefpart2.CFrame, ANGLES(0, 0, 0), VT(0, 0, 0), SIZE * 0.5, 0.1, SIZE * 0.5, 1.5, RISE * 0.75, 1.5, LASTINGTIME)
2262
		MagicSphere("Lapis", "Neon", FirePillarRefpart2.CFrame, ANGLES(0, 0, 0), VT(0, 0, 0), SIZE * 0.25, 0.1, SIZE * 0.25, 1.5, RISE * 0.375, 1.5, LASTINGTIME)
2263
		MagnitudeDamage("", "", "", "", 1, 1, 1, 1, FirePillarRefpart2, SIZE / 3, false, 25, 35, 0, "Normal", RootPart, 0, 1, MRANDOM(10, 15), nil, false, true, "Movement", -0.1, 3, true)
2264
	end
2265
end
2266
2267
function Attack3()
2268
	ATTACK = true
2269
	local FIREEFFECTCOLORS = {"Tael", "Cyan", "Toohpaste"}
2270
	for i=0, 1, 0.1 / Animation_Speed do
2271
		Swait()
2272
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", LeftArm.CFrame * CF(0 * Player_Size, MRANDOM(-15, -10) / 10 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), 0, RAD(MRANDOM(-360, 360))), CF(0, 0, -0.1) * ANGLES(0, 0, RAD(MRANDOM(-20, 20))), VT(0, 1, 0), 1, 1, 1, -0.05, -0.05, -0.05, 0.05)
2273
		--MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RootPart.CFrame * CF(0 * Player_Size, MRANDOM(-2, 2) * Player_Size, 0 * Player_Size) * ANGLES(0, RAD(MRANDOM(-360, 360)), 0), CF(0, MRANDOM(5, 10) / 100, 0) * ANGLES(0, RAD(MRANDOM(-10, 10)), 0), VT(MRANDOM(20, 40) / 10, 0, 0), 1, 1, 1, -0.05, -0.05, -0.05, 0.05)
2274
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
2275
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(35)) * ANGLES(RAD(2.5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2276
		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)
2277
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.75 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(50)) * ANGLES(RAD(80), RAD(-20), RAD(-30)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2278
		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)
2279
		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)
2280
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(-20), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2281
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2282
			break
2283
		end
2284
	end
2285
	CreateSound("549224856", LeftArm, 1, MRANDOM(11, 13) / 10)
2286
	FirePillar(RootPart.Position, Mouse.hit.p, 125, 3.5, 0, 5, 10, 0.025)
2287
	MagicBlock("White", "Neon", LeftArm.CFrame * CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(0, 0, 0), VT(0, 0, 0), 5, 5, 5, 0.5, 0.5, 0.5, 0.05)
2288
	MagicBlock("Cyan", "Neon", LeftArm.CFrame * CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(0, 0, 0), VT(0, 0, 0), 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.05)
2289
	MagicBlock("Toothpaste", "Neon", LeftArm.CFrame * CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(0, 0, 0), VT(0, 0, 0), 0.05, 0.05, 0.05, 0.5, 0.5, 0.5, 0.05)
2290
	for i=0, 1, 0.1 / Animation_Speed do
2291
		Swait()
2292
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
2293
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(25)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2294
		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)
2295
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.25 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-20 + MRANDOM(-2.5, 2.5))) * ANGLES(RAD(70 + MRANDOM(-2.5, 2.5)), RAD(40), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2296
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.4 / Animation_Speed)
2297
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, 0.05 * Player_Size) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-12.5)), 0.4 / Animation_Speed)
2298
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(-20), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2299
		--[[RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(40)), 0.4 / Animation_Speed)
2300
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-30)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2301
		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)
2302
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-10 + MRANDOM(-2.5, 2.5))) * ANGLES(RAD(40 + MRANDOM(-2.5, 2.5)), RAD(70), RAD(20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2303
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(10)), 0.4 / Animation_Speed)
2304
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2305
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(-20), RAD(90), RAD(0)), 0.4 / Animation_Speed)]]--
2306
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2307
			break
2308
		end
2309
	end
2310
	ATTACK = false
2311
end
2312
2313
function Move1()
2314
	ATTACK = true
2315
	ATTACK = false
2316
end
2317
2318
function Move2()
2319
	ATTACK = true
2320
	ATTACK = false
2321
end
2322
2323
function Move3()
2324
	ATTACK = true
2325
	ATTACK = false
2326
end
2327
2328
function Move4()
2329
	ATTACK = true
2330
	ATTACK = false
2331
end
2332
2333
function blizzard()
2334
ATTACK = true
2335
while true do
2336
    if HOLDBLIZZARD == true then
2337
	     CreateSound("357558023", Torso, 15, MRANDOM(15, 18) / 10)
2338
         local ice = Instance.new("Part")
2339
         local mesh = Instance.new("SpecialMesh")
2340
         mesh.MeshId = "rbxassetid://168892432"
2341
         mesh.Scale = Vector3.new(18,18,18)
2342
         mesh.Parent = ice
2343
         ice.Parent = Character
2344
         ice.CanCollide = false
2345
         ice.Anchored = true
2346
         ice.Transparency = 1
2347
         ice.BrickColor = BrickColor.new("White")
2348
         ice.CFrame = RootPart.CFrame
2349
         local ice2 = Instance.new("Part")
2350
         local mesh2 = Instance.new("SpecialMesh")
2351
         mesh2.MeshId = "rbxassetid://168892432"
2352
         mesh2.Scale = Vector3.new(24,24,24)
2353
         mesh2.Parent = ice2
2354
         ice2.Parent = Character
2355
         ice2.CanCollide = false
2356
         ice2.Anchored = true
2357
         ice2.Transparency = 1
2358
         ice2.BrickColor = BrickColor.new("White")
2359
         ice2.CFrame = RootPart.CFrame
2360
         for spin = 1,20 do
2361
              spin = ice.CFrame
2362
              spin2 = ice2.CFrame
2363
              MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, ice, 18, false, 5, 8, 0, "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2364
              ice.CFrame = spin * CFrame.fromEulerAnglesXYZ(0, 0.25, 0)
2365
              ice.Transparency = ice.Transparency - 0.025
2366
              ice2.CFrame = spin2 * CFrame.fromEulerAnglesXYZ(0, -0.25, 0)
2367
              ice2.Transparency = ice2.Transparency - 0.025
2368
              wait(0.015)
2369
              end
2370
         for spin = 1,20 do
2371
              spin = ice.CFrame
2372
              spin2 = ice2.CFrame
2373
              MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, ice, 18, false, 15, 18, 0, "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2374
              ice.CFrame = spin * CFrame.fromEulerAnglesXYZ(0, 0.25, 0)
2375
              ice.Transparency = ice.Transparency + 0.025
2376
              ice2.CFrame = spin2 * CFrame.fromEulerAnglesXYZ(0, -0.25, 0)
2377
              ice2.Transparency = ice2.Transparency + 0.025
2378
              wait(0.015)
2379
         end
2380
         ice:Destroy()
2381
         else
2382
             ATTACK = false
2383
             break
2384
         end
2385
         end
2386
         end
2387
2388
function shockwaverightleg()
2389
local shockwave = Instance.new("Part")
2390
CreateSound("438666141", RightLeg, 5, 1)
2391
shockwave.CanCollide = false
2392
shockwave.Anchored = true
2393
shockwave.Parent = Character
2394
shockwave.BrickColor = BrickColor.new("Really black")
2395
local meshg = Instance.new("SpecialMesh")
2396
meshg.MeshId = "http://www.roblox.com/asset/?id=20329976"
2397
meshg.Parent = shockwave
2398
meshg.Scale = Vector3.new(3, 12, 3)
2399
shockwave.CFrame = RightLeg.CFrame
2400
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, RightLeg, 12, false, 15, 20, MRANDOM(35, 45), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2401
for i = 1,20 do
2402
    meshg.Scale = meshg.Scale + Vector3.new(5,0,5)
2403
    wait(0.025)
2404
end
2405
for i = 1,20 do
2406
    shockwave.Transparency = shockwave.Transparency + 0.05
2407
    wait(0.015)
2408
end
2409
shockwave:Destroy()
2410
end
2411
2412
function shockwaveright()
2413
BreakEffect(BrickColor.new("Black"),RightArm.CFrame,0.5,math.random(5,20),0.5)
2414
BreakEffect(BrickColor.new("Black"),RightArm.CFrame,0.5,math.random(5,20),0.5)
2415
BreakEffect(BrickColor.new("Black"),RightArm.CFrame,0.5,math.random(5,20),0.5)
2416
BreakEffect(BrickColor.new("Black"),RightArm.CFrame,0.5,math.random(5,20),0.5)
2417
BreakEffect(BrickColor.new("Black"),RightArm.CFrame,0.5,math.random(5,20),0.5)
2418
local shockwave = Instance.new("Part")
2419
CreateSound("260430189", RightArm, 4, MRANDOM(3, 4) / 10)
2420
shockwave.CanCollide = false
2421
shockwave.Anchored = true
2422
shockwave.Parent = Character
2423
shockwave.BrickColor = BrickColor.new("Medium blue")
2424
local meshg = Instance.new("SpecialMesh")
2425
meshg.MeshId = "http://www.roblox.com/asset/?id=20329976"
2426
meshg.Parent = shockwave
2427
meshg.Scale = Vector3.new(3, 12, 3)
2428
shockwave.CFrame = RightArm.CFrame
2429
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, RightArm, 5, false, 35, 45, MRANDOM(35, 45), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2430
for i = 1,10 do
2431
    shockwave.Transparency = shockwave.Transparency + 0.1
2432
    meshg.Scale = meshg.Scale + Vector3.new(2,0,2)
2433
    wait(0.05)
2434
end
2435
shockwave:Destroy()
2436
end
2437
2438
--//=================================\\
2439
--\\=================================//
2440
2441
2442
2443
--//=================================\\
2444
--||	      SET THINGS UP
2445
--\\=================================//
2446
2447
2448
--//=================================\\
2449
--\\=================================//
2450
2451
function SilenceAttempt(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HIT, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
2452
Humanoid.MaxHealth = "inf"
2453
Humanoid.Health = "inf"
2454
	if HIT.Parent == nil then
2455
		return
2456
	end
2457
	local HITHUMANOID = HIT.Parent:FindFirstChild("Humanoid")
2458
	for _, v in pairs(HIT.Parent:GetChildren()) do
2459
		if v:IsA("Humanoid") then
2460
			HITHUMANOID = v
2461
		end
2462
	end
2463
	if HIT.Name == "Hitbox" and RANGED ~= true and HIT.Parent ~= Weapon and Enable_Stagger_Hit == true then
2464
		StaggerHit.Value = true
2465
		if Play_Hitbox_Hit_Sound == true then
2466
			if HITWEAPONSOUND ~= "" and HITWEAPONSOUND ~= "nil" then
2467
				CreateSound(HITWEAPONSOUND, HIT, 1, HITWEAPONSOUNDPITCH)
2468
			end
2469
		end
2470
		return
2471
	end
2472
	if HIT.Parent.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent.Parent:FindFirstChild("UpperTorso") ~= nil then
2473
		HITHUMANOID = HIT.Parent.Parent:FindFirstChild("Humanoid")
2474
	end
2475
	if HIT.Parent.ClassName == "Hat" or HIT.ClassName == "Accessory" then
2476
		HIT = HIT.Parent.Parent:FindFirstChild("Head")
2477
	end
2478
	if HITHUMANOID ~= nil and HIT.Parent.Name ~= Character.Name and (HIT.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent:FindFirstChild("UpperTorso") ~= nil) then
2479
		if HIT.Parent:FindFirstChild("DebounceHit") ~= nil then
2480
			if HIT.Parent.DebounceHit.Value == true then
2481
				return
2482
			end
2483
		end
2484
		if AntiTeamKill.Value == true then
2485
			if Player.Neutral == false and game.Players:GetPlayerFromCharacter(HIT.Parent) ~= nil then
2486
				if game.Players:GetPlayerFromCharacter(HIT.Parent).TeamColor == Player.TeamColor then
2487
					return
2488
				end
2489
			end
2490
		end
2491
		if HITEVENWHENDEAD == false then
2492
			if HIT.Parent:FindFirstChild("Humanoid") ~= nil then
2493
				if HIT.Parent:FindFirstChild("Humanoid").Health <= 0 then
2494
					return
2495
				end
2496
			end
2497
		end
2498
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
2499
			if HIT.Parent.Stats:FindFirstChild("StunValue") ~= nil then
2500
				HIT.Parent.Stats:FindFirstChild("StunValue").Value = HIT.Parent.Stats:FindFirstChild("StunValue").Value + INCREASESTUN
2501
			end
2502
		end
2503
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
2504
			if HIT.Parent.Stats:FindFirstChild("Stagger") ~= nil then
2505
				if STAGGER == true and Enable_Stagger == true then
2506
					HIT.Parent.Stats:FindFirstChild("Stagger").Value = true
2507
				end
2508
			end
2509
		end
2510
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
2511
			if HIT.Parent.Stats:FindFirstChild("Block") ~= nil then
2512
				if HIT.Parent.Stats:FindFirstChild("Block").Value == true then
2513
					HASBEENBLOCKED = true
2514
					if HIT.Parent.Stats:FindFirstChild("Block"):FindFirstChild("BlockDebounce") == nil then
2515
						StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Blocked!", C3(0, 100 / 255, 255 / 255))
2516
						if RANGED ~= true then
2517
							if HITBLOCKSOUND ~= "" and HITBLOCKSOUND ~= "nil" then
2518
								CreateSound("260433487", HIT, 1, HITBLOCKSOUNDPITCH)
2519
							end
2520
						end
2521
						local BlockDebounce = IT("BoolValue", HIT.Parent.Stats:FindFirstChild("Block"))
2522
						BlockDebounce.Name = "BlockDebounce"
2523
						BlockDebounce.Value = true
2524
						if RANGED ~= true then
2525
							game:GetService("Debris"):AddItem(BlockDebounce, 0.5)
2526
						else
2527
							game:GetService("Debris"):AddItem(BlockDebounce, 0.1)
2528
						end
2529
					end
2530
					if RANGED ~= true and Enable_Stagger == true then
2531
						HIT.Parent.Stats:FindFirstChild("Block").Value = false
2532
						Stagger.Value = true
2533
					end
2534
					return
2535
				end
2536
			end
2537
		end
2538
		if DECREASETHESTAT ~= nil then
2539
			if HIT.Parent:FindFirstChild("Stats") ~= nil then
2540
				IncreaseOrDecreaseStat(HIT.Parent, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
2541
			end
2542
		end
2543
		local DAMAGE = MRANDOM(MINIMUMDAMAGE,MAXIMUMDAMAGE) * Damage.Value
2544
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
2545
			if HIT.Parent.Stats:FindFirstChild("Defense") ~= nil then
2546
				if CanPenetrateArmor.Value == true then
2547
					DAMAGE = DAMAGE
2548
				else
2549
					DAMAGE = DAMAGE / HIT.Parent.Stats:FindFirstChild("Defense").Value
2550
				end
2551
			elseif HIT.Parent.Stats:FindFirstChild("Defense") == nil then
2552
				DAMAGE = DAMAGE
2553
			end
2554
		end
2555
		if CanCrit.Value == true then
2556
			CRITCHANCENUMBER = MRANDOM(1, CritChance.Value)
2557
			if CRITCHANCENUMBER == 1 then
2558
			end
2559
		end
2560
		DAMAGE = math.floor(DAMAGE)
2561
		if HASBEENBLOCKED == false then
2562
		end
2563
		if DAMAGE <= 3 and HASBEENBLOCKED == false then
2564
			if STAGGERHIT == true and Enable_Stagger_Hit == true and RANGED ~= true then
2565
				StaggerHit.Value = true
2566
			end
2567
			if HITARMORSOUND ~= "" and HITARMORSOUND ~= "nil" then
2568
				CreateSound("260433487", HIT, 1, HITARMORSOUNDPITCH)
2569
			end
2570
		elseif DAMAGE > 3 and HASBEENBLOCKED == false then
2571
			if HITPLAYERSOUND ~= "" and HITPLAYERSOUND ~= "nil" then
2572
				CreateSound("260433487", HIT, 1, HITPLAYERSOUNDPITCH)
2573
			end
2574
		end
2575
		if DAMAGE > 3 and DAMAGE < 20 and HASBEENBLOCKED == false then
2576
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
2577
				CreateSound("260433487", HIT, 1, 1)
2578
			else
2579
			end
2580
		elseif DAMAGE >= 20 and HASBEENBLOCKED == false then
2581
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
2582
			else
2583
			end
2584
		elseif DAMAGE <= 3 and HASBEENBLOCKED == false then
2585
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
2586
				CreateSound("260433487", HIT, 1, 1)
2587
			else
2588
			end
2589
		end
2590
		if TYPE == "Normal" then
2591
			local vp = IT("BodyVelocity")
2592
			vp.P=500
2593
			vp.maxForce = VT(math.huge, 0, math.huge)
2594
			if KNOCKBACKTYPE == 1 then
2595
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK + PROPERTY.Velocity / 1.05
2596
			elseif KNOCKBACKTYPE == 2 then
2597
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK
2598
			end
2599
			if KNOCKBACK > 0 and HASBEENBLOCKED == false then
2600
				vp.Parent = HIT--.Parent.Torso
2601
			end
2602
			game:GetService("Debris"):AddItem(vp, 0.5)
2603
		end
2604
		HASBEENBLOCKED = false
2605
		RecentEnemy.Value = HIT.Parent
2606
		local DebounceHit = IT("BoolValue", HIT.Parent)
2607
		DebounceHit.Name = "DebounceHit"
2608
		DebounceHit.Value = true
2609
		game:GetService("Debris"):AddItem(DebounceHit, DELAY)
2610
	end
2611
c = HITHUMANOID.Parent:GetChildren()
2612
for g = 1, #c do
2613
if c[g].ClassName == "Script" then
2614
c[g]:Destroy()
2615
elseif c[g].ClassName == "Part" and c[g].Name ~= "HumanoidRootPart" then
2616
FREEZEHIT = FREEZEHIT + 1
2617
local ice = c[g]:Clone()
2618
ice.Size = c[g].Size + Vector3.new(0.2,0.2,0.2)
2619
ice.Name = "Ice"
2620
ice.CFrame = c[g].CFrame
2621
ice.Anchored = true
2622
ice.CanCollide = false
2623
ice.Parent = HITHUMANOID.Parent
2624
ice.Transparency = 0.5
2625
ice.Material = "Ice"
2626
ice.BrickColor = BrickColor.new("Steel blue")
2627
h = ice:GetChildren()
2628
for j = 1, #h do
2629
if h[j].ClassName ~= "SpecialMesh" then
2630
h[j]:Destroy()
2631
end
2632
end
2633
c[g].Anchored = true
2634
elseif c[g].ClassName == "Accessory" then
2635
c[g].Handle.Anchored = true
2636
end
2637
end
2638
local f = Instance.new("Folder")
2639
f.Name = "IceCover"
2640
f.Parent = HITHUMANOID.Parent
2641
end
2642
2643
--Usage: MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Part, 5, true, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, false, true, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2644
function Silence(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, PART, MAGNITUDE, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
2645
	for _, c in pairs(workspace:GetChildren()) do
2646
		local HUMANOID = c:FindFirstChild("Humanoid")
2647
		local HEAD = nil
2648
		if HUMANOID ~= nil then
2649
			for _, d in pairs(c:GetChildren()) do
2650
				if d.ClassName == "Model" and RANGED ~= true then
2651
					HEAD = d:FindFirstChild("Hitbox")
2652
					if HEAD ~= nil then
2653
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
2654
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
2655
							if Play_Hitbox_Hit_Sound == true then
2656
								local HitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
2657
								HitRefpart.Anchored = true
2658
								HitRefpart.CFrame = CF(HEAD.Position)
2659
								CreateSound(HITWEAPONSOUND, HitRefpart, 1, HITWEAPONSOUNDPITCH)
2660
							end
2661
							if Enable_Stagger_Hit == true then
2662
								StaggerHit.Value = true
2663
							end
2664
						end
2665
					end
2666
				elseif d:IsA"BasePart" then
2667
					HEAD = d
2668
					if HEAD ~= nil then
2669
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
2670
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
2671
							SilenceAttempt(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HEAD, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
2672
						end
2673
					end
2674
				end
2675
			end
2676
		end
2677
	end
2678
end
2679
2680
function UniqueMove1()
2681
    Humanoid.JumpPower = 0
2682
    Humanoid.WalkSpeed = 0
2683
	ATTACK = true
2684
	for i=0, 1, 0.1 do
2685
		Swait()
2686
		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)
2687
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(30)), 0.4 / Animation_Speed)
2688
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(100)) * ANGLES(RAD(-30), RAD(80), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed*8)
2689
		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*8)
2690
		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)
2691
		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)
2692
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-130), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2693
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2694
			break
2695
		end
2696
	end
2697
    chatfunc("Freeze up!")
2698
	Silence(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Head, 13, false, 250, 300, MRANDOM(25, 30), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false) 
2699
    SilenceRoar()
2700
    if FREEZEHIT > 0 then
2701
    Thaw()
2702
    FREEZEHIT = 0
2703
    else
2704
    Humanoid.JumpPower = 175
2705
    Humanoid.WalkSpeed = 45
2706
    pupil1.BrickColor = BrickColor.new("Steel blue")
2707
    pupil2.BrickColor = BrickColor.new("Steel blue")
2708
    end
2709
	ATTACK = false
2710
end
2711
2712
function Thaw()
2713
    Humanoid.JumpPower = 0
2714
    Humanoid.WalkSpeed = 0
2715
	ATTACK = true
2716
	for i=0, 1, 0.1 / Animation_Speed do
2717
		Swait()
2718
			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)
2719
			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)
2720
			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)
2721
			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)
2722
			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)
2723
			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)
2724
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
2725
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2726
			break
2727
		end
2728
	end
2729
    chatfunc("Break to pieces!")
2730
	CreateSound("553461718", LeftArm, 1.2, MRANDOM(7, 9) / 10)
2731
	for i=0, 1, 0.1 / Animation_Speed*7 do
2732
		Swait()
2733
		local Pos = HitboxPart
2734
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2735
		local Color = "Cyan"
2736
		local Material = "Neon"
2737
		local TheDelay = 0.01
2738
		local Height = 6.2 * Player_Size
2739
		BLCF = Offset
2740
			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)
2741
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(70), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2742
			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)
2743
			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)
2744
			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)
2745
			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)
2746
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
2747
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2748
			break
2749
		end
2750
	end
2751
    shockwaverightleg()
2752
	BLCF = nil
2753
	SCFR = nil
2754
	ATTACK = false
2755
    Humanoid.JumpPower = 175
2756
    Humanoid.WalkSpeed = 45
2757
    pupil1.BrickColor = BrickColor.new("Steel blue")
2758
    pupil2.BrickColor = BrickColor.new("Steel blue")
2759
end
2760
2761
function SilenceRoar2()
2762
    local exp = Instance.new("Part")
2763
    exp.Parent = Character
2764
    exp.Size = Vector3.new(1,1,1)
2765
    exp.Anchored = true
2766
    exp.Transparency = 1
2767
    exp.CanCollide = false
2768
    exp.CFrame = Torso.CFrame
2769
    exp.BrickColor = BrickColor.new("White")
2770
    exp.Material = "Sand"
2771
    local meshe = Instance.new("SpecialMesh")
2772
    meshe.MeshType = "Sphere"
2773
    meshe.Parent = exp
2774
    meshe.Scale = Vector3.new(3*24,3*24,3*24)
2775
    for size = 1, 12 do
2776
        meshe.Scale = meshe.Scale - Vector3.new(3,3,3)
2777
        exp.Transparency = exp.Transparency - (1/24)
2778
        wait(0.055)
2779
    end
2780
    for size = 1, 12 do
2781
        meshe.Scale = meshe.Scale - Vector3.new(3,3,3)
2782
        exp.Transparency = exp.Transparency + (1/34)
2783
        wait(0.055)
2784
    end
2785
    exp:Destroy()
2786
end
2787
2788
function SilenceRoar()
2789
    for i = 1, 5 do
2790
    BreakEffect(BrickColor.new("Black"),Torso.CFrame,0.5,math.random(5,20),0.5)
2791
    end
2792
    local exp = Instance.new("Part")
2793
    exp.Parent = Character
2794
    exp.Size = Vector3.new(1,1,1)
2795
    exp.Anchored = true
2796
    exp.Transparency = 0.25
2797
    exp.CanCollide = false
2798
    exp.CFrame = Torso.CFrame
2799
    exp.BrickColor = BrickColor.new("White")
2800
    exp.Material = "Sand"
2801
    local meshe = Instance.new("SpecialMesh")
2802
    meshe.MeshType = "Sphere"
2803
    meshe.Parent = exp
2804
    for size = 1, 24 do
2805
        BreakEffect(BrickColor.new("Black"),Torso.CFrame,0.5,math.random(5,20),0.5)
2806
        BreakEffect(BrickColor.new("Black"),Torso.CFrame,0.5,math.random(5,20),0.5)
2807
        BreakEffect(BrickColor.new("Black"),Torso.CFrame,0.5,math.random(5,20),0.5)
2808
        meshe.Scale = meshe.Scale + Vector3.new(5,5,5)
2809
        exp.Transparency = exp.Transparency + (1/25)
2810
        wait(0.025)
2811
    end
2812
    exp:Destroy()
2813
end
2814
2815
-- taunts --
2816
2817
function taunt1()
2818
CreateSound("134978657", Head, 12, MRANDOM(12, 13) / 10)
2819
end
2820
2821
function taunt2()
2822
CreateSound("135017578", Head, 12, MRANDOM(12, 13) / 10)
2823
end
2824
2825
--//=================================\\
2826
--||	  ASSIGN THINGS TO KEYS
2827
--\\=================================//
2828
2829
Humanoid.Changed:connect(function(Jump)
2830
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
2831
		Humanoid.Jump = false
2832
	end
2833
end)
2834
2835
function MouseDown(Mouse)
2836
	if ATTACK == true or EQUIPPED == false then
2837
		return
2838
	end
2839
	HOLD = true
2840
	if COMBO == 1 then
2841
		COMBO = 2
2842
		Attack2()
2843
	elseif COMBO == 2 then
2844
		COMBO = 1
2845
		Attack1()
2846
	end
2847
	coroutine.resume(coroutine.create(function()
2848
		for i=1, 50 do
2849
			if ATTACK == false then
2850
				Swait()
2851
			end
2852
		end
2853
		if ATTACK == false then
2854
			COMBO = 1
2855
		end
2856
	end))
2857
end
2858
2859
function MouseUp(Mouse)
2860
HOLD = false
2861
end
2862
2863
function KeyDown(Key)
2864
	if Key == "f" and Can_Equip_Or_Unequip == true and ATTACK == false then
2865
		ATTACK = true
2866
		COMBO = 1
2867
		if EQUIPPED == false then
2868
			EQUIPPED = true
2869
			if Disable_Animate == true then
2870
				ANIMATE.Parent = nil
2871
				local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
2872
				IDLEANIMATION:Play()
2873
			end
2874
			if Disable_Animator == true then
2875
				ANIMATOR.Parent = nil
2876
			end
2877
			Swait()
2878
		elseif EQUIPPED == true then
2879
		end
2880
		ATTACK = false
2881
	end
2882
	if Key == "e" and EQUIPPED == true and ATTACK == false then
2883
    Thaw()
2884
	end
2885
	if Key == "z" and EQUIPPED == true and ATTACK == false and CO1 >= Cooldown_1 and Mana.Value >= Skill_1_Mana_Cost then
2886
		Mana.Value = Mana.Value - Skill_1_Mana_Cost
2887
		CO1 = 0
2888
		Move1()
2889
	end
2890
	if Key == "x" and EQUIPPED == true and ATTACK == false and CO2 >= Cooldown_2 and Mana.Value >= Skill_2_Mana_Cost then
2891
    HOLDBLIZZARD = true
2892
    blizzard()
2893
	end
2894
	if Key == "c" and EQUIPPED == true and ATTACK == false and CO3 >= Cooldown_3 and Mana.Value >= Skill_3_Mana_Cost then
2895
       Freeze()
2896
	end
2897
	if Key == "v" and EQUIPPED == true and ATTACK == false and CO4 >= Cooldown_4 and Mana.Value >= Skill_4_Mana_Cost then
2898
       Attack3()
2899
	end
2900
		if Key == "q" then
2901
			Mana.Value = Max_Mana
2902
			SecondaryMana.Value = Max_Secondary_Mana
2903
			CO1 = Cooldown_1
2904
			CO2 = Cooldown_2
2905
			CO3 = Cooldown_3
2906
			CO4 = Cooldown_4
2907
		end
2908
		if Key == "p" then
2909
		end
2910
		if Key == "[" then
2911
		taunt1()
2912
		end
2913
		if Key == "]" then
2914
		taunt2()
2915
		end
2916
	end
2917
2918
function KeyUp(Key)
2919
HOLDBLIZZARD = false
2920
end
2921
2922
if Use_HopperBin == false then
2923
2924
	Mouse.Button1Down:connect(function(NEWKEY)
2925
		MouseDown(NEWKEY)
2926
	end)
2927
	Mouse.Button1Up:connect(function(NEWKEY)
2928
		MouseUp(NEWKEY)
2929
	end)
2930
	Mouse.KeyDown:connect(function(NEWKEY)
2931
		KeyDown(NEWKEY)
2932
	end)
2933
	Mouse.KeyUp:connect(function(NEWKEY)
2934
		KeyUp(NEWKEY)
2935
	end)
2936
2937
elseif Use_HopperBin == true then
2938
	WEAPONTOOL.Parent = Backpack
2939
	script.Parent = WEAPONTOOL
2940
	function SelectTool(Mouse)
2941
		Mouse.Button1Down:connect(function()
2942
			MouseDown(Mouse)
2943
		end)
2944
		Mouse.Button1Up:connect(function()
2945
			MouseUp(Mouse)
2946
		end)
2947
		Mouse.KeyDown:connect(KeyDown)
2948
		Mouse.KeyUp:connect(KeyUp)
2949
	end
2950
	function DeselectTool(Mouse)
2951
	end
2952
	WEAPONTOOL.Selected:connect(SelectTool)
2953
	WEAPONTOOL.Deselected:connect(DeselectTool)
2954
end
2955
2956
--//=================================\\
2957
--\\=================================//
2958
2959
2960
2961
2962
2963
--//=================================\\
2964
--||	WRAP THE WHOLE SCRIPT UP
2965
--\\=================================//
2966
2967
while true do
2968
	Swait()
2969
	if HitboxPart ~= nil and ATTACK == false and StaggerHit.Value == false and Stagger.Value == false and Stun.Value == false then
2970
		HitboxPart.Name = "NilHitbox"
2971
	else
2972
		HitboxPart.Name = "Hitbox"
2973
	end
2974
	if Enable_Gui == true then
2975
		UpdateGUI()
2976
	end
2977
	UpdateSkillsAndStuff()
2978
	if Walkspeed_Depends_On_Movement_Value == true then
2979
		if Movement.Value < 0 or StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true or Rooted.Value == true then
2980
			Humanoid.WalkSpeed = 0
2981
		else
2982
			Humanoid.WalkSpeed = 16 * Movement.Value * Player_Size
2983
		end
2984
	end
2985
	if Enable_Stun == true and StunValue.Value >= Max_Stun then
2986
		StunValue.Value = 0
2987
		Stun.Value = true
2988
	end
2989
	if Enable_Stagger_Hit == true then
2990
		if StaggerHit.Value == true and STAGGERHITANIM == false then
2991
			coroutine.resume(coroutine.create(function()
2992
				STAGGERHITANIM = true
2993
				while ATTACK == true do
2994
					Swait()
2995
				end
2996
				StaggerHitAnimation()
2997
				StaggerHit.Value = false
2998
				STAGGERHITANIM = false
2999
			end))
3000
		end
3001
	else
3002
		StaggerHit.Value = false
3003
	end
3004
	if Enable_Stagger == true then
3005
		if Stagger.Value == true and STAGGERANIM == false then
3006
			coroutine.resume(coroutine.create(function()
3007
				STAGGERANIM = true
3008
				while ATTACK == true do
3009
					Swait()
3010
				end
3011
				StaggerAnimation()
3012
				Stagger.Value = false
3013
				STAGGERANIM = false
3014
			end))
3015
		end
3016
	else
3017
		Stagger.Value = false
3018
	end
3019
	if Enable_Stun == true then
3020
		if Stun.Value == true and STUNANIM == false then
3021
			coroutine.resume(coroutine.create(function()
3022
				StunValue.Value = 0
3023
				STUNANIM = true
3024
				while ATTACK == true do
3025
					Swait()
3026
				end
3027
				StunAnimation()
3028
				Stun.Value = false
3029
				STUNANIM = false
3030
			end))
3031
		end
3032
	else
3033
		StunValue.Value = 0
3034
		Stun.Value = false
3035
	end
3036
	if DONUMBER >= .5 then
3037
		HANDIDLE = true
3038
	elseif DONUMBER <= 0 then
3039
		HANDIDLE = false
3040
	end
3041
	if HANDIDLE == false then
3042
		DONUMBER = DONUMBER + 0.003 / Animation_Speed
3043
	else
3044
		DONUMBER = DONUMBER - 0.003 / Animation_Speed
3045
	end
3046
	if ATTACK == false then
3047
		IDLENUMBER = IDLENUMBER + 1
3048
	else
3049
		IDLENUMBER = 0
3050
	end
3051
	if Enable_Stats == true then
3052
		for _, v in pairs (ChangeStat:GetChildren()) do
3053
			if v:FindFirstChild("Duration") ~= nil then
3054
				v:FindFirstChild("Duration").Value = v:FindFirstChild("Duration").Value - (1 / 30) / Animation_Speed
3055
				if v:FindFirstChild("Duration").Value <= 0 then
3056
					v.Parent = nil
3057
				end
3058
			end
3059
			if v.Name == "ChangeDefense" then
3060
				CHANGEDEFENSE = CHANGEDEFENSE + v.Value
3061
			elseif v.Name == "ChangeDamage" then
3062
				CHANGEDAMAGE = CHANGEDAMAGE + v.Value
3063
			elseif v.Name == "ChangeMovement" then
3064
				CHANGEMOVEMENT = CHANGEMOVEMENT + v.Value
3065
			end
3066
		end
3067
		Defense.Value = 1 + (CHANGEDEFENSE)
3068
		if Defense.Value <= 0.01 then
3069
			Defense.Value = 0.01
3070
		end
3071
		Damage.Value = 1 + (CHANGEDAMAGE)
3072
		if Damage.Value <= 0 then
3073
			Damage.Value = 0
3074
		end
3075
		Movement.Value = 1 + (CHANGEMOVEMENT)
3076
		if Movement.Value <= 0 then
3077
			Movement.Value = 0
3078
		end
3079
	CHANGEDEFENSE = 0
3080
	CHANGEDAMAGE = 0
3081
	CHANGEMOVEMENT = 0
3082
	end
3083
	SINE = SINE + CHANGE
3084
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
3085
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
3086
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
3087
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
3088
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
3089
	if ANIM == "Walk" and EQUIPPED == true and TORSOVELOCITY > 1 then
3090
		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)
3091
		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)
3092
		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)
3093
		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)
3094
	elseif (ANIM ~= "Walk" and EQUIPPED == true) or (TORSOVELOCITY < 1) then
3095
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3096
		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)
3097
		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)
3098
		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)
3099
	end
3100
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
3101
		ANIM = "Jump"
3102
		if EQUIPPED == true and ATTACK == false then
3103
            Humanoid.WalkSpeed = 75
3104
			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)
3105
			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)
3106
			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)
3107
			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)
3108
			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)
3109
			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)
3110
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3111
		end
3112
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
3113
		ANIM = "Fall"
3114
		if EQUIPPED == true and ATTACK == false then
3115
			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)
3116
			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)
3117
			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)
3118
			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)
3119
			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)
3120
			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)
3121
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3122
		end
3123
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
3124
		ANIM = "Idle"
3125
		if EQUIPPED == true and ATTACK == false then
3126
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-20)), 0.15 / Animation_Speed)
3127
			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(15)), 0.15 / Animation_Speed)
3128
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
3129
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3130
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-2.5)), 0.15 / Animation_Speed)
3131
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
3132
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-100), RAD(90), RAD(0)), 0.15 / Animation_Speed)
3133
		end
3134
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
3135
		ANIM = "Walk"
3136
		WALK = WALK + 1 / Animation_Speed
3137
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
3138
			WALK = 0
3139
			if WALKINGANIM == true then
3140
				WALKINGANIM = false
3141
			elseif WALKINGANIM == false then
3142
				WALKINGANIM = true
3143
			end
3144
		end
3145
		if EQUIPPED == true and ATTACK == false then
3146
            Humanoid.WalkSpeed = 45
3147
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * COS(SINE / WALKSPEEDVALUE) * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3148
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(40)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3149
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
3150
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-30)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3151
			RightHip.C0 = Clerp(RightHip.C0, CF(0.95 * Player_Size, -1 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(130), RAD(0)) * ANGLES(RAD(-1.25 - 2.5 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3152
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.9 * Player_Size, 0.25 * Player_Size) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-2.5 + 2.5 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3153
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.15 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3154
		end
3155
	end
3156
3157
end
3158
3159
--//=================================\\
3160
--\\=================================//
3161
3162
3163
3164
3165
3166
--//====================================================\\--
3167
--||			  		 END OF SCRIPT
3168
--\\====================================================//