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