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