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