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