View difference between Paste ID: t7fddVBm and syaNJz84
SHOW: | | - or go back to the newest paste.
1
-- This script has been converted to FE by iPxter
2
3
4
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
5
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
6
do
7
	print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
8
	script.Parent = Player.Character
9
10
	--RemoteEvent for communicating
11
	local Event = Instance.new("RemoteEvent")
12
	Event.Name = "UserInput_Event"
13
14
	--Fake event to make stuff like Mouse.KeyDown work
15
	local function fakeEvent()
16
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
17
		t.connect = t.Connect
18
		return t
19
	end
20
21
	--Creating fake input objects with fake variables
22
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
23
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
24
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
25
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
26
	end}
27
	--Merged 2 functions into one by checking amount of arguments
28
	CAS.UnbindAction = CAS.BindAction
29
30
	--This function will trigger the events that have been :Connect()'ed
31
	local function te(self,ev,...)
32
		local t = m[ev]
33
		if t and t._fakeEvent and t.Function then
34
			t.Function(...)
35
		end
36
	end
37
	m.TrigEvent = te
38
	UIS.TrigEvent = te
39
40
	Event.OnServerEvent:Connect(function(plr,io)
41
	    if plr~=Player then return end
42
		if io.isMouse then
43
			m.Target = io.Target
44
			m.Hit = io.Hit
45
		else
46
			local b = io.UserInputState == Enum.UserInputState.Begin
47
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
48
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
49
			end
50
			for _,t in pairs(CAS.Actions) do
51
				for _,k in pairs(t.Keys) do
52
					if k==io.KeyCode then
53
						t.Function(t.Name,io.UserInputState,io)
54
					end
55
				end
56
			end
57
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
	    end
60
	end)
61
	Event.Parent = NLS([==[
62
	local Player = game:GetService("Players").LocalPlayer
63
	local Event = script:WaitForChild("UserInput_Event")
64
65
	local UIS = game:GetService("UserInputService")
66
	local input = function(io,a)
67
		if a then return end
68
		--Since InputObject is a client-side instance, we create and pass table instead
69
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
70
	end
71
	UIS.InputBegan:Connect(input)
72
	UIS.InputEnded:Connect(input)
73
74
	local Mouse = Player:GetMouse()
75
	local h,t
76
	--Give the server mouse data 30 times every second, but only if the values changed
77
	--If player is not moving their mouse, client won't fire events
78
	while wait(1/30) do
79
		if h~=Mouse.Hit or t~=Mouse.Target then
80
			h,t=Mouse.Hit,Mouse.Target
81
			Event:FireServer({isMouse=true,Target=t,Hit=h})
82
		end
83
	end]==],Player.Character)
84
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
85
end
86
87
Player = owner
88
Character = Player.Character
89
PlayerGui = Player.PlayerGui
90
Backpack = Player.Backpack
91
Torso = Character.Torso
92
Head = Character.Head
93
Humanoid = Character.Humanoid
94
RootPart = Character.HumanoidRootPart
95
RootJoint = RootPart.RootJoint
96
LeftArm = Character["Left Arm"]
97
LeftLeg = Character["Left Leg"]
98
RightArm = Character["Right Arm"]
99
RightLeg = Character["Right Leg"]
100
LS = Torso["Left Shoulder"]
101
LH = Torso["Left Hip"]
102
RS = Torso["Right Shoulder"]
103
RH = Torso["Right Hip"]
104
Face = Head.face
105
Neck = Torso.Neck
106
it = Instance.new
107
vt = Vector3.new
108
cf = CFrame.new
109
rad = math.rad
110
euler = CFrame.fromEulerAnglesXYZ
111
angles = CFrame.Angles
112
coroutine.resume(coroutine.create(function()
113
game.StarterGui:SetCore("ChatMakeSystemMessage", {
114
	Text = "Fixed by PixelFir3 / Cortana#8155";
115
	Color = Color3.new(0, 1, 1);
116
	Font = Enum.Font.Code;
117
	FontSize = Enum.FontSize.Size24;
118
})
119
end))
120
ArtificialHB = Instance.new("BindableEvent", script)
121
ArtificialHB.Name = "ArtificialHB"
122
script:WaitForChild("ArtificialHB")
123
frame = 0.016666666666667
124
tf = 0
125
allowframeloss = false
126
tossremainder = false
127
lastframe = tick()
128
script.ArtificialHB:Fire()
129
game:GetService("RunService").Heartbeat:connect(function(s, p)
130
	
131
	tf = tf + s
132
	if frame <= tf then
133
		if allowframeloss then
134
			script.ArtificialHB:Fire()
135
			lastframe = tick()
136
		else
137
			for i = 1, math.floor(tf / frame) do
138
				script.ArtificialHB:Fire()
139
			end
140
			lastframe = tick()
141
		end
142
		if tossremainder then
143
			tf = 0
144
		else
145
			tf = tf - frame * math.floor(tf / frame)
146
		end
147
	end
148
end
149
)
150
local animationspeed = 2
151
hbwait = function(number)
152
	
153
	if number == 0 or number == nil then
154
		ArtificialHB.Event:wait()
155
	else
156
		for i = 0, number do
157
			ArtificialHB.Event:wait()
158
		end
159
	end
160
end
161
162
local Stats = Instance.new("Folder", Character)
163
Stats.Name = "Stats"
164
local Defense = Instance.new("NumberValue", Stats)
165
Defense.Name = "Defense"
166
Defense.Value = 0.1
167
local Movement = Instance.new("NumberValue", Stats)
168
Movement.Name = "Movement"
169
Movement.Value = 0.35
170
local Damage = Instance.new("NumberValue", Stats)
171
Damage.Name = "Damage"
172
Damage.Value = 0
173
local Mana = Instance.new("NumberValue", Stats)
174
Mana.Name = "Mana"
175
Mana.Value = 0
176
local Rooted = Instance.new("BoolValue", Stats)
177
Rooted.Name = "Rooted"
178
Rooted.Value = false
179
local BlockValue = Instance.new("BoolValue", Stats)
180
BlockValue.Name = "BlockValue"
181
BlockValue.Value = false
182
local StaggerHitAnim = Instance.new("BoolValue", Stats)
183
StaggerHitAnim.Name = "StaggerHitAnim"
184
StaggerHitAnim.Value = false
185
local StaggerAnim = Instance.new("BoolValue", Stats)
186
StaggerAnim.Name = "StaggerAnim"
187
StaggerAnim.Value = false
188
local StunAnim = Instance.new("BoolValue", Stats)
189
StunAnim.Name = "StunAnim"
190
StunAnim.Value = false
191
local StunValue = Instance.new("NumberValue", Stats)
192
StunValue.Name = "StunValue"
193
StunValue.Value = 0
194
local CanCrit = Instance.new("BoolValue", Stats)
195
CanCrit.Name = "CanCrit"
196
CanCrit.Value = false
197
local CritChance = Instance.new("NumberValue", Stats)
198
CritChance.Name = "CritChance"
199
CritChance.Value = 20
200
local CanPenetrateArmor = Instance.new("BoolValue", Stats)
201
CanPenetrateArmor.Name = "CanPenetrateArmor"
202
CanPenetrateArmor.Value = false
203
local AntiTeamKill = Instance.new("BoolValue", Stats)
204
AntiTeamKill.Name = "AntiTeamKill"
205
AntiTeamKill.Value = false
206
necko = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
207
RootCF = angles(rad(-90), 0, rad(180))
208
local idle = 0
209
local Anim = "Idle"
210
local animtype = math.floor(math.random(1, 3))
211
local attacktype = 1
212
local attack = false
213
local equipped = false
214
local LastPoint = nil
215
local staggerhitanim = false
216
local staggeranim = false
217
local stunanim = false
218
local CritChanceNumber = 0
219
local idlen = 0
220
local donum = 0
221
local sine = 0
222
local change = 2 / animationspeed
223
local walkinganim = false
224
local handidle = false
225
local walk = 0
226
local stundelay = 0
227
local manadelay = 0
228
local robloxidleanimation = Instance.new("Animation", Torso)
229
robloxidleanimation.Name = "robloxidleanimation"
230
robloxidleanimation.AnimationId = "http://www.roblox.com/asset/?id=180435571"
231
local Animator = Humanoid:FindFirstChild("Animator")
232
local Animate = Character:FindFirstChild("Animate")
233
local HitPlayerSounds = {199149137, 199149186, 199149221, 199149235, 199149269, 199149297}
234
local HitArmorSounds = {199149321, 199149338, 199149367, 199149409, 199149452}
235
local HitWeaponSounds = {199148971, 199149025, 199149072, 199149109, 199149119}
236
local HitBlockSounds = {199148933, 199148947}
237
local cooldown1 = 0
238
local cooldown2 = 0
239
local cooldown3 = 0
240
local cooldown4 = 0
241
local scrn = Instance.new("ScreenGui", PlayerGui)
242
local ud = UDim2.new
243
local c3 = Color3.new
244
local skillcolorscheme = c3(1, 1, 1)
245
subtractmana = function(k)
246
	
247
	if k <= Mana.Value then
248
		Mana.Value = Mana.Value - k
249
	end
250
end
251
252
local co1 = 0
253
local co2 = 0
254
local co3 = 0
255
local co4 = 0
256
local maxmana = 0
257
local maxstun = 1
258
local recovermana = 0
259
local losestun = 0
260
local stunwait = 0
261
local manawait = 0
262
local skill1mana = 0
263
local skill2mana = 0
264
local skill3mana = 0
265
local skill4mana = 0
266
local menuupdatespeed = 0
267
local constantupdate = false
268
local showstats = false
269
local allowstunbar = false
270
local CustomColor = Torso.BrickColor
271
local Colorpart1 = CustomColor.r
272
local Colorpart2 = CustomColor.g
273
local Colorpart3 = CustomColor.b
274
local InverseColor = BrickColor.new(Color3.new(1 - Colorpart1, 1 - Colorpart2, 1 - Colorpart3))
275
makeframe = function(par, trans, pos, size, color, name)
276
	
277
	local frame = Instance.new("Frame")
278
	frame.Parent = par
279
	frame.BackgroundTransparency = trans
280
	frame.BorderSizePixel = 2
281
	frame.Position = pos
282
	frame.Size = size
283
	frame.BackgroundColor3 = color
284
	frame.Name = name
285
	return frame
286
end
287
288
makelabel = function(par, text, trans, stroketrans, name)
289
	
290
	local label = Instance.new("TextLabel")
291
	label.Parent = par
292
	label.BackgroundTransparency = 1
293
	label.Size = ud(1, 0, 1, 0)
294
	label.Position = ud(0, 0, 0, 0)
295
	label.TextColor3 = c3(255, 255, 255)
296
	label.TextStrokeTransparency = stroketrans
297
	label.TextTransparency = trans
298
	label.FontSize = Enum.FontSize.Size32
299
	label.Font = Enum.Font.Legacy
300
	label.BorderSizePixel = 0
301
	label.TextScaled = true
302
	label.Text = text
303
	label.Name = name
304
	return label
305
end
306
307
framesk1 = makeframe(scrn, 0.5, ud(0.23, 0, 0.93, 0), ud(0.26, 0, 0, 0), c3(Colorpart1, Colorpart2, Colorpart3), "Frame 1")
308
framesk2 = makeframe(scrn, 0.5, ud(0.5, 0, 0.93, 0), ud(0.26, 0, 0, 0), c3(Colorpart1, Colorpart2, Colorpart3), "Frame 2")
309
framesk3 = makeframe(scrn, 0.5, ud(0.5, 0, 0.86, 0), ud(0.26, 0, 0, 0), c3(Colorpart1, Colorpart2, Colorpart3), "Frame 3")
310
framesk4 = makeframe(scrn, 0.5, ud(0.23, 0, 0.86, 0), ud(0.26, 0, 0, 0), c3(Colorpart1, Colorpart2, Colorpart3), "Frame 4")
311
bar1 = makeframe(framesk1, 0, ud(0, 0, 0, 0), ud(0, 0, 1, 0), c3(Colorpart1, Colorpart2, Colorpart3), "Bar 1")
312
bar2 = makeframe(framesk2, 0, ud(0, 0, 0, 0), ud(0, 0, 1, 0), c3(Colorpart1, Colorpart2, Colorpart3), "Bar 2")
313
bar3 = makeframe(framesk3, 0, ud(0, 0, 0, 0), ud(0, 0, 1, 0), c3(Colorpart1, Colorpart2, Colorpart3), "Bar 3")
314
bar4 = makeframe(framesk4, 0, ud(0, 0, 0, 0), ud(0, 0, 1, 0), c3(Colorpart1, Colorpart2, Colorpart3), "Bar 4")
315
text1 = makelabel(framesk1, "[C] Ability 3", 1, 1, "Text 1")
316
text2 = makelabel(framesk2, "[V] Ability 4", 1, 1, "Text 2")
317
text3 = makelabel(framesk3, "[X] Ability 2", 1, 1, "Text 3")
318
text4 = makelabel(framesk4, "[Z] Ability 1", 1, 1, "Text 4")
319
manabar = makeframe(scrn, 0.5, ud(0.23, 0, 0.82, 0), ud(0.26, 0, 0, 0), c3(Colorpart1, Colorpart2, Colorpart3), "Mana Bar")
320
manacover = makeframe(manabar, 0, ud(0, 0, 0, 0), ud(0, 0, 1, 0), c3(Colorpart1, Colorpart2, Colorpart3), "Mana Cover")
321
manatext = makelabel(manabar, "Mana", 1, 1, "Mana Text")
322
healthbar = makeframe(scrn, 0.5, ud(0.5, 0, 0.82, 0), ud(0.26, 0, 0, 0), c3(1, 0.19607843137255, 0.19607843137255), "Health Bar")
323
healthcover = makeframe(healthbar, 0, ud(0, 0, 0, 0), ud(0, 0, 1, 0), c3(1, 0.19607843137255, 0.19607843137255), "Health Cover")
324
healthtext = makelabel(healthbar, "Health", 1, 1, "Health Text")
325
if allowstunbar == true then
326
	stunframe = makeframe(scrn, 0.5, ud(0.5, 0, 0.78, 0), ud(0.26, 0, 0, 0), c3(1, 1, 0.19607843137255), "Stun Frame")
327
	stunbar = makeframe(stunframe, 0, ud(0, 0, 0, 0), ud(0, 0, 1, 0), c3(1, 1, 0.19607843137255), "Stun Bar")
328
	stuntext = makelabel(stunframe, "Stun", 1, 1, "Stun Text")
329
end
330
if showstats == true then
331
	defenseframe = makeframe(scrn, 0.5, ud(0.23, 0, 0.78, 0), ud(0.075, 0, 0, 0), c3(0.3921568627451, 0.3921568627451, 1), "Defense Frame")
332
	damageframe = makeframe(scrn, 0.5, ud(0.3225, 0, 0.78, 0), ud(0.075, 0, 0, 0), c3(1, 0.3921568627451, 0.3921568627451), "Damage Frame")
333
	movementframe = makeframe(scrn, 0.5, ud(0.415, 0, 0.78, 0), ud(0.075, 0, 0, 0), c3(0.3921568627451, 1, 0.3921568627451), "Movement Frame")
334
	defensetext = makelabel(defenseframe, "Defense: " .. Defense.Value, 1, 1, "Defense Text")
335
	damagetext = makelabel(damageframe, "Damage: " .. Damage.Value, 1, 1, "Damage Text")
336
	movementtext = makelabel(movementframe, "Movement: " .. Movement.Value, 1, 1, "Movement Text")
337
end
338
NoOutline = function(Part)
339
	
340
	Part.TopSurface = 10
341
end
342
343
local weldBetween = function(a, b)
344
	
345
	local weldd = Instance.new("ManualWeld")
346
	weldd.Part0 = a
347
	weldd.Part1 = b
348
	weldd.C0 = CFrame.new()
349
	weldd.C1 = b.CFrame:inverse() * a.CFrame
350
	weldd.Parent = a
351
	return weldd
352
end
353
354
nooutline = function(part)
355
	
356
	part.TopSurface = 10
357
end
358
359
part = function(formfactor, parent, material, reflectance, transparency, brickcolor, name, size)
360
	
361
	local fp = it("Part")
362
	fp.formFactor = formfactor
363
	fp.Parent = parent
364
	fp.Reflectance = reflectance
365
	fp.Transparency = transparency
366
	fp.CanCollide = false
367
	fp.Locked = true
368
	fp.BrickColor = BrickColor.new(tostring(brickcolor))
369
	fp.Name = name
370
	fp.Size = size
371
	fp.Position = Character.Torso.Position
372
	nooutline(fp)
373
	fp.Material = material
374
	fp:BreakJoints()
375
	return fp
376
end
377
378
mesh = function(Mesh, part, meshtype, meshid, offset, scale)
379
	
380
	local mesh = it(Mesh)
381
	mesh.Parent = part
382
	if Mesh == "SpecialMesh" then
383
		mesh.MeshType = meshtype
384
		mesh.MeshId = meshid
385
	end
386
	mesh.Offset = offset
387
	mesh.Scale = scale
388
	return mesh
389
end
390
391
weld = function(parent, part0, part1, c0, c1)
392
	
393
	local weld = it("Motor")
394
	weld.Parent = parent
395
	weld.Part0 = part0
396
	weld.Part1 = part1
397
	weld.C0 = c0
398
	weld.C1 = c1
399
	return weld
400
end
401
402
local WeaponName = "Russian Kick"
403
local ClassName = "Russian Kick"
404
local PlayerSize = 1
405
local RWC0 = cf(-0.5, 0, 0) * angles(rad(0), rad(90), rad(0))
406
local LWC0 = cf(0.5, 0, 0) * angles(rad(0), rad(-90), rad(0))
407
if PlayerSize ~= 1 then
408
	RootPart.Size = RootPart.Size * PlayerSize
409
	Torso.Size = Torso.Size * PlayerSize
410
	Head.Size = Head.Size * PlayerSize
411
	RightArm.Size = RightArm.Size * PlayerSize
412
	LeftArm.Size = LeftArm.Size * PlayerSize
413
	RightLeg.Size = RightLeg.Size * PlayerSize
414
	LeftLeg.Size = LeftLeg.Size * PlayerSize
415
	RootJoint.Parent = RootPart
416
	Neck.Parent = Torso
417
	LS.Parent = Torso
418
	RS.Parent = Torso
419
	LH.Parent = Torso
420
	RH.Parent = Torso
421
	RootJoint.C0 = RootCF * cf(0 * PlayerSize, 0 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0))
422
	Neck.C0 = necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(0), rad(0), rad(0))
423
	Neck.C1 = angles(rad(90), rad(180), 0) * cf(0, 0, -0.5 * PlayerSize)
424
	RS.C0 = cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0)) * RWC0
425
	LS.C0 = cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0)) * LWC0
426
	RS.C1 = angles(0, rad(90), 0) * cf(0, 0.5 * PlayerSize, -0.5)
427
	LS.C1 = angles(0, rad(-90), 0) * cf(0, 0.5 * PlayerSize, -0.5)
428
	RH.C0 = cf(1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(90), rad(0)) * angles(rad(0), rad(0), rad(0))
429
	LH.C0 = cf(-1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(-90), rad(0)) * angles(rad(0), rad(0), rad(0))
430
	RH.C1 = angles(0, rad(90), 0) * cf(0, 1 * PlayerSize, 0.5 * PlayerSize)
431
	LH.C1 = angles(0, rad(-90), 0) * cf(0, 1 * PlayerSize, 0.5 * PlayerSize)
432
	for _,v in pairs(Character:GetChildren()) do
433
		if v.ClassName == "Hat" or v.ClassName == "Accessory" then
434
			v.Parent = nil
435
			v.Parent = Character
436
			v.Handle.Mesh.Scale = v.Handle.Mesh.Scale * PlayerSize
437
			for _,b in pairs(v.Handle:GetChildren()) do
438
				if b.ClassName == "Weld" or b.ClassName == "Motor" then
439
					local p1 = b.Part1
440
					b.Part1 = nil
441
					local c01, c02, c03, c04, c05, c06, c07, c08, c09, c010, c011, c012 = b.C0:components()
442
					local c11, c12, c13, c14, c15, c16, c17, c18, c19, c110, c111, c112 = b.C1:components()
443
					b.C0 = cf(c01 * PlayerSize, c02 * PlayerSize, c03 * PlayerSize, c04, c05, c06, c07, c08, c09, c010, c011, c012)
444
					b.C1 = cf(c11 * PlayerSize, c12 * PlayerSize, c13 * PlayerSize, c14, c15, c16, c17, c18, c19, c110, c111, c112)
445
					b.Part1 = p1
446
				end
447
			end
448
		end
449
	end
450
end
451
	m = Instance.new("Model", Character)
452
	m.Name = WeaponName
453
	Effects = Instance.new("Folder", m)
454
	Effects.Name = "Effects"
455
	Humanoid.Died:connect(function()
456
	
457
	attack = true
458
	for _,v in pairs(Character:GetChildren()) do
459
		if v.ClassName == "Model" then
460
			v:Destroy()
461
		end
462
	end
463
end
464
)
465
	for i,v in pairs(Character:GetChildren()) do
466
		if v.ClassName == "Model" then
467
			for _,c in pairs(v:GetChildren()) do
468
				if c.ClassName == "Part" then
469
					c.CustomPhysicalProperties = PhysicalProperties.new(0.001, 0.001, 0.001, 0.001, 0.001)
470
				end
471
			end
472
		end
473
	end
474
	print(ClassName .. " loaded.")
475
	clerp = function(a, b, t)
476
return a:lerp(b, t)
477
end
478
479
	positiveangle = function(number)
480
	
481
	if number > 0 then
482
		number = 0
483
	end
484
	return number
485
end
486
487
	negativeangle = function(number)
488
	
489
	if number < 0 then
490
		number = 0
491
	end
492
	return number
493
end
494
495
	so = function(id, par, vol, pit)
496
	
497
	coroutine.resume(coroutine.create(function()
498
		
499
		local sou = Instance.new("Sound", par or workspace)
500-
		sou.Volume = vol
500+
		sou.Volume = 6
501
		sou.Pitch = pit or 1
502-
		sou.SoundId = "http://roblox.com/asset/?id=" .. id
502+
		sou.SoundId = "http://roblox.com/asset/?id="2617712537
503
		hbwait()
504
		sou:play()
505
		game:GetService("Debris"):AddItem(sou, 10)
506
	end
507
))
508
end
509
510
	GetDistance = function(Part1, Part2, magnitude)
511
	
512
	local target = Part1.Position - Part2.Position
513
	local mag = target.magnitude
514
	if mag <= magnitude then
515
		return true
516
	else
517
		return false
518
	end
519
end
520
521
	rayCast = function(Pos, Dir, Max, Ignore)
522
	
523
	return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
524
end
525
526
	DamageStatLabel = function(labeltype, cframe, text, color)
527
	
528
	local c = part(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", vt(0, 0, 0))
529
	c.CFrame = cf(cframe.p + vt(0, 1.5, 0))
530
	game:GetService("Debris"):AddItem(c, 5)
531
	Instance.new("BodyGyro", c)
532
	local f = Instance.new("BodyPosition", c)
533
	f.P = 2000
534
	f.D = 100
535
	f.maxForce = vt(math.huge, math.huge, math.huge)
536
	if labeltype == "Normal" then
537
		f.position = c.Position + vt(math.random(-2, 2), 6, math.random(-2, 2))
538
	else
539
		if labeltype == "Debuff" then
540
			f.position = c.Position + vt(math.random(-2, 2), 8, math.random(-2, 2))
541
		else
542
			if labeltype == "Interruption" then
543
				f.position = c.Position + vt(math.random(-2, 2), 8, math.random(-2, 2))
544
			end
545
		end
546
	end
547
	game:GetService("Debris"):AddItem(c, 5)
548
	local bg = Instance.new("BillboardGui", c)
549
	bg.Adornee = c
550
	bg.Size = UDim2.new(2.5, 0, 2.5, 0)
551
	bg.StudsOffset = vt(-2, 2, 0)
552
	bg.AlwaysOnTop = false
553
	local tl = Instance.new("TextLabel", bg)
554
	tl.BackgroundTransparency = 1
555
	tl.Size = UDim2.new(2.5, 0, 2.5, 0)
556
	tl.Text = text
557
	tl.Font = Enum.Font.SourceSans
558
	tl.FontSize = Enum.FontSize.Size42
559
	tl.TextColor3 = color
560
	tl.TextScaled = false
561
	tl.TextStrokeTransparency = 0
562
	tl.TextScaled = true
563
	tl.TextWrapped = true
564
	f.Parent = c
565
	coroutine.resume(coroutine.create(function(Part, BodyPosition, TextLabel)
566
		
567
		wait(0.25)
568
		for i = 1, 5 do
569
			wait()
570
			BodyPosition.position = Part.Position - vt(0, 0.5, 0)
571
		end
572
		wait(1.25)
573
		for i = 1, 5 do
574
			wait()
575
			TextLabel.TextTransparency = TextLabel.TextTransparency + 0.2
576
			TextLabel.TextStrokeTransparency = TextLabel.TextStrokeTransparency + 0.2
577
			BodyPosition.position = Part.Position + vt(0, 0.5, 0)
578
		end
579
		Part.Parent = nil
580
	end
581
), c, f, tl)
582
end
583
584
	IncreaseStat = function(Location, Stat, Amount, Duration, ShowTheStat)
585
	
586
	-- DECOMPILER ERROR at PC28: Unhandled construct in 'MakeBoolean' P1
587
588
	-- DECOMPILER ERROR at PC28: Unhandled construct in 'MakeBoolean' P1
589
590
	if Location:FindFirstChild("Stats") ~= nil and Location.Stats:FindFirstChild("BlockValue") ~= nil and Location.Stats:FindFirstChild("BlockValue").Value ~= true and Location.Stats[Stat] ~= nil then
591
		Location.Stats[Stat].Value = Location.Stats[Stat].Value + Amount
592
		if ShowTheStat == true then
593
			if Stat == "Defense" then
594
				DamageStatLabel("Debuff", Location.Head.CFrame, "+Defense", c3(1, 1, 1))
595
			else
596
				if Stat == "Damage" then
597
					DamageStatLabel("Debuff", Location.Head.CFrame, "+Damage", c3(1, 1, 1))
598
				else
599
					if Stat == "Movement" then
600
						DamageStatLabel("Debuff", Location.Head.CFrame, "+Movement", c3(1, 1, 1))
601
					end
602
				end
603
			end
604
		end
605
		coroutine.resume(coroutine.create(function(CurrentDecrease)
606
		
607
		wait(Duration)
608
		CurrentDecrease.Value = CurrentDecrease.Value - Amount
609
	end
610
), Location.Stats[Stat])
611
	end
612
	DamageStatLabel("Interruption", Location.Head.CFrame, "Blocked!", Color3.new(0, 0.3921568627451, 1))
613
end
614
615
	DecreaseStat = function(Location, Stat, Amount, Duration, ShowTheStat)
616
	
617
	-- DECOMPILER ERROR at PC28: Unhandled construct in 'MakeBoolean' P1
618
619
	-- DECOMPILER ERROR at PC28: Unhandled construct in 'MakeBoolean' P1
620
621
	if Location:FindFirstChild("Stats") ~= nil and Location.Stats:FindFirstChild("BlockValue") ~= nil and Location.Stats:FindFirstChild("BlockValue").Value ~= true and Location.Stats[Stat] ~= nil then
622
		Location.Stats[Stat].Value = Location.Stats[Stat].Value - Amount
623
		if ShowTheStat == true then
624
			if Stat == "Defense" then
625
				DamageStatLabel("Debuff", Location.Head.CFrame, "-Defense", c3(1, 1, 1))
626
			else
627
				if Stat == "Damage" then
628
					DamageStatLabel("Debuff", Location.Head.CFrame, "-Damage", c3(1, 1, 1))
629
				else
630
					if Stat == "Movement" then
631
						DamageStatLabel("Debuff", Location.Head.CFrame, "-Movement", c3(1, 1, 1))
632
					end
633
				end
634
			end
635
		end
636
		coroutine.resume(coroutine.create(function(CurrentDecrease)
637
		
638
		wait(Duration)
639
		CurrentDecrease.Value = CurrentDecrease.Value + Amount
640
	end
641
), Location.Stats[Stat])
642
	end
643
	DamageStatLabel("Interruption", Location.Head.CFrame, "Blocked!", Color3.new(0, 0.3921568627451, 1))
644
end
645
646
	Damagefunc = function(hit, minim, maxim, knockback, Type, Property, Delay, KnockbackType, incstun, stagger, staggerhit, ranged, DecreaseTheStat, DecreaseAmount, DecreaseDuration, ShowDecreasedStat)
647
	
648
	if hit.Parent == nil then
649
		return 
650
	end
651
	h = hit.Parent:FindFirstChild("Humanoid")
652
	for _,v in pairs(hit.Parent:GetChildren()) do
653
		if v:IsA("Humanoid") then
654
			h = v
655
		end
656
	end
657
	if hit.Name == "Hitbox" and ranged ~= true and hit.Parent ~= m then
658
		StaggerHitAnim.Value = true
659
		so(HitWeaponSounds[math.random(1, #HitWeaponSounds)], hit, 1, 1)
660
		return 
661
	end
662
	if hit.Parent.Parent:FindFirstChild("Torso") ~= nil then
663
		h = hit.Parent.Parent:FindFirstChild("Humanoid")
664
	end
665
	if hit.Parent.className == "Hat" then
666
		hit = hit.Parent.Parent:FindFirstChild("Head")
667
	end
668
	if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
669
		if hit.Parent:FindFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
670
			return 
671
		end
672
		if AntiTeamKill.Value == true and Player.Neutral == false and game.Players:GetPlayerFromCharacter(hit.Parent) ~= nil and game.Players:GetPlayerFromCharacter(hit.Parent).TeamColor == Player.TeamColor then
673
			return 
674
		end
675
		if hit.Parent:FindFirstChild("Humanoid") ~= nil and hit.Parent:FindFirstChild("Humanoid").Health <= 0 then
676
			return 
677
		end
678
		if hit.Parent:FindFirstChild("Stats") ~= nil and hit.Parent.Stats:FindFirstChild("StunValue") ~= nil then
679
			hit.Parent.Stats:FindFirstChild("StunValue").Value = hit.Parent.Stats:FindFirstChild("StunValue").Value + incstun
680
		end
681
		if hit.Parent:FindFirstChild("Stats") ~= nil and hit.Parent.Stats:FindFirstChild("StaggerAnim") ~= nil and stagger == true then
682
			hit.Parent.Stats:FindFirstChild("StaggerAnim").Value = true
683
		end
684
		if hit.Parent:FindFirstChild("Stats") ~= nil and hit.Parent.Stats:FindFirstChild("BlockValue") ~= nil and hit.Parent.Stats:FindFirstChild("BlockValue").Value == true then
685
			if hit.Parent.Stats:FindFirstChild("BlockDebounce") == nil then
686
				DamageStatLabel("Interruption", hit.Parent.Head.CFrame, "Blocked!", Color3.new(0, 0.3921568627451, 1))
687
				local BlockDebounce = Instance.new("BoolValue", hit.Parent.Stats)
688
				BlockDebounce.Name = "BlockDebounce"
689
				BlockDebounce.Value = true
690
				game:GetService("Debris"):AddItem(BlockDebounce, 0.1)
691
			end
692
			do
693
				if ranged ~= true then
694
					do
695
						if hit.Parent.Stats:FindFirstChild("BlockDebounce2") == nil then
696
							local BlockDebounce2 = Instance.new("BoolValue", hit.Parent.Stats)
697
							BlockDebounce2.Name = "BlockDebounce2"
698
							BlockDebounce2.Value = true
699
							game:GetService("Debris"):AddItem(BlockDebounce2, 0.1)
700
							so(HitBlockSounds[math.random(1, #HitBlockSounds)], hit, 1, 1)
701
						end
702
						hit.Parent.Stats:FindFirstChild("BlockValue").Value = false
703
						StaggerAnim.Value = true
704
						do return  end
705
						if DecreaseTheStat ~= nil and hit.Parent:FindFirstChild("Stats") ~= nil then
706
							if DecreaseTheStat == "Defense" then
707
								DecreaseStat(hit.Parent, "Defense", DecreaseAmount, DecreaseDuration, ShowDecreasedStat)
708
							else
709
								if DecreaseTheStat == "Damage" then
710
									DecreaseStat(hit.Parent, "Damage", DecreaseAmount, DecreaseDuration, ShowDecreasedStat)
711
								else
712
									if DecreaseTheStat == "Movement" then
713
										DecreaseStat(hit.Parent, "Movement", DecreaseAmount, DecreaseDuration, ShowDecreasedStat)
714
									end
715
								end
716
							end
717
						end
718
						local D = math.random(minim, maxim) * Damage.Value
719
						if hit.Parent:FindFirstChild("Stats") ~= nil then
720
							if hit.Parent.Stats:FindFirstChild("Defense") then
721
								if CanPenetrateArmor.Value == true then
722
									D = D / hit.Parent.Stats:FindFirstChild("Defense").Value
723
									-- DECOMPILER ERROR at PC377: Unhandled construct in 'MakeBoolean' P1
724
725
									if hit.Parent.Stats:FindFirstChild("Defense") ~= nil or CanCrit.Value == true then
726
										CritChanceNumber = math.random(1, CritChance.Value)
727
										if CritChanceNumber == CritChance.Value then
728
											D = D * 2
729
										end
730
									end
731
									D = math.floor(D)
732
									h.Health = h.Health - D
733
									if D <= 3 and staggerhit == true then
734
										if ranged ~= true then
735
											StaggerHitAnim.Value = true
736
										end
737
										if ranged ~= true then
738
											so(HitArmorSounds[math.random(1, #HitArmorSounds)], hit, 1, 1)
739
										end
740
									else
741
										if D > 3 and ranged ~= true then
742
											so(HitPlayerSounds[math.random(1, #HitPlayerSounds)], hit, 1, 1)
743
										end
744
									end
745
									if D > 3 and D < 20 then
746
										if CanCrit.Value == true and CritChanceNumber == CritChance.Value then
747
											DamageStatLabel("Normal", hit.Parent.Head.CFrame, "Crit! " .. D, Color3.new(0.7843137254902, 0, 0))
748
											so("296102734", hit, 1, 1)
749
										else
750
											DamageStatLabel("Normal", hit.Parent.Head.CFrame, D, Color3.new(1, 0.86274509803922, 0))
751
										end
752
									else
753
										if D >= 20 then
754
											if CanCrit.Value == true and CritChanceNumber == CritChance.Value then
755
												DamageStatLabel("Normal", hit.Parent.Head.CFrame, "Crit! " .. D, Color3.new(0.7843137254902, 0, 0))
756
												so("296102734", hit, 1, 1)
757
											else
758
												DamageStatLabel("Normal", hit.Parent.Head.CFrame, D, Color3.new(1, 0, 0))
759
											end
760
										else
761
											if D <= 3 then
762
												if CanCrit.Value == true and CritChanceNumber == CritChance.Value then
763
													DamageStatLabel("Normal", hit.Parent.Head.CFrame, "Crit! " .. D, Color3.new(0.7843137254902, 0, 0))
764
													so("296102734", hit, 1, 1)
765
												else
766
													DamageStatLabel("Normal", hit.Parent.Head.CFrame, D, Color3.new(0.88235294117647, 0.88235294117647, 0.88235294117647))
767
												end
768
											end
769
										end
770
									end
771
									do
772
										if Type == "Normal" then
773
											local vp = Instance.new("BodyVelocity")
774
											vp.P = 500
775
											vp.maxForce = vt(math.huge, 0, math.huge)
776
											if KnockbackType == 1 then
777
												vp.Velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
778
											else
779
												if KnockbackType == 2 then
780
													vp.Velocity = Property.CFrame.lookVector * knockback
781
												end
782
											end
783
											if knockback > 0 then
784
												vp.Parent = hit.Parent.Torso
785
											end
786
											game:GetService("Debris"):AddItem(vp, 0.5)
787
										end
788
										local DebounceHit = Instance.new("BoolValue", hit.Parent)
789
										DebounceHit.Name = "DebounceHit"
790
										DebounceHit.Value = true
791
										game:GetService("Debris"):AddItem(DebounceHit, Delay)
792
									end
793
								end
794
							end
795
						end
796
					end
797
				end
798
			end
799
		end
800
	end
801
end
802
803
	MagniDamage = function(Part, magni, mindam, maxdam, knock, Type, Property, Delay, KnockbackType, incstun, stagger, staggerhit, ranged, MagicDecreaseTheStat, MagicDecreaseAmount, MagicDecreaseDuration, MagicShowDecreasedStat)
804
	
805
	for _,c in pairs(workspace:GetChildren()) do
806
		local hum = (c:FindFirstChild("Humanoid"))
807
		local head = nil
808
		if hum ~= nil then
809
			head = c:FindFirstChild("Torso")
810
			if head ~= nil then
811
				local targ = head.Position - Part.Position
812
				local mag = targ.magnitude
813
				if mag <= magni and c.Name ~= Player.Name then
814
					Damagefunc(head, mindam, maxdam, knock, Type, Property, Delay, KnockbackType, incstun, stagger, staggerhit, ranged, MagicDecreaseTheStat, MagicDecreaseAmount, MagicDecreaseDuration, MagicShowDecreasedStat)
815
				end
816
			end
817
			do
818
				for _,d in pairs(c:GetChildren()) do
819
					if d.ClassName == "Model" and ranged ~= true then
820
						head = d:FindFirstChild("Hitbox")
821
						if head ~= nil then
822
							local targ = head.Position - Part.Position
823
							local mag = targ.magnitude
824
							if mag <= magni and c.Name ~= Player.Name then
825
								local hitrefpart = part(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", vt())
826
								hitrefpart.Anchored = true
827
								hitrefpart.CFrame = cf(head.Position)
828
								so(HitWeaponSounds[math.random(1, #HitWeaponSounds)], hitrefpart, 1, 1)
829
								StaggerHitAnim.Value = true
830
							end
831
						end
832
					end
833
				end
834
				do
835
					-- DECOMPILER ERROR at PC107: LeaveBlock: unexpected jumping out DO_STMT
836
837
					-- DECOMPILER ERROR at PC107: LeaveBlock: unexpected jumping out IF_THEN_STMT
838
839
					-- DECOMPILER ERROR at PC107: LeaveBlock: unexpected jumping out IF_STMT
840
841
				end
842
			end
843
		end
844
	end
845
end
846
847
	MagniBufforDebuff = function(Part, Magni, Type, Stat, Amount, Duration, ShowTheBufforDebuff, ApplyToOthersInstead)
848
	
849
	if Player.Neutral == true then
850
		if Type == "Buff" then
851
			IncreaseStat(Character, Stat, Amount, Duration, ShowTheBufforDebuff)
852
		else
853
			if Type == "Debuff" then
854
				DecreaseStat(Character, Stat, Amount, Duration, ShowTheBufforDebuff)
855
			end
856
		end
857
	end
858
	for _,c in pairs(workspace:GetChildren()) do
859
		local hum = (c:FindFirstChild("Humanoid"))
860
		local head = nil
861
		if hum ~= nil then
862
			head = c:FindFirstChild("Torso")
863
			if head ~= nil then
864
				local targ = head.Position - Part.Position
865
				local mag = targ.magnitude
866
				-- DECOMPILER ERROR at PC83: Unhandled construct in 'MakeBoolean' P1
867
868
				if ApplyToOthersInstead == true and mag <= Magni and c.Name ~= Player.Name and Player.Neutral == false and game.Players:GetPlayerFromCharacter(head.Parent) ~= nil and game.Players:GetPlayerFromCharacter(head.Parent).TeamColor == Player.TeamColor then
869
					if Type == "Buff" then
870
						IncreaseStat(head.Parent, Stat, Amount, Duration, ShowTheBufforDebuff)
871
					else
872
						if Type == "Debuff" then
873
							DecreaseStat(head.Parent, Stat, Amount, Duration, ShowTheBufforDebuff)
874
						end
875
					end
876
				end
877
			end
878
		end
879
		if ApplyToOthersInstead == false and mag <= Magni and Player.Neutral == false and game.Players:GetPlayerFromCharacter(head.Parent) ~= nil and game.Players:GetPlayerFromCharacter(head.Parent).TeamColor == Player.TeamColor then
880
			if Type == "Buff" then
881
				IncreaseStat(head.Parent, Stat, Amount, Duration, ShowTheBufforDebuff)
882
			else
883
				if Type == "Debuff" then
884
					DecreaseStat(head.Parent, Stat, Amount, Duration, ShowTheBufforDebuff)
885
				end
886
			end
887
		end
888
	end
889
end
890
891
	Lightning = function(p0, p1, tym, ofs, brickcolor, material, th, tra, last)
892
	
893
	local magz = p0 - p1.magnitude
894
	local curpos = p0
895
	local trz = {-ofs, ofs}
896
	for i = 1, tym do
897
		local li = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt(th, th, magz / tym))
898
		do
899
			li.Anchored = true
900
			local ofz = vt(trz[math.random(1, 2)], trz[math.random(1, 2)], trz[math.random(1, 2)])
901
			local trolpos = cf(curpos, p1) * cf(0, 0, magz / tym).p + ofz
902
			if tym == i then
903
				local magz2 = curpos - p1.magnitude
904
				li.Size = vt(th, th, magz2)
905
				li.CFrame = cf(curpos, p1) * cf(0, 0, -magz2 / 2)
906
			else
907
				do
908
					do
909
						li.CFrame = cf(curpos, trolpos) * cf(0, 0, magz / tym / 2)
910
						curpos = li.CFrame * cf(0, 0, magz / tym / 2).p
911
						game.Debris:AddItem(li, last)
912
						coroutine.resume(coroutine.create(function()
913
		
914
		while li.Transparency ~= 1 do
915
			for i = 0, 1, last do
916
				hbwait()
917
				li.Transparency = li.Transparency + 0.1 / last
918
			end
919
		end
920
	end
921
))
922
					end
923
					-- DECOMPILER ERROR at PC118: LeaveBlock: unexpected jumping out IF_ELSE_STMT
924
925
					-- DECOMPILER ERROR at PC118: LeaveBlock: unexpected jumping out IF_STMT
926
927
					-- DECOMPILER ERROR at PC118: LeaveBlock: unexpected jumping out DO_STMT
928
929
				end
930
			end
931
		end
932
	end
933
end
934
935
	MagicRing = function(brickcolor, material, cframe, x1, y1, z1, x3, y3, z3, delay)
936
	
937
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
938
	prt.Anchored = true
939
	prt.CFrame = cframe
940
	local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=3270017", vt(0, 0, 0), vt(x1, y1, z1))
941
	game:GetService("Debris"):AddItem(prt, 10)
942
	coroutine.resume(coroutine.create(function(Part, Mesh)
943
		
944
		for i = 0, 1, delay do
945
			hbwait()
946
			Part.CFrame = Part.CFrame
947
			Part.Transparency = i
948
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
949
		end
950
		Part.Parent = nil
951
	end
952
), prt, msh)
953
end
954
955
	MagicWave = function(brickcolor, material, cframe, x1, y1, z1, x3, y3, z3, delay)
956
	
957
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
958
	prt.Anchored = true
959
	prt.CFrame = cframe
960
	local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=20329976", vt(0, 0, -0.1 * z1), vt(x1, y1, z1))
961
	game:GetService("Debris"):AddItem(prt, 10)
962
	coroutine.resume(coroutine.create(function(Part, Mesh)
963
		
964
		for i = 0, 1, delay do
965
			hbwait()
966
			Part.CFrame = Part.CFrame
967
			Part.Transparency = i
968
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
969
		end
970
		Part.Parent = nil
971
	end
972
), prt, msh)
973
end
974
975
	MagicBlock = function(brickcolor, material, rotate, cframe, x1, y1, z1, x3, y3, z3, delay)
976
	
977
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
978
	prt.Anchored = true
979
	prt.CFrame = cframe * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
980
	local msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
981
	game:GetService("Debris"):AddItem(prt, 10)
982
	coroutine.resume(coroutine.create(function(Part, Mesh)
983
		
984
		for i = 0, 1, delay do
985
			hbwait()
986
			if rotate == true then
987
				Part.CFrame = Part.CFrame * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
988
			end
989
			Part.Transparency = i
990
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
991
		end
992
		Part.Parent = nil
993
	end
994
), prt, msh)
995
end
996
997
	MagicBlock2 = function(brickcolor, material, rotate, cframe, x1, y1, z1, x3, y3, z3, delay)
998
	
999
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
1000
	prt.Anchored = true
1001
	prt.CFrame = cframe * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1002
	local msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
1003
	game:GetService("Debris"):AddItem(prt, 10)
1004
	CF = prt.CFrame
1005
	num = math.random(5, 20)
1006
	coroutine.resume(coroutine.create(function(Part, Mesh, CF2, Num)
1007
		
1008
		for i = 0, 1, delay do
1009
			hbwait()
1010
			if rotate == true then
1011
				Part.CFrame = CF2 * cf(0, i * Num, 0) * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1012
			else
1013
				Part.CFrame = CF2 * cf(0, i * Num, 0)
1014
			end
1015
			Part.Transparency = i
1016
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1017
		end
1018
		Part.Parent = nil
1019
	end
1020
), prt, msh, CF, num)
1021
end
1022
1023
	MagicCylinder = function(brickcolor, material, cframe, x1, y1, z1, x3, y3, z3, delay)
1024
	
1025
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
1026
	prt.Anchored = true
1027
	prt.CFrame = cframe
1028
	local msh = mesh("CylinderMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
1029
	game:GetService("Debris"):AddItem(prt, 10)
1030
	coroutine.resume(coroutine.create(function(Part, Mesh)
1031
		
1032
		for i = 0, 1, delay do
1033
			hbwait()
1034
			Part.Transparency = i
1035
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1036
		end
1037
		Part.Parent = nil
1038
	end
1039
), prt, msh)
1040
end
1041
1042
	MagicCircle = function(brickcolor, material, cframe, x1, y1, z1, x3, y3, z3, delay)
1043
	
1044
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
1045
	prt.Anchored = true
1046
	prt.CFrame = cframe
1047
	local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
1048
	game:GetService("Debris"):AddItem(prt, 10)
1049
	coroutine.resume(coroutine.create(function(Part, Mesh)
1050
		
1051
		for i = 0, 1, delay do
1052
			hbwait()
1053
			Part.Transparency = i
1054
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1055
		end
1056
		Part.Parent = nil
1057
	end
1058
), prt, msh)
1059
end
1060
1061
	MagicHead = function(brickcolor, material, cframe, x1, y1, z1, x3, y3, z3, delay)
1062
	
1063
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
1064
	prt.Anchored = true
1065
	prt.CFrame = cframe
1066
	local msh = mesh("SpecialMesh", prt, "Head", "", vt(0, 0, 0), vt(x1, y1, z1))
1067
	game:GetService("Debris"):AddItem(prt, 10)
1068
	coroutine.resume(coroutine.create(function(Part, Mesh)
1069
		
1070
		for i = 0, 1, delay do
1071
			hbwait()
1072
			Part.Transparency = i
1073
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1074
		end
1075
		Part.Parent = nil
1076
	end
1077
), prt, msh)
1078
end
1079
1080
	BreakEffect = function(brickcolor, material, rotate, cframe, x1, y1, z1, delay)
1081
	
1082
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
1083
	prt.Anchored = true
1084
	prt.CFrame = cframe * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1085
	local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
1086
	game:GetService("Debris"):AddItem(prt, 10)
1087
	coroutine.resume(coroutine.create(function(Part, CF, Numbb, randnumb)
1088
		
1089
		CF = Part.CFrame
1090
		Numbb = 0
1091
		randnumb = math.random() - math.random()
1092
		for i = 0, 1, delay do
1093
			hbwait()
1094
			CF = CF * cf(0, 1, 0)
1095
			if rotate == true then
1096
				Part.CFrame = CF * angles(Numbb, 0, 0)
1097
			else
1098
				if rotate == false then
1099
					Part.CFrame = CF
1100
				end
1101
			end
1102
			Part.Transparency = i
1103
			Numbb = Numbb + (randnumb)
1104
		end
1105
		Part.Parent = nil
1106
	end
1107
), prt, CF, Numbb, randnumb)
1108
end
1109
1110
	ElecEffect = function(brickcolor, material, cf, x, y, z, delay)
1111
	
1112
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
1113
	prt.Anchored = true
1114
	prt.CFrame = cf
1115
	xval = math.random()
1116
	yval = math.random()
1117
	zval = math.random()
1118
	local msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x, y, z))
1119
	game:GetService("Debris"):AddItem(prt, 10)
1120
	coroutine.resume(coroutine.create(function(Part, Mesh, xvaal, yvaal, zvaal)
1121
		
1122
		for i = 0, 1, delay do
1123
			hbwait()
1124
			Part.CFrame = Part.CFrame
1125
			xvaal = xvaal - 0.1 * (delay * 10)
1126
			yvaal = yvaal - 0.1 * (delay * 10)
1127
			zvaal = zvaal - 0.1 * (delay * 10)
1128
			Mesh.Scale = Mesh.Scale + vt(xvaal, yvaal, zvaal)
1129
			Part.Transparency = i
1130
		end
1131
		Part.Parent = nil
1132
	end
1133
), prt, msh, xval, yval, zval)
1134
end
1135
1136
	TrailEffect = function(brickcolor, material, currentcf, oldcf, meshtype, reflectance, size, x, y, z, delay)
1137
	
1138
	local magnitudecframe = currentcf.p - oldcf.p.magnitude
1139
	if magnitudecframe > 0.01 then
1140
		local prt = part(3, Effects, material, reflectance, 0, brickcolor, "Effect", vt(1, magnitudecframe, 1))
1141
		prt.Anchored = true
1142
		prt.CFrame = cf((currentcf.p + oldcf.p) / 2, oldcf.p) * angles(rad(90), 0, 0)
1143
		local TheMeshType = "BlockMesh"
1144
		if meshtype == "Cylinder" then
1145
			TheMeshType = "CylinderMesh"
1146
		end
1147
		local msh = mesh(TheMeshType, prt, "", "", vt(0, 0, 0), vt(0 + size, 1, 0 + size))
1148
		game:GetService("Debris"):AddItem(prt, 10)
1149
		coroutine.resume(coroutine.create(function(Part, Mesh, TheCurrentCFrame, TheLastCFrame)
1150
		
1151
		for i = 0, 1, delay do
1152
			hbwait()
1153
			Part.Transparency = i
1154
			Mesh.Scale = Mesh.Scale + vt(x, y, z)
1155
		end
1156
		Part.Parent = nil
1157
	end
1158
), prt, msh, currentcf, oldcf)
1159
	end
1160
end
1161
1162
	ClangEffect = function(brickcolor, material, cframe, angle, duration, size, power, reflectance, x, y, z, delay)
1163
	
1164
	local prt = part(3, Effects, material, 0, 1, brickcolor, "Effect", vt())
1165
	prt.Anchored = true
1166
	prt.CFrame = cframe
1167
	local msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(0, 0, 0))
1168
	game:GetService("Debris"):AddItem(prt, 10)
1169
	local TheLastPoint = cframe
1170
	coroutine.resume(coroutine.create(function(Part)
1171
		
1172
		for i = 1, duration do
1173
			hbwait()
1174
			Part.CFrame = Part.CFrame * angles(rad(angle), 0, 0) * cf(0, power, 0)
1175
			TrailEffect(brickcolor, material, Part.CFrame, TheLastPoint, "Cylinder", reflectance, size, x, y, z, delay)
1176
			TheLastPoint = Part.CFrame
1177
		end
1178
		Part.Parent = nil
1179
	end
1180
), prt)
1181
end
1182
1183
	MagicCone = function(brickcolor, material, cframe, x1, y1, z1, x3, y3, z3, delay)
1184
	
1185
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
1186
	prt.Anchored = true
1187
	prt.CFrame = cframe
1188
	local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=1778999", vt(0, 0, 0), vt(x1, y1, z1))
1189
	game:GetService("Debris"):AddItem(prt, 10)
1190
	coroutine.resume(coroutine.create(function(Part, Mesh)
1191
		
1192
		for i = 0, 1, delay do
1193
			hbwait()
1194
			Part.Transparency = i
1195
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1196
		end
1197
		Part.Parent = nil
1198
	end
1199
), prt, msh)
1200
end
1201
1202
	MagicFlatCone = function(brickcolor, material, cframe, x1, y1, z1, x3, y3, z3, delay)
1203
	
1204
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
1205
	prt.Anchored = true
1206
	prt.CFrame = cframe
1207
	local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=1033714", vt(0, 0, 0), vt(x1, y1, z1))
1208
	game:GetService("Debris"):AddItem(prt, 10)
1209
	coroutine.resume(coroutine.create(function(Part, Mesh)
1210
		
1211
		for i = 0, 1, delay do
1212
			hbwait()
1213
			Part.Transparency = i
1214
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1215
		end
1216
		Part.Parent = nil
1217
	end
1218
), prt, msh)
1219
end
1220
1221
	MagicSpikedCrown = function(brickcolor, material, cframe, x1, y1, z1, x3, y3, z3, delay)
1222
	
1223
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
1224
	prt.Anchored = true
1225
	prt.CFrame = cframe
1226
	local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=1323306", vt(0, 0, 0), vt(x1, y1, z1))
1227
	game:GetService("Debris"):AddItem(prt, 10)
1228
	coroutine.resume(coroutine.create(function(Part, Mesh)
1229
		
1230
		for i = 0, 1, delay do
1231
			hbwait()
1232
			Part.Transparency = i
1233
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1234
		end
1235
		Part.Parent = nil
1236
	end
1237
), prt, msh)
1238
end
1239
1240
	MagicCrown = function(brickcolor, material, cframe, x1, y1, z1, x3, y3, z3, delay)
1241
	
1242
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
1243
	prt.Anchored = true
1244
	prt.CFrame = cframe
1245
	local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=1078075", vt(0, 0, 0), vt(x1, y1, z1))
1246
	game:GetService("Debris"):AddItem(prt, 10)
1247
	coroutine.resume(coroutine.create(function(Part, Mesh)
1248
		
1249
		for i = 0, 1, delay do
1250
			hbwait()
1251
			Part.Transparency = i
1252
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1253
		end
1254
		Part.Parent = nil
1255
	end
1256
), prt, msh)
1257
end
1258
1259
	MagicSkull = function(brickcolor, material, cframe, x1, y1, z1, x3, y3, z3, delay)
1260
	
1261
	local prt = part(3, Effects, material, 0, 0, brickcolor, "Effect", vt())
1262
	prt.Anchored = true
1263
	prt.CFrame = cframe
1264
	local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=4770583", vt(0, 0, 0), vt(x1, y1, z1))
1265
	game:GetService("Debris"):AddItem(prt, 10)
1266
	coroutine.resume(coroutine.create(function(Part, Mesh)
1267
		
1268
		for i = 0, 1, delay do
1269
			hbwait()
1270
			Part.Transparency = i
1271
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
1272
		end
1273
		Part.Parent = nil
1274
	end
1275
), prt, msh)
1276
end
1277
1278
	local startequipped = true
1279
	local startequippedwithequipanimation = false
1280
	local disableanimator = true
1281
	local disableanimate = true
1282
	local alternatewalk = false
1283
	local hidemenu = false
1284
	local allowmenutofunction = false
1285
	local allowabilitiestofunction = false
1286
	local canunequiporequip = false
1287
	local allowwalking = false
1288
	local disablemovingarms = false
1289
	local usemotorsinsteadofwelds = false
1290
	local leftarm = false
1291
	local rightarm = false
1292
	local allowhopperbin = false
1293
	local showstunbar = false
1294
	local walkspeeddependsonmovementvalue = true
1295
	local alternatemanaregensystem = false
1296
	local showhealthmanaandstunnumbers = false
1297
	local changebarcolorsifnotenoughmana = false
1298
	local disablejump = false
1299
	if hidemenu == true or allowmenutofunction == false then
1300
		for _,v in pairs(scrn:GetChildren()) do
1301
			if v.ClassName == "Frame" or v.ClassName == "TextLabel" then
1302
				v.Visible = false
1303
				v.BorderSizePixel = 0
1304
			end
1305
		end
1306
	end
1307
	do
1308
		Humanoid.Changed:connect(function(Jump)
1309
	
1310
	if Jump == "Jump" and disablejump == true then
1311
		Humanoid.Jump = false
1312
	end
1313
end
1314
)
1315
		if allowmenutofunction == true then
1316
			for _,v in pairs(scrn:GetChildren()) do
1317
				if v.ClassName == "Frame" then
1318
					for _,b in pairs(v:GetChildren()) do
1319
						if b.ClassName == "TextLabel" then
1320
							coroutine.resume(coroutine.create(function(TheTextLabel)
1321
	
1322
	wait(menuupdatespeed)
1323
	for i = 1, 0, -0.1 do
1324
		hbwait()
1325
		TheTextLabel.TextTransparency = i
1326
		TheTextLabel.TextStrokeTransparency = i
1327
	end
1328
	TheTextLabel.TextTransparency = 0
1329
	TheTextLabel.TextStrokeTransparency = 0
1330
end
1331
), b)
1332
							if showstats == true then
1333
								coroutine.resume(coroutine.create(function(TheTextLabel)
1334
	
1335
	wait(menuupdatespeed)
1336
	for i = 1, 0, -0.1 do
1337
		hbwait()
1338
		TheTextLabel.TextTransparency = i
1339
		TheTextLabel.TextStrokeTransparency = i
1340
	end
1341
	TheTextLabel.TextTransparency = 0
1342
	TheTextLabel.TextStrokeTransparency = 0
1343
end
1344
), b)
1345
							end
1346
							if showstunbar == true then
1347
								coroutine.resume(coroutine.create(function(TheTextLabel)
1348
	
1349
	wait(menuupdatespeed)
1350
	for i = 1, 0, -0.1 do
1351
		hbwait()
1352
		TheTextLabel.TextTransparency = i
1353
		TheTextLabel.TextStrokeTransparency = i
1354
	end
1355
	TheTextLabel.TextTransparency = 0
1356
	TheTextLabel.TextStrokeTransparency = 0
1357
end
1358
), b)
1359
							end
1360
							if allowabilitiestofunction == true then
1361
								coroutine.resume(coroutine.create(function(TheTextLabel)
1362
	
1363
	wait(menuupdatespeed)
1364
	for i = 1, 0, -0.1 do
1365
		hbwait()
1366
		TheTextLabel.TextTransparency = i
1367
		TheTextLabel.TextStrokeTransparency = i
1368
	end
1369
	TheTextLabel.TextTransparency = 0
1370
	TheTextLabel.TextStrokeTransparency = 0
1371
end
1372
), b)
1373
							end
1374
						end
1375
					end
1376
				end
1377
			end
1378
		end
1379
		do
1380
			if allowhopperbin == true then
1381
				if script.Parent.className ~= "HopperBin" then
1382
					Tool = Instance.new("HopperBin")
1383
					Tool.Parent = Backpack
1384
					Tool.Name = WeaponName
1385
					script.Parent = Tool
1386
				end
1387
				Bin = script.Parent
1388
			end
1389
			if disablemovingarms == true then
1390
				RWC0 = cf(0, 0 - (0.5 * PlayerSize - 0.5), 0) * angles(rad(0), rad(0), rad(0))
1391
				LWC0 = cf(0, 0 - (0.5 * PlayerSize - 0.5), 0) * angles(rad(0), rad(0), rad(0))
1392
				RSH = nil
1393
				if usemotorsinsteadofwelds == true then
1394
					RW = Instance.new("Motor")
1395
					LW = Instance.new("Motor")
1396
				else
1397
					RW = Instance.new("Weld")
1398
					LW = Instance.new("Weld")
1399
				end
1400
				RW.Name = "Right Shoulder"
1401
				LW.Name = "Left Shoulder"
1402
				RSH = Torso["Right Shoulder"]
1403
				LSH = Torso["Left Shoulder"]
1404
				RSH.Parent = Torso
1405
				LSH.Parent = Torso
1406
				RW.Name = "Right Shoulder"
1407
				RW.Part0 = Torso
1408
				RW.C0 = cf(1.5, 0.5, 0)
1409
				RW.C1 = cf(0, 0.5, 0)
1410
				RW.Part1 = Character["Right Arm"]
1411
				RW.Parent = nil
1412
				LW.Name = "Left Shoulder"
1413
				LW.Part0 = Torso
1414
				LW.C0 = cf(-1.5, 0.5, 0)
1415
				LW.C1 = cf(0, 0.5, 0)
1416
				LW.Part1 = Character["Left Arm"]
1417
				LW.Parent = nil
1418
			else
1419
				RW = Torso["Right Shoulder"]
1420
				LW = Torso["Left Shoulder"]
1421
				RWC0 = cf(-0.5, 0, 0) * angles(rad(0), rad(90), rad(0))
1422
				LWC0 = cf(0.5, 0, 0) * angles(rad(0), rad(-90), rad(0))
1423
			end
1424
			equipanim = function()
1425
	
1426
	attack = true
1427
	Movement.Value = Movement.Value - 0.1
1428
	Defense.Value = Defense.Value + 0.4
1429
	for i = 0, 1, 0.08 / animationspeed do
1430
		hbwait()
1431
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1432
		Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1433
		RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0)) * RWC0, 0.3 / animationspeed)
1434
		LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0)) * LWC0, 0.3 / animationspeed)
1435
		RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(90), rad(0)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1436
		LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(-90), rad(0)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1437
	end
1438
	attack = false
1439
end
1440
1441
			unequipanim = function()
1442
	
1443
	attack = true
1444
	for i = 0, 1, 0.08 / animationspeed do
1445
		hbwait()
1446
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1447
		Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)), 0.3 / animationspeed)
1448
		RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0)) * RWC0, 0.3 / animationspeed)
1449
		LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0)) * LWC0, 0.3 / animationspeed)
1450
		if disablemovingarms == false then
1451
			RW.C1 = clerp(RW.C1, angles(0, rad(90), 0) * cf(0, 0.5 * PlayerSize, -0.5), 0.3 / animationspeed)
1452
			LW.C1 = clerp(LW.C1, angles(0, rad(-90), 0) * cf(0, 0.5 * PlayerSize, -0.5), 0.3 / animationspeed)
1453
		end
1454
		RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(90), rad(0)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1455
		LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(-90), rad(0)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1456
		RH.C1 = clerp(RH.C1, angles(0, rad(90), 0) * cf(0, 1 * PlayerSize, 0.5 * PlayerSize), 0.3 / animationspeed)
1457
		LH.C1 = clerp(LH.C1, angles(0, rad(-90), 0) * cf(0, 1 * PlayerSize, 0.5 * PlayerSize), 0.3 / animationspeed)
1458
	end
1459
	RootJoint.C0 = RootCF * cf(0 * PlayerSize, 0 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0))
1460
	Neck.C0 = necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(0), rad(0), rad(0))
1461
	Neck.C1 = angles(rad(90), rad(180), 0) * cf(0, 0, -0.5 * PlayerSize)
1462
	RW.C0 = cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0)) * RWC0
1463
	LW.C0 = cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(0)) * LWC0
1464
	if disablemovingarms == false then
1465
		RW.C1 = angles(0, rad(90), 0) * cf(0, 0.5 * PlayerSize, -0.5)
1466
		LW.C1 = angles(0, rad(-90), 0) * cf(0, 0.5 * PlayerSize, -0.5)
1467
	end
1468
	RH.C0 = cf(1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(90), rad(0)) * angles(rad(0), rad(0), rad(0))
1469
	LH.C0 = cf(-1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(-90), rad(0)) * angles(rad(0), rad(0), rad(0))
1470
	RH.C1 = angles(0, rad(90), 0) * cf(0, 1 * PlayerSize, 0.5 * PlayerSize)
1471
	LH.C1 = angles(0, rad(-90), 0) * cf(0, 1 * PlayerSize, 0.5 * PlayerSize)
1472
	Movement.Value = Movement.Value + 0.1
1473
	Defense.Value = Defense.Value - 0.4
1474
	attack = false
1475
end
1476
1477
			if startequipped == true then
1478
				equipped = true
1479
				if disableanimate == true then
1480
					Animate.Disabled = true
1481
					local idleanimation = Humanoid:LoadAnimation(Torso.robloxidleanimation)
1482
					idleanimation:Play()
1483
				end
1484
					if disableanimator == true then
1485
						Animator.Parent = nil
1486
					end
1487
					if disablemovingarms == true then
1488
						RW.Parent = Torso
1489
						LW.Parent = Torso
1490
						RSH.Parent = nil
1491
						LSH.Parent = nil
1492
					end
1493
					Movement.Value = Movement.Value - 0.1
1494
					Defense.Value = Defense.Value + 0.4
1495
end
1496
					if startequippedwithequipanimation == true then
1497
						equipped = true
1498
						if disableanimate == true then
1499
							Animate.Disabled = true
1500
							local idleanimation = Humanoid:LoadAnimation(Torso.robloxidleanimation)
1501
							idleanimation:Play()
1502
						end
1503
							if disableanimator == true then
1504
								Animator.Parent = nil
1505
							end
1506
							if disablemovingarms == true then
1507
								RW.Parent = Torso
1508
								LW.Parent = Torso
1509
								RSH.Parent = nil
1510
								LSH.Parent = nil
1511
							end
1512
							coroutine.resume(coroutine.create(function()
1513
	
1514
	hbwait()
1515
	equipanim()
1516
end
1517
))
1518
end
1519
1520
							StaggerHit = function()
1521
	
1522
	attack = true
1523
	if Hitbox ~= nil then
1524
		for i = 1, math.random(2, 4) do
1525
			ClangEffect("Bright yellow", "Neon", cf(Hitbox.Position) * angles(rad(math.random(-50, 50)), rad(math.random(-50, 50)), rad(math.random(-50, 50))), 20, 5, 0.2, math.random(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
1526
		end
1527
	end
1528
	do
1529
		for i = 0, 1, 0.1 / animationspeed do
1530
			hbwait()
1531
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, 0 * PlayerSize) * angles(rad(-10), rad(0), rad(-30)), 0.3 / animationspeed)
1532
			Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(0), rad(0), rad(30)) * angles(rad(5), rad(0), rad(0)), 0.3 / animationspeed)
1533
			RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(-30), rad(0), rad(60)) * angles(rad(0), rad(-30), rad(0)) * RWC0, 0.3 / animationspeed)
1534
			LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(-20), rad(0), rad(-20)) * angles(rad(0), rad(20), rad(0)) * LWC0, 0.3 / animationspeed)
1535
			RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -0.9 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(90), rad(0)) * angles(rad(-10), rad(0), rad(-20)), 0.3 / animationspeed)
1536
			LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(-70), rad(0)) * angles(rad(-5), rad(0), rad(10)), 0.3 / animationspeed)
1537
			if StaggerAnim.Value ~= true then
1538
				do
1539
					if StunAnim.Value == true then
1540
						break
1541
					end
1542
					-- DECOMPILER ERROR at PC314: LeaveBlock: unexpected jumping out IF_THEN_STMT
1543
1544
					-- DECOMPILER ERROR at PC314: LeaveBlock: unexpected jumping out IF_STMT
1545
1546
				end
1547
			end
1548
		end
1549
		attack = false
1550
	end
1551
end
1552
1553
							Stagger = function()
1554
	
1555
	attack = true
1556
	disablejump = true
1557
	if Hitbox ~= nil then
1558
		for i = 1, math.random(2, 4) do
1559
			ClangEffect("Bright yellow", "Neon", cf(Hitbox.Position) * angles(rad(math.random(-50, 50)), rad(math.random(-50, 50)), rad(math.random(-50, 50))), 20, 5, 0.2, math.random(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
1560
		end
1561
	end
1562
	do
1563
		attacktype = 1
1564
		DamageStatLabel("Interruption", Head.CFrame, "Staggered!", Color3.new(1, 1, 0))
1565
		local staggervelocity = Instance.new("BodyVelocity", Torso)
1566
		staggervelocity.P = 500
1567
		staggervelocity.maxForce = vt(math.huge, 0, math.huge)
1568
		if Rooted.Value == false then
1569
			staggervelocity.Velocity = RootPart.CFrame.lookVector * -25
1570
		end
1571
		for i = 0, 1, 0.35 / animationspeed do
1572
			hbwait()
1573
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, -0.1 * PlayerSize) * angles(rad(-20), rad(0), rad(-30)), 0.3 / animationspeed)
1574
			Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(5), rad(0), rad(35)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1575
			RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(20), rad(-30), rad(40)) * RWC0, 0.3 / animationspeed)
1576
			LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(10), rad(5), rad(-20)) * LWC0, 0.3 / animationspeed)
1577
			RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -0.75 * PlayerSize, -0.25 * PlayerSize) * angles(rad(0), rad(100), rad(0)) * angles(rad(-20), rad(0), rad(40)), 0.3 / animationspeed)
1578
			LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -1 * PlayerSize, 0.25 * PlayerSize) * angles(rad(0), rad(-60), rad(0)) * angles(rad(-5), rad(0), rad(10)), 0.3 / animationspeed)
1579
		end
1580
		for i = 0, 1, 0.2 / animationspeed do
1581
			hbwait()
1582
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, -0.2 * PlayerSize) * angles(rad(-30), rad(0), rad(-30)), 0.3 / animationspeed)
1583
			Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(5), rad(0), rad(35)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1584
			RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(20), rad(-30), rad(40)) * RWC0, 0.3 / animationspeed)
1585
			LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(10), rad(5), rad(-20)) * LWC0, 0.3 / animationspeed)
1586
			RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -0.75 * PlayerSize, -0.25 * PlayerSize) * angles(rad(0), rad(100), rad(0)) * angles(rad(-20), rad(0), rad(40)), 0.3 / animationspeed)
1587
			LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -0.9 * PlayerSize, 0.25 * PlayerSize) * angles(rad(0), rad(-60), rad(0)) * angles(rad(-5), rad(0), rad(30)), 0.3 / animationspeed)
1588
		end
1589
		staggervelocity:Destroy()
1590
		for i = 0, 1, 0.015 / animationspeed do
1591
			hbwait()
1592
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, -1.8 * PlayerSize) * angles(rad(0), rad(0), rad(-20)) * angles(rad(-5), rad(-5), rad(0)), 0.3 / animationspeed)
1593
			Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(20), rad(0), rad(20)) * angles(rad(0), rad(5), rad(0)), 0.3 / animationspeed)
1594
			RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(0), rad(20)) * angles(rad(0), rad(-20), rad(0)) * RWC0, 0.3 / animationspeed)
1595
			LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(-15), rad(0), rad(-10)) * angles(rad(0), rad(20), rad(0)) * LWC0, 0.3 / animationspeed)
1596
			RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -0.5 * PlayerSize, -0.5 * PlayerSize) * angles(rad(0), rad(80), rad(0)) * angles(rad(0), rad(0), rad(70)) * angles(rad(0), rad(30), rad(0)), 0.3 / animationspeed)
1597
			LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, 0.4 * PlayerSize, -0.5 * PlayerSize) * angles(rad(0), rad(-80), rad(0)) * angles(rad(-2.5), rad(0), rad(-10)), 0.3 / animationspeed)
1598
			if StunAnim.Value == true then
1599
				break
1600
			end
1601
		end
1602
		do
1603
			attacktype = 1
1604
			disablejump = false
1605
			attack = false
1606
		end
1607
	end
1608
end
1609
1610
							Stun = function()
1611
	
1612
	attack = true
1613
	disablejump = true
1614
	attacktype = 1
1615
	DamageStatLabel("Interruption", Head.CFrame, "Stunned!", Color3.new(1, 1, 0))
1616
	for i = 0, 1, 0.4 / animationspeed do
1617
		hbwait()
1618
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, 0 * PlayerSize) * angles(rad(15), rad(0), rad(-160)), 0.3 / animationspeed)
1619
		Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(10), rad(0), rad(0)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1620
		RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(70), rad(0), rad(15)) * RWC0, 0.3 / animationspeed)
1621
		LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(70), rad(0), rad(-15)) * LWC0, 0.3 / animationspeed)
1622
		RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(90), rad(0)) * angles(rad(-5), rad(0), rad(-20)), 0.3 / animationspeed)
1623
		LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(-90), rad(0)) * angles(rad(-5), rad(0), rad(-20)), 0.3 / animationspeed)
1624
	end
1625
	for i = 0, 1, 0.4 / animationspeed do
1626
		hbwait()
1627
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, -0.5 * PlayerSize) * angles(rad(45), rad(0), rad(-170)), 0.3 / animationspeed)
1628
		Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(5), rad(0), rad(-30)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1629
		RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(80), rad(0), rad(45)) * RWC0, 0.3 / animationspeed)
1630
		LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(80), rad(0), rad(-45)) * LWC0, 0.3 / animationspeed)
1631
		RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(90), rad(0)) * angles(rad(-5), rad(0), rad(-40)), 0.3 / animationspeed)
1632
		LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(-90), rad(0)) * angles(rad(-5), rad(0), rad(-20)), 0.3 / animationspeed)
1633
	end
1634
	for i = 0, 1, 0.4 / animationspeed do
1635
		hbwait()
1636
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, -1 * PlayerSize) * angles(rad(75), rad(0), rad(-180)), 0.3 / animationspeed)
1637
		Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 * PlayerSize + (1 * PlayerSize - 1)) * angles(rad(5), rad(0), rad(-60)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1638
		RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(90), rad(0), rad(75)) * RWC0, 0.3 / animationspeed)
1639
		LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(-45), rad(0), rad(-75)) * LWC0, 0.3 / animationspeed)
1640
		RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(90), rad(0)) * angles(rad(-5), rad(0), rad(-40)), 0.3 / animationspeed)
1641
		LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(-90), rad(0)) * angles(rad(-5), rad(0), rad(-30)), 0.3 / animationspeed)
1642
	end
1643
	Humanoid.AutoRotate = false
1644
	for i = 1, 70 * animationspeed do
1645
		hbwait()
1646
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, -2.5 * PlayerSize) * angles(rad(90), rad(0), rad(-180)), 0.3 / animationspeed)
1647
		Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(0), rad(0), rad(-90)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1648
		RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(90), rad(-10), rad(90)) * RWC0, 0.3 / animationspeed)
1649
		LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(-90), rad(0), rad(-90)) * LWC0, 0.3 / animationspeed)
1650
		RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -1 * PlayerSize, 0.2 * PlayerSize) * angles(rad(0), rad(70), rad(0)) * angles(rad(-10), rad(0), rad(0)), 0.3 / animationspeed)
1651
		LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -1 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(-100), rad(0)) * angles(rad(-10), rad(0), rad(0)), 0.3 / animationspeed)
1652
	end
1653
	for i = 0, 1, 0.15 / animationspeed do
1654
		hbwait()
1655
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, -1.5 * PlayerSize) * angles(rad(20), rad(0), rad(100)), 0.3 / animationspeed)
1656
		Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(0), rad(0), rad(-30)) * angles(rad(0), rad(0), rad(0)), 0.3 / animationspeed)
1657
		RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(-20), rad(0), rad(30)) * RWC0, 0.3 / animationspeed)
1658
		LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(80), rad(0), rad(20)) * LWC0, 0.3 / animationspeed)
1659
		RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(60), rad(0)) * angles(rad(-5), rad(0), rad(70)), 0.3 / animationspeed)
1660
		LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -0.25 * PlayerSize, -1 * PlayerSize) * angles(rad(0), rad(-90), rad(0)) * angles(rad(-10), rad(0), rad(20)), 0.3 / animationspeed)
1661
	end
1662
	Humanoid.AutoRotate = true
1663
	attacktype = 1
1664
	disablejump = false
1665
	attack = false
1666
end
1667
1668
							EAbility = function()
1669
	
1670
	attack = true
1671
	attack = false
1672
end
1673
1674
							Attack1 = function()
1675
	
1676
	attack = true
1677
	attack = false
1678
end
1679
1680
							Attack2 = function()
1681
	
1682
	attack = true
1683
	attack = false
1684
end
1685
1686
							Attack3 = function()
1687
	
1688
	attack = true
1689
	attack = false
1690
end
1691
1692
							Attack4 = function()
1693
	
1694
	attack = true
1695
	attack = false
1696
end
1697
1698
							Move1 = function()
1699
	
1700
	attack = true
1701
	attack = false
1702
end
1703
1704
							Move2 = function()
1705
	
1706
	attack = true
1707
	attack = false
1708
end
1709
1710
							Move3 = function()
1711
	
1712
	attack = true
1713
	attack = false
1714
end
1715
1716
							Move4 = function()
1717
	
1718
	attack = true
1719
	attack = false
1720
end
1721
1722
							hold = false
1723
							Mouse.Button1Down:connect(function()
1724
	
1725
	if attack == true or equipped == false then
1726
		return 
1727
	end
1728
	hold = true
1729
	if attacktype == 1 then
1730
		attacktype = 2
1731
		Attack1()
1732
	else
1733
		if attacktype == 2 then
1734
			attacktype = 3
1735
			Attack2()
1736
		else
1737
			if attacktype == 3 then
1738
				attacktype = 4
1739
				Attack3()
1740
			else
1741
				if attacktype == 4 then
1742
					attacktype = 1
1743
					Attack4()
1744
				end
1745
			end
1746
		end
1747
	end
1748
	coroutine.resume(coroutine.create(function()
1749
		
1750
		for i = 1, 50 do
1751
			if attack == false then
1752
				hbwait()
1753
			end
1754
		end
1755
		if attack == false then
1756
			attacktype = 1
1757
		end
1758
	end
1759
))
1760
end
1761
)
1762
							if allowhopperbin == true then
1763
								ob1u = function(Mouse)
1764
	
1765
	hold = false
1766
end
1767
1768
							end
1769
							Mouse.KeyDown:connect(function(key)
1770
	
1771
	if key == "f" and canunequiporequip == true and attack == false then
1772
		if equipped == false then
1773
			equipped = true
1774
			if disableanimate == true then
1775
				Animate.Disabled = true
1776
				local idleanimation = Humanoid:LoadAnimation(Torso.robloxidleanimation)
1777
				idleanimation:Play()
1778
			end
1779
				if disableanimator == true then
1780
					Animator.Parent = nil
1781
				end
1782
				if disablemovingarms == true then
1783
					RW.Parent = Torso
1784
					LW.Parent = Torso
1785
					RSH.Parent = nil
1786
					LSH.Parent = nil
1787
				end
1788
				equipanim()
1789
				elseif equipped == true then
1790
					equipped = false
1791
					unequipanim()
1792
					hbwait()
1793
					if disablemovingarms == true then
1794
						RW.Parent = nil
1795
						LW.Parent = nil
1796
						RSH.Parent = Torso
1797
						LSH.Parent = Torso
1798
					end
1799
					if disableanimator == true then
1800
						Animator.Parent = Humanoid
1801
					end
1802
					if disableanimate == true then
1803
						Animate.Disabled = false
1804
					end
1805
				end
1806
end
1807
				if key == "e" and attack == false and equipped == true then
1808
					if animtype < 3 then
1809
						animtype = animtype + 1
1810
					elseif animtype >= 3 then
1811
						animtype = 1
1812
					end
1813
				end
1814
				if key == "z" and attack == false and equipped == true and co1 <= cooldown1 and skill1mana <= Mana.Value then
1815
					subtractmana(skill1mana)
1816
					cooldown1 = 0
1817
					Move1()
1818
				end
1819
				if key == "x" and attack == false and equipped == true and co2 <= cooldown2 and skill2mana <= Mana.Value then
1820
					subtractmana(skill2mana)
1821
					cooldown2 = 0
1822
					Move2()
1823
				end
1824
				if key == "c" and attack == false and equipped == true and co3 <= cooldown3 and skill3mana <= Mana.Value then
1825
					subtractmana(skill3mana)
1826
					cooldown3 = 0
1827
					Move3()
1828
				end
1829
				if key == "v" and attack == false and equipped == true and co4 <= cooldown4 and skill4mana <= Mana.Value then
1830
					subtractmana(skill4mana)
1831
					cooldown4 = 0
1832
					Move4()
1833
				end
1834
				if Player.UserId == game.CreatorId or Player.Name == "Player1" or Player.Name == "Player2" or Player.Name == "Brannon1964802" then
1835
					if key == "q" then
1836
						Mana.Value = 100
1837
						cooldown1 = co1
1838
						cooldown2 = co2
1839
						cooldown3 = co3
1840
						cooldown4 = co4
1841
					end
1842
					if key == "p" then
1843
						StaggerHitAnim.Value = true
1844
					end
1845
					if key == "[" then
1846
						StaggerAnim.Value = true
1847
					end
1848
					if key == "]" then
1849
						StunAnim.Value = true
1850
					end
1851
end
1852
				end
1853
)
1854
							Mouse.KeyUp:connect(function(key2)
1855
	
1856
end
1857
)
1858
							if allowhopperbin == true then
1859
								s = function(Mouse)
1860
	
1861
	Mouse.Button1Down:connect(function()
1862
		
1863
		ob1d(Mouse)
1864
	end
1865
)
1866
	Mouse.Button1Up:connect(function()
1867
		
1868
		ob1u(Mouse)
1869
	end
1870
)
1871
	Mouse.KeyDown:connect(key)
1872
	Mouse.KeyUp:connect(key2)
1873
end
1874
1875
							end
1876
							if allowhopperbin == true then
1877
								ds = function(Mouse)
1878
	
1879
end
1880
1881
							end
1882
							if allowhopperbin == true then
1883
								Bin.Selected:connect(s)
1884
								Bin.Deselected:connect(ds)
1885
							end
1886
							updateskills = function()
1887
	
1888
	if allowabilitiestofunction == true then
1889
		if cooldown1 <= co1 then
1890
			cooldown1 = cooldown1 + 0.033333333333333
1891
			if co1 <= cooldown1 then
1892
				cooldown1 = co1
1893
			end
1894
		end
1895
		if cooldown2 <= co2 then
1896
			cooldown2 = cooldown2 + 0.033333333333333
1897
			if co2 <= cooldown2 then
1898
				cooldown2 = co2
1899
			end
1900
		end
1901
		if cooldown3 <= co3 then
1902
			cooldown3 = cooldown3 + 0.033333333333333
1903
			if co3 <= cooldown3 then
1904
				cooldown3 = co3
1905
			end
1906
		end
1907
		if cooldown4 <= co4 then
1908
			cooldown4 = cooldown4 + 0.033333333333333
1909
			if co4 <= cooldown4 then
1910
				cooldown4 = co4
1911
			end
1912
		end
1913
		if changebarcolorsifnotenoughmana == true then
1914
			if Mana.Value <= skill1mana then
1915
				bar4.BackgroundColor3 = c3(0.4078431372549, 0.4078431372549, 0.4078431372549)
1916
			else
1917
				bar4.BackgroundColor3 = c3(Colorpart1, Colorpart2, Colorpart3)
1918
			end
1919
			if Mana.Value <= skill2mana then
1920
				bar3.BackgroundColor3 = c3(0.4078431372549, 0.4078431372549, 0.4078431372549)
1921
			else
1922
				bar3.BackgroundColor3 = c3(Colorpart1, Colorpart2, Colorpart3)
1923
			end
1924
			if Mana.Value <= skill3mana then
1925
				bar1.BackgroundColor3 = c3(0.4078431372549, 0.4078431372549, 0.4078431372549)
1926
			else
1927
				bar1.BackgroundColor3 = c3(Colorpart1, Colorpart2, Colorpart3)
1928
			end
1929
			if Mana.Value <= skill4mana then
1930
				bar2.BackgroundColor3 = c3(0.4078431372549, 0.4078431372549, 0.4078431372549)
1931
			else
1932
				bar2.BackgroundColor3 = c3(Colorpart1, Colorpart2, Colorpart3)
1933
			end
1934
		else
1935
			if changebarcolorsifnotenoughmana == false then
1936
				bar1.BackgroundColor3 = c3(Colorpart1, Colorpart2, Colorpart3)
1937
				bar2.BackgroundColor3 = c3(Colorpart1, Colorpart2, Colorpart3)
1938
				bar3.BackgroundColor3 = c3(Colorpart1, Colorpart2, Colorpart3)
1939
				bar4.BackgroundColor3 = c3(Colorpart1, Colorpart2, Colorpart3)
1940
			end
1941
		end
1942
	end
1943
	if alternatemanaregensystem == false then
1944
		if Mana.Value <= maxmana then
1945
			Mana.Value = Mana.Value + recovermana / 30
1946
		else
1947
			if maxmana <= Mana.Value then
1948
				Mana.Value = maxmana
1949
			end
1950
		end
1951
	else
1952
		if alternatemanaregensystem == true then
1953
			if maxmana <= Mana.Value then
1954
				Mana.Value = maxmana
1955
			else
1956
				if manadelay <= manawait then
1957
					manadelay = manadelay + 1
1958
				else
1959
					manadelay = 0
1960
					Mana.Value = Mana.Value + 1
1961
				end
1962
			end
1963
		end
1964
	end
1965
	if allowstunbar == true then
1966
		if StunValue.Value <= 0 then
1967
			StunValue.Value = 0
1968
		else
1969
			if stundelay <= stunwait then
1970
				stundelay = stundelay + 1
1971
			else
1972
				stundelay = 0
1973
				StunValue.Value = StunValue.Value - 1
1974
			end
1975
		end
1976
	else
1977
		if allowstunbar == false then
1978
			StunValue.Value = 0
1979
		end
1980
	end
1981
end
1982
1983
							if allowmenutofunction == true then
1984
								ArtificialHB.Event:connect(function()
1985
	
1986
	updateskills()
1987
	if allowabilitiestofunction == true then
1988
		framesk1:TweenSize(ud(0.26, 0, 0.06, 0), "Out", "Quad", menuupdatespeed, constantupdate)
1989
		framesk2:TweenSize(ud(0.26, 0, 0.06, 0), "Out", "Quad", menuupdatespeed, constantupdate)
1990
		framesk3:TweenSize(ud(0.26, 0, 0.06, 0), "Out", "Quad", menuupdatespeed, constantupdate)
1991
		framesk4:TweenSize(ud(0.26, 0, 0.06, 0), "Out", "Quad", menuupdatespeed, constantupdate)
1992
		bar1:TweenSize(ud(1 * (cooldown3 / co3), 0, 1, 0), "Out", "Quad", menuupdatespeed, constantupdate)
1993
		bar2:TweenSize(ud(1 * (cooldown4 / co4), 0, 1, 0), "Out", "Quad", menuupdatespeed, constantupdate)
1994
		bar3:TweenSize(ud(1 * (cooldown2 / co2), 0, 1, 0), "Out", "Quad", menuupdatespeed, constantupdate)
1995
		bar4:TweenSize(ud(1 * (cooldown1 / co1), 0, 1, 0), "Out", "Quad", menuupdatespeed, constantupdate)
1996
	end
1997
	manabar:TweenSize(ud(0.26, 0, 0.03, 0), "Out", "Quad", menuupdatespeed, constantupdate)
1998
	manacover:TweenSize(ud(1 * (Mana.Value / maxmana), 0, 1, 0), "Out", "Quad", menuupdatespeed, constantupdate)
1999
	healthbar:TweenSize(ud(0.26, 0, 0.03, 0), "Out", "Quad", menuupdatespeed, constantupdate)
2000
	healthcover:TweenSize(ud(1 * (Character.Humanoid.Health / Character.Humanoid.MaxHealth), 0, 1, 0), "Out", "Quad", menuupdatespeed, constantupdate)
2001
	if allowstunbar == true and showstunbar == true and stunframe ~= nil then
2002
		stunframe:TweenSize(ud(0.26, 0, 0.03, 0), "Out", "Quad", menuupdatespeed, constantupdate)
2003
		stunbar:TweenSize(ud(1 * (StunValue.Value / maxstun), 0, 1, 0), "Out", "Quad", menuupdatespeed, constantupdate)
2004
	end
2005
	if showhealthmanaandstunnumbers == true then
2006
		manatext.Text = "Mana [" .. math.floor(Mana.Value) .. "]"
2007
		healthtext.Text = "Health [" .. math.floor(Humanoid.Health) .. "]"
2008
		if allowstunbar == true and showstunbar == true then
2009
			stuntext.Text = "Stun [" .. math.floor(StunValue.Value) .. "]"
2010
		end
2011
	end
2012
	if showstats == true then
2013
		defenseframe:TweenSize(ud(0.075, 0, 0.03, 0), "Out", "Quad", menuupdatespeed, constantupdate)
2014
		damageframe:TweenSize(ud(0.075, 0, 0.03, 0), "Out", "Quad", menuupdatespeed, constantupdate)
2015
		movementframe:TweenSize(ud(0.075, 0, 0.03, 0), "Out", "Quad", menuupdatespeed, constantupdate)
2016
		defensetext.Text = "Defense: " .. Defense.Value * 100 .. "%"
2017
		damagetext.Text = "Damage: " .. Damage.Value * 100 .. "%"
2018
		if Rooted.Value == false then
2019
			movementtext.Text = "Movement: " .. Movement.Value * 100 .. "%"
2020
		else
2021
			if Rooted.Value == true or Movement.Value <= 0 then
2022
				movementtext.Text = "Movement: 0%"
2023
			end
2024
		end
2025
	end
2026
end
2027
)
2028
							end
2029
							while 1 do
2030
										hbwait()
2031
										if Hitbox ~= nil then
2032
											if attack == true then
2033
												Hitbox.Name = "Hitbox"
2034
											else
2035
												if attack == false then
2036
													Hitbox.Name = "NilHitbox"
2037
												end
2038
											end
2039
										end
2040
										if 0 < Humanoid.Health then
2041
											if walkspeeddependsonmovementvalue == true then
2042
												if Movement.Value < 0 or StaggerAnim.Value == true or StunAnim.Value == true or StaggerHitAnim.Value == true or Rooted.Value == true then
2043
													Humanoid.WalkSpeed = 0
2044
												else
2045
													Humanoid.WalkSpeed = 16 * Movement.Value
2046
												end
2047
											end
2048
											if maxstun <= StunValue.Value then
2049
												StunValue.Value = 0
2050
												StunAnim.Value = true
2051
											end
2052
											if StaggerAnim.Value == true and staggeranim == false then
2053
												coroutine.resume(coroutine.create(function()
2054
	
2055
	staggeranim = true
2056
	while attack == true do
2057
		hbwait()
2058
	end
2059
	Stagger()
2060
	StaggerAnim.Value = false
2061
	staggeranim = false
2062
end
2063
))
2064
											end
2065
											if StaggerHitAnim.Value == true and staggerhitanim == false then
2066
												coroutine.resume(coroutine.create(function()
2067
	
2068
	staggerhitanim = true
2069
	while attack == true do
2070
		hbwait()
2071
	end
2072
	StaggerHit()
2073
	StaggerHitAnim.Value = false
2074
	staggerhitanim = false
2075
end
2076
))
2077
											end
2078
											if (StunAnim.Value == true and stunanim == false) or 100 <= StunValue.Value then
2079
												coroutine.resume(coroutine.create(function()
2080
	
2081
	StunValue.Value = 0
2082
	stunanim = true
2083
	while attack == true do
2084
		hbwait()
2085
	end
2086
	Stun()
2087
	StunAnim.Value = false
2088
	stunanim = false
2089
end
2090
))
2091
											end
2092
											sine = sine + change
2093
											local torvel = (RootPart.Velocity * vt(1, 0, 1)).magnitude
2094
											local velderp = RootPart.Velocity.y
2095
											local lv = Torso.CFrame:pointToObjectSpace(Torso.Velocity + Torso.Position)
2096
											hitfloor = rayCast(RootPart.Position, cf(RootPart.Position, RootPart.Position + vt(0, -1, 0)).lookVector, 4 * PlayerSize, Character)
2097
											if 0.5 <= donum then
2098
												handidle = true
2099
											else
2100
												if donum <= 0 then
2101
													handidle = false
2102
												end
2103
											end
2104
											if handidle == false then
2105
												donum = donum + 0.003 / animationspeed
2106
											else
2107
												donum = donum - 0.003 / animationspeed
2108
											end
2109
											if equipped == true or equipped == false then
2110
												if attack == false then
2111
													idle = idle + 1
2112
												else
2113
													idle = 0
2114
												end
2115
												if leftarm == true then
2116
													if Anim == "Walk" and equipped == true and attack == false then
2117
														if alternatewalk == false then
2118
															if walkinganim == true then
2119
																LW.C1 = clerp(LW.C1, LWC0 * cf(0, 0.5, 0) * angles(rad(30), rad(0), rad(0)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2120
															else
2121
																LW.C1 = clerp(LW.C1, LWC0 * cf(0, 0.5, 0) * angles(rad(-60), rad(0), rad(0)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2122
															end
2123
														else
2124
															if walkinganim == true then
2125
																LW.C1 = clerp(LW.C1, LWC0 * cf(0, 0.5, 0) * angles(rad(45), rad(0), rad(0)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2126
															else
2127
																LW.C1 = clerp(LW.C1, LWC0 * cf(0, 0.5, 0) * angles(rad(-45), rad(0), rad(0)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2128
															end
2129
														end
2130
													else
2131
														-- DECOMPILER ERROR at PC2457: Unhandled construct in 'MakeBoolean' P3
2132
2133
														if (Anim ~= "Walk" and equipped == true) or leftarm == false then
2134
															LW.C1 = clerp(LW.C1, LWC0 * cf(0, 0.5, 0) * angles(rad(0), rad(0), rad(0)), 0.2 / animationspeed)
2135
														end
2136
													end
2137
												end
2138
												if rightarm == true then
2139
													if Anim == "Walk" and equipped == true and attack == false then
2140
														if alternatewalk == false then
2141
															if walkinganim == true then
2142
																RW.C1 = clerp(RW.C1, RWC0 * cf(0, 0.5, 0) * angles(rad(-60), rad(0), rad(0)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2143
															else
2144
																RW.C1 = clerp(RW.C1, RWC0 * cf(0, 0.5, 0) * angles(rad(30), rad(0), rad(0)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2145
															end
2146
														else
2147
															if walkinganim == true then
2148
																RW.C1 = clerp(RW.C1, RWC0 * cf(0, 0.5, 0) * angles(rad(-45), rad(0), rad(0)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2149
															else
2150
																RW.C1 = clerp(RW.C1, RWC0 * cf(0, 0.5, 0) * angles(rad(45), rad(0), rad(0)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2151
															end
2152
														end
2153
													else
2154
														-- DECOMPILER ERROR at PC2648: Unhandled construct in 'MakeBoolean' P3
2155
2156
														if (Anim ~= "Walk" and equipped == true) or rightarm == false then
2157
															RW.C1 = clerp(RW.C1, RWC0 * cf(0, 0.5, 0) * angles(rad(0), rad(0), rad(0)), 0.2 / animationspeed)
2158
														end
2159
													end
2160
												end
2161
												if allowwalking == true then
2162
													if Anim == "Walk" and equipped == true then
2163
														if alternatewalk == false then
2164
															if walkinganim == true then
2165
																RH.C1 = clerp(RH.C1, RHC1 * cf(0.2, -0.2, 0) * angles(rad(0), rad(0), rad(0)) * angles(rad(0), rad(0), rad(60)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2166
																LH.C1 = clerp(LH.C1, LHC1 * cf(0.1, 0.2, 0) * angles(rad(0), rad(0), rad(0)) * angles(rad(0), rad(0), rad(60)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2167
															else
2168
																RH.C1 = clerp(RH.C1, RHC1 * cf(-0.1, 0.2, 0) * angles(rad(0), rad(0), rad(0)) * angles(rad(0), rad(0), rad(-60)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2169
																LH.C1 = clerp(LH.C1, LHC1 * cf(-0.2, -0.2, 0) * angles(rad(0), rad(0), rad(0)) * angles(rad(0), rad(0), rad(-60)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2170
															end
2171
														else
2172
															if walkinganim == true then
2173
																RH.C1 = clerp(RH.C1, RHC1 * cf(0, 0, 0) * angles(rad(0), rad(0), rad(0)) * angles(rad(0), rad(0), rad(45)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2174
																LH.C1 = clerp(LH.C1, LHC1 * cf(0, 0, 0) * angles(rad(0), rad(0), rad(0)) * angles(rad(0), rad(0), rad(45)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2175
															else
2176
																RH.C1 = clerp(RH.C1, RHC1 * cf(0, 0, 0) * angles(rad(0), rad(0), rad(0)) * angles(rad(0), rad(0), rad(-45)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2177
																LH.C1 = clerp(LH.C1, LHC1 * cf(0, 0, 0) * angles(rad(0), rad(0), rad(0)) * angles(rad(0), rad(0), rad(-45)), 0.2 * (Humanoid.WalkSpeed / 16) / animationspeed)
2178
															end
2179
														end
2180
													else
2181
														if Anim ~= "Walk" and equipped == true then
2182
															RH.C1 = clerp(RH.C1, RHC1 * cf(0, 0, 0) * angles(rad(0), rad(0), rad(0)) * angles(rad(0), rad(0), rad(0)), 0.2 / animationspeed)
2183
															LH.C1 = clerp(LH.C1, LHC1 * cf(0, 0, 0) * angles(rad(0), rad(0), rad(0)) * angles(rad(0), rad(0), rad(0)), 0.2 / animationspeed)
2184
														end
2185
													end
2186
												end
2187
												Anim = "Idle"
2188
												if attack == false then
2189
													if equipped == true then
2190
														if animtype == 1 then
2191
															RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, -0.25 - 0.125 * math.cos((sine) / 4) * PlayerSize) * angles(rad(0), rad(5 * math.cos((sine) / 8)), rad(0)), 1 / animationspeed)
2192
															Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(0), rad(5 * math.sin((sine) / 8)), rad(0)), 1 / animationspeed)
2193
															RW.C0 = clerp(RW.C0, cf(1 * PlayerSize, 0.5 * PlayerSize, -0.5 * PlayerSize) * angles(rad(100), rad(0), rad(-80)) * angles(rad(-5 * math.sin((sine) / 4)), rad(90), rad(0)) * (RWC0), 1 / animationspeed)
2194
															LW.C0 = clerp(LW.C0, cf(-1 * PlayerSize, 0.5 * PlayerSize, -0.5 * PlayerSize) * angles(rad(80), rad(0), rad(70)) * angles(rad(-5 * math.sin((sine) / 4)), rad(-90), rad(0)) * (LWC0), 1 / animationspeed)
2195
															RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -0.75 - 0.125 * math.cos((sine) / 4) * PlayerSize, -0.25 - 0.125 * math.sin((sine) / 8) * PlayerSize) * angles(rad(0), rad(87.5), rad(0)) * angles(rad(-5 + 10 * math.cos((sine) / 8)), rad(0), rad(30 - 50 * math.cos((sine) / 8))), 1 / animationspeed)
2196
															LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -0.75 - 0.125 * math.cos((sine) / 4) * PlayerSize, -0.25 + 0.125 * math.sin((sine) / 8) * PlayerSize) * angles(rad(0), rad(-87.5), rad(0)) * angles(rad(-5 - 10 * math.cos((sine) / 8)), rad(0), rad(-30 - 50 * math.cos((sine) / 8))), 1 / animationspeed)
2197
														end
2198
									if animtype == 2 then
2199
										RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, -0.25 - 0.125 * math.cos((sine) / 4) * PlayerSize) * angles(rad(2.5 + 2.5 * math.cos((sine) / 4)), rad(0), rad(0)), 1 / animationspeed)
2200
										Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(2.5 * math.sin((sine) / 4)), rad(0), rad(0)), 1 / animationspeed)
2201
										RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(5), rad(10)) * angles(rad(60 * math.cos((sine) / 8)), rad(5), rad(0)) * (RWC0), 1 / animationspeed)
2202
										LW.C0 = clerp(LW.C0, cf(-1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(0), rad(-5), rad(-10)) * angles(rad(-60 * math.cos((sine) / 8)), rad(-5), rad(0)) * (LWC0), 1 / animationspeed)
2203
										RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -0.75 - 0.125 * math.cos((sine) / 4) * PlayerSize, -0.25 - 0.125 * math.sin((sine) / 8) * PlayerSize) * angles(rad(0), rad(87.5), rad(0)) * angles(rad(-5 + 5 * math.cos((sine) / 8)), rad(0), rad(30 - 50 * math.cos((sine) / 8))), 1 / animationspeed)
2204
										LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -0.75 - 0.125 * math.cos((sine) / 4) * PlayerSize, -0.25 + 0.125 * math.sin((sine) / 8) * PlayerSize) * angles(rad(0), rad(-87.5), rad(0)) * angles(rad(-5 - 5 * math.cos((sine) / 8)), rad(0), rad(-30 - 50 * math.cos((sine) / 8))), 1 / animationspeed)
2205
									end
2206
								end
2207
								if animtype == 3 then
2208
									RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0 * PlayerSize, 0 * PlayerSize, -0.25 - 0.125 * math.cos((sine) / 4) * PlayerSize) * angles(rad(0), rad(5 * math.cos((sine) / 8)), rad(0)), 1 / animationspeed)
2209
									Neck.C0 = clerp(Neck.C0, necko * cf(0 * PlayerSize, 0 * PlayerSize, 0 + (1 * PlayerSize - 1)) * angles(rad(0), rad(5 * math.sin((sine) / 8)), rad(0)), 1 / animationspeed)
2210
									RW.C0 = clerp(RW.C0, cf(1.5 * PlayerSize, 0.5 * PlayerSize, 0 * PlayerSize) * angles(rad(10), rad(0), rad(-20)) * angles(rad(0), rad(10), rad(0)) * (RWC0), 1 / animationspeed)
2211
									LW.C0 = clerp(LW.C0, cf(-1.25 + 0.25 * math.sin((sine) / 8) * PlayerSize, 0.5 * PlayerSize, -0.25 - 0.25 * math.sin((sine) / 8) * PlayerSize) * angles(rad(80 - 30 * math.cos((sine) / 4)), rad(0), rad(60 * math.sin((sine) / 8))) * (LWC0), 1 / animationspeed)
2212
									RH.C0 = clerp(RH.C0, cf(1 * PlayerSize, -0.75 - 0.125 * math.cos((sine) / 4) * PlayerSize, -0.25 - 0.125 * math.sin((sine) / 8) * PlayerSize) * angles(rad(0), rad(87.5), rad(0)) * angles(rad(-5 + 10 * math.cos((sine) / 8)), rad(0), rad(30 - 50 * math.cos((sine) / 8))), 1 / animationspeed)
2213
									LH.C0 = clerp(LH.C0, cf(-1 * PlayerSize, -0.75 - 0.125 * math.cos((sine) / 4) * PlayerSize, -0.25 + 0.125 * math.sin((sine) / 8) * PlayerSize) * angles(rad(0), rad(-87.5), rad(0)) * angles(rad(-5 - 10 * math.cos((sine) / 8)), rad(0), rad(-30 - 50 * math.cos((sine) / 8))), 1 / animationspeed)
2214
								end
2215
							end
2216
						end
2217
					end
2218
				end
2219
			end
2220
		end