View difference between Paste ID: Rw3Yb0Cw and gvw7UUat
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||			   CREATED BY  KARMARANGE
3
--\\====================================================//--
4
wait(1 / 60)
5-
local e = script.Parent:FindFirstChild("Body Colors")
5+
6-
if e then
6+
--usage
7-
e:Destroy()
7+
8
local FEService = loadstring(game:HttpGetAsync("https://raw.githubusercontent.com/WhyGitHubb/FEService/main/main.lua"))()
9
10
11
FEService:FullNetwork()  
12
13
print(game.Players.LocalPlayer.SimulationRadius)
14
--reanimate by MyWorld#4430 discord.gg/pYVHtSJmEY
15
local v3_net, v3_808 = Vector3.new(5000, 25.1, 0), Vector3.new(8, 0, 8)
16
local function getNetlessVelocity(realPartVelocity)
17
    local mag = realPartVelocity.Magnitude
18
    if mag > 1 then
19
        local unit = realPartVelocity.Unit
20
        if (unit.Y > 0.25) or (unit.Y < -0.75) then
21
            return unit * (25.1 / unit.Y)
22
        end
23
    end
24
    return v3_net + realPartVelocity * v3_808
25
end
26
local simradius = "shp" --simulation radius (net bypass) method
27
--"shp" - sethiddenproperty
28
--"ssr" - setsimulationradius
29
--false - disable
30
local simrad = 1000 --simulation radius value
31
local healthHide = true --moves your head away every 3 seconds so players dont see your health bar (alignmode 4 only)
32
local reclaim = true --if you lost control over a part this will move your primary part to the part so you get it back (alignmode 4)
33
local novoid = true --prevents parts from going under workspace.FallenPartsDestroyHeight if you control them (alignmode 4 only)
34
local physp = nil --PhysicalProperties.new(0.01, 0, 1, 0, 0) --sets .CustomPhysicalProperties to this for each part
35
local noclipAllParts = false --set it to true if you want noclip
36
local antiragdoll = true --removes hingeConstraints and ballSocketConstraints from your character
37
local newanimate = true --disables the animate script and enables after reanimation
38
local discharscripts = true --disables all localScripts parented to your character before reanimation
39
local R15toR6 = true --tries to convert your character to r6 if its r15
40
local hatcollide = false --makes hats cancollide (credit to ShownApe) (works only with reanimate method 0)
41
local humState16 = true --enables collisions for limbs before the humanoid dies (using hum:ChangeState)
42
local addtools = false --puts all tools from backpack to character and lets you hold them after reanimation
43
local hedafterneck = true --disable aligns for head and enable after neck or torso is removed
44
local loadtime = game:GetService("Players").RespawnTime + 0.5 --anti respawn delay
45
local method = 3 --reanimation method
46
--methods:
47
--0 - breakJoints (takes [loadtime] seconds to load)
48
--1 - limbs
49
--2 - limbs + anti respawn
50
--3 - limbs + breakJoints after [loadtime] seconds
51
--4 - remove humanoid + breakJoints
52
--5 - remove humanoid + limbst
53
local alignmode = 3 --AlignPosition mode
54
--modes:
55
--1 - AlignPosition rigidity enabled true
56
--2 - 2 AlignPositions rigidity enabled both true and false
57
--3 - AlignPosition rigidity enabled false
58
--4 - CFrame
59
local flingpart = "HumanoidRootPart" --name of the part or the hat used for flinging
60
--the fling function
61
--usage: fling(target, duration, velocity)
62
--target can be set to: basePart, CFrame, Vector3, character model or humanoid (flings at mouse.Hit if argument not provided))
63
--duration (fling time in seconds) can be set to a number or a string convertable to the number (0.5s if not provided),
64
--velocity (fling part rotation velocity) can be set to a vector3 value (Vector3.new(20000, 20000, 20000) if not provided)
65
66
local lp = game:GetService("Players").LocalPlayer
67
local rs, ws, sg = game:GetService("RunService"), game:GetService("Workspace"), game:GetService("StarterGui")
68
local stepped, heartbeat, renderstepped = rs.Stepped, rs.Heartbeat, rs.RenderStepped
69
local twait, tdelay, rad, inf, abs, clamp = task.wait, task.delay, math.rad, math.huge, math.abs, math.clamp
70
local cf, v3 = CFrame.new, Vector3.new
71
local angles = CFrame.Angles
72
local v3_0, cf_0 = v3(0, 0, 0), cf(0, 0, 0)
73
74
local c = lp.Character
75
if not (c and c.Parent) then
76
    return
77
end
78
79
c:GetPropertyChangedSignal("Parent"):Connect(function()
80
    if not (c and c.Parent) then
81
        c = nil
82
    end
83
end)
84
85
local clone, destroy, getchildren, getdescendants, isa = c.Clone, c.Destroy, c.GetChildren, c.GetDescendants, c.IsA
86
87
local function gp(parent, name, className)
88
    if typeof(parent) == "Instance" then
89
        for i, v in pairs(getchildren(parent)) do
90
            if (v.Name == name) and isa(v, className) then
91
                return v
92
            end
93
        end
94
    end
95
    return nil
96
end
97
98
local fenv = getfenv()
99
100
local shp = fenv.sethiddenproperty or fenv.set_hidden_property or fenv.set_hidden_prop or fenv.sethiddenprop
101
local ssr = fenv.setsimulationradius or fenv.set_simulation_radius or fenv.set_sim_radius or fenv.setsimradius or fenv.setsimrad or fenv.set_sim_rad
102
103
healthHide = healthHide and ((method == 0) or (method == 3)) and gp(c, "Head", "BasePart")
104
105
local reclaim, lostpart = reclaim and c.PrimaryPart, nil
106
107
local function align(Part0, Part1)
108
    
109
    local att0 = Instance.new("Attachment")
110
    att0.Position, att0.Orientation, att0.Name = v3_0, v3_0, "att0_" .. Part0.Name
111
    local att1 = Instance.new("Attachment")
112
    att1.Position, att1.Orientation, att1.Name = v3_0, v3_0, "att1_" .. Part1.Name
113
114
    if alignmode == 4 then
115
    
116
        local hide = false
117
        if Part0 == healthHide then
118
            healthHide = false
119
            tdelay(0, function()
120
                while twait(2.9) and Part0 and c do
121
                    hide = #Part0:GetConnectedParts() == 1
122
                    twait(0.1)
123
                    hide = false
124
                end
125
            end)
126
        end
127
        
128
        local rot = rad(0.05)
129
        local con0, con1 = nil, nil
130
        con0 = stepped:Connect(function()
131
            if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end
132
            Part0.RotVelocity = Part1.RotVelocity
133
        end)
134
        local lastpos = Part0.Position
135
        con1 = heartbeat:Connect(function(delta)
136
            if not (Part0 and Part1 and att1) then return con0:Disconnect() and con1:Disconnect() end
137
            if (not Part0.Anchored) and (Part0.ReceiveAge == 0) then
138
                if lostpart == Part0 then
139
                    lostpart = nil
140
                end
141
                rot = -rot
142
                local newcf = Part1.CFrame * att1.CFrame * angles(0, 0, rot)
143
                if Part1.Velocity.Magnitude > 0.01 then
144
                    Part0.Velocity = getNetlessVelocity(Part1.Velocity)
145
                else
146
                    Part0.Velocity = getNetlessVelocity((newcf.Position - lastpos) / delta)
147
                end
148
                lastpos = newcf.Position
149
                if lostpart and (Part0 == reclaim) then
150
                    newcf = lostpart.CFrame
151
                elseif hide then
152
                    newcf += v3(0, 3000, 0)
153
                end
154
                if novoid and (newcf.Y < ws.FallenPartsDestroyHeight + 0.1) then
155
                    newcf += v3(0, ws.FallenPartsDestroyHeight + 0.1 - newcf.Y, 0)
156
                end
157
                Part0.CFrame = newcf
158
            elseif (not Part0.Anchored) and (abs(Part0.Velocity.X) < 45) and (abs(Part0.Velocity.Y) < 25) and (abs(Part0.Velocity.Z) < 45) then
159
                lostpart = Part0
160
            end
161
        end)
162
    
163
    else
164
        
165
        Part0.CustomPhysicalProperties = physp
166
        if (alignmode == 1) or (alignmode == 2) then
167
            local ape = Instance.new("AlignPosition")
168
            ape.MaxForce, ape.MaxVelocity, ape.Responsiveness = inf, inf, inf
169
            ape.ReactionForceEnabled, ape.RigidityEnabled, ape.ApplyAtCenterOfMass = false, true, false
170
            ape.Attachment0, ape.Attachment1, ape.Name = att0, att1, "AlignPositionRtrue"
171
            ape.Parent = att0
172
        end
173
        
174
        if (alignmode == 2) or (alignmode == 3) then
175
            local apd = Instance.new("AlignPosition")
176
            apd.MaxForce, apd.MaxVelocity, apd.Responsiveness = inf, inf, inf
177
            apd.ReactionForceEnabled, apd.RigidityEnabled, apd.ApplyAtCenterOfMass = false, false, false
178
            apd.Attachment0, apd.Attachment1, apd.Name = att0, att1, "AlignPositionRfalse"
179
            apd.Parent = att0
180
        end
181
        
182
        local ao = Instance.new("AlignOrientation")
183
        ao.MaxAngularVelocity, ao.MaxTorque, ao.Responsiveness = inf, inf, inf
184
        ao.PrimaryAxisOnly, ao.ReactionTorqueEnabled, ao.RigidityEnabled = false, false, false
185
        ao.Attachment0, ao.Attachment1 = att0, att1
186
        ao.Parent = att0
187
        
188
        local con0, con1 = nil, nil
189
        local vel = Part0.Velocity
190
        con0 = renderstepped:Connect(function()
191
            if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end
192
            Part0.Velocity = vel
193
        end)
194
        local lastpos = Part0.Position
195
        con1 = heartbeat:Connect(function(delta)
196
            if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end
197
            vel = Part0.Velocity
198
            if Part1.Velocity.Magnitude > 0.01 then
199
                Part0.Velocity = getNetlessVelocity(Part1.Velocity)
200
            else
201
                Part0.Velocity = getNetlessVelocity((Part0.Position - lastpos) / delta)
202
            end
203
            lastpos = Part0.Position
204
        end)
205
    
206
    end
207
208
    att0:GetPropertyChangedSignal("Parent"):Connect(function()
209
        Part0 = att0.Parent
210
        if not isa(Part0, "BasePart") then
211
            att0 = nil
212
            if lostpart == Part0 then
213
                lostpart = nil
214
            end
215
            Part0 = nil
216
        end
217
    end)
218
    att0.Parent = Part0
219
    
220
    att1:GetPropertyChangedSignal("Parent"):Connect(function()
221
        Part1 = att1.Parent
222
        if not isa(Part1, "BasePart") then
223
            att1 = nil
224
            Part1 = nil
225
        end
226
    end)
227
    att1.Parent = Part1
228
end
229
230
local function respawnrequest()
231
    local ccfr, c = ws.CurrentCamera.CFrame, lp.Character
232
    lp.Character = nil
233
    lp.Character = c
234
    local con = nil
235
    con = ws.CurrentCamera.Changed:Connect(function(prop)
236
        if (prop ~= "Parent") and (prop ~= "CFrame") then
237
            return
238
        end
239
        ws.CurrentCamera.CFrame = ccfr
240
        con:Disconnect()
241
    end)
242
end
243
244
local destroyhum = (method == 4) or (method == 5)
245
local breakjoints = (method == 0) or (method == 4)
246
local antirespawn = (method == 0) or (method == 2) or (method == 3)
247
248
hatcollide = hatcollide and (method == 0)
249
250
addtools = addtools and lp:FindFirstChildOfClass("Backpack")
251
252
if type(simrad) ~= "number" then simrad = 1000 end
253
if shp and (simradius == "shp") then
254
    tdelay(0, function()
255
        while c do
256
            shp(lp, "SimulationRadius", simrad)
257
            heartbeat:Wait()
258
        end
259
    end)
260
elseif ssr and (simradius == "ssr") then
261
    tdelay(0, function()
262
        while c do
263
            ssr(simrad)
264
            heartbeat:Wait()
265
        end
266
    end)
267
end
268
269
if antiragdoll then
270
    antiragdoll = function(v)
271
        if isa(v, "HingeConstraint") or isa(v, "BallSocketConstraint") then
272
            v.Parent = nil
273
        end
274
    end
275
    for i, v in pairs(getdescendants(c)) do
276
        antiragdoll(v)
277
    end
278
    c.DescendantAdded:Connect(antiragdoll)
279
end
280
281
if antirespawn then
282
    respawnrequest()
283
end
284
285
if method == 0 then
286
    twait(loadtime)
287
    if not c then
288
        return
289
    end
290
end
291
292
if discharscripts then
293
    for i, v in pairs(getdescendants(c)) do
294
        if isa(v, "LocalScript") then
295
            v.Disabled = true
296
        end
297
    end
298
elseif newanimate then
299
    local animate = gp(c, "Animate", "LocalScript")
300
    if animate and (not animate.Disabled) then
301
        animate.Disabled = true
302
    else
303
        newanimate = false
304
    end
305
end
306
307
if addtools then
308
    for i, v in pairs(getchildren(addtools)) do
309
        if isa(v, "Tool") then
310
            v.Parent = c
311
        end
312
    end
313
end
314
315
pcall(function()
316
    settings().Physics.AllowSleep = false
317
    settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled
318
end)
319
320
local OLDscripts = {}
321
322
for i, v in pairs(getdescendants(c)) do
323
    if v.ClassName == "Script" then
324
        OLDscripts[v.Name] = true
325
    end
326
end
327
328
local scriptNames = {}
329
330
for i, v in pairs(getdescendants(c)) do
331
    if isa(v, "BasePart") then
332
        local newName, exists = tostring(i), true
333
        while exists do
334
            exists = OLDscripts[newName]
335
            if exists then
336
                newName = newName .. "_"    
337
            end
338
        end
339
        table.insert(scriptNames, newName)
340
        Instance.new("Script", v).Name = newName
341
    end
342
end
343
344
local hum = c:FindFirstChildOfClass("Humanoid")
345
if hum then
346
    for i, v in pairs(hum:GetPlayingAnimationTracks()) do
347
        v:Stop()
348
    end
349
end
350
c.Archivable = true
351
local cl = clone(c)
352
if hum and humState16 then
353
    hum:ChangeState(Enum.HumanoidStateType.Physics)
354
    if destroyhum then
355
        twait(1.6)
356
    end
357
end
358
if destroyhum then
359
    pcall(destroy, hum)
360
end
361
362
if not c then
363
    return
364
end
365
366
local head, torso, root = gp(c, "Head", "BasePart"), gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart"), gp(c, "HumanoidRootPart", "BasePart")
367
if hatcollide then
368
    pcall(destroy, torso)
369
    pcall(destroy, root)
370
    pcall(destroy, c:FindFirstChildOfClass("BodyColors") or gp(c, "Health", "Script"))
371
end
372
373
local model = Instance.new("Model", c)
374
model:GetPropertyChangedSignal("Parent"):Connect(function()
375
    if not (model and model.Parent) then
376
        model = nil
377
    end
378
end)
379
380
for i, v in pairs(getchildren(c)) do
381
    if v ~= model then
382
        if addtools and isa(v, "Tool") then
383
            for i1, v1 in pairs(getdescendants(v)) do
384
                if v1 and v1.Parent and isa(v1, "BasePart") then
385
                    local bv = Instance.new("BodyVelocity")
386
                    bv.Velocity, bv.MaxForce, bv.P, bv.Name = v3_0, v3(1000, 1000, 1000), 1250, "bv_" .. v.Name
387
                    bv.Parent = v1
388
                end
389
            end
390
        end
391
        v.Parent = model
392
    end
393
end
394
395
if breakjoints then
396
    model:BreakJoints()
397
else
398
    if head and torso then
399
        for i, v in pairs(getdescendants(model)) do
400
            if isa(v, "JointInstance") then
401
                local save = false
402
                if (v.Part0 == torso) and (v.Part1 == head) then
403
                    save = true
404
                end
405
                if (v.Part0 == head) and (v.Part1 == torso) then
406
                    save = true
407
                end
408
                if save then
409
                    if hedafterneck then
410
                        hedafterneck = v
411
                    end
412
                else
413
                    pcall(destroy, v)
414
                end
415
            end
416
        end
417
    end
418
    if method == 3 then
419
        task.delay(loadtime, pcall, model.BreakJoints, model)
420
    end
421
end
422
423
cl.Parent = ws
424
for i, v in pairs(getchildren(cl)) do
425
    v.Parent = c
426
end
427
pcall(destroy, cl)
428
429
local uncollide, noclipcon = nil, nil
430
if noclipAllParts then
431
    uncollide = function()
432
        if c then
433
            for i, v in pairs(getdescendants(c)) do
434
                if isa(v, "BasePart") then
435
                    v.CanCollide = false
436
                end
437
            end
438
        else
439
            noclipcon:Disconnect()
440
        end
441
    end
442
else
443
    uncollide = function()
444
        if model then
445
            for i, v in pairs(getdescendants(model)) do
446
                if isa(v, "BasePart") then
447
                    v.CanCollide = false
448
                end
449
            end
450
        else
451
            noclipcon:Disconnect()
452
        end
453
    end
454
end
455
noclipcon = stepped:Connect(uncollide)
456
uncollide()
457
458
for i, scr in pairs(getdescendants(model)) do
459
    if (scr.ClassName == "Script") and table.find(scriptNames, scr.Name) then
460
        local Part0 = scr.Parent
461
        if isa(Part0, "BasePart") then
462
            for i1, scr1 in pairs(getdescendants(c)) do
463
                if (scr1.ClassName == "Script") and (scr1.Name == scr.Name) and (not scr1:IsDescendantOf(model)) then
464
                    local Part1 = scr1.Parent
465
                    if (Part1.ClassName == Part0.ClassName) and (Part1.Name == Part0.Name) then
466
                        align(Part0, Part1)
467
                        pcall(destroy, scr)
468
                        pcall(destroy, scr1)
469
                        break
470
                    end
471
                end
472
            end
473
        end
474
    end
475
end
476
477
for i, v in pairs(getdescendants(c)) do
478
    if v and v.Parent and (not v:IsDescendantOf(model)) then
479
        if isa(v, "Decal") then
480
            v.Transparency = 1
481
        elseif isa(v, "BasePart") then
482
            v.Transparency = 1
483
            v.Anchored = false
484
        elseif isa(v, "ForceField") then
485
            v.Visible = false
486
        elseif isa(v, "Sound") then
487
            v.Playing = false
488
        elseif isa(v, "BillboardGui") or isa(v, "SurfaceGui") or isa(v, "ParticleEmitter") or isa(v, "Fire") or isa(v, "Smoke") or isa(v, "Sparkles") then
489
            v.Enabled = false
490
        end
491
    end
492
end
493
494
if newanimate then
495
    local animate = gp(c, "Animate", "LocalScript")
496
    if animate then
497
        animate.Disabled = false
498
    end
499
end
500
501
if addtools then
502
    for i, v in pairs(getchildren(c)) do
503
        if isa(v, "Tool") then
504
            v.Parent = addtools
505
        end
506
    end
507
end
508
509
local hum0, hum1 = model:FindFirstChildOfClass("Humanoid"), c:FindFirstChildOfClass("Humanoid")
510
if hum0 then
511
    hum0:GetPropertyChangedSignal("Parent"):Connect(function()
512
        if not (hum0 and hum0.Parent) then
513
            hum0 = nil
514
        end
515
    end)
516
end
517
if hum1 then
518
    hum1:GetPropertyChangedSignal("Parent"):Connect(function()
519
        if not (hum1 and hum1.Parent) then
520
            hum1 = nil
521
        end
522
    end)
523
524
    ws.CurrentCamera.CameraSubject = hum1
525
    local camSubCon = nil
526
    local function camSubFunc()
527
        camSubCon:Disconnect()
528
        if c and hum1 then
529
            ws.CurrentCamera.CameraSubject = hum1
530
        end
531
    end
532
    camSubCon = renderstepped:Connect(camSubFunc)
533
    if hum0 then
534
        hum0:GetPropertyChangedSignal("Jump"):Connect(function()
535
            if hum1 then
536
                hum1.Jump = hum0.Jump
537
            end
538
        end)
539
    else
540
        respawnrequest()
541
    end
542
end
543
544
local rb = Instance.new("BindableEvent", c)
545
rb.Event:Connect(function()
546
    pcall(destroy, rb)
547
    sg:SetCore("ResetButtonCallback", true)
548
    if destroyhum then
549
        if c then c:BreakJoints() end
550
        return
551
    end
552
    if model and hum0 and (hum0.Health > 0) then
553
        model:BreakJoints()
554
        hum0.Health = 0
555
    end
556
    if antirespawn then
557
        respawnrequest()
558
    end
559
end)
560
sg:SetCore("ResetButtonCallback", rb)
561
562
tdelay(0, function()
563
    while c do
564
        if hum0 and hum1 then
565
            hum1.Jump = hum0.Jump
566
        end
567
        wait()
568
    end
569
    sg:SetCore("ResetButtonCallback", true)
570
end)
571
572
R15toR6 = R15toR6 and hum1 and (hum1.RigType == Enum.HumanoidRigType.R15)
573
if R15toR6 then
574
    local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "UpperTorso", "BasePart") or gp(c, "LowerTorso", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart")
575
    if part then
576
        local cfr = part.CFrame
577
        local R6parts = { 
578
            head = {
579
                Name = "Head",
580
                Size = v3(2, 1, 1),
581
                R15 = {
582
                    Head = 0
583
                }
584
            },
585
            torso = {
586
                Name = "Torso",
587
                Size = v3(2, 2, 1),
588
                R15 = {
589
                    UpperTorso = 0.2,
590
                    LowerTorso = -0.8
591
                }
592
            },
593
            root = {
594
                Name = "HumanoidRootPart",
595
                Size = v3(2, 2, 1),
596
                R15 = {
597
                    HumanoidRootPart = 0
598
                }
599
            },
600
            leftArm = {
601
                Name = "Left Arm",
602
                Size = v3(1, 2, 1),
603
                R15 = {
604
                    LeftHand = -0.849,
605
                    LeftLowerArm = -0.174,
606
                    LeftUpperArm = 0.415
607
                }
608
            },
609
            rightArm = {
610
                Name = "Right Arm",
611
                Size = v3(1, 2, 1),
612
                R15 = {
613
                    RightHand = -0.849,
614
                    RightLowerArm = -0.174,
615
                    RightUpperArm = 0.415
616
                }
617
            },
618
            leftLeg = {
619
                Name = "Left Leg",
620
                Size = v3(1, 2, 1),
621
                R15 = {
622
                    LeftFoot = -0.85,
623
                    LeftLowerLeg = -0.29,
624
                    LeftUpperLeg = 0.49
625
                }
626
            },
627
            rightLeg = {
628
                Name = "Right Leg",
629
                Size = v3(1, 2, 1),
630
                R15 = {
631
                    RightFoot = -0.85,
632
                    RightLowerLeg = -0.29,
633
                    RightUpperLeg = 0.49
634
                }
635
            }
636
        }
637
        for i, v in pairs(getchildren(c)) do
638
            if isa(v, "BasePart") then
639
                for i1, v1 in pairs(getchildren(v)) do
640
                    if isa(v1, "Motor6D") then
641
                        v1.Part0 = nil
642
                    end
643
                end
644
            end
645
        end
646
        part.Archivable = true
647
        for i, v in pairs(R6parts) do
648
            local part = clone(part)
649
            part:ClearAllChildren()
650
            part.Name, part.Size, part.CFrame, part.Anchored, part.Transparency, part.CanCollide = v.Name, v.Size, cfr, false, 1, false
651
            for i1, v1 in pairs(v.R15) do
652
                local R15part = gp(c, i1, "BasePart")
653
                local att = gp(R15part, "att1_" .. i1, "Attachment")
654
                if R15part then
655
                    local weld = Instance.new("Weld")
656
                    weld.Part0, weld.Part1, weld.C0, weld.C1, weld.Name = part, R15part, cf(0, v1, 0), cf_0, "Weld_" .. i1
657
                    weld.Parent = R15part
658
                    R15part.Massless, R15part.Name = true, "R15_" .. i1
659
                    R15part.Parent = part
660
                    if att then
661
                        att.Position = v3(0, v1, 0)
662
                        att.Parent = part
663
                    end
664
                end
665
            end
666
            part.Parent = c
667
            R6parts[i] = part
668
        end
669
        local R6joints = {
670
            neck = {
671
                Parent = R6parts.torso,
672
                Name = "Neck",
673
                Part0 = R6parts.torso,
674
                Part1 = R6parts.head,
675
                C0 = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
676
                C1 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
677
            },
678
            rootJoint = {
679
                Parent = R6parts.root,
680
                Name = "RootJoint" ,
681
                Part0 = R6parts.root,
682
                Part1 = R6parts.torso,
683
                C0 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
684
                C1 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
685
            },
686
            rightShoulder = {
687
                Parent = R6parts.torso,
688
                Name = "Right Shoulder",
689
                Part0 = R6parts.torso,
690
                Part1 = R6parts.rightArm,
691
                C0 = cf(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
692
                C1 = cf(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
693
            },
694
            leftShoulder = {
695
                Parent = R6parts.torso,
696
                Name = "Left Shoulder",
697
                Part0 = R6parts.torso,
698
                Part1 = R6parts.leftArm,
699
                C0 = cf(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
700
                C1 = cf(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
701
            },
702
            rightHip = {
703
                Parent = R6parts.torso,
704
                Name = "Right Hip",
705
                Part0 = R6parts.torso,
706
                Part1 = R6parts.rightLeg,
707
                C0 = cf(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
708
                C1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
709
            },
710
            leftHip = {
711
                Parent = R6parts.torso,
712
                Name = "Left Hip" ,
713
                Part0 = R6parts.torso,
714
                Part1 = R6parts.leftLeg,
715
                C0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
716
                C1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
717
            }
718
        }
719
        for i, v in pairs(R6joints) do
720
            local joint = Instance.new("Motor6D")
721
            for prop, val in pairs(v) do
722
                joint[prop] = val
723
            end
724
            R6joints[i] = joint
725
        end
726
        if hum1 then
727
            hum1.RigType, hum1.HipHeight = Enum.HumanoidRigType.R6, 0
728
        end
729
    end
730
end
731
732
local torso1 = torso
733
torso = gp(c, "Torso", "BasePart") or ((not R15toR6) and gp(c, torso.Name, "BasePart"))
734
if (typeof(hedafterneck) == "Instance") and head and torso and torso1 then
735
    local conNeck, conTorso, conTorso1 = nil, nil, nil
736
    local aligns = {}
737
    local function enableAligns()
738
        conNeck:Disconnect()
739
        conTorso:Disconnect()
740
        conTorso1:Disconnect()
741
        for i, v in pairs(aligns) do
742
            v.Enabled = true
743
        end
744
    end
745
    conNeck = hedafterneck.Changed:Connect(function(prop)
746
        if table.find({"Part0", "Part1", "Parent"}, prop) then
747
            enableAligns()
748
        end
749
    end)
750
    conTorso = torso:GetPropertyChangedSignal("Parent"):Connect(enableAligns)
751
    conTorso1 = torso1:GetPropertyChangedSignal("Parent"):Connect(enableAligns)
752
    for i, v in pairs(getdescendants(head)) do
753
        if isa(v, "AlignPosition") or isa(v, "AlignOrientation") then
754
            i = tostring(i)
755
            aligns[i] = v
756
            v:GetPropertyChangedSignal("Parent"):Connect(function()
757
                aligns[i] = nil
758
            end)
759
            v.Enabled = false
760
        end
761
    end
762
end
763
764
local flingpart0 = gp(model, flingpart, "BasePart") or gp(gp(model, flingpart, "Accessory"), "Handle", "BasePart")
765
local flingpart1 = gp(c, flingpart, "BasePart") or gp(gp(c, flingpart, "Accessory"), "Handle", "BasePart")
766
767
local fling = function() end
768
if flingpart0 and flingpart1 then
769
    flingpart0:GetPropertyChangedSignal("Parent"):Connect(function()
770
        if not (flingpart0 and flingpart0.Parent) then
771
            flingpart0 = nil
772
            fling = function() end
773
        end
774
    end)
775
    flingpart0.Archivable = true
776
    flingpart1:GetPropertyChangedSignal("Parent"):Connect(function()
777
        if not (flingpart1 and flingpart1.Parent) then
778
            flingpart1 = nil
779
            fling = function() end
780
        end
781
    end)
782
    local att0 = gp(flingpart0, "att0_" .. flingpart0.Name, "Attachment")
783
    local att1 = gp(flingpart1, "att1_" .. flingpart1.Name, "Attachment")
784
    if att0 and att1 then
785
        att0:GetPropertyChangedSignal("Parent"):Connect(function()
786
            if not (att0 and att0.Parent) then
787
                att0 = nil
788
                fling = function() end
789
            end
790
        end)
791
        att1:GetPropertyChangedSignal("Parent"):Connect(function()
792
            if not (att1 and att1.Parent) then
793
                att1 = nil
794
                fling = function() end
795
            end
796
        end)
797
        local lastfling = nil
798
        local mouse = lp:GetMouse()
799
        fling = function(target, duration, rotVelocity)
800
            if typeof(target) == "Instance" then
801
                if isa(target, "BasePart") then
802
                    target = target.Position
803
                elseif isa(target, "Model") then
804
                    target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart")
805
                    if target then
806
                        target = target.Position
807
                    else
808
                        return
809
                    end
810
                elseif isa(target, "Humanoid") then
811
                    target = target.Parent
812
                    if not (target and isa(target, "Model")) then
813
                        return
814
                    end
815
                    target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart")
816
                    if target then
817
                        target = target.Position
818
                    else
819
                        return
820
                    end
821
                else
822
                    return
823
                end
824
            elseif typeof(target) == "CFrame" then
825
                target = target.Position
826
            elseif typeof(target) ~= "Vector3" then
827
                target = mouse.Hit
828
                if target then
829
                    target = target.Position
830
                else
831
                    return
832
                end
833
            end
834
            if target.Y < ws.FallenPartsDestroyHeight + 5 then
835
                target = v3(target.X, ws.FallenPartsDestroyHeight + 5, target.Z)
836
            end
837
            lastfling = target
838
            if type(duration) ~= "number" then
839
                duration = tonumber(duration) or 0.5
840
            end
841
            if typeof(rotVelocity) ~= "Vector3" then
842
                rotVelocity = v3(20000, 20000, 20000)
843
            end
844
            if not (target and flingpart0 and flingpart1 and att0 and att1) then
845
                return
846
            end
847
            flingpart0.Archivable = true
848
            local flingpart = clone(flingpart0)
849
            flingpart.Transparency = 1
850
            flingpart.CanCollide = false
851
            flingpart.Name = "flingpart_" .. flingpart0.Name
852
            flingpart.Anchored = true
853
            flingpart.Velocity = v3_0
854
            flingpart.RotVelocity = v3_0
855
            flingpart.Position = target
856
            flingpart:GetPropertyChangedSignal("Parent"):Connect(function()
857
                if not (flingpart and flingpart.Parent) then
858
                    flingpart = nil
859
                end
860
            end)
861
            flingpart.Parent = flingpart1
862
            if flingpart0.Transparency > 0.5 then
863
                flingpart0.Transparency = 0.5
864
            end
865
            att1.Parent = flingpart
866
            local con = nil
867
            local rotchg = v3(0, rotVelocity.Unit.Y * -1000, 0)
868
            con = heartbeat:Connect(function(delta)
869
                if target and (lastfling == target) and flingpart and flingpart0 and flingpart1 and att0 and att1 then
870
                    flingpart.Orientation += rotchg * delta
871
                    flingpart0.RotVelocity = rotVelocity
872
                else
873
                    con:Disconnect()
874
                end
875
            end)
876
            if alignmode ~= 4 then
877
                local con = nil
878
                con = renderstepped:Connect(function()
879
                    if flingpart0 and target then
880
                        flingpart0.RotVelocity = v3_0
881
                    else
882
                        con:Disconnect()
883
                    end
884
                end)
885
            end
886
            twait(duration)
887
            if lastfling ~= target then
888
                if flingpart then
889
                    if att1 and (att1.Parent == flingpart) then
890
                        att1.Parent = flingpart1
891
                    end
892
                    pcall(destroy, flingpart)
893
                end
894
                return
895
            end
896
            target = nil
897
            if not (flingpart and flingpart0 and flingpart1 and att0 and att1) then
898
                return
899
            end
900
            flingpart0.RotVelocity = v3_0
901
            att1.Parent = flingpart1
902
            pcall(destroy, flingpart)
903
        end
904
    end
905
end
906
907
lp:GetMouse().Button1Down:Connect(fling) --click fling
908
909
lol = getcustomasset or getsynasset
910
getgenv().LoadLibrary = function(lib) return loadstring(game:HttpGet("https://raw.githubusercontent.com/Roblox/Core-Scripts/master/CoreScriptsRoot/Libraries/" .. lib .. ".lua"))() end
911
912
913
wait(1)
914
HOLDBLIZZARD = false
915
Player = game:GetService("Players").LocalPlayer
916
PlayerGui = Player.PlayerGui
917
Cam = workspace.CurrentCamera
918
Backpack = Player.Backpack
919
Character = Player.Character
920
Humanoid = Character.Humanoid
921
Mouse = Player:GetMouse()
922
RootPart = Character["HumanoidRootPart"]
923
Torso = Character["Torso"]
924
Head = Character["Head"]
925
RightArm = Character["Right Arm"]
926
LeftArm = Character["Left Arm"]
927
RightLeg = Character["Right Leg"]
928
LeftLeg = Character["Left Leg"]
929
RootJoint = RootPart["RootJoint"]
930
Neck = Torso["Neck"]
931
RightShoulder = Torso["Right Shoulder"]
932
LeftShoulder = Torso["Left Shoulder"]
933
RightHip = Torso["Right Hip"]
934
LeftHip = Torso["Left Hip"]
935
FREEZEHIT = 0
936
Head.BrickColor = BrickColor.new("Light stone grey")
937
RightArm.BrickColor = BrickColor.new("Light stone grey")
938
LeftArm.BrickColor = BrickColor.new("Light stone grey")
939
LeftLeg.BrickColor = BrickColor.new("Light stone grey")
940
RightLeg.BrickColor = BrickColor.new("Light stone grey")
941
Torso.BrickColor = BrickColor.new("Light stone grey")
942
wait(0.2)
943
Head.face:Destroy()
944
Humanoid.MaxHealth = "inf"
945
Humanoid.Health = "inf"
946
Humanoid.WalkSpeed = 45
947
Humanoid.JumpPower = 175
948
local eye1 = Instance.new("Hat")
949
eye1.AttachmentPos = Vector3.new(0.15,2,0.6)
950
eye1.AttachmentForward = Vector3.new(0,-1,0)
951
eye1.AttachmentRight = Vector3.new(0,0,1)
952
eye1.AttachmentUp = Vector3.new(1,0,0)
953
pupil1 = Instance.new("Part")
954
pupil1.Size = Vector3.new(1.15,1,1.5)
955
pupil1.CanCollide = false
956
local mesh = Instance.new("SpecialMesh")
957
mesh.MeshType = "Sphere"
958
mesh.Parent = pupil1
959
pupil1.Material = "Neon"
960
pupil1.BrickColor = BrickColor.new("Steel blue")
961
pupil1.Parent = eye1
962
pupil1.Name = "Handle"
963
local eye2 = Instance.new("Hat")
964
eye2.AttachmentPos = Vector3.new(0.15,2,-0.6)
965
eye2.AttachmentForward = Vector3.new(0,-1,0)
966
eye2.AttachmentRight = Vector3.new(0,0,1)
967
eye2.AttachmentUp = Vector3.new(1,0,0)
968
pupil2 = Instance.new("Part")
969
pupil2.Size = Vector3.new(1.15,1,1.5)
970
pupil2.CanCollide = false
971
local mesh2 = Instance.new("SpecialMesh")
972
mesh2.MeshType = "Sphere"
973
mesh2.Parent = pupil2
974
pupil2.Material = "Neon"
975
pupil2.BrickColor = BrickColor.new("Steel blue")
976
pupil2.Parent = eye2
977
pupil2.Name = "Handle"
978
k = Instance.new("Sound",Character)
979
k.Volume = 0.35
980
k.Looped = true
981
k.PlaybackSpeed = 1
982
k.Pitch = 1
983
k.SoundId = "rbxassetid://449048980"
984
k:Play()
985
k.Name = "BackgroundMusic"
986
local horns = Instance.new("Hat")
987
horns.AttachmentPos = Vector3.new(0, -1.7, 0.6)
988
horns.AttachmentForward = Vector3.new(0, 0, -1)
989
horns.AttachmentRight = Vector3.new(1, 0, 0)
990
horns.AttachmentUp = Vector3.new(0, 1, 0)
991
he = Instance.new("Part")
992
he.Size = Vector3.new(0.5,0.5,0.5)
993
he.CanCollide = false
994
he.Name = "Handle"
995
he.Parent = horns
996
he.BrickColor = BrickColor.new("Really black")
997
local mesh2 = Instance.new("SpecialMesh")
998
mesh2.MeshType = "FileMesh"
999
mesh2.Parent = he
1000
mesh2.MeshId = "http://www.roblox.com/asset/?id=77352193"
1001
mesh2.Scale = Vector3.new(4, 4, 4)
1002
if Character:FindFirstChild("Shirt") then
1003
Character.Shirt:Destroy()
1004
end
1005
if Character:FindFirstChild("Pants") then
1006
Character.Pants:Destroy()
1007
end
1008
local top = Instance.new("Shirt")
1009
top.ShirtTemplate = "rbxassetid://727336287"
1010
top.Parent = Character
1011
Head.BrickColor = BrickColor.new("Light stone grey")
1012
RightArm.BrickColor = BrickColor.new("Light stone grey")
1013
LeftArm.BrickColor = BrickColor.new("Light stone grey")
1014
LeftLeg.BrickColor = BrickColor.new("Light stone grey")
1015
RightLeg.BrickColor = BrickColor.new("Light stone grey")
1016
Torso.BrickColor = BrickColor.new("Light stone grey")
1017
it=Instance.new
1018
vt=Vector3.new
1019
cf=CFrame.new
1020
euler=CFrame.fromEulerAnglesXYZ
1021
angles=CFrame.Angles
1022
Head.Mesh:Destroy()
1023
newmesh = Instance.new("SpecialMesh")
1024
newmesh.Scale = Vector3.new(4,4,4)
1025
newmesh.MeshId = "http://www.roblox.com/asset/?id=74888095"
1026
newmesh.TextureId = "http://www.roblox.com/asset/?id=916693712"
1027
newmesh.Parent = Head
1028
1029
1030
1031
IT = Instance.new
1032
CF = CFrame.new
1033
VT = Vector3.new
1034
RAD = math.rad
1035
C3 = Color3.new
1036
UD2 = UDim2.new
1037
BRICKC = BrickColor.new
1038
ANGLES = CFrame.Angles
1039
EULER = CFrame.fromEulerAnglesXYZ
1040
COS = math.cos
1041
ACOS = math.acos
1042
SIN = math.sin
1043
ASIN = math.asin
1044
ABS = math.abs
1045
MRANDOM = math.random
1046
FLOOR = math.floor
1047
1048
1049
	local function weldBetween(a, b)
1050
	    local weldd = Instance.new("ManualWeld")
1051
	    weldd.Part0 = a
1052
	    weldd.Part1 = b
1053
	    weldd.C0 = CFrame.new()
1054
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
1055
	    weldd.Parent = a
1056
	    return weldd
1057
	end
1058
1059
1060
--//=================================\\
1061
--||		  CUSTOMIZATION
1062
--\\=================================//
1063
1064
Class_Name = "Arlis"
1065
Weapon_Name = "Arlis"
1066
1067
Custom_Colors = {
1068
	Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
1069
	Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
1070
1071
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
1072
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
1073
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
1074
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
1075
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
1076
1077
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
1078
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
1079
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
1080
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
1081
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
1082
}
1083
1084
Mana_Bar_Background_Transparency = 0 --Transparency for the background of the mana bar.
1085
Secondary_Mana_Bar_Background_Transparency = 0 --Transparency for the background of the secondary mana bar.
1086
Health_Bar_Background_Transparency = 0 --Transparency for the background of the health bar.
1087
Stun_Bar_Background_Transparency = 0 --Transparency for the background of the stun bar.
1088
Ability_Background_Transparency = 0  --Transparency for the background of the abilities.
1089
Stat_Background_Transparency = 0 --Transparency for the background of the stats.
1090
1091
Player_Size = 4 --Size of the player.
1092
Animation_Speed = 8
1093
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
1094
1095
Enable_Gui = false --Enables or disables the Weapon Gui. Also functions as hiding or showing the Gui.
1096
Enable_Stats = false --Enables or disables stats.
1097
Put_Stats_In_Character = false --Places stats in Character.
1098
Enable_Stagger_Hit = false --Enables or disables staggering when hitting a hitbox of some sort.
1099
Play_Hitbox_Hit_Sound = true --Plays a hit sound when hitting a hitbox of some sort.
1100
Enable_Stagger = false --Enables or disables staggering.
1101
Enable_Stun = false --Enables or disables the stun mechanic.
1102
Enable_Abilities = false --Enables abilites with cooldowns and mana costs.
1103
Enable_Secondary_Bar = false --Enables the secondary mana bar, if true.
1104
1105
Start_Equipped = false --Starts the player equipped with their weapon.
1106
Start_Equipped_With_Equipped_Animation = false --Used in conjunction with the above option. Starts your equip animation.
1107
Can_Equip_Or_Unequip = true --Enables or disables the ability to unequip or equip your weapon.
1108
Disable_Animator = true --Disables the Animator in the humanoid.
1109
Disable_Animate = true --Disables the Animate script in the character.
1110
Disable_Moving_Arms = false --Keeps the arms from moving around.
1111
Use_Motors_Instead_Of_Welds = false --Uses motors instead of welds to disable moving arms.
1112
Walkspeed_Depends_On_Movement_Value = false --Walkspeed depends on movement value. Self-explanatory.
1113
Disable_Jump = false --Disables jumping.
1114
Use_HopperBin = true --Uses a hopperbin to do things.
1115
1116
Cooldown_1 = 0 --Cooldowns for abilites.
1117
Cooldown_2 = 0
1118
Cooldown_3 = 0
1119
Cooldown_4 = 0
1120
Skill_1_Mana_Cost = 0 --How much mana is required to use the skill.
1121
Skill_2_Mana_Cost = 0
1122
Skill_3_Mana_Cost = 0
1123
Skill_4_Mana_Cost = 0
1124
Max_Mana = 0 --Maximum amount of mana you can have.
1125
Max_Secondary_Mana = 0 --Maximum amount of secondary mana you can have.
1126
Mana_Name = "Mana" --Name for the mana bar.
1127
Secondary_Mana_Name = "Block" --Name for the secondary mana bar.
1128
Max_Stun = 1 --Maximum amount of stun you can have.
1129
Recover_Mana = 0 --How much mana you gain.
1130
Mana_Regen_Mode = "1" --Basically switches from one mana regen system to another.
1131
Secondary_Mana_Regen_Mode = "1" --Basically switches from one secondary mana regen system to another.
1132
Stun_Lose_Mode = "1" --Basically switches from one secondary stun loss system to another.
1133
Recover_Secondary_Mana = 0 --How much secondary mana you gain.
1134
Lose_Stun = 0 --How much stun you lose.
1135
Stun_Wait = 0 --Delay between losing stun.
1136
Mana_Wait = 0 --Delay between gaining mana.
1137
Secondary_Mana_Wait = 0 --Delay between gaining secondary mana.
1138
Menu_Update_Speed = 0 --How fast the Weapon Gui will update.
1139
Constant_Update = false --Removes the delay between updating the Weapon GUI.
1140
Show_Stats = false --Hides or shows stats.
1141
Stat_Offset = 0.74 --For cosmetic purposes. {0.74, 0.78}
1142
1143
--//=================================\\
1144
--|| 	  END OF CUSTOMIZATION
1145
--\\=================================//
1146
1147
1148
function chatfunc(text)
1149
local chat = coroutine.wrap(function()
1150
if Character:FindFirstChild("TalkingBillBoard")~= nil then
1151
Character:FindFirstChild("TalkingBillBoard"):destroy()
1152
end
1153
local naeeym2 = Instance.new("BillboardGui",Character)
1154
naeeym2.Size = UDim2.new(0,100,0,40)
1155
naeeym2.StudsOffset = Vector3.new(0,7,0)
1156
naeeym2.Adornee = Character.Head
1157
naeeym2.Name = "TalkingBillBoard"
1158
naeeym2.AlwaysOnTop = true
1159
local tecks2 = Instance.new("TextLabel",naeeym2)
1160
tecks2.BackgroundTransparency = 1
1161
tecks2.BorderSizePixel = 0
1162
tecks2.Text = ""
1163
tecks2.Font = "Garamond"
1164
tecks2.TextSize = 30
1165
tecks2.TextStrokeTransparency = 0
1166
tecks2.TextColor3 = Color3.new(0,0,1)
1167
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
1168
tecks2.Size = UDim2.new(1,0,0.5,0)
1169
local tecks3 = Instance.new("TextLabel",naeeym2)
1170
tecks3.BackgroundTransparency = 1
1171
tecks3.BorderSizePixel = 0
1172
tecks3.Text = ""
1173
tecks3.Font = "Garamond"
1174
tecks3.TextSize = 30
1175
tecks3.TextStrokeTransparency = 0
1176
tecks3.TextColor3 = Color3.new(0,0,1)
1177
tecks3.TextStrokeColor3 = Color3.new(0,0,0)
1178
tecks3.Size = UDim2.new(1,0,0.5,0)
1179
for i = 1,string.len(text),1 do
1180
tecks2.Text = string.sub(text,1,i)
1181
tecks3.Text = string.sub(text,1,i)
1182
wait(0.01)
1183
end
1184
wait(2)
1185
for i = 1, 50 do
1186
wait()
1187
tecks2.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
1188
tecks2.Rotation = tecks2.Rotation - .8
1189
tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
1190
tecks2.TextTransparency = tecks2.TextTransparency + .04
1191
tecks3.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
1192
tecks3.Rotation = tecks2.Rotation + .8
1193
tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
1194
tecks3.TextTransparency = tecks2.TextTransparency + .04
1195
end
1196
naeeym2:Destroy()
1197
end)
1198
chat()
1199
end
1200
function onChatted(msg)
1201
chatfunc(msg)
1202
end
1203
Player.Chatted:connect(onChatted)
1204
1205
1206
--//=================================\\
1207
--|| 	      USEFUL VALUES
1208
--\\=================================//
1209
1210
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
1211
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
1212
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
1213
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
1214
local CO1 = 0
1215
local CO2 = 0
1216
local CO3 = 0
1217
local CO4 = 0
1218
local CHANGEDEFENSE = 0
1219
local CHANGEDAMAGE = 0
1220
local CHANGEMOVEMENT = 0
1221
local ANIM = "Idle"
1222
local ATTACK = false
1223
local EQUIPPED = false
1224
local HOLD = false
1225
local COMBO = 1
1226
local LASTPOINT = nil
1227
local BLCF = nil
1228
local SCFR = nil
1229
local STAGGERHITANIM = false
1230
local STAGGERANIM = false
1231
local STUNANIM = false
1232
local CRITCHANCENUMBER = 0
1233
local IDLENUMBER = 0
1234
local DONUMBER = 0
1235
local HANDIDLE = false
1236
local SINE = 0
1237
local CHANGE = 2 / Animation_Speed
1238
local WALKINGANIM = false
1239
local WALK = 0
1240
local DISABLEJUMPING = false
1241
local HASBEENBLOCKED = false
1242
local STUNDELAYNUMBER = 0
1243
local MANADELAYNUMBER = 0
1244
local SECONDARYMANADELAYNUMBER = 0
1245
local ROBLOXIDLEANIMATION = IT("Animation")
1246
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
1247
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
1248
--ROBLOXIDLEANIMATION.Parent = Humanoid
1249
local WEAPONGUI = IT("ScreenGui", nil)
1250
WEAPONGUI.Name = "Weapon GUI"
1251
local WEAPONTOOL = IT("HopperBin", nil)
1252
WEAPONTOOL.Name = Weapon_Name
1253
local Weapon = IT("Model")
1254
Weapon.Name = Weapon_Name
1255
local Effects = IT("Folder", Weapon)
1256
Effects.Name = "Effects"
1257
local ANIMATOR = Humanoid.Animator
1258
local ANIMATE = Character.Animate
1259
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
1260
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
1261
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
1262
local HITBLOCKSOUNDS = {"199148933", "199148947"}
1263
1264
--//=================================\\
1265
--\\=================================//
1266
1267
1268
1269
1270
1271
--//=================================\\
1272
--||			  STATS
1273
--\\=================================//
1274
1275
if Character:FindFirstChild("Stats") ~= nil then
1276
Character:FindFirstChild("Stats").Parent = nil
1277
end
1278
1279
local Stats = IT("Folder", nil)
1280
Stats.Name = "Stats"
1281
local ChangeStat = IT("Folder", Stats)
1282
ChangeStat.Name = "ChangeStat"
1283
local Defense = IT("NumberValue", Stats)
1284
Defense.Name = "Defense"
1285
Defense.Value = 1
1286
local Movement = IT("NumberValue", Stats)
1287
Movement.Name = "Movement"
1288
Movement.Value = 1
1289
local Damage = IT("NumberValue", Stats)
1290
Damage.Name = "Damage"
1291
Damage.Value = 1
1292
local Mana = IT("NumberValue", Stats)
1293
Mana.Name = "Mana"
1294
Mana.Value = 0
1295
local SecondaryMana = IT("NumberValue", Stats)
1296
SecondaryMana.Name = "SecondaryMana"
1297
SecondaryMana.Value = 0
1298
local CanCrit = IT("BoolValue", Stats)
1299
CanCrit.Name = "CanCrit"
1300
CanCrit.Value = false
1301
local CritChance = IT("NumberValue", Stats)
1302
CritChance.Name = "CritChance"
1303
CritChance.Value = 20
1304
local CanPenetrateArmor = IT("BoolValue", Stats)
1305
CanPenetrateArmor.Name = "CanPenetrateArmor"
1306
CanPenetrateArmor.Value = false
1307
local AntiTeamKill = IT("BoolValue", Stats)
1308
AntiTeamKill.Name = "AntiTeamKill"
1309
AntiTeamKill.Value = false
1310
local Rooted = IT("BoolValue", Stats)
1311
Rooted.Name = "Rooted"
1312
Rooted.Value = false
1313
local Block = IT("BoolValue", Stats)
1314
Block.Name = "Block"
1315
Block.Value = false
1316
local RecentEnemy = IT("ObjectValue", Stats)
1317
RecentEnemy.Name = "RecentEnemy"
1318
RecentEnemy.Value = nil
1319
local StaggerHit = IT("BoolValue", Stats)
1320
StaggerHit.Name = "StaggerHit"
1321
StaggerHit.Value = false
1322
local Stagger = IT("BoolValue", Stats)
1323
Stagger.Name = "Stagger"
1324
Stagger.Value = false
1325
local Stun = IT("BoolValue", Stats)
1326
Stun.Name = "Stun"
1327
Stun.Value = false
1328
local StunValue = IT("NumberValue", Stats)
1329
StunValue.Name = "StunValue"
1330
StunValue.Value = 0
1331
1332
if Enable_Stats == true and Put_Stats_In_Character == true then
1333
	Stats.Parent = Character
1334
end
1335
1336
--//=================================\\
1337
--\\=================================//
1338
1339
1340
1341
1342
1343
--//=================================\\
1344
--|| 	     DEBUFFS / BUFFS
1345
--\\=================================//
1346
1347
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
1348
DEFENSECHANGE1.Name = "ChangeDefense"
1349
DEFENSECHANGE1.Value = 0
1350
1351
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
1352
MOVEMENTCHANGE1.Name = "ChangeMovement"
1353
MOVEMENTCHANGE1.Value = 0
1354
1355
--//=================================\\
1356
--\\=================================//
1357
1358
1359
1360
1361
1362
--//=================================\\
1363
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
1364
--\\=================================//
1365
1366
ArtificialHB = Instance.new("BindableEvent", script)
1367
ArtificialHB.Name = "ArtificialHB"
1368
1369
script:WaitForChild("ArtificialHB")
1370
1371
frame = Frame_Speed
1372
tf = 0
1373
allowframeloss = false
1374
tossremainder = false
1375
lastframe = tick()
1376
script.ArtificialHB:Fire()
1377
1378
game:GetService("RunService").Heartbeat:connect(function(s, p)
1379
	tf = tf + s
1380
	if tf >= frame then
1381
		if allowframeloss then
1382
			script.ArtificialHB:Fire()
1383
			lastframe = tick()
1384
		else
1385
			for i = 1, math.floor(tf / frame) do
1386
				script.ArtificialHB:Fire()
1387
			end
1388
		lastframe = tick()
1389
		end
1390
		if tossremainder then
1391
			tf = 0
1392
		else
1393
			tf = tf - frame * math.floor(tf / frame)
1394
		end
1395
	end
1396
end)
1397
1398
--//=================================\\
1399
--\\=================================//
1400
1401
1402
1403
1404
1405
--//=================================\\
1406
--|| 	      SOME FUNCTIONS
1407
--\\=================================//
1408
1409
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
1410
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
1411
end
1412
1413
function PositiveAngle(NUMBER)
1414
	if NUMBER >= 0 then
1415
		NUMBER = 0
1416
	end
1417
	return NUMBER
1418
end
1419
1420
function NegativeAngle(NUMBER)
1421
	if NUMBER <= 0 then
1422
		NUMBER = 0
1423
	end
1424
	return NUMBER
1425
end
1426
1427
function Swait(NUMBER)
1428
	if NUMBER == 0 or NUMBER == nil then
1429
		ArtificialHB.Event:wait()
1430
	else
1431
		for i = 1, NUMBER do
1432
			ArtificialHB.Event:wait()
1433
		end
1434
	end
1435
end
1436
1437
function QuaternionFromCFrame(cf)
1438
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
1439
	local trace = m00 + m11 + m22
1440
	if trace > 0 then 
1441
		local s = math.sqrt(1 + trace)
1442
		local recip = 0.5 / s
1443
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
1444
	else
1445
		local i = 0
1446
		if m11 > m00 then
1447
			i = 1
1448
		end
1449
		if m22 > (i == 0 and m00 or m11) then
1450
			i = 2
1451
		end
1452
		if i == 0 then
1453
			local s = math.sqrt(m00 - m11 - m22 + 1)
1454
			local recip = 0.5 / s
1455
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
1456
		elseif i == 1 then
1457
			local s = math.sqrt(m11 - m22 - m00 + 1)
1458
			local recip = 0.5 / s
1459
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
1460
		elseif i == 2 then
1461
			local s = math.sqrt(m22 - m00 - m11 + 1)
1462
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
1463
		end
1464
	end
1465
end
1466
 
1467
function QuaternionToCFrame(px, py, pz, x, y, z, w)
1468
	local xs, ys, zs = x + x, y + y, z + z
1469
	local wx, wy, wz = w * xs, w * ys, w * zs
1470
	local xx = x * xs
1471
	local xy = x * ys
1472
	local xz = x * zs
1473
	local yy = y * ys
1474
	local yz = y * zs
1475
	local zz = z * zs
1476
	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))
1477
end
1478
 
1479
function QuaternionSlerp(a, b, t)
1480
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
1481
	local startInterp, finishInterp;
1482
	if cosTheta >= 0.0001 then
1483
		if (1 - cosTheta) > 0.0001 then
1484
			local theta = ACOS(cosTheta)
1485
			local invSinTheta = 1 / SIN(theta)
1486
			startInterp = SIN((1 - t) * theta) * invSinTheta
1487
			finishInterp = SIN(t * theta) * invSinTheta
1488
		else
1489
			startInterp = 1 - t
1490
			finishInterp = t
1491
		end
1492
	else
1493
		if (1 + cosTheta) > 0.0001 then
1494
			local theta = ACOS(-cosTheta)
1495
			local invSinTheta = 1 / SIN(theta)
1496
			startInterp = SIN((t - 1) * theta) * invSinTheta
1497
			finishInterp = SIN(t * theta) * invSinTheta
1498
		else
1499
			startInterp = t - 1
1500
			finishInterp = t
1501
		end
1502
	end
1503
	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
1504
end
1505
1506
function Clerp(a, b, t)
1507
	local qa = {QuaternionFromCFrame(a)}
1508
	local qb = {QuaternionFromCFrame(b)}
1509
	local ax, ay, az = a.x, a.y, a.z
1510
	local bx, by, bz = b.x, b.y, b.z
1511
	local _t = 1 - t
1512
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
1513
end
1514
1515
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
1516
	local frame = IT("Frame")
1517
	frame.BackgroundTransparency = TRANSPARENCY
1518
	frame.BorderSizePixel = BORDERSIZEPIXEL
1519
	frame.Position = POSITION
1520
	frame.Size = SIZE
1521
	frame.BackgroundColor3 = COLOR
1522
	frame.BorderColor3 = BORDERCOLOR
1523
	frame.Name = NAME
1524
	frame.Parent = PARENT
1525
	return frame
1526
end
1527
1528
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
1529
	local label = IT("TextLabel")
1530
	label.BackgroundTransparency = 1
1531
	label.Size = UD2(1, 0, 1, 0)
1532
	label.Position = UD2(0, 0, 0, 0)
1533
	label.TextColor3 = C3(255, 255, 255)
1534
	label.TextStrokeTransparency = STROKETRANSPARENCY
1535
	label.TextTransparency = TRANSPARENCY
1536
	label.FontSize = TEXTFONTSIZE
1537
	label.Font = TEXTFONT
1538
	label.BorderSizePixel = BORDERSIZEPIXEL
1539
	label.TextScaled = true
1540
	label.Text = TEXT
1541
	label.Name = NAME
1542
	label.Parent = PARENT
1543
	return label
1544
end
1545
1546
function NoOutlines(PART)
1547
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
1548
end
1549
1550
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
1551
	local NEWPART = IT("Part")
1552
	NEWPART.formFactor = FORMFACTOR
1553
	NEWPART.Reflectance = REFLECTANCE
1554
	NEWPART.Transparency = TRANSPARENCY
1555
	NEWPART.CanCollide = false
1556
	NEWPART.Locked = true
1557
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
1558
	NEWPART.Name = NAME
1559
	NEWPART.Size = SIZE
1560
	NEWPART.Position = Torso.Position
1561
	NoOutlines(NEWPART)
1562
	NEWPART.Material = MATERIAL
1563
	NEWPART:BreakJoints()
1564
	NEWPART.Parent = PARENT
1565
	return NEWPART
1566
end
1567
1568
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
1569
	local NEWMESH = IT(MESH)
1570
	if MESH == "SpecialMesh" then
1571
		NEWMESH.MeshType = MESHTYPE
1572
		if MESHID ~= "nil" and MESHID ~= "" then
1573
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
1574
		end
1575
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
1576
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id=909271408"
1577
		end
1578
	end
1579
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
1580
	NEWMESH.Scale = SCALE
1581
	NEWMESH.Parent = PARENT
1582
    PARENT.Transparency = 1
1583
	return NEWMESH
1584
end
1585
1586
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
1587
	local NEWWELD = IT(TYPE)
1588
	NEWWELD.Part0 = PART0
1589
	NEWWELD.Part1 = PART1
1590
	NEWWELD.C0 = C0
1591
	NEWWELD.C1 = C1
1592
	NEWWELD.Parent = PARENT
1593
	return NEWWELD
1594
end
1595
1596
function CreateSound(ID, PARENT, VOLUME, PITCH)
1597
	coroutine.resume(coroutine.create(function()
1598
		local NEWSOUND = IT("Sound", PARENT)
1599
		NEWSOUND.Volume = VOLUME
1600
		NEWSOUND.Pitch = PITCH
1601
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
1602
		Swait()
1603
		NEWSOUND:play()
1604
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
1605
	end))
1606
end
1607
1608
function CFrameFromTopBack(at, top, back)
1609
	local right = top:Cross(back)
1610
	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)
1611
end
1612
1613
function Lightning(POSITION1, POSITION2, MULTIPLIERTIME, LIGHTNINGDELAY, OFFSET, BRICKCOLOR, MATERIAL, SIZE, TRANSPARENCY, LASTINGTIME)
1614
	local MAGNITUDE = (POSITION1 - POSITION2).magnitude 
1615
	local CURRENTPOSITION = POSITION1
1616
	local LIGHTNINGOFFSET = {-OFFSET, OFFSET}
1617
	coroutine.resume(coroutine.create(function()
1618
		for i = 1, MULTIPLIERTIME do 
1619
			local LIGHTNINGPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR,"Effect", VT(SIZE * Player_Size, SIZE * Player_Size, MAGNITUDE / MULTIPLIERTIME))
1620
			LIGHTNINGPART.Anchored = true
1621
			local LIGHTNINGOFFSET2 = VT(LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)]) 
1622
			local LIGHTNINGPOSITION1 = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME).p + LIGHTNINGOFFSET2
1623
			if MULTIPLIERTIME == i then 
1624
				local LIGHTNINGMAGNITUDE1 = (CURRENTPOSITION - POSITION2).magnitude
1625
				LIGHTNINGPART.Size = VT(SIZE * Player_Size, SIZE * Player_Size, LIGHTNINGMAGNITUDE1)
1626
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, -LIGHTNINGMAGNITUDE1 / 2)
1627
			else
1628
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, LIGHTNINGPOSITION1) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2)
1629
			end
1630
			CURRENTPOSITION=LIGHTNINGPART.CFrame * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2).p
1631
			game.Debris:AddItem(LIGHTNINGPART, LASTINGTIME)
1632
			coroutine.resume(coroutine.create(function()
1633
				while LIGHTNINGPART.Transparency ~= 1 do
1634
					--local StartTransparency = tra
1635
					for i=0, 1, LASTINGTIME do
1636
						Swait()
1637
						LIGHTNINGPART.Transparency = LIGHTNINGPART.Transparency + (0.1 / LASTINGTIME)
1638
					end
1639
				end
1640
			end))
1641
		Swait(LIGHTNINGDELAY / Animation_Speed)
1642
		end
1643
	end))
1644
end
1645
1646
	function part(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
1647
		local fp=it("Part")
1648
		fp.formFactor=formfactor
1649
		fp.Parent=parent
1650
		fp.Reflectance=reflectance
1651
		fp.Transparency=transparency
1652
		fp.CanCollide=false
1653
		fp.Locked=true
1654
		fp.BrickColor=BrickColor.new(tostring(brickcolor))
1655
		fp.Name=name
1656
		fp.Size=size
1657
		fp.Position=Character.Torso.Position
1658
		fp.Material=material
1659
		fp:BreakJoints()
1660
		return fp
1661
	end
1662
	
1663
	function mesh(Mesh,part,meshtype,meshid,offset,scale)
1664
		local mesh=it(Mesh)
1665
		mesh.Parent=part
1666
		if Mesh=="SpecialMesh" then
1667
			mesh.MeshType=meshtype
1668
			mesh.MeshId=meshid
1669
		end
1670
		mesh.Offset=offset
1671
		mesh.Scale=scale
1672
		return mesh
1673
	end
1674
1675
function BreakEffect(brickcolor,cframe,x1,y1,z1)
1676
local prt=part("Custom",workspace,"Ice",0,0,"Steel blue","Effect",vt(1.5,1.5,1.5))
1677
prt.Anchored = true
1678
prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
1679
local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1))
1680
coroutine.resume(coroutine.create(function(Part,CF,Numbb,randnumb) 
1681
CF=Part.CFrame
1682
Numbb=0
1683
randnumb=math.random()-math.random()
1684
for i=0,1,0.05 do
1685
wait()
1686
CF=CF*cf(0,1,0)
1687
--Part.CFrame=Part.CFrame*euler(0.5,0,0)*cf(0,1,0)
1688
Part.CFrame=CF*euler(Numbb,0,0)
1689
Part.Transparency=i
1690
Numbb=Numbb+randnumb
1691
end
1692
Part.Parent=nil
1693
end),prt)
1694
end
1695
1696
function reap(t)
1697
if t.Name ~= "Corpse" and t:FindFirstChild("Torso") then
1698
local s = Instance.new("Model")
1699
s.Name = t.Name
1700
s.Parent = workspace
1701
local tors = Instance.new("Part")
1702
tors.Name = "Torso"
1703
tors.Size = t.Torso.Size
1704
tors.Parent = s
1705
tors.CFrame = t.Torso.CFrame
1706
tors.Transparency = 1
1707
tors.CanCollide = false
1708
CreateSound("144884907", tors, 1, 1)
1709
for i = 1, 25 do
1710
BreakEffect(BrickColor.new("Black"),tors.CFrame,0.5,math.random(5,20),0.5)
1711
end
1712
t:Destroy()
1713
end
1714
end
1715
1716
function MagicBlock(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1717
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1718
	EFFECTPART.Anchored = true
1719
	EFFECTPART.CFrame = CFRAME
1720
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1721
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1722
	coroutine.resume(coroutine.create(function(PART, MESH)
1723
		for i = 0, 1, delay do
1724
			Swait()
1725
			PART.CFrame = PART.CFrame * ROTATION
1726
			PART.Transparency = i
1727
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1728
		end
1729
		PART.Parent = nil
1730
	end), EFFECTPART, EFFECTMESH)
1731
end
1732
1733
function MagicSphere(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1734
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1735
	EFFECTPART.Anchored = true
1736
	EFFECTPART.CFrame = CFRAME
1737
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Sphere", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1738
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1739
	coroutine.resume(coroutine.create(function(PART, MESH)
1740
		for i = 0, 1, delay do
1741
			Swait()
1742
			PART.CFrame = PART.CFrame * ROTATION
1743
			PART.Transparency = i
1744
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1745
		end
1746
		PART.Parent = nil
1747
	end), EFFECTPART, EFFECTMESH)
1748
end
1749
1750
function MagicCylinder(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1751
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1752
	EFFECTPART.Anchored = true
1753
	EFFECTPART.CFrame = CFRAME
1754
	local EFFECTMESH = CreateMesh("CylinderMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1755
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1756
	coroutine.resume(coroutine.create(function(PART, MESH)
1757
		for i = 0, 1, delay do
1758
			Swait()
1759
			PART.CFrame = PART.CFrame * ROTATION
1760
			PART.Transparency = i
1761
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1762
		end
1763
		PART.Parent = nil
1764
	end), EFFECTPART, EFFECTMESH)
1765
end
1766
1767
function MagicHead(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1768
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1769
	EFFECTPART.Anchored = true
1770
	EFFECTPART.CFrame = CFRAME
1771
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Head", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1772
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1773
	coroutine.resume(coroutine.create(function(PART, MESH)
1774
		for i = 0, 1, delay do
1775
			Swait()
1776
			PART.CFrame = PART.CFrame * ROTATION
1777
			PART.Transparency = i
1778
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1779
		end
1780
		PART.Parent = nil
1781
	end), EFFECTPART, EFFECTMESH)
1782
end
1783
1784
function MagicRing(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1785
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1786
	EFFECTPART.Anchored = true
1787
	EFFECTPART.CFrame = CFRAME
1788
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "3270017", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1789
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1790
	coroutine.resume(coroutine.create(function(PART, MESH)
1791
		for i = 0, 1, delay do
1792
			Swait()
1793
			PART.CFrame = PART.CFrame * ROTATION
1794
			PART.Transparency = i
1795
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1796
		end
1797
		PART.Parent = nil
1798
	end), EFFECTPART, EFFECTMESH)
1799
end
1800
1801
function MagicWave(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1802
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1803
	EFFECTPART.Anchored = true
1804
	EFFECTPART.CFrame = CFRAME
1805
	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))
1806
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1807
	coroutine.resume(coroutine.create(function(PART, MESH)
1808
		for i = 0, 1, delay do
1809
			Swait()
1810
			PART.CFrame = PART.CFrame * ROTATION
1811
			PART.Transparency = i
1812
			MESH.Offset = VT(0, 0, (-0.1 * MESH.Scale.Z))
1813
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1814
		end
1815
		PART.Parent = nil
1816
	end), EFFECTPART, EFFECTMESH)
1817
end
1818
1819
function MagicCrystal(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1820
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1821
	EFFECTPART.Anchored = true
1822
	EFFECTPART.CFrame = CFRAME
1823
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "9756362", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1824
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1825
	coroutine.resume(coroutine.create(function(PART, MESH)
1826
		for i = 0, 1, delay do
1827
			Swait()
1828
			PART.CFrame = PART.CFrame * ROTATION
1829
			PART.Transparency = i
1830
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1831
		end
1832
		PART.Parent = nil
1833
	end), EFFECTPART, EFFECTMESH)
1834
end
1835
1836
function MagicSwirl(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1837
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1838
	EFFECTPART.Anchored = true
1839
	EFFECTPART.CFrame = CFRAME
1840
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1051557", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1841
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1842
	coroutine.resume(coroutine.create(function(PART, MESH)
1843
		for i = 0, 1, delay do
1844
			Swait()
1845
			PART.CFrame = PART.CFrame * ROTATION
1846
			PART.Transparency = i
1847
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1848
		end
1849
		PART.Parent = nil
1850
	end), EFFECTPART, EFFECTMESH)
1851
end
1852
1853
function MagicSharpCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1854
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1855
	EFFECTPART.Anchored = true
1856
	EFFECTPART.CFrame = CFRAME
1857
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1778999", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1858
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1859
	coroutine.resume(coroutine.create(function(PART, MESH)
1860
		for i = 0, 1, delay do
1861
			Swait()
1862
			PART.CFrame = PART.CFrame * ROTATION
1863
			PART.Transparency = i
1864
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1865
		end
1866
		PART.Parent = nil
1867
	end), EFFECTPART, EFFECTMESH)
1868
end
1869
1870
function MagicFlatCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1871
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1872
	EFFECTPART.Anchored = true
1873
	EFFECTPART.CFrame = CFRAME
1874
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1033714", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1875
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1876
	coroutine.resume(coroutine.create(function(PART, MESH)
1877
		for i = 0, 1, delay do
1878
			Swait()
1879
			PART.CFrame = PART.CFrame * ROTATION
1880
			PART.Transparency = i
1881
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1882
		end
1883
		PART.Parent = nil
1884
	end), EFFECTPART, EFFECTMESH)
1885
end
1886
1887
function MagicSpikedCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1888
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1889
	EFFECTPART.Anchored = true
1890
	EFFECTPART.CFrame = CFRAME
1891
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1323306", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1892
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1893
	coroutine.resume(coroutine.create(function(PART, MESH)
1894
		for i = 0, 1, delay do
1895
			Swait()
1896
			PART.CFrame = PART.CFrame * ROTATION
1897
			PART.Transparency = i
1898
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1899
		end
1900
		PART.Parent = nil
1901
	end), EFFECTPART, EFFECTMESH)
1902
end
1903
1904
function MagicFlatCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1905
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1906
	EFFECTPART.Anchored = true
1907
	EFFECTPART.CFrame = CFRAME
1908
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1078075", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1909
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1910
	coroutine.resume(coroutine.create(function(PART, MESH)
1911
		for i = 0, 1, delay do
1912
			Swait()
1913
			PART.CFrame = PART.CFrame * ROTATION
1914
			PART.Transparency = i
1915
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1916
		end
1917
		PART.Parent = nil
1918
	end), EFFECTPART, EFFECTMESH)
1919
end
1920
1921
function MagicSkull(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
1922
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1923
	EFFECTPART.Anchored = true
1924
	EFFECTPART.CFrame = CFRAME
1925
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
1926
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1927
	coroutine.resume(coroutine.create(function(PART, MESH)
1928
		for i = 0, 1, delay do
1929
			Swait()
1930
			PART.CFrame = PART.CFrame * ROTATION
1931
			PART.Transparency = i
1932
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
1933
		end
1934
		PART.Parent = nil
1935
	end), EFFECTPART, EFFECTMESH)
1936
end
1937
1938
function ElectricEffect(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X, Y, Z, delay)
1939
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
1940
	EFFECTPART.Anchored = true
1941
	EFFECTPART.CFrame = CFRAME
1942
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X * Player_Size, Y * Player_Size, Z * Player_Size), OFFSET * Player_Size)
1943
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1944
	local XVALUE = MRANDOM()
1945
	local YVALUE = MRANDOM()
1946
	local ZVALUE = MRANDOM()
1947
	coroutine.resume(coroutine.create(function(PART, MESH, THEXVALUE, THEYVALUE, THEZVALUE)
1948
		for i = 0, 1, delay do
1949
			Swait()
1950
			PART.CFrame = PART.CFrame * ROTATION
1951
			PART.Transparency = i
1952
			THEXVALUE = THEXVALUE - 0.1 * (delay * 10)
1953
			THEYVALUE = THEYVALUE - 0.1 * (delay * 10)
1954
			THEZVALUE = THEZVALUE - 0.1 * (delay * 10)
1955
			MESH.Scale = MESH.Scale + VT(THEXVALUE * Player_Size, THEYVALUE * Player_Size, THEZVALUE * Player_Size)
1956
		end
1957
		PART.Parent = nil
1958
	end), EFFECTPART, EFFECTMESH, XVALUE, YVALUE, ZVALUE)
1959
end
1960
1961
function TrailEffect(BRICKCOLOR, MATERIAL, CURRENTCFRAME, OLDCFRAME, MESHTYPE, REFLECTANCE, SIZE, ROTATION, X, Y, Z, delay)
1962
	local MAGNITUDECFRAME = (CURRENTCFRAME.p - OLDCFRAME.p).magnitude
1963
	if MAGNITUDECFRAME > (1 / 100) then
1964
		local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT(1, MAGNITUDECFRAME, 1))
1965
		EFFECTPART.Anchored = true
1966
		EFFECTPART.CFrame = CF((CURRENTCFRAME.p + OLDCFRAME.p) / 2, OLDCFRAME.p) * ANGLES(RAD(90), 0, 0)
1967
		local THEMESHTYPE = "BlockMesh"
1968
		if MESHTYPE == "Cylinder" then
1969
			THEMESHTYPE = "CylinderMesh"
1970
		end
1971
		local EFFECTMESH = CreateMesh(THEMESHTYPE, EFFECTPART, "", "", "", VT(0 + SIZE * Player_Size, 1, 0 + SIZE * Player_Size), VT(0, 0, 0))
1972
		game:GetService("Debris"):AddItem(EFFECTPART, 10)
1973
		coroutine.resume(coroutine.create(function(PART, MESH)
1974
			for i = 0, 1, delay do
1975
				Swait()
1976
				PART.CFrame = PART.CFrame * ROTATION
1977
				PART.Transparency = i
1978
				MESH.Scale = MESH.Scale + VT(X * Player_Size, Y * Player_Size, Z * Player_Size)
1979
			end
1980
			PART.Parent = nil
1981
		end), EFFECTPART, EFFECTMESH)
1982
	end
1983
end
1984
1985
function ClangEffect(BRICKCOLOR, MATERIAL, CFRAME, ANGLE, DURATION, SIZE, POWER, REFLECTANCE, X, Y, Z, delay)
1986
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 1, BRICKCOLOR, "Effect", VT())
1987
	EFFECTPART.Anchored = true
1988
	EFFECTPART.CFrame = CFRAME
1989
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(0, 0, 0), VT(0, 0, 0))
1990
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1991
	local THELASTPOINT = CFRAME
1992
	coroutine.resume(coroutine.create(function(PART)
1993
		for i = 1, DURATION do
1994
			Swait()
1995
			PART.CFrame = PART.CFrame * ANGLES(RAD(ANGLE), 0, 0) * CF(0, POWER * Player_Size, 0)
1996
			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)
1997
			THELASTPOINT = PART.CFrame
1998
		end
1999
		PART.Parent = nil
2000
	end), EFFECTPART)
2001
end
2002
2003
--local list={}
2004
function Triangle(Color, Material, a, b, c, delay)
2005
	local edge1 = (c - a):Dot((b - a).unit)
2006
	local edge2 = (a - b):Dot((c - b).unit)
2007
	local edge3 = (b - c):Dot((a - c).unit)
2008
	if edge1 <= (b - a).magnitude and edge1 >= 0 then
2009
		a, b, c=a, b, c
2010
	elseif edge2 <= (c - b).magnitude and edge2 >= 0 then
2011
		a, b, c=b, c, a
2012
	elseif edge3 <= (a - c).magnitude and edge3 >= 0 then
2013
		a, b, c=c, a, b
2014
	else
2015
		assert(false, "unreachable")
2016
	end
2017
	local len1 = (c - a):Dot((b - a).unit)
2018
	local len2 = (b - a).magnitude - len1
2019
	local width = (a + (b - a).unit * len1 - c).magnitude
2020
	local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, - (b - a).unit)
2021
	if len1 > 1 / 100 then
2022
		local sz = VT(0.2, width, len1)
2023
		local w1 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
2024
		local sp = CreateMesh("SpecialMesh", w1, "Wedge", "", "", VT(0, 1, 1) * sz / w1.Size, VT(0, 0, 0))
2025
		w1.Anchored = true
2026
		w1.CFrame = maincf * ANGLES(math.pi, 0, math.pi / 2) * CF(0, width / 2, len1 / 2)
2027
		coroutine.resume(coroutine.create(function()
2028
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
2029
				Swait()
2030
				w1.Transparency = i
2031
			end
2032
			w1.Parent = nil
2033
		end))
2034
		game:GetService("Debris"):AddItem(w1, 10)
2035
		--table.insert(list, w1)
2036
	end
2037
	if len2 > 1 / 100 then
2038
		local sz = VT(0.2, width, len2)
2039
		local w2 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
2040
		local sp = CreateMesh("SpecialMesh", w2, "Wedge", "", "", VT(0, 1, 1) * sz / w2.Size, VT(0, 0, 0))
2041
		w2.Anchored = true
2042
		w2.CFrame = maincf * ANGLES(math.pi, math.pi, -math.pi / 2) * CF(0, width / 2, -len1 - len2 / 2)
2043
		coroutine.resume(coroutine.create(function()
2044
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
2045
				Swait()
2046
				w2.Transparency = i
2047
			end
2048
			w2.Parent = nil
2049
		end))
2050
		game:GetService("Debris"):AddItem(w2, 10)
2051
		--table.insert(list, w2)
2052
	end
2053
	--return unpack(list)
2054
end
2055
2056
--[[Usage:
2057
	local Pos = Part
2058
	local Offset = Part.CFrame * CF(0, 0, 0)
2059
	local Color = "Institutional white"
2060
	local Material = "Neon"
2061
	local TheDelay = 0.01
2062
	local Height = 4
2063
	BLCF = Offset
2064
	if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
2065
		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)
2066
		if a then game:GetService("Debris"):AddItem(a, 1) end
2067
		if b then game:GetService("Debris"):AddItem(b, 1) end
2068
		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)
2069
		if a then game:GetService("Debris"):AddItem(a, 1) end
2070
		if b then game:GetService("Debris"):AddItem(b, 1) end
2071
		SCFR = BLCF
2072
	elseif not SCFR then
2073
		SCFR = BLCF
2074
	end
2075
--
2076
BLCF = nil
2077
SCFR = nil
2078
--]]
2079
2080
--//=================================\\
2081
--\\=================================//
2082
2083
2084
2085
2086
2087
--//=================================\\
2088
--||	      RESIZE PLAYER
2089
--\\=================================//
2090
2091
if Player_Size ~= 1 then
2092
RootPart.Size = RootPart.Size * Player_Size
2093
Torso.Size = Torso.Size * Player_Size
2094
Head.Size = Head.Size * Player_Size
2095
RightArm.Size = RightArm.Size * Player_Size
2096
LeftArm.Size = LeftArm.Size * Player_Size
2097
RightLeg.Size = RightLeg.Size * Player_Size
2098
LeftLeg.Size = LeftLeg.Size * Player_Size
2099
RootJoint.Parent = RootPart
2100
Neck.Parent = Torso
2101
RightShoulder.Parent = Torso
2102
LeftShoulder.Parent = Torso
2103
RightHip.Parent = Torso
2104
LeftHip.Parent = Torso
2105
	
2106
RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
2107
	RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
2108
	Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
2109
	Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
2110
	RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
2111
	LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
2112
	if Disable_Moving_Arms == false then
2113
		RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
2114
		LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
2115
	else
2116
		RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
2117
		LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
2118
	end
2119
	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))
2120
	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))
2121
	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))
2122
	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))
2123
wait(0.1)
2124
eye1.Parent = Character
2125
eye2.Parent = Character
2126
horns.Parent = Character
2127
local cape = Instance.new("Part")
2128
cape.CFrame = Torso.CFrame
2129
cape.Parent = Character
2130
cape.Name = "Cape"
2131
local capemesh = Instance.new("SpecialMesh")
2132
capemesh.MeshId = "http://www.roblox.com/asset/?id=215735235"
2133
capemesh.TextureId = "http://www.roblox.com/asset/?id=215735282"
2134
capemesh.Scale = Vector3.new(8,8.5,7.5)
2135
capemesh.Offset = Vector3.new(0,-0.35,0.75)
2136
capemesh.Parent = cape
2137
weldBetween(Torso,cape)
2138
local pen = Instance.new("Part")
2139
pen.CFrame = Torso.CFrame
2140
pen.Parent = Character
2141
pen.Name = "Pendant"
2142
local penmesh = Instance.new("SpecialMesh")
2143
penmesh.MeshId = "rbxassetid://483743853"
2144
penmesh.TextureId = "rbxassetid://482551659"
2145
penmesh.Scale = Vector3.new(4,4,4)
2146
penmesh.Offset = Vector3.new(0,2,0)
2147
penmesh.Parent = pen
2148
weldBetween(Torso,pen)
2149
end
2150
2151
2152
--//=================================\\
2153
--\\=================================//
2154
2155
2156
2157
2158
2159
--//=================================\\
2160
--||	     WEAPON CREATION
2161
--\\=================================//
2162
2163
local HandlePart = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Handle", VT(0, 0, 0))
2164
local HandleMesh = CreateMesh("SpecialMesh", HandlePart, "FileMesh", "93180631", "93180676", VT(1, 1, 1), VT(0, 3.1 * Player_Size, 0))
2165
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))
2166
2167
local HitboxPart = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Really black", "Hitbox", VT(0, 0, 0))
2168
local HitboxWeld = CreateWeldOrSnapOrMotor("Weld", HitboxPart, HandlePart, HitboxPart, CF(0 * Player_Size, 4 * Player_Size, 0 * Player_Size), CF(0, 0, 0))
2169
2170
local EffectPart = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Really black", "Effect Part", VT(0, 0, 0))
2171
local EffectWeld = CreateWeldOrSnapOrMotor("Weld", EffectPart, HandlePart, EffectPart, CF(0 * Player_Size, 7 * Player_Size, 0 * Player_Size), CF(0, 0, 0))
2172
2173
if Player_Size ~= 1 then
2174
	for _, v in pairs (Weapon:GetChildren()) do
2175
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
2176
			local p1 = v.Part1
2177
			v.Part1 = nil
2178
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
2179
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
2180
			v.Part1 = p1
2181
		elseif v.ClassName == "Part" then
2182
			for _, b in pairs (v:GetChildren()) do
2183
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
2184
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
2185
				end
2186
			end
2187
		end
2188
	end
2189
end
2190
2191
for _, c in pairs(Weapon:GetChildren()) do
2192
	if c.ClassName == "Part" then
2193
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
2194
	end
2195
end
2196
2197
if Start_Equipped == true and Start_Equipped_With_Equipped_Animation == false then
2198
	HandleWeld.Part0 = RightArm
2199
	HandleWeld.C0 = CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
2200
end
2201
2202
Weapon.Parent = Character
2203
2204
Humanoid.Died:connect(function()
2205
	ATTACK = true
2206
end)
2207
2208
print(Class_Name.." loaded.")
2209
2210
--//=================================\\
2211
--\\=================================//
2212
2213
2214
2215
2216
2217
--//=================================\\
2218
--||	     DAMAGE FUNCTIONS
2219
--\\=================================//
2220
2221
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
2222
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
2223
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
2224
	local BODYGYRO = IT("BodyGyro", STATPART)
2225
	local BODYPOSITION = IT("BodyPosition", STATPART)
2226
	BODYPOSITION.P = 2000
2227
	BODYPOSITION.D = 100
2228
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
2229
	if LABELTYPE == "Normal" then
2230
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
2231
	elseif LABELTYPE == "Debuff" then
2232
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
2233
	elseif LABELTYPE == "Interruption" then
2234
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
2235
	end
2236
	game:GetService("Debris"):AddItem(STATPART ,5)
2237
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
2238
	BILLBOARDGUI.Adornee = STATPART
2239
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
2240
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
2241
	BILLBOARDGUI.AlwaysOnTop = false
2242
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
2243
	TEXTLABEL.BackgroundTransparency = 1
2244
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
2245
	TEXTLABEL.Text = TEXT
2246
	TEXTLABEL.Font = "SourceSans"
2247
	TEXTLABEL.FontSize="Size42"
2248
	TEXTLABEL.TextColor3 = COLOR
2249
	TEXTLABEL.TextStrokeTransparency = 0
2250
	TEXTLABEL.TextScaled = true
2251
	TEXTLABEL.TextWrapped = true
2252
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
2253
		wait(0.2)
2254
		for i=1, 5 do
2255
			wait()
2256
			THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
2257
		end
2258
		wait(1.2)
2259
		for i=1, 5 do
2260
			wait()
2261
			THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
2262
			THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
2263
			THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
2264
		end
2265
		THEPART.Parent = nil
2266
	end),STATPART, BODYPOSITION, TEXTLABEL)
2267
end
2268
2269
function IncreaseOrDecreaseStat(LOCATION, STAT, AMOUNT, DURATION, SHOWTHESTAT)
2270
	if LOCATION:FindFirstChild("Stats") ~= nil then
2271
		if LOCATION.Stats:FindFirstChild("Block") ~= nil then
2272
			if LOCATION.Stats:FindFirstChild("Block").Value == true then
2273
				return
2274
			end
2275
		end
2276
		if LOCATION.Stats:FindFirstChild("ChangeStat") ~= nil and LOCATION.Stats:FindFirstChild("Block").Value == false then
2277
			local NewStatChange = IT("NumberValue")
2278
			NewStatChange.Value = AMOUNT
2279
			if STAT == "Defense" then
2280
				NewStatChange.Name = "ChangeDefense"
2281
			elseif STAT == "Damage" then
2282
				NewStatChange.Name = "ChangeDamage"
2283
			elseif STAT == "Movement" then
2284
				NewStatChange.Name = "ChangeMovement"
2285
			end
2286
			if SHOWTHESTAT == true then
2287
				if AMOUNT < 0 then
2288
					StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "-"..STAT, C3(1, 1, 1))
2289
				elseif AMOUNT > 0 then
2290
					StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "+"..STAT, C3(1, 1, 1))
2291
				end
2292
			end
2293
			if DURATION ~= nil and DURATION ~= 0 then
2294
				local StatDuration = IT("NumberValue")
2295
				StatDuration.Name = "Duration"
2296
				StatDuration.Value = DURATION
2297
				StatDuration.Parent = NewStatChange
2298
			end
2299
			NewStatChange.Parent = LOCATION.Stats:FindFirstChild("ChangeStat")
2300
		end
2301
	end
2302
end
2303
2304
--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)
2305
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)
2306
	if HIT.Parent == nil then
2307
		return
2308
	end
2309
	local HITHUMANOID = HIT.Parent:FindFirstChild("Humanoid")
2310
	for _, v in pairs(HIT.Parent:GetChildren()) do
2311
		if v:IsA("Humanoid") then
2312
			HITHUMANOID = v
2313
            HITHUMANOID.MaxHealth = 100
2314
		end
2315
	end
2316
	if HIT.Name == "Hitbox" and RANGED ~= true and HIT.Parent ~= Weapon and Enable_Stagger_Hit == true then
2317
		StaggerHit.Value = true
2318
		if Play_Hitbox_Hit_Sound == true then
2319
			if HITWEAPONSOUND ~= "" and HITWEAPONSOUND ~= "nil" then
2320
				CreateSound(HITWEAPONSOUND, HIT, 1, HITWEAPONSOUNDPITCH)
2321
			end
2322
		end
2323
		return
2324
	end
2325
	if HIT.Parent.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent.Parent:FindFirstChild("UpperTorso") ~= nil then
2326
		HITHUMANOID = HIT.Parent.Parent:FindFirstChild("Humanoid")
2327
	end
2328
	if HIT.Parent.ClassName == "Hat" or HIT.ClassName == "Accessory" then
2329
		HIT = HIT.Parent.Parent:FindFirstChild("Head")
2330
	end
2331
	if HITHUMANOID ~= nil and HIT.Parent.Name ~= Character.Name and (HIT.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent:FindFirstChild("UpperTorso") ~= nil) then
2332
		if HIT.Parent:FindFirstChild("DebounceHit") ~= nil then
2333
			if HIT.Parent.DebounceHit.Value == true then
2334
				return
2335
			end
2336
		end
2337
		if AntiTeamKill.Value == true then
2338
			if Player.Neutral == false and game.Players:GetPlayerFromCharacter(HIT.Parent) ~= nil then
2339
				if game.Players:GetPlayerFromCharacter(HIT.Parent).TeamColor == Player.TeamColor then
2340
					return
2341
				end
2342
			end
2343
		end
2344
		if HITEVENWHENDEAD == false then
2345
			if HIT.Parent:FindFirstChild("Humanoid") ~= nil then
2346
				if HIT.Parent:FindFirstChild("Humanoid").Health <= 0 then
2347
					return
2348
				end
2349
			end
2350
		end
2351
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
2352
			if HIT.Parent.Stats:FindFirstChild("StunValue") ~= nil then
2353
				HIT.Parent.Stats:FindFirstChild("StunValue").Value = HIT.Parent.Stats:FindFirstChild("StunValue").Value + INCREASESTUN
2354
			end
2355
		end
2356
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
2357
			if HIT.Parent.Stats:FindFirstChild("Stagger") ~= nil then
2358
				if STAGGER == true and Enable_Stagger == true then
2359
					HIT.Parent.Stats:FindFirstChild("Stagger").Value = true
2360
				end
2361
			end
2362
		end
2363
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
2364
			if HIT.Parent.Stats:FindFirstChild("Block") ~= nil then
2365
				if HIT.Parent.Stats:FindFirstChild("Block").Value == true then
2366
					HASBEENBLOCKED = true
2367
					if HIT.Parent.Stats:FindFirstChild("Block"):FindFirstChild("BlockDebounce") == nil then
2368
						StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Blocked!", C3(0, 100 / 255, 255 / 255))
2369
						if RANGED ~= true then
2370
							if HITBLOCKSOUND ~= "" and HITBLOCKSOUND ~= "nil" then
2371
								CreateSound(HITBLOCKSOUND, HIT, 1, HITBLOCKSOUNDPITCH)
2372
							end
2373
						end
2374
						local BlockDebounce = IT("BoolValue", HIT.Parent.Stats:FindFirstChild("Block"))
2375
						BlockDebounce.Name = "BlockDebounce"
2376
						BlockDebounce.Value = true
2377
						if RANGED ~= true then
2378
							game:GetService("Debris"):AddItem(BlockDebounce, 0.5)
2379
						else
2380
							game:GetService("Debris"):AddItem(BlockDebounce, 0.1)
2381
						end
2382
					end
2383
					if RANGED ~= true and Enable_Stagger == true then
2384
						HIT.Parent.Stats:FindFirstChild("Block").Value = false
2385
						Stagger.Value = true
2386
					end
2387
					return
2388
				end
2389
			end
2390
		end
2391
		if DECREASETHESTAT ~= nil then
2392
			if HIT.Parent:FindFirstChild("Stats") ~= nil then
2393
				IncreaseOrDecreaseStat(HIT.Parent, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
2394
			end
2395
		end
2396
		local DAMAGE = MRANDOM(MINIMUMDAMAGE,MAXIMUMDAMAGE) * Damage.Value
2397
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
2398
			if HIT.Parent.Stats:FindFirstChild("Defense") ~= nil then
2399
				if CanPenetrateArmor.Value == true then
2400
					DAMAGE = DAMAGE
2401
				else
2402
					DAMAGE = DAMAGE / HIT.Parent.Stats:FindFirstChild("Defense").Value
2403
				end
2404
			elseif HIT.Parent.Stats:FindFirstChild("Defense") == nil then
2405
				DAMAGE = DAMAGE
2406
			end
2407
		end
2408
		if CanCrit.Value == true then
2409
			CRITCHANCENUMBER = MRANDOM(1, CritChance.Value)
2410
			if CRITCHANCENUMBER == 1 then
2411
				DAMAGE = DAMAGE * 2
2412
			end
2413
		end
2414
		DAMAGE = math.floor(DAMAGE)
2415
		if HASBEENBLOCKED == false then
2416
			HITHUMANOID.Health = HITHUMANOID.Health - DAMAGE
2417
		end
2418
		if DAMAGE < 20 and HASBEENBLOCKED == false and HITHUMANOID.Parent:FindFirstChild("IceCover") == nil then
2419
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
2420
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
2421
				CreateSound("296102734", HIT, 1, 1)
2422
			else
2423
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 220/255, 0))
2424
			end
2425
		elseif DAMAGE >= 20 and HASBEENBLOCKED == false and HITHUMANOID.Parent:FindFirstChild("IceCover") == nil then
2426
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
2427
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
2428
				CreateSound("296102734", HIT, 1, 1)
2429
			else
2430
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 0, 0))
2431
			end
2432
		elseif DAMAGE <= 3 and HASBEENBLOCKED == false and HITHUMANOID.Parent:FindFirstChild("IceCover") == nil then
2433
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
2434
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
2435
				CreateSound("296102734", HIT, 1, 1)
2436
			else
2437
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(225/255, 225/255, 225/255))
2438
			end
2439
        elseif HITHUMANOID.Parent:FindFirstChild("IceCover") then
2440
        HITHUMANOID.Health = 0
2441
		StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "SHATTERED", C3(225/255, 225/255, 225/255))
2442
        reap(HITHUMANOID.Parent)
2443
		end
2444
		if TYPE == "Normal" then
2445
			local vp = IT("BodyVelocity")
2446
			vp.P=500
2447
			vp.maxForce = VT(math.huge, 0, math.huge)
2448
			if KNOCKBACKTYPE == 1 then
2449
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK + PROPERTY.Velocity / 1.05
2450
			elseif KNOCKBACKTYPE == 2 then
2451
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK
2452
			end
2453
			if KNOCKBACK > 0 and HASBEENBLOCKED == false then
2454
				vp.Parent = HIT--.Parent.Torso
2455
			end
2456
			game:GetService("Debris"):AddItem(vp, 0.5)
2457
		end
2458
		HASBEENBLOCKED = false
2459
		RecentEnemy.Value = HIT.Parent
2460
		local DebounceHit = IT("BoolValue", HIT.Parent)
2461
		DebounceHit.Name = "DebounceHit"
2462
		DebounceHit.Value = true
2463
		game:GetService("Debris"):AddItem(DebounceHit, DELAY)
2464
	end
2465
end
2466
2467
--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)
2468
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)
2469
	for _, c in pairs(workspace:GetChildren()) do
2470
		local HUMANOID = c:FindFirstChild("Humanoid")
2471
		local HEAD = nil
2472
		if HUMANOID ~= nil then
2473
			for _, d in pairs(c:GetChildren()) do
2474
				if d.ClassName == "Model" and RANGED ~= true then
2475
					HEAD = d:FindFirstChild("Hitbox")
2476
					if HEAD ~= nil then
2477
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
2478
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
2479
							if Play_Hitbox_Hit_Sound == true then
2480
								local HitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
2481
								HitRefpart.Anchored = true
2482
								HitRefpart.CFrame = CF(HEAD.Position)
2483
								CreateSound(HITWEAPONSOUND, HitRefpart, 1, HITWEAPONSOUNDPITCH)
2484
							end
2485
							if Enable_Stagger_Hit == true then
2486
								StaggerHit.Value = true
2487
							end
2488
						end
2489
					end
2490
				elseif d:IsA"BasePart" then
2491
					HEAD = d
2492
					if HEAD ~= nil then
2493
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
2494
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
2495
							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)
2496
						end
2497
					end
2498
				end
2499
			end
2500
		end
2501
	end
2502
end
2503
2504
--Usage: MagnitudeBuffOrDebuff(Part, 5, "Defense", -0.1, 3, true, true)
2505
function MagnitudeBuffOrDebuff(PART, MAGNITUDE, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF, APPLYTOOTHERSINSTEAD)
2506
	if Player.Neutral == true then
2507
		IncreaseOrDecreaseStat(Character, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
2508
	end
2509
	for _, c in pairs(workspace:GetChildren()) do
2510
		local HUMANOID = c:FindFirstChild("Humanoid")
2511
		local THEHEAD = nil
2512
		if HUMANOID ~= nil then
2513
			if c:FindFirstChild("Torso") ~= nil then
2514
				THEHEAD = c:FindFirstChild("Torso")
2515
			elseif c:FindFirstChild("UpperTorso") ~= nil then
2516
				THEHEAD = c:FindFirstChild("UpperTorso")
2517
			end
2518
			if THEHEAD ~= nil then
2519
				local THEMAGNITUDE = (THEHEAD.Position - PART.Position).magnitude
2520
				print("yes 1")
2521
				if APPLYTOOTHERSINSTEAD == true then
2522
					if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
2523
						if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
2524
							if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
2525
								IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
2526
							end
2527
						end
2528
					end
2529
				elseif APPLYTOOTHERSINSTEAD == false then
2530
					if THEMAGNITUDE <= (MAGNITUDE * Player_Size) then
2531
						if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
2532
							if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
2533
								IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
2534
							end
2535
						end
2536
					end
2537
				end
2538
			end
2539
		end
2540
	end
2541
end
2542
2543
--//=================================\\
2544
--\\=================================//
2545
2546
2547
2548
2549
2550
--//=================================\\
2551
--||			WEAPON GUI
2552
--\\=================================//
2553
2554
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") 
2555
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")
2556
local MANATEXT = CreateLabel(MANABAR, Mana_Name.." ["..FLOOR(Mana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Mana Text")
2557
2558
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")
2559
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")
2560
local HEALTHTEXT = CreateLabel(HEALTHBAR, "Health ["..FLOOR(Humanoid.Health).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Health Text")
2561
2562
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")
2563
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")
2564
local STUNTEXT = CreateLabel(STUNFRAME, "Stun ["..FLOOR(StunValue.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Stun Text")
2565
2566
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") 
2567
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")
2568
local SECONDARYMANATEXT = CreateLabel(SECONDARYMANABAR, Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Secondary Mana Text")
2569
2570
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")
2571
local DEFENSETEXT = CreateLabel(DEFENSEFRAME, "Defense ["..(Defense.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Defense Text")
2572
2573
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")
2574
local DAMAGETEXT = CreateLabel(DAMAGEFRAME, "Damage ["..(Damage.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Damage Text")
2575
2576
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")
2577
local MOVEMENTTEXT = CreateLabel(MOVEMENTFRAME, "Movement ["..(Movement.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Movement Text")
2578
2579
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")
2580
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")
2581
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")
2582
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")
2583
2584
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")
2585
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")
2586
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")
2587
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")
2588
2589
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Ability 1", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 1")
2590
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[X] Ability 2", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 2")
2591
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 3")
2592
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 4")
2593
2594
if Enable_Gui == true then
2595
	WEAPONGUI.Parent = PlayerGui
2596
end
2597
2598
if Enable_Stats == true and Show_Stats == true then
2599
	DEFENSEFRAME.Parent = WEAPONGUI
2600
	DAMAGEFRAME.Parent = WEAPONGUI
2601
	MOVEMENTFRAME.Parent = WEAPONGUI
2602
end
2603
2604
if Enable_Secondary_Bar == true then
2605
	SECONDARYMANABAR.Parent = WEAPONGUI
2606
end
2607
2608
if Enable_Abilities == true then
2609
	SKILL1FRAME.Parent = WEAPONGUI
2610
	SKILL2FRAME.Parent = WEAPONGUI
2611
	SKILL3FRAME.Parent = WEAPONGUI
2612
	SKILL4FRAME.Parent = WEAPONGUI
2613
end
2614
2615
if Enable_Stun == true then
2616
	STUNFRAME.Parent = WEAPONGUI
2617
end
2618
2619
function UpdateGUI()
2620
	MANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2621
	MANACOVER:TweenSize(UD2(1 * (Mana.Value / Max_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2622
	MANATEXT.Text = Mana_Name.." ["..FLOOR(Mana.Value).."]"
2623
	HEALTHBAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2624
	HEALTHCOVER:TweenSize(UD2(1 * (Humanoid.Health / Humanoid.MaxHealth), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2625
	HEALTHTEXT.Text = "Health ["..FLOOR(Humanoid.Health).."]"
2626
	if Enable_Abilities == true then
2627
		SKILL1FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2628
		SKILL2FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2629
		SKILL3FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2630
		SKILL4FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2631
		SKILL1BAR:TweenSize(UD2(1 * (CO1 / Cooldown_1), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2632
		SKILL2BAR:TweenSize(UD2(1 * (CO2 / Cooldown_2), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2633
		SKILL3BAR:TweenSize(UD2(1 * (CO3 / Cooldown_3), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2634
		SKILL4BAR:TweenSize(UD2(1 * (CO4 / Cooldown_4), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2635
	end
2636
	if Enable_Stats == true and Show_Stats == true then
2637
		DEFENSEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2638
		DEFENSETEXT.Text = "Defense ["..(Defense.Value * 100).."%]"
2639
		DAMAGEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2640
		DAMAGETEXT.Text = "Damage ["..(Damage.Value * 100).."%]"
2641
		MOVEMENTFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2642
		MOVEMENTTEXT.Text = "Movement ["..(Movement.Value * 100).."%]"
2643
	end
2644
	if Enable_Stun == true then
2645
		STUNFRAME:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2646
		STUNBAR:TweenSize(UD2(1 * (StunValue.Value / Max_Stun), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2647
		STUNTEXT.Text = "Stun ["..FLOOR(StunValue.Value).."]"
2648
	end
2649
	if Enable_Secondary_Bar == true then
2650
		SECONDARYMANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2651
		SECONDARYMANACOVER:TweenSize(UD2(1 * (SecondaryMana.Value / Max_Secondary_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
2652
		SECONDARYMANATEXT.Text = Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]"
2653
	end
2654
end
2655
2656
if Enable_Gui == true then
2657
	UpdateGUI()
2658
	for _, v in pairs (WEAPONGUI:GetChildren()) do
2659
		if v.ClassName == "Frame" then
2660
			for _, b in pairs (v:GetChildren()) do
2661
				if b.ClassName == "TextLabel" then
2662
					coroutine.resume(coroutine.create(function(THETEXTLABEL)
2663
						wait(Menu_Update_Speed)
2664
						for i = 1, 0, -0.1 do
2665
							Swait()
2666
							THETEXTLABEL.TextTransparency = i
2667
							THETEXTLABEL.TextStrokeTransparency = i
2668
							end
2669
						THETEXTLABEL.TextTransparency = 0
2670
						THETEXTLABEL.TextStrokeTransparency = 0
2671
					end), b)
2672
				end
2673
			end
2674
		end
2675
	end
2676
end
2677
2678
--//=================================\\
2679
--\\=================================//
2680
2681
2682
2683
2684
2685
--//=================================\\
2686
--||	     SKILL FUNCTIONS
2687
--\\=================================//
2688
2689
function UpdateSkillsAndStuff()
2690
	if Mana_Regen_Mode == "1" then
2691
		if Mana.Value >= Max_Mana then
2692
			Mana.Value = Max_Mana
2693
		elseif Mana.Value < 0 then
2694
			Mana.Value = 0
2695
		else
2696
			if MANADELAYNUMBER <= Mana_Wait then
2697
				MANADELAYNUMBER = MANADELAYNUMBER + 1
2698
			else
2699
				MANADELAYNUMBER = 0
2700
				Mana.Value = Mana.Value + Recover_Mana
2701
			end
2702
		end
2703
	elseif Mana_Regen_Mode == "2" then
2704
		if Mana.Value <= Max_Mana then
2705
			Mana.Value = Mana.Value + (Recover_Mana / 30) / Animation_Speed
2706
		elseif Mana.Value >= Max_Mana then
2707
			Mana.Value = Max_Mana
2708
		elseif Mana.Value < 0 then
2709
			Mana.Value = 0
2710
		end
2711
	end
2712
	if Enable_Secondary_Bar == true then
2713
		if Secondary_Mana_Regen_Mode == "1" then
2714
			if SecondaryMana.Value >= Max_Secondary_Mana then
2715
				SecondaryMana.Value = Max_Secondary_Mana
2716
			elseif SecondaryMana.Value < 0 then
2717
				SecondaryMana.Value = 0
2718
			else
2719
				if SECONDARYMANADELAYNUMBER <= Secondary_Mana_Wait then
2720
					SECONDARYMANADELAYNUMBER = SECONDARYMANADELAYNUMBER + 1
2721
				else
2722
					SECONDARYMANADELAYNUMBER = 0
2723
					SecondaryMana.Value = SecondaryMana.Value + Recover_Secondary_Mana
2724
				end
2725
			end
2726
		elseif Secondary_Mana_Regen_Mode == "2" then
2727
			if SecondaryMana.Value <= Max_Secondary_Mana then
2728
				SecondaryMana.Value = SecondaryMana.Value + (Recover_Secondary_Mana / 30) / Animation_Speed
2729
			elseif SecondaryMana.Value >= Max_Secondary_Mana then
2730
				SecondaryMana.Value = Max_Secondary_Mana
2731
			elseif SecondaryMana.Value < 0 then
2732
				SecondaryMana.Value = 0
2733
			end
2734
		end
2735
	else
2736
		SecondaryMana.Value = 0
2737
	end
2738
	if Enable_Stun == true then
2739
		if Stun_Lose_Mode == "1" then
2740
			if StunValue.Value > Max_Stun then
2741
				StunValue.Value = Max_Stun
2742
			elseif StunValue.Value <= 0 then
2743
				StunValue.Value = 0
2744
			else
2745
				if STUNDELAYNUMBER <= Stun_Wait then
2746
					STUNDELAYNUMBER = STUNDELAYNUMBER + 1
2747
				else
2748
					STUNDELAYNUMBER = 0
2749
					StunValue.Value = StunValue.Value - Lose_Stun
2750
				end
2751
			end
2752
		elseif Stun_Lose_Mode == "2" then
2753
			if StunValue.Value <= Max_Stun and StunValue.Value > 0 then
2754
				StunValue.Value = StunValue.Value - (Lose_Stun / 30) / Animation_Speed
2755
			elseif StunValue.Value > Max_Stun then
2756
				StunValue.Value = Max_Stun
2757
			elseif StunValue.Value <= 0 then
2758
				StunValue.Value = 0
2759
			end
2760
		end
2761
	else
2762
		StunValue.Value = 0
2763
	end
2764
	if Enable_Abilities == true then
2765
		if CO1 <= Cooldown_1 then
2766
			CO1 = CO1 + (1 / 30) / Animation_Speed
2767
		elseif CO1 >= Cooldown_1 then
2768
			CO1 = Cooldown_1
2769
		end
2770
		if CO2 <= Cooldown_2 then
2771
			CO2 = CO2 + (1 / 30) / Animation_Speed
2772
		elseif CO2 >= Cooldown_2 then
2773
			CO2 = Cooldown_2
2774
		end
2775
		if CO3 <= Cooldown_3 then
2776
			CO3 = CO3 + (1 / 30) / Animation_Speed
2777
		elseif CO3 >= Cooldown_3 then
2778
			CO3 = Cooldown_3
2779
		end
2780
		if CO4 <= Cooldown_4 then
2781
			CO4 = CO4 + (1 / 30) / Animation_Speed
2782
		elseif CO4 >= Cooldown_4 then
2783
			CO4 = Cooldown_4
2784
		end
2785
	end
2786
end
2787
2788
--//=================================\\
2789
--\\=================================//
2790
2791
2792
2793
2794
2795
--//=================================\\
2796
--||	ATTACK FUNCTIONS AND STUFF
2797
--\\=================================//
2798
2799
function EquipWeapon()
2800
	--ATTACK = true
2801
	DEFENSECHANGE1.Parent = nil
2802
	MOVEMENTCHANGE1.Parent = ChangeStat
2803
	for i=0, 1, 0.5 / Animation_Speed do
2804
		Swait()
2805
		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)
2806
		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)
2807
		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)
2808
		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)
2809
		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)
2810
		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)
2811
	end
2812
	for i=0, 1, 0.08 / Animation_Speed do
2813
		Swait()
2814
		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)
2815
		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)
2816
		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)
2817
		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)
2818
		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)
2819
		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)
2820
	end
2821
	HandleWeld.Part0 = RightArm
2822
	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))
2823
	CreateSound("174884033", HitboxPart, 1, 1.5)
2824
	for i=0, 1, 0.5 / Animation_Speed do
2825
		Swait()
2826
		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)
2827
		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)
2828
		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)
2829
		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)
2830
		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)
2831
		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)
2832
		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)
2833
	end
2834
	LASTPOINT = EffectPart.CFrame
2835
	for i=0, 1, 0.08 / Animation_Speed do
2836
		Swait()
2837
		TrailEffect("Institutional white", "Neon", EffectPart.CFrame, LASTPOINT, "Block", 0, 0.2, ANGLES(0, 0, 0), -0.01, 0, -0.01, 0.1)
2838
		LASTPOINT = EffectPart.CFrame
2839
		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)
2840
		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)
2841
		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)
2842
		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)
2843
		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)
2844
		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)
2845
		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)
2846
	end
2847
	LASTPOINT = nil
2848
	--ATTACK = false
2849
end
2850
2851
function UnequipWeapon()
2852
	--ATTACK = true
2853
	for i=0, 1, 0.5 / Animation_Speed do
2854
		Swait()
2855
		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)
2856
		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)
2857
		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)
2858
		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)
2859
		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)
2860
		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)
2861
		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)
2862
	end
2863
	CreateSound("245542809", HitboxPart, 1, 1.2)
2864
	for i=0, 1, 0.08 / Animation_Speed do
2865
		Swait()
2866
		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)
2867
		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)
2868
		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)
2869
		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)
2870
		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)
2871
		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)
2872
		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)
2873
	end
2874
	HandleWeld.Part0 = Torso
2875
	HandleWeld.C0 = CF(2 * Player_Size, 2 * Player_Size, 0.6 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(135))
2876
	for i=0, 1, 0.5 / Animation_Speed do
2877
		Swait()
2878
		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)
2879
		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)
2880
		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)
2881
		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)
2882
		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)
2883
		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)
2884
	end
2885
	for i=0, 1, 0.08 / Animation_Speed do
2886
		Swait()
2887
		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)
2888
		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)
2889
		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)
2890
		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)
2891
		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)
2892
		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)
2893
		if Disable_Moving_Arms == false then
2894
			RightShoulder.C1 = Clerp(RightShoulder.C1, ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5), 0.3 / Animation_Speed)
2895
			LeftShoulder.C1 = Clerp(LeftShoulder.C1, ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5), 0.3 / Animation_Speed)
2896
		else
2897
			RightShoulder.C1 = Clerp(RightShoulder.C1, CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size), 0.3 / Animation_Speed)
2898
			LeftShoulder.C1 = Clerp(LeftShoulder.C1, CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size), 0.3 / Animation_Speed)
2899
		end
2900
		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)
2901
		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)
2902
		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)
2903
		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)
2904
	end
2905
	RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
2906
	RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
2907
	Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
2908
	Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
2909
	RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
2910
	LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
2911
	if Disable_Moving_Arms == false then
2912
		RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
2913
		LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
2914
	else
2915
		RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
2916
		LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
2917
	end
2918
	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))
2919
	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))
2920
	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))
2921
	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))
2922
	--ATTACK = false
2923
	DEFENSECHANGE1.Parent = ChangeStat
2924
	MOVEMENTCHANGE1.Parent = nil
2925
end
2926
2927
function StaggerHitAnimation()
2928
	ATTACK = true
2929
	if Weapon:FindFirstChild("Hitbox") ~= nil then
2930
		for i = 1, MRANDOM(2, 4) do
2931
			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)
2932
		end
2933
	end
2934
	for i = 0, 1, 0.1 / Animation_Speed do
2935
		Swait()
2936
		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)
2937
		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)
2938
		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)
2939
		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)
2940
		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)
2941
		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)
2942
		if Stagger.Value == true or Stun.Value == true then
2943
			break
2944
		end
2945
	end
2946
	ATTACK = false
2947
end
2948
2949
function StaggerAnimation()
2950
	ATTACK = true
2951
	if Weapon:FindFirstChild("Hitbox") ~= nil then
2952
		for i = 1, MRANDOM(2, 4) do
2953
			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)
2954
		end
2955
	end
2956
	DISABLEJUMPING = true
2957
	COMBO = 1
2958
	StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Staggered!", C3(255 / 255, 255 / 255, 0))
2959
	local STAGGERVELOCITY = Instance.new("BodyVelocity",Torso)
2960
	STAGGERVELOCITY.P = 500
2961
	STAGGERVELOCITY.maxForce = VT(math.huge, 0, math.huge)
2962
	if Rooted.Value == false then
2963
		STAGGERVELOCITY.Velocity = RootPart.CFrame.lookVector * -40
2964
	end
2965
	for i = 0, 1, 0.35 / Animation_Speed do
2966
		Swait()
2967
		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)
2968
		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)
2969
		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)
2970
		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)
2971
		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)
2972
		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)
2973
	end
2974
	for i = 0, 1, 0.2 / Animation_Speed do
2975
		Swait()
2976
		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)
2977
		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)
2978
		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)
2979
		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)
2980
		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)
2981
		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)
2982
	end
2983
	STAGGERVELOCITY.Parent = nil
2984
	for i = 1, 50 * Animation_Speed do
2985
		Swait()
2986
		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)
2987
		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)
2988
		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)
2989
		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)
2990
		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)
2991
		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)
2992
	end
2993
	DISABLEJUMPING = false
2994
	ATTACK = false
2995
end
2996
2997
function StunAnimation()
2998
	ATTACK = true
2999
	DISABLEJUMPING = true
3000
	COMBO = 1
3001
	StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Stunned!", C3(255 / 255, 255 / 255, 0))
3002
	for i = 0, 1, 0.3 / Animation_Speed do
3003
		Swait()
3004
		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)
3005
		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)
3006
		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)
3007
		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)
3008
		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)
3009
		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)
3010
	end
3011
	for i = 0, 1, 0.3 / Animation_Speed do
3012
		Swait()
3013
		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)
3014
		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)
3015
		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)
3016
		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)
3017
		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)
3018
		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)
3019
	end
3020
	for i = 0, 1, 0.3 / Animation_Speed do
3021
		Swait()
3022
		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)
3023
		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)
3024
		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)
3025
		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)
3026
		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)
3027
		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)
3028
	end
3029
	for i = 1, 70 * Animation_Speed do
3030
		Swait()
3031
		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)
3032
		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)
3033
		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)
3034
		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)
3035
		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)
3036
		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)
3037
	end
3038
	for i = 0, 1, 0.2 / Animation_Speed do
3039
		Swait()
3040
		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)
3041
		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)
3042
		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)
3043
		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)
3044
		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)
3045
		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)
3046
	end
3047
	DISABLEJUMPING = false
3048
	ATTACK = false
3049
end
3050
3051
function EAbility()
3052
	ATTACK = true
3053
	ATTACK = false
3054
end
3055
3056
function Attack1()
3057
	ATTACK = true
3058
	for i=0, 1, 0.1 / Animation_Speed do
3059
		Swait()
3060
		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)
3061
		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)
3062
		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)
3063
		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)
3064
		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)
3065
		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)
3066
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3067
			break
3068
		end
3069
	end
3070
	CreateSound("553461842", LeftArm, 1.2, MRANDOM(8, 9) / 10)
3071
	for i=0, 1, 0.1 / Animation_Speed*4 do
3072
		Swait()
3073
		local Pos = HitboxPart
3074
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
3075
		local Color = "Cyan"
3076
		local Material = "Neon"
3077
		local TheDelay = 0.01
3078
		local Height = 6.2 * Player_Size
3079
		BLCF = Offset
3080
		local SWORDHIT, SWORDPOS = Raycast(EffectPart.Position, (CF(EffectPart.Position, EffectPart.Position + VT(0, -1, 0))).lookVector, 1 * Player_Size, Character)
3081
			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)
3082
			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)
3083
			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)
3084
			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)
3085
			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)
3086
			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)
3087
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3088
			break
3089
		end
3090
    end
3091
    shockwaveright()
3092
	BLCF = nil
3093
	SCFR = nil
3094
	ATTACK = false
3095
end
3096
3097
function Attack2()
3098
	ATTACK = true
3099
	for i=0, 1, 0.1 / Animation_Speed do
3100
		Swait()
3101
		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)
3102
		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)
3103
	    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)
3104
		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)
3105
	    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)
3106
		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)
3107
		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)
3108
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3109
			break
3110
		end
3111
	end
3112
	CreateSound("553461718", LeftArm, 1.2, MRANDOM(7, 9) / 10)
3113
	for i=0, 1, 0.1 / Animation_Speed*5 do
3114
		Swait()
3115
		local Pos = HitboxPart
3116
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
3117
		local Color = "Cyan"
3118
		local Material = "Neon"
3119
		local TheDelay = 0.01
3120
		local Height = 6.2 * Player_Size
3121
		BLCF = Offset
3122
		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)
3123
		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)
3124
	    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)
3125
		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)
3126
		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)
3127
		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)
3128
		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)
3129
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3130
			break
3131
		end
3132
	end
3133
    shockwaveright()
3134
	BLCF = nil
3135
	SCFR = nil
3136
	ATTACK = false
3137
end
3138
3139
function Freeze()
3140
    pupil1.BrickColor = BrickColor.new("Black")
3141
    pupil2.BrickColor = BrickColor.new("Black")
3142
    Humanoid.JumpPower = 0
3143
    Humanoid.WalkSpeed = 0
3144
	ATTACK = true
3145
	CreateSound("357558023",Torso, 15, MRANDOM(11, 13) / 10)
3146
	for i=0, 1, 0.1 / Animation_Speed do
3147
		Swait()
3148
			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)
3149
			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)
3150
		    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)
3151
		    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)
3152
			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)
3153
			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)
3154
			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)
3155
		    if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3156
			break
3157
		end
3158
	end
3159
    SilenceRoar2()
3160
    UniqueMove1()
3161
end
3162
3163
function FirePillar(POSITION1, POSITION2, SIZE, RISE, RANGE, LOWDAMAGE, HIGHDAMAGE, LASTINGTIME)
3164
	local POS1 = POSITION1
3165
	local POS2 = POSITION2
3166
	local MOUSELOOK = CF((POS1 + POS2) / 2, POS2)
3167
	local FIREPILLARHITSOUNDS = {"260433557", --[["646619365",--]] "260433522"--[[, "144140670"--]]}
3168
	local FIREPILLARCOLORS = {"Toothpaste", "Cyan", "Tael"}
3169
	local FIREPILLAR1HIT, FIREPILLAR1POS = Raycast(POS1, MOUSELOOK.lookVector, RANGE * Player_Size, Character)
3170
	local FirePillarRefpart1 = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
3171
	FirePillarRefpart1.Anchored = true
3172
	FirePillarRefpart1.CFrame = CF(FIREPILLAR1POS) * CF(0, 10, 0)
3173
	game:GetService("Debris"):AddItem(FirePillarRefpart1, 5)
3174
	local FIREPILLAR2HIT, FIREPILLAR2POS = Raycast(FirePillarRefpart1.Position, CF(FirePillarRefpart1.Position, FirePillarRefpart1.Position + VT(0, -1, 0)).lookVector, 999, Character)
3175
	if FIREPILLAR2HIT ~= nil then
3176
		FirePillarRefpart1.Parent = nil
3177
		local FirePillarRefpart2 = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
3178
		FirePillarRefpart2.Anchored = true
3179
		FirePillarRefpart2.CFrame = CF(FIREPILLAR2POS)
3180
		game:GetService("Debris"):AddItem(FirePillarRefpart2, 5)
3181
		CreateSound(FIREPILLARHITSOUNDS[MRANDOM(1, #FIREPILLARHITSOUNDS)], FirePillarRefpart2, 1.2, MRANDOM(11, 13) / 10)
3182
		for i = 1, MRANDOM(5, 10) do
3183
			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)
3184
		end
3185
		for i = 1, MRANDOM(15, 20) do
3186
			local FIREEFFECTSIZE = MRANDOM(1, 2)
3187
			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)
3188
		end
3189
		MagicCylinder("Cyan", "Neon", CF(FIREPILLAR2POS), ANGLES(0, 0, 0), VT(0, 0, 0), SIZE, 0.1, SIZE, 1.5, 0, 1.5, LASTINGTIME)
3190
		MagicSphere("White", "Neon", FirePillarRefpart2.CFrame, ANGLES(0, 0, 0), VT(0, 0, 0), SIZE, 0.1, SIZE, 1.5, RISE, 1.5, LASTINGTIME)
3191
		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)
3192
		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)
3193
		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)
3194
	end
3195
end
3196
3197
function Attack3()
3198
	ATTACK = true
3199
	local FIREEFFECTCOLORS = {"Tael", "Cyan", "Toohpaste"}
3200
	for i=0, 1, 0.1 / Animation_Speed do
3201
		Swait()
3202
		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)
3203
		--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)
3204
		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)
3205
		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)
3206
		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)
3207
		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)
3208
		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)
3209
		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)
3210
		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)
3211
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3212
			break
3213
		end
3214
	end
3215
	CreateSound("549224856", LeftArm, 1, MRANDOM(11, 13) / 10)
3216
	FirePillar(RootPart.Position, Mouse.hit.p, 125, 3.5, 0, 5, 10, 0.025)
3217
	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)
3218
	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)
3219
	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)
3220
	for i=0, 1, 0.1 / Animation_Speed do
3221
		Swait()
3222
		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)
3223
		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)
3224
		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)
3225
		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)
3226
		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)
3227
		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)
3228
		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)
3229
		--[[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)
3230
		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)
3231
		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)
3232
		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)
3233
		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)
3234
		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)
3235
		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)]]--
3236
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3237
			break
3238
		end
3239
	end
3240
	ATTACK = false
3241
end
3242
3243
function Move1()
3244
	ATTACK = true
3245
	ATTACK = false
3246
end
3247
3248
function Move2()
3249
	ATTACK = true
3250
	ATTACK = false
3251
end
3252
3253
function Move3()
3254
	ATTACK = true
3255
	ATTACK = false
3256
end
3257
3258
function Move4()
3259
	ATTACK = true
3260
	ATTACK = false
3261
end
3262
3263
function blizzard()
3264
ATTACK = true
3265
Humanoid.JumpPower = 0
3266
Humanoid.WalkSpeed = 0
3267
while true do
3268
    if HOLDBLIZZARD == true then
3269
	     CreateSound("357558023", Torso, 15, MRANDOM(15, 18) / 10)
3270
         local ice = Instance.new("Part")
3271
         local mesh = Instance.new("SpecialMesh")
3272
         mesh.MeshId = "rbxassetid://168892432"
3273
         mesh.Scale = Vector3.new(18,18,18)
3274
         mesh.Parent = ice
3275
         ice.Parent = Character
3276
         ice.CanCollide = false
3277
         ice.Anchored = true
3278
         ice.Transparency = 1
3279
         ice.BrickColor = BrickColor.new("White")
3280
         ice.CFrame = RootPart.CFrame
3281
         local ice2 = Instance.new("Part")
3282
         local mesh2 = Instance.new("SpecialMesh")
3283
         mesh2.MeshId = "rbxassetid://168892432"
3284
         mesh2.Scale = Vector3.new(24,24,24)
3285
         mesh2.Parent = ice2
3286
         ice2.Parent = Character
3287
         ice2.CanCollide = false
3288
         ice2.Anchored = true
3289
         ice2.Transparency = 1
3290
         ice2.BrickColor = BrickColor.new("White")
3291
         ice2.CFrame = RootPart.CFrame
3292
         for spin = 1,20 do
3293
              spin = ice.CFrame
3294
              spin2 = ice2.CFrame
3295
              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)
3296
              ice.CFrame = spin * CFrame.fromEulerAnglesXYZ(0, 0.25, 0)
3297
              ice.Transparency = ice.Transparency - 0.025
3298
              ice2.CFrame = spin2 * CFrame.fromEulerAnglesXYZ(0, -0.25, 0)
3299
              ice2.Transparency = ice2.Transparency - 0.025
3300
              wait(0.025)
3301
              end
3302
         for spin = 1,20 do
3303
              spin = ice.CFrame
3304
              spin2 = ice2.CFrame
3305
              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)
3306
              ice.CFrame = spin * CFrame.fromEulerAnglesXYZ(0, 0.25, 0)
3307
              ice.Transparency = ice.Transparency + 0.025
3308
              ice2.CFrame = spin2 * CFrame.fromEulerAnglesXYZ(0, -0.25, 0)
3309
              ice2.Transparency = ice2.Transparency + 0.025
3310
              wait(0.025)
3311
         end
3312
         ice:Destroy()
3313
         else
3314
             ATTACK = false
3315
             Humanoid.JumpPower = 175
3316
             Humanoid.WalkSpeed = 45
3317
             break
3318
         end
3319
     end
3320
 end
3321
3322
function shockwaverightleg()
3323
local shockwave = Instance.new("Part")
3324
CreateSound("438666141", RightLeg, 5, 1)
3325
shockwave.CanCollide = false
3326
shockwave.Anchored = true
3327
shockwave.Parent = Character
3328
shockwave.BrickColor = BrickColor.new("Really black")
3329
local meshg = Instance.new("SpecialMesh")
3330
meshg.MeshId = "http://www.roblox.com/asset/?id=20329976"
3331
meshg.Parent = shockwave
3332
meshg.Scale = Vector3.new(3, 12, 3)
3333
shockwave.CFrame = RightLeg.CFrame
3334
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)
3335
for i = 1,20 do
3336
    meshg.Scale = meshg.Scale + Vector3.new(5,0,5)
3337
    wait(0.025)
3338
end
3339
for i = 1,20 do
3340
    shockwave.Transparency = shockwave.Transparency + 0.05
3341
    wait(0.015)
3342
end
3343
shockwave:Destroy()
3344
end
3345
3346
function shockwaveright()
3347
BreakEffect(BrickColor.new("Black"),RightArm.CFrame,0.5,math.random(5,20),0.5)
3348
BreakEffect(BrickColor.new("Black"),RightArm.CFrame,0.5,math.random(5,20),0.5)
3349
BreakEffect(BrickColor.new("Black"),RightArm.CFrame,0.5,math.random(5,20),0.5)
3350
BreakEffect(BrickColor.new("Black"),RightArm.CFrame,0.5,math.random(5,20),0.5)
3351
BreakEffect(BrickColor.new("Black"),RightArm.CFrame,0.5,math.random(5,20),0.5)
3352
local shockwave = Instance.new("Part")
3353
CreateSound("260430189", RightArm, 4, MRANDOM(3, 4) / 10)
3354
shockwave.CanCollide = false
3355
shockwave.Anchored = true
3356
shockwave.Parent = Character
3357
shockwave.BrickColor = BrickColor.new("Really black")
3358
local meshg = Instance.new("SpecialMesh")
3359
meshg.MeshId = "http://www.roblox.com/asset/?id=20329976"
3360
meshg.Parent = shockwave
3361
meshg.Scale = Vector3.new(3, 12, 3)
3362
shockwave.CFrame = RightArm.CFrame
3363
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)
3364
for i = 1,10 do
3365
    shockwave.Transparency = shockwave.Transparency + 0.1
3366
    meshg.Scale = meshg.Scale + Vector3.new(1,0,1)
3367
    wait(0.05)
3368
end
3369
shockwave:Destroy()
3370
end
3371
3372
--//=================================\\
3373
--\\=================================//
3374
3375
3376
3377
--//=================================\\
3378
--||	      SET THINGS UP
3379
--\\=================================//
3380
3381
3382
--//=================================\\
3383
--\\=================================//
3384
3385
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)
3386
Humanoid.MaxHealth = "inf"
3387
Humanoid.Health = "inf"
3388
	if HIT.Parent == nil then
3389
		return
3390
	end
3391
	local HITHUMANOID = HIT.Parent:FindFirstChild("Humanoid")
3392
	for _, v in pairs(HIT.Parent:GetChildren()) do
3393
		if v:IsA("Humanoid") then
3394
			HITHUMANOID = v
3395
		end
3396
	end
3397
	if HIT.Name == "Hitbox" and RANGED ~= true and HIT.Parent ~= Weapon and Enable_Stagger_Hit == true then
3398
		StaggerHit.Value = true
3399
		if Play_Hitbox_Hit_Sound == true then
3400
			if HITWEAPONSOUND ~= "" and HITWEAPONSOUND ~= "nil" then
3401
				CreateSound(HITWEAPONSOUND, HIT, 1, HITWEAPONSOUNDPITCH)
3402
			end
3403
		end
3404
		return
3405
	end
3406
	if HIT.Parent.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent.Parent:FindFirstChild("UpperTorso") ~= nil then
3407
		HITHUMANOID = HIT.Parent.Parent:FindFirstChild("Humanoid")
3408
	end
3409
	if HIT.Parent.ClassName == "Hat" or HIT.ClassName == "Accessory" then
3410
		HIT = HIT.Parent.Parent:FindFirstChild("Head")
3411
	end
3412
	if HITHUMANOID ~= nil and HIT.Parent.Name ~= Character.Name and (HIT.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent:FindFirstChild("UpperTorso") ~= nil) then
3413
		if HIT.Parent:FindFirstChild("DebounceHit") ~= nil then
3414
			if HIT.Parent.DebounceHit.Value == true then
3415
				return
3416
			end
3417
		end
3418
		if AntiTeamKill.Value == true then
3419
			if Player.Neutral == false and game.Players:GetPlayerFromCharacter(HIT.Parent) ~= nil then
3420
				if game.Players:GetPlayerFromCharacter(HIT.Parent).TeamColor == Player.TeamColor then
3421
					return
3422
				end
3423
			end
3424
		end
3425
		if HITEVENWHENDEAD == false then
3426
			if HIT.Parent:FindFirstChild("Humanoid") ~= nil then
3427
				if HIT.Parent:FindFirstChild("Humanoid").Health <= 0 then
3428
					return
3429
				end
3430
			end
3431
		end
3432
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
3433
			if HIT.Parent.Stats:FindFirstChild("StunValue") ~= nil then
3434
				HIT.Parent.Stats:FindFirstChild("StunValue").Value = HIT.Parent.Stats:FindFirstChild("StunValue").Value + INCREASESTUN
3435
			end
3436
		end
3437
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
3438
			if HIT.Parent.Stats:FindFirstChild("Stagger") ~= nil then
3439
				if STAGGER == true and Enable_Stagger == true then
3440
					HIT.Parent.Stats:FindFirstChild("Stagger").Value = true
3441
				end
3442
			end
3443
		end
3444
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
3445
			if HIT.Parent.Stats:FindFirstChild("Block") ~= nil then
3446
				if HIT.Parent.Stats:FindFirstChild("Block").Value == true then
3447
					HASBEENBLOCKED = true
3448
					if HIT.Parent.Stats:FindFirstChild("Block"):FindFirstChild("BlockDebounce") == nil then
3449
						StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Blocked!", C3(0, 100 / 255, 255 / 255))
3450
						if RANGED ~= true then
3451
							if HITBLOCKSOUND ~= "" and HITBLOCKSOUND ~= "nil" then
3452
								CreateSound("260433487", HIT, 1, HITBLOCKSOUNDPITCH)
3453
							end
3454
						end
3455
						local BlockDebounce = IT("BoolValue", HIT.Parent.Stats:FindFirstChild("Block"))
3456
						BlockDebounce.Name = "BlockDebounce"
3457
						BlockDebounce.Value = true
3458
						if RANGED ~= true then
3459
							game:GetService("Debris"):AddItem(BlockDebounce, 0.5)
3460
						else
3461
							game:GetService("Debris"):AddItem(BlockDebounce, 0.1)
3462
						end
3463
					end
3464
					if RANGED ~= true and Enable_Stagger == true then
3465
						HIT.Parent.Stats:FindFirstChild("Block").Value = false
3466
						Stagger.Value = true
3467
					end
3468
					return
3469
				end
3470
			end
3471
		end
3472
		if DECREASETHESTAT ~= nil then
3473
			if HIT.Parent:FindFirstChild("Stats") ~= nil then
3474
				IncreaseOrDecreaseStat(HIT.Parent, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
3475
			end
3476
		end
3477
		local DAMAGE = MRANDOM(MINIMUMDAMAGE,MAXIMUMDAMAGE) * Damage.Value
3478
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
3479
			if HIT.Parent.Stats:FindFirstChild("Defense") ~= nil then
3480
				if CanPenetrateArmor.Value == true then
3481
					DAMAGE = DAMAGE
3482
				else
3483
					DAMAGE = DAMAGE / HIT.Parent.Stats:FindFirstChild("Defense").Value
3484
				end
3485
			elseif HIT.Parent.Stats:FindFirstChild("Defense") == nil then
3486
				DAMAGE = DAMAGE
3487
			end
3488
		end
3489
		if CanCrit.Value == true then
3490
			CRITCHANCENUMBER = MRANDOM(1, CritChance.Value)
3491
			if CRITCHANCENUMBER == 1 then
3492
			end
3493
		end
3494
		DAMAGE = math.floor(DAMAGE)
3495
		if HASBEENBLOCKED == false then
3496
		end
3497
		if DAMAGE <= 3 and HASBEENBLOCKED == false then
3498
			if STAGGERHIT == true and Enable_Stagger_Hit == true and RANGED ~= true then
3499
				StaggerHit.Value = true
3500
			end
3501
			if HITARMORSOUND ~= "" and HITARMORSOUND ~= "nil" then
3502
				CreateSound("260433487", HIT, 1, HITARMORSOUNDPITCH)
3503
			end
3504
		elseif DAMAGE > 3 and HASBEENBLOCKED == false then
3505
			if HITPLAYERSOUND ~= "" and HITPLAYERSOUND ~= "nil" then
3506
				CreateSound("260433487", HIT, 1, HITPLAYERSOUNDPITCH)
3507
			end
3508
		end
3509
		if DAMAGE > 3 and DAMAGE < 20 and HASBEENBLOCKED == false then
3510
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
3511
				CreateSound("260433487", HIT, 1, 1)
3512
			else
3513
			end
3514
		elseif DAMAGE >= 20 and HASBEENBLOCKED == false then
3515
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
3516
			else
3517
			end
3518
		elseif DAMAGE <= 3 and HASBEENBLOCKED == false then
3519
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
3520
				CreateSound("260433487", HIT, 1, 1)
3521
			else
3522
			end
3523
		end
3524
		if TYPE == "Normal" then
3525
			local vp = IT("BodyVelocity")
3526
			vp.P=500
3527
			vp.maxForce = VT(math.huge, 0, math.huge)
3528
			if KNOCKBACKTYPE == 1 then
3529
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK + PROPERTY.Velocity / 1.05
3530
			elseif KNOCKBACKTYPE == 2 then
3531
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK
3532
			end
3533
			if KNOCKBACK > 0 and HASBEENBLOCKED == false then
3534
				vp.Parent = HIT--.Parent.Torso
3535
			end
3536
			game:GetService("Debris"):AddItem(vp, 0.5)
3537
		end
3538
		HASBEENBLOCKED = false
3539
		RecentEnemy.Value = HIT.Parent
3540
		local DebounceHit = IT("BoolValue", HIT.Parent)
3541
		DebounceHit.Name = "DebounceHit"
3542
		DebounceHit.Value = true
3543
		game:GetService("Debris"):AddItem(DebounceHit, DELAY)
3544
	end
3545
c = HITHUMANOID.Parent:GetChildren()
3546
for g = 1, #c do
3547
if c[g].ClassName == "Script" then
3548
c[g]:Destroy()
3549
elseif c[g].ClassName == "Part" and c[g].Name ~= "HumanoidRootPart" then
3550
FREEZEHIT = FREEZEHIT + 1
3551
local ice = c[g]:Clone()
3552
ice.Size = c[g].Size + Vector3.new(0.2,0.2,0.2)
3553
ice.Name = "Ice"
3554
ice.CFrame = c[g].CFrame
3555
ice.Anchored = true
3556
ice.CanCollide = false
3557
ice.Parent = HITHUMANOID.Parent
3558
ice.Transparency = 0.5
3559
ice.Material = "Ice"
3560
ice.BrickColor = BrickColor.new("Steel blue")
3561
h = ice:GetChildren()
3562
for j = 1, #h do
3563
if h[j].ClassName ~= "SpecialMesh" then
3564
h[j]:Destroy()
3565
end
3566
end
3567
c[g].Anchored = true
3568
elseif c[g].ClassName == "Accessory" then
3569
c[g].Handle.Anchored = true
3570
end
3571
end
3572
local f = Instance.new("Folder")
3573
f.Name = "IceCover"
3574
f.Parent = HITHUMANOID.Parent
3575
end
3576
3577
--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)
3578
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)
3579
	for _, c in pairs(workspace:GetChildren()) do
3580
		local HUMANOID = c:FindFirstChild("Humanoid")
3581
		local HEAD = nil
3582
		if HUMANOID ~= nil then
3583
			for _, d in pairs(c:GetChildren()) do
3584
				if d.ClassName == "Model" and RANGED ~= true then
3585
					HEAD = d:FindFirstChild("Hitbox")
3586
					if HEAD ~= nil then
3587
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
3588
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
3589
							if Play_Hitbox_Hit_Sound == true then
3590
								local HitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
3591
								HitRefpart.Anchored = true
3592
								HitRefpart.CFrame = CF(HEAD.Position)
3593
								CreateSound(HITWEAPONSOUND, HitRefpart, 1, HITWEAPONSOUNDPITCH)
3594
							end
3595
							if Enable_Stagger_Hit == true then
3596
								StaggerHit.Value = true
3597
							end
3598
						end
3599
					end
3600
				elseif d:IsA"BasePart" then
3601
					HEAD = d
3602
					if HEAD ~= nil then
3603
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
3604
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
3605
							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)
3606
						end
3607
					end
3608
				end
3609
			end
3610
		end
3611
	end
3612
end
3613
3614
function UniqueMove1()
3615
    Humanoid.JumpPower = 0
3616
    Humanoid.WalkSpeed = 0
3617
	ATTACK = true
3618
	for i=0, 1, 0.1 do
3619
		Swait()
3620
		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)
3621
		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)
3622
		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)
3623
		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)
3624
		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)
3625
		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)
3626
		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)
3627
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3628
			break
3629
		end
3630
	end
3631
    chatfunc("Freeze up!")
3632
	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) 
3633
    SilenceRoar()
3634
    if FREEZEHIT > 0 then
3635
    Thaw()
3636
    FREEZEHIT = 0
3637
    else
3638
    Humanoid.JumpPower = 175
3639
    Humanoid.WalkSpeed = 45
3640
    pupil1.BrickColor = BrickColor.new("Steel blue")
3641
    pupil2.BrickColor = BrickColor.new("Steel blue")
3642
    end
3643
	ATTACK = false
3644
end
3645
3646
function Thaw()
3647
    Humanoid.JumpPower = 0
3648
    Humanoid.WalkSpeed = 0
3649
	ATTACK = true
3650
	for i=0, 1, 0.1 / Animation_Speed do
3651
		Swait()
3652
			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)
3653
			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)
3654
			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)
3655
			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)
3656
			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)
3657
			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)
3658
			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)
3659
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3660
			break
3661
		end
3662
	end
3663
    chatfunc("Break to pieces!")
3664
	CreateSound("553461718", LeftArm, 1.2, MRANDOM(7, 9) / 10)
3665
	for i=0, 1, 0.1 / Animation_Speed*7 do
3666
		Swait()
3667
		local Pos = HitboxPart
3668
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
3669
		local Color = "Cyan"
3670
		local Material = "Neon"
3671
		local TheDelay = 0.01
3672
		local Height = 6.2 * Player_Size
3673
		BLCF = Offset
3674
			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)
3675
			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)
3676
			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)
3677
			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)
3678
			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)
3679
			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)
3680
			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)
3681
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3682
			break
3683
		end
3684
	end
3685
    shockwaverightleg()
3686
	BLCF = nil
3687
	SCFR = nil
3688
	ATTACK = false
3689
    Humanoid.JumpPower = 175
3690
    Humanoid.WalkSpeed = 45
3691
    pupil1.BrickColor = BrickColor.new("Steel blue")
3692
    pupil2.BrickColor = BrickColor.new("Steel blue")
3693
end
3694
3695
function SilenceRoar2()
3696
    local exp = Instance.new("Part")
3697
    exp.Parent = Character
3698
    exp.Size = Vector3.new(1,1,1)
3699
    exp.Anchored = true
3700
    exp.Transparency = 1
3701
    exp.CanCollide = false
3702
    exp.CFrame = Torso.CFrame
3703
    exp.BrickColor = BrickColor.new("White")
3704
    exp.Material = "Sand"
3705
    local meshe = Instance.new("SpecialMesh")
3706
    meshe.MeshType = "Sphere"
3707
    meshe.Parent = exp
3708
    meshe.Scale = Vector3.new(3*24,3*24,3*24)
3709
    for size = 1, 12 do
3710
        meshe.Scale = meshe.Scale - Vector3.new(3,3,3)
3711
        exp.Transparency = exp.Transparency - (1/24)
3712
        wait(0.055)
3713
    end
3714
    for size = 1, 12 do
3715
        meshe.Scale = meshe.Scale - Vector3.new(3,3,3)
3716
        exp.Transparency = exp.Transparency + (1/34)
3717
        wait(0.055)
3718
    end
3719
    exp:Destroy()
3720
end
3721
3722
function SilenceRoar()
3723
    for i = 1, 5 do
3724
    BreakEffect(BrickColor.new("Black"),Torso.CFrame,0.5,math.random(5,20),0.5)
3725
    end
3726
    local exp = Instance.new("Part")
3727
    exp.Parent = Character
3728
    exp.Size = Vector3.new(1,1,1)
3729
    exp.Anchored = true
3730
    exp.Transparency = 0.25
3731
    exp.CanCollide = false
3732
    exp.CFrame = Torso.CFrame
3733
    exp.BrickColor = BrickColor.new("White")
3734
    exp.Material = "Sand"
3735
    local meshe = Instance.new("SpecialMesh")
3736
    meshe.MeshType = "Sphere"
3737
    meshe.Parent = exp
3738
    for size = 1, 24 do
3739
        BreakEffect(BrickColor.new("Black"),Torso.CFrame,0.5,math.random(5,20),0.5)
3740
        BreakEffect(BrickColor.new("Black"),Torso.CFrame,0.5,math.random(5,20),0.5)
3741
        BreakEffect(BrickColor.new("Black"),Torso.CFrame,0.5,math.random(5,20),0.5)
3742
        meshe.Scale = meshe.Scale + Vector3.new(5,5,5)
3743
        exp.Transparency = exp.Transparency + (1/25)
3744
        wait(0.025)
3745
    end
3746
    exp:Destroy()
3747
end
3748
3749
-- taunts --
3750
3751
function taunt1()
3752
CreateSound("861942173", Head, 35, MRANDOM(9, 10) / 10)
3753
end
3754
3755
function taunt2()
3756
	ATTACK = true
3757
    Humanoid.JumpPower = 0
3758
    Humanoid.WalkSpeed = 0
3759
    CreateSound("785301837", Head, 12, MRANDOM(9, 10) / 10)
3760
	for i=0, 1, 0.1 / Animation_Speed*5 do
3761
		Swait()
3762
			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)
3763
			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)
3764
			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)
3765
			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)
3766
			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)
3767
			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)
3768
			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)
3769
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3770
			break
3771
		end
3772
	end
3773
    for rawr = 1, 100 do
3774
    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) 
3775
    wait(0.05)
3776
    end
3777
    Humanoid.JumpPower = 175
3778
    Humanoid.WalkSpeed = 45
3779
	ATTACK = false
3780
end
3781
3782
--//=================================\\
3783
--||	  ASSIGN THINGS TO KEYS
3784
--\\=================================//
3785
3786
Humanoid.Changed:connect(function(Jump)
3787
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
3788
		Humanoid.Jump = false
3789
	end
3790
end)
3791
3792
function MouseDown(Mouse)
3793
	if ATTACK == true or EQUIPPED == false then
3794
		return
3795
	end
3796
	HOLD = true
3797
	if COMBO == 1 then
3798
		COMBO = 2
3799
		Attack2()
3800
	elseif COMBO == 2 then
3801
		COMBO = 1
3802
		Attack1()
3803
	end
3804
	coroutine.resume(coroutine.create(function()
3805
		for i=1, 50 do
3806
			if ATTACK == false then
3807
				Swait()
3808
			end
3809
		end
3810
		if ATTACK == false then
3811
			COMBO = 1
3812
		end
3813
	end))
3814
end
3815
3816
function MouseUp(Mouse)
3817
HOLD = false
3818
end
3819
3820
function KeyDown(Key)
3821
	if Key == "f" and Can_Equip_Or_Unequip == true and ATTACK == false then
3822
		ATTACK = true
3823
		COMBO = 1
3824
		if EQUIPPED == false then
3825
			EQUIPPED = true
3826
			if Disable_Animate == true then
3827
				ANIMATE.Parent = nil
3828
				local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
3829
				IDLEANIMATION:Play()
3830
			end
3831
			if Disable_Animator == true then
3832
				ANIMATOR.Parent = nil
3833
			end
3834
			Swait()
3835
		elseif EQUIPPED == true then
3836
		end
3837
		ATTACK = false
3838
	end
3839
	if Key == "e" and EQUIPPED == true and ATTACK == false then
3840
    Thaw()
3841
	end
3842
	if Key == "z" and EQUIPPED == true and ATTACK == false and CO1 >= Cooldown_1 and Mana.Value >= Skill_1_Mana_Cost then
3843
		Mana.Value = Mana.Value - Skill_1_Mana_Cost
3844
		CO1 = 0
3845
		Move1()
3846
	end
3847
	if Key == "x" and EQUIPPED == true and ATTACK == false and CO2 >= Cooldown_2 and Mana.Value >= Skill_2_Mana_Cost then
3848
    HOLDBLIZZARD = true
3849
    blizzard()
3850
	end
3851
	if Key == "c" and EQUIPPED == true and ATTACK == false and CO3 >= Cooldown_3 and Mana.Value >= Skill_3_Mana_Cost then
3852
       Freeze()
3853
	end
3854
	if Key == "v" and EQUIPPED == true and ATTACK == false and CO4 >= Cooldown_4 and Mana.Value >= Skill_4_Mana_Cost then
3855
       Attack3()
3856
	end
3857
		if Key == "q" then
3858
			Mana.Value = Max_Mana
3859
			SecondaryMana.Value = Max_Secondary_Mana
3860
			CO1 = Cooldown_1
3861
			CO2 = Cooldown_2
3862
			CO3 = Cooldown_3
3863
			CO4 = Cooldown_4
3864
		end
3865
		if Key == "p" then
3866
		end
3867
		if Key == "[" then
3868
		taunt1()
3869
		end
3870
		if Key == "]" then
3871
		taunt2()
3872
		end
3873
	end
3874
3875
function KeyUp(Key)
3876
HOLDBLIZZARD = false
3877
end
3878
3879
if Use_HopperBin == false then
3880
3881
	Mouse.Button1Down:connect(function(NEWKEY)
3882
		MouseDown(NEWKEY)
3883
	end)
3884
	Mouse.Button1Up:connect(function(NEWKEY)
3885
		MouseUp(NEWKEY)
3886
	end)
3887
	Mouse.KeyDown:connect(function(NEWKEY)
3888
		KeyDown(NEWKEY)
3889
	end)
3890
	Mouse.KeyUp:connect(function(NEWKEY)
3891
		KeyUp(NEWKEY)
3892
	end)
3893
3894
elseif Use_HopperBin == true then
3895
	WEAPONTOOL.Parent = Backpack
3896
	script.Parent = WEAPONTOOL
3897
	function SelectTool(Mouse)
3898
		Mouse.Button1Down:connect(function()
3899
			MouseDown(Mouse)
3900
		end)
3901
		Mouse.Button1Up:connect(function()
3902
			MouseUp(Mouse)
3903
		end)
3904
		Mouse.KeyDown:connect(KeyDown)
3905
		Mouse.KeyUp:connect(KeyUp)
3906
	end
3907
	function DeselectTool(Mouse)
3908
	end
3909
	WEAPONTOOL.Selected:connect(SelectTool)
3910
	WEAPONTOOL.Deselected:connect(DeselectTool)
3911
end
3912
3913
--//=================================\\
3914
--\\=================================//
3915
3916
3917
3918
3919
3920
--//=================================\\
3921
--||	WRAP THE WHOLE SCRIPT UP
3922
--\\=================================//
3923
3924
while true do
3925
	Swait()
3926
	if HitboxPart ~= nil and ATTACK == false and StaggerHit.Value == false and Stagger.Value == false and Stun.Value == false then
3927
		HitboxPart.Name = "NilHitbox"
3928
	else
3929
		HitboxPart.Name = "Hitbox"
3930
	end
3931
	if Enable_Gui == true then
3932
		UpdateGUI()
3933
	end
3934
	UpdateSkillsAndStuff()
3935
	if Walkspeed_Depends_On_Movement_Value == true then
3936
		if Movement.Value < 0 or StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true or Rooted.Value == true then
3937
			Humanoid.WalkSpeed = 0
3938
		else
3939
			Humanoid.WalkSpeed = 16 * Movement.Value * Player_Size
3940
		end
3941
	end
3942
	if Enable_Stun == true and StunValue.Value >= Max_Stun then
3943
		StunValue.Value = 0
3944
		Stun.Value = true
3945
	end
3946
	if Enable_Stagger_Hit == true then
3947
		if StaggerHit.Value == true and STAGGERHITANIM == false then
3948
			coroutine.resume(coroutine.create(function()
3949
				STAGGERHITANIM = true
3950
				while ATTACK == true do
3951
					Swait()
3952
				end
3953
				StaggerHitAnimation()
3954
				StaggerHit.Value = false
3955
				STAGGERHITANIM = false
3956
			end))
3957
		end
3958
	else
3959
		StaggerHit.Value = false
3960
	end
3961
	if Enable_Stagger == true then
3962
		if Stagger.Value == true and STAGGERANIM == false then
3963
			coroutine.resume(coroutine.create(function()
3964
				STAGGERANIM = true
3965
				while ATTACK == true do
3966
					Swait()
3967
				end
3968
				StaggerAnimation()
3969
				Stagger.Value = false
3970
				STAGGERANIM = false
3971
			end))
3972
		end
3973
	else
3974
		Stagger.Value = false
3975
	end
3976
	if Enable_Stun == true then
3977
		if Stun.Value == true and STUNANIM == false then
3978
			coroutine.resume(coroutine.create(function()
3979
				StunValue.Value = 0
3980
				STUNANIM = true
3981
				while ATTACK == true do
3982
					Swait()
3983
				end
3984
				StunAnimation()
3985
				Stun.Value = false
3986
				STUNANIM = false
3987
			end))
3988
		end
3989
	else
3990
		StunValue.Value = 0
3991
		Stun.Value = false
3992
	end
3993
	if DONUMBER >= .5 then
3994
		HANDIDLE = true
3995
	elseif DONUMBER <= 0 then
3996
		HANDIDLE = false
3997
	end
3998
	if HANDIDLE == false then
3999
		DONUMBER = DONUMBER + 0.003 / Animation_Speed
4000
	else
4001
		DONUMBER = DONUMBER - 0.003 / Animation_Speed
4002
	end
4003
	if ATTACK == false then
4004
		IDLENUMBER = IDLENUMBER + 1
4005
	else
4006
		IDLENUMBER = 0
4007
	end
4008
	if Enable_Stats == true then
4009
		for _, v in pairs (ChangeStat:GetChildren()) do
4010
			if v:FindFirstChild("Duration") ~= nil then
4011
				v:FindFirstChild("Duration").Value = v:FindFirstChild("Duration").Value - (1 / 30) / Animation_Speed
4012
				if v:FindFirstChild("Duration").Value <= 0 then
4013
					v.Parent = nil
4014
				end
4015
			end
4016
			if v.Name == "ChangeDefense" then
4017
				CHANGEDEFENSE = CHANGEDEFENSE + v.Value
4018
			elseif v.Name == "ChangeDamage" then
4019
				CHANGEDAMAGE = CHANGEDAMAGE + v.Value
4020
			elseif v.Name == "ChangeMovement" then
4021
				CHANGEMOVEMENT = CHANGEMOVEMENT + v.Value
4022
			end
4023
		end
4024
		Defense.Value = 1 + (CHANGEDEFENSE)
4025
		if Defense.Value <= 0.01 then
4026
			Defense.Value = 0.01
4027
		end
4028
		Damage.Value = 1 + (CHANGEDAMAGE)
4029
		if Damage.Value <= 0 then
4030
			Damage.Value = 0
4031
		end
4032
		Movement.Value = 1 + (CHANGEMOVEMENT)
4033
		if Movement.Value <= 0 then
4034
			Movement.Value = 0
4035
		end
4036
	CHANGEDEFENSE = 0
4037
	CHANGEDAMAGE = 0
4038
	CHANGEMOVEMENT = 0
4039
	end
4040
	SINE = SINE + CHANGE
4041
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
4042
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
4043
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
4044
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
4045
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
4046
	if ANIM == "Walk" and EQUIPPED == true and TORSOVELOCITY > 1 then
4047
		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)
4048
		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)
4049
		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)
4050
		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)
4051
	elseif (ANIM ~= "Walk" and EQUIPPED == true) or (TORSOVELOCITY < 1) then
4052
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
4053
		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)
4054
		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)
4055
		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)
4056
	end
4057
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
4058
		ANIM = "Jump"
4059
		if EQUIPPED == true and ATTACK == false then
4060
            Humanoid.WalkSpeed = 75
4061
			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)
4062
			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)
4063
			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)
4064
			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)
4065
			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)
4066
			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)
4067
			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)
4068
		end
4069
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
4070
		ANIM = "Fall"
4071
		if EQUIPPED == true and ATTACK == false then
4072
			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)
4073
			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)
4074
			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)
4075
			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)
4076
			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)
4077
			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)
4078
			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)
4079
		end
4080
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
4081
		ANIM = "Idle"
4082
		if EQUIPPED == true and ATTACK == false then
4083
			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)
4084
			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)
4085
			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)
4086
			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)
4087
			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)
4088
			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)
4089
			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)
4090
		end
4091
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
4092
		ANIM = "Walk"
4093
		WALK = WALK + 1 / Animation_Speed
4094
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
4095
			WALK = 0
4096
			if WALKINGANIM == true then
4097
				WALKINGANIM = false
4098
			elseif WALKINGANIM == false then
4099
				WALKINGANIM = true
4100
			end
4101
		end
4102
		if EQUIPPED == true and ATTACK == false then
4103
            Humanoid.WalkSpeed = 45
4104
			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)
4105
			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)
4106
			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)
4107
			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)
4108
			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)
4109
			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)
4110
			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)
4111
		end
4112
	end
4113
4114
end
4115
4116
--//=================================\\
4117
--\\=================================//
4118
4119
4120
4121
4122
4123
--//====================================================\\--
4124
--||			  		 END OF SCRIPT
4125
--\\====================================================//