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