View difference between Paste ID: 3byJymry and zw5qDYms
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2-
--||			   
2+
local Player,game,owner = owner,game
3-
--\\====================================================//--
3+
local RealPlayer = Player
4
do
5
    print("FE Compatibility code by Mokiros")
6
    local rp = RealPlayer
7
    script.Parent = rp.Character
8
   
9
    --RemoteEvent for communicating
10
    local Event = Instance.new("RemoteEvent")
11
    Event.Name = "UserInput_Event"
12
 
13
    --Fake event to make stuff like Mouse.KeyDown work
14
    local function fakeEvent()
15
        local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
16
        t.connect = t.Connect
17
        return t
18
    end
19
 
20
    --Creating fake input objects with fake variables
21
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
22
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
23
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
24
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
25
    end}
26
    --Merged 2 functions into one by checking amount of arguments
27
    CAS.UnbindAction = CAS.BindAction
28
 
29
    --This function will trigger the events that have been :Connect()'ed
30
    local function te(self,ev,...)
31
        local t = m[ev]
32
        if t and t._fakeEvent then
33
            for _,f in pairs(t.Functions) do
34
                f(...)
35
            end
36
        end
37
    end
38
    m.TrigEvent = te
39
    UIS.TrigEvent = te
40
 
41
    Event.OnServerEvent:Connect(function(plr,io)
42
        if plr~=rp then return end
43
        m.Target = io.Target
44
        m.Hit = io.Hit
45
        if not io.isMouse then
46
            local b = io.UserInputState == Enum.UserInputState.Begin
47
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
48
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
49
            end
50
            for _,t in pairs(CAS.Actions) do
51
                for _,k in pairs(t.Keys) do
52
                    if k==io.KeyCode then
53
                        t.Function(t.Name,io.UserInputState,io)
54
                    end
55
                end
56
            end
57
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
        end
60
    end)
61
    Event.Parent = NLS([==[
62
    local Player = game:GetService("Players").LocalPlayer
63
    local Event = script:WaitForChild("UserInput_Event")
64
 
65
    local Mouse = Player:GetMouse()
66
    local UIS = game:GetService("UserInputService")
67
    local input = function(io,a)
68
        if a then return end
69
        --Since InputObject is a client-side instance, we create and pass table instead
70
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
71
    end
72
    UIS.InputBegan:Connect(input)
73
    UIS.InputEnded:Connect(input)
74
 
75
    local h,t
76
    --Give the server mouse data 30 times every second, but only if the values changed
77
    --If player is not moving their mouse, client won't fire events
78
    while wait(1/30) do
79
        if h~=Mouse.Hit or t~=Mouse.Target then
80
            h,t=Mouse.Hit,Mouse.Target
81
            Event:FireServer({isMouse=true,Target=t,Hit=h})
82
        end
83
    end]==],Player.Character)
84
 
85
    ----Sandboxed game object that allows the usage of client-side methods and services
86
    --Real game object
87
    local _rg = game
88
 
89
    --Metatable for fake service
90
    local fsmt = {
91
        __index = function(self,k)
92
            local s = rawget(self,"_RealService")
93
            if s then return s[k] end
94
        end,
95
        __newindex = function(self,k,v)
96
            local s = rawget(self,"_RealService")
97
            if s then s[k]=v end
98
        end,
99
        __call = function(self,...)
100
            local s = rawget(self,"_RealService")
101
            if s then return s(...) end
102
        end
103
    }
104
    local function FakeService(t,RealService)
105
        t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
106
        return setmetatable(t,fsmt)
107
    end
108
 
109
    --Fake game object
110
    local g = {
111
        GetService = function(self,s)
112
            return self[s]
113
        end,
114
        Players = FakeService({
115
            LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
116
        },"Players"),
117
        UserInputService = FakeService(UIS,"UserInputService"),
118
        ContextActionService = FakeService(CAS,"ContextActionService"),
119
    }
120
    rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
121
    g.service = g.GetService
122
   
123
    g.RunService = FakeService({
124
        RenderStepped = _rg:GetService("RunService").Heartbeat,
125
        BindToRenderStep = function(self,name,_,fun)
126
 
127
        end,
128
        UnbindFromRenderStep = function(self,name)
129
            self._btrs[name]:Disconnect()
130
        end,
131
    },"RunService")
132
 
133
    setmetatable(g,{
134
        __index=function(self,s)
135
            return _rg:GetService(s) or typeof(_rg[s])=="function"
136
            and function(_,...)return _rg[s](_rg,...)end or _rg[s]
137
        end,
138
        __newindex = fsmt.__newindex,
139
        __call = fsmt.__call
140
    })
141
    --Changing owner to fake player object to support owner:GetMouse()
142
    game,owner = g,g.Players.LocalPlayer
143
end
144
145
146
147
148
149
wait(0.2)
150
151
152
153
Player = game:GetService("Players").LocalPlayer
154
PlayerGui = Player.PlayerGui
155
Cam = workspace.CurrentCamera
156
Backpack = Player.Backpack
157
Character = Player.Character
158
Humanoid = Character.Humanoid
159
Mouse = Player:GetMouse()
160
RootPart = Character["HumanoidRootPart"]
161
Torso = Character["Torso"]
162
Head = Character["Head"]
163
RightArm = Character["Right Arm"]
164
LeftArm = Character["Left Arm"]
165
RightLeg = Character["Right Leg"]
166
LeftLeg = Character["Left Leg"]
167
RootJoint = RootPart["RootJoint"]
168
Neck = Torso["Neck"]
169
RightShoulder = Torso["Right Shoulder"]
170
LeftShoulder = Torso["Left Shoulder"]
171
RightHip = Torso["Right Hip"]
172
LeftHip = Torso["Left Hip"]
173
174
IT = Instance.new
175
CF = CFrame.new
176
VT = Vector3.new
177
RAD = math.rad
178
C3 = Color3.new
179
UD2 = UDim2.new
180
BRICKC = BrickColor.new
181
ANGLES = CFrame.Angles
182
EULER = CFrame.fromEulerAnglesXYZ
183
COS = math.cos
184
ACOS = math.acos
185
SIN = math.sin
186
ASIN = math.asin
187
ABS = math.abs
188
MRANDOM = math.random
189
FLOOR = math.floor
190
191
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
192
	local NEWMESH = IT(MESH)
193
	if MESH == "SpecialMesh" then
194
		NEWMESH.MeshType = MESHTYPE
195
		if MESHID ~= "nil" and MESHID ~= "" then
196
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
197
		end
198
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
199
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
200
		end
201
	end
202
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
203
	NEWMESH.Scale = SCALE
204
	NEWMESH.Parent = PARENT
205
	return NEWMESH
206
end
207
208
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
209
	local NEWPART = IT("Part")
210
	NEWPART.formFactor = FORMFACTOR
211
	NEWPART.Reflectance = REFLECTANCE
212
	NEWPART.Transparency = TRANSPARENCY
213
	NEWPART.CanCollide = false
214
	NEWPART.Locked = true
215
	if ANCHOR == true then
216
		NEWPART.Anchored = true
217
	end
218
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
219
	NEWPART.Name = NAME
220
	NEWPART.Size = SIZE
221
	NEWPART.Position = Torso.Position
222
	NEWPART.Material = MATERIAL
223
	NEWPART:BreakJoints()
224
	NEWPART.Parent = PARENT
225
	return NEWPART
226
end
227
228
229
--//=================================\\
230
--||		  CUSTOMIZATION
231
--\\=================================//
232
233
Class_Name = "FireFist.exe"
234
Weapon_Name = "Add-ons"
235
236
Custom_Colors = {
237
	Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
238
	Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
239
240
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
241
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
242
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
243
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
244
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
245
246
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
247
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
248
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
249
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
250
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
251
}
252
253
254
Player_Size = 1 --Size of the player.
255
Animation_Speed = 3
256
Animation_Speed2 = 0.7
257
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
258
259
local Speed = 25
260
local Effects2 = {}
261
262
--//=================================\\
263
--|| 	  END OF CUSTOMIZATION
264
--\\=================================//
265
266
	local function weldBetween(a, b)
267
	    local weldd = Instance.new("ManualWeld")
268
	    weldd.Part0 = a
269
	    weldd.Part1 = b
270
	    weldd.C0 = CFrame.new()
271
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
272
	    weldd.Parent = a
273
	    return weldd
274
	end
275
276
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
277
local acs = Instance.new("Part")
278
acs.CanCollide = false
279
acs.Anchored = false
280
acs.Size = Vector3.new(0,0,0)
281
acs.CFrame = attachmentpart.CFrame
282
acs.Parent = Character
283
acs.BrickColor = color
284
    local meshs = Instance.new("SpecialMesh")
285
    meshs.MeshId = mesh
286
    meshs.TextureId = texture
287
    meshs.Parent = acs
288
    meshs.Scale = scale
289
    meshs.Offset = offset
290
weldBetween(attachmentpart,acs)
291
end
292
293
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
294
if TYPE == "Gem" then
295
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
296
	acs.Anchored = false
297
    acs.CanCollide = false
298
	acs.CFrame = PART.CFrame
299
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
300
weldBetween(PART,acs)
301
elseif TYPE == "Skull" then
302
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
303
	acs.Anchored = false
304
    acs.CanCollide = false
305
	acs.CFrame = PART.CFrame
306
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
307
weldBetween(PART,acs)
308
elseif TYPE == "Eye" then
309
	local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
310
	acs.Anchored = false
311
    acs.CanCollide = false
312
	acs.CFrame = PART.CFrame
313
	local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
314
weldBetween(PART,acs)
315
end
316
end
317
318
--//=================================\\
319
--|| 	      USEFUL VALUES
320
--\\=================================//
321
322
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
323
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
324
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
325
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
326
local CO1 = 0
327
local CO2 = 0
328
local CO3 = 0
329
local CO4 = 0
330
local CHANGEDEFENSE = 0
331
local CHANGEDAMAGE = 0
332
local CHANGEMOVEMENT = 0
333
local ANIM = "Idle"
334
local ATTACK = false
335
local EQUIPPED = false
336
local HOLD = false
337
local COMBO = 1
338
local LASTPOINT = nil
339
local BLCF = nil
340
local SCFR = nil
341
local STAGGERHITANIM = false
342
local STAGGERANIM = false
343
local STUNANIM = false
344
local CRITCHANCENUMBER = 0
345
local IDLENUMBER = 0
346
local DONUMBER = 0
347
local HANDIDLE = false
348
local Rooted = false
349
local MANA = 1000
350
local MAXMANA = MANA
351
local SINE = 0
352
local CHANGE = 2 / Animation_Speed
353
local WALKINGANIM = false
354
local WALK = 0
355
local DISABLEJUMPING = false
356
local ROBLOXIDLEANIMATION = IT("Animation")
357
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
358
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
359
--ROBLOXIDLEANIMATION.Parent = Humanoid
360
local WEAPONGUI = IT("ScreenGui", PlayerGui)
361
WEAPONGUI.Name = "Weapon GUI"
362
local Weapon = IT("Model")
363
Weapon.Name = Weapon_Name
364
local Effects = IT("Folder", Weapon)
365
Effects.Name = "Effects"
366
local ANIMATOR = Humanoid.Animator
367
local ANIMATE = Character.Animate
368
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
369
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
370
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
371
local HITBLOCKSOUNDS = {"199148933", "199148947"}
372
local UNANCHOR = true
373
local MAGICPARTICLE = "655109389"
374
375
local SKILLTEXTCOLOR = C3(1,0.3,0)
376
377
--//=================================\\
378
--\\=================================//
379
380
381
--//=================================\\
382
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
383
--\\=================================//
384
385
ArtificialHB = Instance.new("BindableEvent", script)
386
ArtificialHB.Name = "ArtificialHB"
387
388
script:WaitForChild("ArtificialHB")
389
390
frame = Frame_Speed
391
tf = 0
392
allowframeloss = false
393
tossremainder = false
394
lastframe = tick()
395
script.ArtificialHB:Fire()
396
397
game:GetService("RunService").Heartbeat:connect(function(s, p)
398
	tf = tf + s
399
	if tf >= frame then
400
		if allowframeloss then
401
			script.ArtificialHB:Fire()
402
			lastframe = tick()
403
		else
404
			for i = 1, math.floor(tf / frame) do
405
				script.ArtificialHB:Fire()
406
			end
407
		lastframe = tick()
408
		end
409
		if tossremainder then
410
			tf = 0
411
		else
412
			tf = tf - frame * math.floor(tf / frame)
413
		end
414
	end
415
end)
416
417
--//=================================\\
418
--\\=================================//
419
420
421
422
423
424
--//=================================\\
425
--|| 	      SOME FUNCTIONS
426
--\\=================================//
427
428
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
429
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
430
end
431
432
function PositiveAngle(NUMBER)
433
	if NUMBER >= 0 then
434
		NUMBER = 0
435
	end
436
	return NUMBER
437
end
438
439
function NegativeAngle(NUMBER)
440
	if NUMBER <= 0 then
441
		NUMBER = 0
442
	end
443
	return NUMBER
444
end
445
446
function Swait(NUMBER)
447
	if NUMBER == 0 or NUMBER == nil then
448
		ArtificialHB.Event:wait()
449
	else
450
		for i = 1, NUMBER do
451
			ArtificialHB.Event:wait()
452
		end
453
	end
454
end
455
456
function QuaternionFromCFrame(cf)
457
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
458
	local trace = m00 + m11 + m22
459
	if trace > 0 then 
460
		local s = math.sqrt(1 + trace)
461
		local recip = 0.5 / s
462
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
463
	else
464
		local i = 0
465
		if m11 > m00 then
466
			i = 1
467
		end
468
		if m22 > (i == 0 and m00 or m11) then
469
			i = 2
470
		end
471
		if i == 0 then
472
			local s = math.sqrt(m00 - m11 - m22 + 1)
473
			local recip = 0.5 / s
474
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
475
		elseif i == 1 then
476
			local s = math.sqrt(m11 - m22 - m00 + 1)
477
			local recip = 0.5 / s
478
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
479
		elseif i == 2 then
480
			local s = math.sqrt(m22 - m00 - m11 + 1)
481
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
482
		end
483
	end
484
end
485
 
486
function QuaternionToCFrame(px, py, pz, x, y, z, w)
487
	local xs, ys, zs = x + x, y + y, z + z
488
	local wx, wy, wz = w * xs, w * ys, w * zs
489
	local xx = x * xs
490
	local xy = x * ys
491
	local xz = x * zs
492
	local yy = y * ys
493
	local yz = y * zs
494
	local zz = z * zs
495
	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))
496
end
497
 
498
	function part(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
499
		local fp=IT("Part")
500
		fp.formFactor=formfactor
501
		fp.Parent=parent
502
		fp.Reflectance=reflectance
503
		fp.Transparency=transparency
504
		fp.CanCollide=false
505
		fp.Locked=true
506
		fp.BrickColor=BrickColor.new(tostring(brickcolor))
507
		fp.Name=name
508
		fp.Size=size
509
		fp.Position=Character.Torso.Position
510
		NoOutlines(fp)
511
		fp.Material=material
512
		fp:BreakJoints()
513
		return fp
514
	end
515
	
516
	function mesh(Mesh,part,meshtype,meshid,offset,scale)
517
		local mesh=IT(Mesh)
518
		mesh.Parent=part
519
		if Mesh=="SpecialMesh" then
520
			mesh.MeshType=meshtype
521
			mesh.MeshId=meshid
522
		end
523
		mesh.Offset=offset
524
		mesh.Scale=scale
525
		return mesh
526
	end
527
528
function QuaternionSlerp(a, b, t)
529
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
530
	local startInterp, finishInterp;
531
	if cosTheta >= 0.0001 then
532
		if (1 - cosTheta) > 0.0001 then
533
			local theta = ACOS(cosTheta)
534
			local invSinTheta = 1 / SIN(theta)
535
			startInterp = SIN((1 - t) * theta) * invSinTheta
536
			finishInterp = SIN(t * theta) * invSinTheta
537
		else
538
			startInterp = 1 - t
539
			finishInterp = t
540
		end
541
	else
542
		if (1 + cosTheta) > 0.0001 then
543
			local theta = ACOS(-cosTheta)
544
			local invSinTheta = 1 / SIN(theta)
545
			startInterp = SIN((t - 1) * theta) * invSinTheta
546
			finishInterp = SIN(t * theta) * invSinTheta
547
		else
548
			startInterp = t - 1
549
			finishInterp = t
550
		end
551
	end
552
	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
553
end
554
555
function Clerp(a, b, t)
556
	local qa = {QuaternionFromCFrame(a)}
557
	local qb = {QuaternionFromCFrame(b)}
558
	local ax, ay, az = a.x, a.y, a.z
559
	local bx, by, bz = b.x, b.y, b.z
560
	local _t = 1 - t
561
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
562
end
563
564
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
565
	local frame = IT("Frame")
566
	frame.BackgroundTransparency = TRANSPARENCY
567
	frame.BorderSizePixel = BORDERSIZEPIXEL
568
	frame.Position = POSITION
569
	frame.Size = SIZE
570
	frame.BackgroundColor3 = COLOR
571
	frame.BorderColor3 = BORDERCOLOR
572
	frame.Name = NAME
573
	frame.Parent = PARENT
574
	return frame
575
end
576
577
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
578
	local label = IT("TextLabel")
579
	label.BackgroundTransparency = 1
580
	label.Size = UD2(1, 0, 1, 0)
581
	label.Position = UD2(0, 0, 0, 0)
582
	label.TextColor3 = TEXTCOLOR
583
	label.TextStrokeTransparency = STROKETRANSPARENCY
584
	label.TextTransparency = TRANSPARENCY
585
	label.FontSize = TEXTFONTSIZE
586
	label.Font = TEXTFONT
587
	label.BorderSizePixel = BORDERSIZEPIXEL
588
	label.TextScaled = false
589
	label.Text = TEXT
590
	label.Name = NAME
591
	label.Parent = PARENT
592
	return label
593
end
594
595
function NoOutlines(PART)
596
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
597
end
598
599
600
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
601
	local NEWWELD = IT(TYPE)
602
	NEWWELD.Part0 = PART0
603
	NEWWELD.Part1 = PART1
604
	NEWWELD.C0 = C0
605
	NEWWELD.C1 = C1
606
	NEWWELD.Parent = PARENT
607
	return NEWWELD
608
end
609
610
function CreateSound(ID, PARENT, VOLUME, PITCH)
611
	local NEWSOUND = nil
612
	coroutine.resume(coroutine.create(function()
613
		NEWSOUND = IT("Sound", PARENT)
614
		NEWSOUND.Volume = VOLUME
615
		NEWSOUND.Pitch = PITCH
616
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
617
		Swait()
618
		NEWSOUND:play()
619
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
620
	end))
621
	return NEWSOUND
622
end
623
624
function CFrameFromTopBack(at, top, back)
625
	local right = top:Cross(back)
626
	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)
627
end
628
629
function CreateWave(inair,size,doesrotate,rotatedirection,waitt,cframe,color)
630
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0), true)
631
	local mesh = IT("SpecialMesh",wave)
632
	mesh.MeshType = "FileMesh"
633
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
634
	mesh.Scale = VT(size,size,size)
635
	mesh.Offset = VT(0,0,-size/8)
636
	wave.CFrame = cframe
637
	coroutine.resume(coroutine.create(function(PART)
638
		for i = 1, waitt do
639
			Swait()
640
			mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
641
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
642
			if doesrotate == true then
643
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
644
			end
645
			wave.Transparency = wave.Transparency + (0.5/waitt)
646
			if wave.Transparency > 0.99 then
647
				wave:remove()
648
			end
649
		end
650
	end))
651
end
652
653
function CreateSwirl(inair,size,doesrotate,rotatedirection,waitt,cframe,color)
654
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0), true)
655
	local mesh = IT("SpecialMesh",wave)
656
	mesh.MeshType = "FileMesh"
657
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
658
	mesh.Scale = VT(size,size,size)
659
	wave.CFrame = cframe
660
	coroutine.resume(coroutine.create(function(PART)
661
		for i = 1, waitt do
662
			Swait()
663
			mesh.Scale = mesh.Scale + VT(size/5,size/10,size/5)
664
			if doesrotate == true then
665
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
666
			end
667
			wave.Transparency = wave.Transparency + (0.5/waitt)
668
			if wave.Transparency > 0.99 then
669
				wave:remove()
670
			end
671
		end
672
	end))
673
end
674
675
function CreateTornado(inair,size,doesrotate,rotatedirection,waitt,cframe,color)
676
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0), true)
677
	local mesh = IT("SpecialMesh",wave)
678
	mesh.MeshType = "FileMesh"
679
	mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
680
	mesh.Scale = VT(size,size,size)
681
	wave.CFrame = cframe
682
	coroutine.resume(coroutine.create(function(PART)
683
		for i = 1, waitt do
684
			Swait()
685
			mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
686
			if doesrotate == true then
687
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
688
			end
689
			wave.Transparency = wave.Transparency + (0.5/waitt)
690
			if wave.Transparency > 0.99 then
691
				wave:remove()
692
			end
693
		end
694
	end))
695
end
696
697
function CreateRing(inair,size,doesrotate,rotatedirection,waitt,cframe,spin1,spin2,color)
698
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0), true)
699
	local mesh = IT("SpecialMesh",wave)
700
	mesh.MeshType = "FileMesh"
701
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
702
	mesh.Scale = VT(size,size,size)
703
	mesh.Offset = VT(0,0,0)
704
	wave.CFrame = cframe
705
	coroutine.resume(coroutine.create(function(PART)
706
		for i = 1, waitt do
707
			Swait()
708
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
709
			if doesrotate == true then
710
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(spin2, rotatedirection, spin1)
711
			end
712
			wave.Transparency = wave.Transparency + (0.5/waitt)
713
			if wave.Transparency > 0.99 then
714
				wave:remove()
715
			end
716
		end
717
	end))
718
end
719
720
function MagicSphere(size,waitt,cframe,color)
721
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(1,1,1), true)
722
	local mesh = IT("SpecialMesh",wave)
723
	mesh.MeshType = "Sphere"
724
	mesh.Scale = VT(size,size,size)
725
	mesh.Offset = VT(0,0,0)
726
	wave.CFrame = cframe
727
	coroutine.resume(coroutine.create(function(PART)
728
		for i = 1, waitt do
729
			Swait()
730
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
731
			wave.Transparency = wave.Transparency + (1/waitt)
732
			if wave.Transparency > 0.99 then
733
				wave:remove()
734
			end
735
		end
736
	end))
737
end
738
739
function MagicSphere2(size,waitt,cframe,color)
740
	local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(1,1,1), true)
741
	local mesh = IT("SpecialMesh",wave)
742
	mesh.MeshType = "Sphere"
743
	mesh.Scale = VT(size,size,size)
744
	mesh.Offset = VT(0,0,0)
745
	wave.CFrame = cframe
746
	coroutine.resume(coroutine.create(function(PART)
747
		for i = 1, waitt do
748
			Swait()
749
			mesh.Scale = mesh.Scale - VT(size/waitt,size/waitt,size/waitt)
750
			wave.Transparency = wave.Transparency - (1/waitt)
751
		end
752
		wave:remove()
753
	end))
754
end
755
756
function BreakEffect(brickcolor,cframe,x1,y1,z1,material)
757
	local prt=part("Custom",workspace,material,0,0,brickcolor,"Effect",VT(0.5,0.5,0.5))
758
	prt.Anchored=true
759
	prt.CFrame=cframe*EULER(math.random(-50,50),math.random(-50,50),math.random(-50,50))
760
	local msh=mesh("SpecialMesh",prt,"Sphere","",VT(0,0,0),VT(x1,y1,z1))
761
	coroutine.resume(coroutine.create(function(Part,CF,Numbb,randnumb) 
762
		CF=Part.CFrame
763
		Numbb=0
764
		randnumb=math.random()-math.random()
765
		for i=0,1,0.05 do
766
			wait()
767
			CF=CF*CF(0,1,0)
768
			--Part.CFrame=Part.CFrame*euler(0.5,0,0)*cf(0,1,0)
769
			Part.CFrame=CF*EULER(Numbb,0,0)
770
			Part.Transparency=i
771
			Numbb=Numbb+randnumb
772
		end
773
		Part.Parent=nil
774
	end),prt)
775
end
776
777
function MagicBlock(size,waitt,cframe,color)
778
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(size,size,size), true)
779
	local mesh = IT("BlockMesh",wave)
780
	wave.CFrame = cframe
781
	coroutine.resume(coroutine.create(function(PART)
782
		for i = 1, waitt do
783
			Swait()
784
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
785
			wave.CFrame = cframe * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
786
			wave.Transparency = wave.Transparency + (1/waitt)
787
			if wave.Transparency > 0.99 then
788
				wave:remove()
789
			end
790
		end
791
	end))
792
end
793
794
function MagicBlock2(size,waitt,cframe,color)
795
	local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(size,size,size), true)
796
	local mesh = IT("BlockMesh",wave)
797
	wave.CFrame = cframe
798
	coroutine.resume(coroutine.create(function(PART)
799
		for i = 1, waitt do
800
			Swait()
801
			mesh.Scale = mesh.Scale - VT(1/waitt,1/waitt,1/waitt)
802
			wave.CFrame = cframe * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
803
			wave.Transparency = wave.Transparency - (1/waitt)
804
		end
805
		wave:Destroy()
806
	end))
807
end
808
809
local EyeSizes={
810
	NumberSequenceKeypoint.new(0,1,0),
811
	NumberSequenceKeypoint.new(1,0.2,0)
812
}
813
local EyeTrans={
814
	NumberSequenceKeypoint.new(0,0.8,0),
815
	NumberSequenceKeypoint.new(1,1,0)
816
}
817
local PE=Instance.new("ParticleEmitter")
818
PE.LightEmission=0.7
819
PE.Size=NumberSequence.new(EyeSizes)
820
PE.Transparency=NumberSequence.new(EyeTrans)
821
PE.Lifetime=NumberRange.new(0.35,0.35,0.35)
822
PE.Rotation=NumberRange.new(0,360)
823
PE.Rate=15
824
PE.Acceleration = Vector3.new(0,75,0)
825
PE.Drag = 5
826
PE.Enabled = false
827
PE.VelocitySpread = 999
828
PE.Speed = NumberRange.new(0,0,0)
829
PE.Texture="http://www.roblox.com/asset/?id=1179557490"
830
PE.ZOffset = 0
831
PE.Name = "Particles"
832
function CreateParticles(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
833
	local particle = nil
834
	coroutine.resume(coroutine.create(function(PART)
835
		particle = PE:Clone()
836
		Swait()
837
		particle.Rate = 999
838
		particle.Parent = art
839
		particle.Acceleration = accel
840
		if type == "Fire" then
841
			local EyeSizes={
842
				NumberSequenceKeypoint.new(0,size,size/2),
843
				NumberSequenceKeypoint.new(1,size/4,size/8)
844
			}
845
			particle.Size = NumberSequence.new(EyeSizes)
846
		elseif type == "Smoke" then
847
			local EyeSizes={
848
				NumberSequenceKeypoint.new(0,0.5,0),
849
				NumberSequenceKeypoint.new(1,5,0.5)
850
			}
851
			particle.Size = NumberSequence.new(EyeSizes)
852
		elseif type == "Solid" then
853
			local EyeSizes={
854
				NumberSequenceKeypoint.new(0,0.5,0),
855
				NumberSequenceKeypoint.new(1,0.5,0)
856
			}
857
			particle.Size = NumberSequence.new(EyeSizes)
858
		end
859
		particle.Lifetime=NumberRange.new(lifetime)
860
		particle.Drag = drag
861
		if locked == true then
862
			particle.LockedToPart = true
863
		end
864
		particle.Speed = NumberRange.new(speed,speed,speed)
865
		particle.Texture = "http://www.roblox.com/asset/?id=296874871"
866
		particle.Enabled = isenabledbydefault
867
		particle.Color = ColorSequence.new(Color3.new(255/255, 75/255, 0))
868
	end))
869
return particle
870
end
871
872
--//=================================\\
873
--\\=================================//
874
875
876
--//=================================\\
877
--||	     WEAPON CREATION
878
--\\=================================//
879
880
if Player_Size ~= 1 then
881
	for _, v in pairs (Weapon:GetChildren()) do
882
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
883
			local p1 = v.Part1
884
			v.Part1 = nil
885
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
886
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
887
			v.Part1 = p1
888
		elseif v.ClassName == "Part" then
889
			for _, b in pairs (v:GetChildren()) do
890
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
891
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
892
				end
893
			end
894
		end
895
	end
896
end
897
898
function MakeForm(PART,TYPE)
899
	if TYPE == "Cyl" then
900
		local MSH = IT("CylinderMesh",PART)
901
	elseif TYPE == "Ball" then
902
		local MSH = IT("SpecialMesh",PART)
903
		MSH.MeshType = "Sphere"
904
	elseif TYPE == "Wedge" then
905
		local MSH = IT("SpecialMesh",PART)
906
		MSH.MeshType = "Wedge"
907
	end
908
end
909
910
function createaddon(position,size)
911
	local part = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "Gauntlet Part", VT(0.25*Player_Size, size*0.8*Player_Size,size*0.8*Player_Size),false)
912
	local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.45 * Player_Size, position * Player_Size, 0 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, 0, 0))
913
	local part = CreatePart(3, Weapon, "Neon", 0, 0, "CGA brown", "Neon Gauntlet Part", VT(0.25*Player_Size,size*Player_Size,size*Player_Size),false)
914
	local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.425 * Player_Size, position * Player_Size, 0 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, 0, 0))
915
end
916
917
local FIST = CreatePart(3, Weapon, "Neon", 0, 0, "CGA brown", "Neon Gauntlet Part", VT(1.025*Player_Size,2.025*Player_Size,1.025*Player_Size),false)
918
local weld = CreateWeldOrSnapOrMotor("Weld", FIST, RightArm, FIST, CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
919
FIST.CanCollide = true
920
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "Gauntlet Part", VT(1.05*Player_Size,1.05*Player_Size,1.05*Player_Size),false)
921
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
922
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Deep orange", "Gauntlet Part", VT(1.06*Player_Size,0.2*Player_Size,1.06*Player_Size),false)
923
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
924
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "Gauntlet Part", VT(1.05*Player_Size,0.55*Player_Size,1.05*Player_Size),false)
925
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, -0.75 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
926
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "Gauntlet Part", VT(1.05*Player_Size,0.25*Player_Size,1.05*Player_Size),false)
927
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, -0.15 * Player_Size, 0 * Player_Size) * ANGLES(RAD(180), RAD(-90), RAD(0)), CF(0, 0, 0))
928
MakeForm(part,"Wedge")
929
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "Gauntlet Part", VT(1.05*Player_Size,0.25*Player_Size,1.05*Player_Size),false)
930
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, -0.35 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
931
MakeForm(part,"Wedge")
932
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Deep orange", "Gauntlet Part", VT(1.035*Player_Size,0.3*Player_Size,1.035*Player_Size),false)
933
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
934
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Deep orange", "Gauntlet Part", VT(1.035*Player_Size,0.3*Player_Size,1.035*Player_Size),false)
935
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
936
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Deep orange", "Gauntlet Part", VT(1.1*Player_Size,1.1*Player_Size,1.1*Player_Size),false)
937
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
938
MakeForm(part,"Wedge")
939
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "Gauntlet Part", VT(1.15*Player_Size,1.15*Player_Size,1.15*Player_Size),false)
940
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.05 * Player_Size, -0.505 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
941
MakeForm(part,"Wedge")
942
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Deep orange", "Gauntlet Part", VT(0.2*Player_Size,0.7*Player_Size,0.7*Player_Size),false)
943
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.28 * Player_Size, -0.77 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
944
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Deep orange", "Gauntlet Part", VT(0.2*Player_Size,0.7*Player_Size,0.7*Player_Size),false)
945
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.28 * Player_Size, -0.77 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
946
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Deep orange", "Gauntlet Part", VT(0.2*Player_Size,0.7*Player_Size,0.7*Player_Size),false)
947
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.28 * Player_Size, -0.77 * Player_Size, 0.3 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
948
createaddon(0.4,0.4)
949
createaddon(0.5,0.3)
950
createaddon(0.6,0.2)
951
local part = CreatePart(3, Weapon, "Neon", 0, 0, "CGA brown", "Neon Gauntlet Part", VT(0.3*Player_Size,1.1*Player_Size,0.3*Player_Size),false)
952
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
953
954
for _, c in pairs(Weapon:GetChildren()) do
955
	if c.ClassName == "Part" then
956
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
957
	end
958
end
959
960
Weapon.Parent = Character
961
962
Humanoid.Died:connect(function()
963
	ATTACK = true
964
end)
965
966
print(Class_Name.." loaded.")
967
968
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
969
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
970
971
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Fireball", SKILLTEXTCOLOR, 8, "SciFi", 0, 2, 1, "Text 1")
972
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Infernal drive", SKILLTEXTCOLOR, 8, "SciFi", 0, 2, 1, "Text 2")
973
974
local MANABAR = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.82, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0),"Mana Bar") 
975
local MANACOVER = CreateFrame(MANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(0,0,0), C3(0, 0, 0),"Mana Cover")
976
local MANATEXT = CreateLabel(MANABAR, "ENERGY ["..FLOOR(MANA).."]", C3(1, 1, 1), "Size32", "SciFi", 1, 2, 1, "Mana Text")
977
978
--//=================================\\
979
--||	     DAMAGE FUNCTIONS
980
--\\=================================//
981
982
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
983
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
984
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
985
	local BODYGYRO = IT("BodyGyro", STATPART)
986
	local BODYPOSITION = IT("BodyPosition", STATPART)
987
	BODYPOSITION.P = 2000
988
	BODYPOSITION.D = 100
989
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
990
	if LABELTYPE == "Normal" then
991
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
992
	elseif LABELTYPE == "Debuff" then
993
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
994
	elseif LABELTYPE == "Interruption" then
995
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
996
	end
997
	game:GetService("Debris"):AddItem(STATPART ,5)
998
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
999
	BILLBOARDGUI.Adornee = STATPART
1000
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
1001
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
1002
	BILLBOARDGUI.AlwaysOnTop = false
1003
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
1004
	TEXTLABEL.BackgroundTransparency = 1
1005
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
1006
	TEXTLABEL.Text = TEXT
1007
	TEXTLABEL.Font = "SciFi"
1008
	TEXTLABEL.FontSize="Size42"
1009
	TEXTLABEL.TextColor3 = COLOR
1010
	TEXTLABEL.TextStrokeTransparency = 1
1011
	TEXTLABEL.TextScaled = true
1012
	TEXTLABEL.TextWrapped = true
1013
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
1014
		wait(0.2)
1015
		for i=1, 5 do
1016
			wait()
1017
			THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
1018
		end
1019
		wait(1.2)
1020
		for i=1, 5 do
1021
			wait()
1022
			THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
1023
			THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
1024
			THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
1025
		end
1026
		THEPART.Parent = nil
1027
	end),STATPART, BODYPOSITION, TEXTLABEL)
1028
end
1029
1030
1031
--//=================================\\
1032
--||			DAMAGING
1033
--\\=================================//
1034
1035
function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
1036
	if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
1037
		local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
1038
		local dmg = math.huge
1039
		if humanoid.Health > 0 then
1040
			if beserk == true then
1041
				humanoid.Health = 0
1042
			else
1043
				CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
1044
				hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
1045
				if math.random(1,100) < critrate+1 then
1046
					humanoid.Health = humanoid.Health - dmg*critmultiplier
1047
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
1048
				else
1049
					humanoid.Health = humanoid.Health - dmg
1050
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(0, 0, 0))
1051
				end
1052
				local defence = Instance.new("BoolValue",hit.Parent)
1053
				defence.Name = ("HitBy"..Player.Name)
1054
				game:GetService("Debris"):AddItem(defence, 0.25)
1055
			end
1056
		end
1057
	end
1058
end
1059
1060
function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping)
1061
	local dmg = math.huge
1062
	for i,v in ipairs(workspace:GetChildren()) do
1063
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
1064
		local body = v:GetChildren()
1065
			for part = 1, #body do
1066
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1067
					if(body[part].Position - position).Magnitude < radius then
1068
						if v.ClassName == "Model" then
1069
							if v:FindFirstChild("Humanoid") then
1070
								if v.Humanoid.Health ~= 0 then
1071
									if CanBeDodgedByJumping == true then
1072
										if body[part].Position.Y < position.Y+5 then
1073
											if math.random(1,100) < critrate+1 then
1074
												v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
1075
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
1076
											else
1077
												v.Humanoid.Health = v.Humanoid.Health - dmg
1078
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
1079
											end
1080
											local defence = Instance.new("BoolValue",v)
1081
											defence.Name = ("HitBy"..Player.Name)
1082
											game:GetService("Debris"):AddItem(defence, 0.25)
1083
										end
1084
									else
1085
										if beserk == true then
1086
											v.Humanoid.Health = 0
1087
										end
1088
										if math.random(1,100) < critrate+1 then
1089
											v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
1090
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
1091
										else
1092
											v.Humanoid.Health = v.Humanoid.Health - dmg
1093
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
1094
										end
1095
										local defence = Instance.new("BoolValue",v)
1096
										defence.Name = ("HitBy"..Player.Name)
1097
										game:GetService("Debris"):AddItem(defence, 0.25)
1098
									end
1099
								end
1100
							end
1101
						end
1102
						body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
1103
					end
1104
				end
1105
			end
1106
			if v.ClassName == "Part" then
1107
				if v.Anchored == false and (v.Position - position).Magnitude < radius then
1108
					v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
1109
				end
1110
			end
1111
		end
1112
	end
1113
end
1114
1115
function killnearest(position,range,maxstrength)
1116
	for i,v in ipairs(workspace:GetChildren()) do
1117
	local body = v:GetChildren()
1118
		for part = 1, #body do
1119
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1120
				if(body[part].Position - position).Magnitude < range then
1121
					if v.ClassName == "Model" then
1122
						v:BreakJoints()
1123
					end
1124
					--table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
1125
					body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
1126
				end
1127
			end
1128
		end
1129
		if v.ClassName == "Part" then
1130
			if v.Anchored == false and (v.Position - position).Magnitude < range then
1131
				--table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
1132
				v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
1133
			end
1134
		end
1135
	end
1136
end
1137
1138
--//=================================\\
1139
--||	ATTACK FUNCTIONS AND STUFF
1140
--\\=================================//
1141
1142
function createfireball(size,explosionsize,pos,velocity)
1143
	local FIREBALLCOLORS = {"Bright red", "Bright orange", "Bright yellow"}
1144
	local FIREBALLHITSOUNDS = {"522282998", "527535379", "304448425"}
1145
	local FIREBALL = IT("Part",Effects)
1146
	FIREBALL.Shape = "Ball"
1147
	FIREBALL.Size = VT(size,size,size)
1148
	FIREBALL.Material = "Neon"
1149
	FIREBALL.CFrame = CF(pos)
1150
	FIREBALL.Transparency = 1
1151
	local bv = Instance.new("BodyVelocity") 
1152
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1153
	bv.velocity = velocity
1154
	bv.Parent = FIREBALL
1155
	bv.Name = "MOVE"
1156
	local HIT = false
1157
	local harm = FIREBALL.Touched:Connect(function(hit)
1158
		if HIT == false and hit.Parent.ClassName ~= "Accessory" and hit.Parent ~= Character and hit.Parent ~= Weapon and hit.Parent ~= FIREBALL.Parent then
1159
			HIT = true
1160
			coroutine.resume(coroutine.create(function()
1161
				FIREBALL.Anchored = true
1162
				FIREBALL.CanCollide = false
1163
				CreateSound(FIREBALLHITSOUNDS[MRANDOM(1, #FIREBALLHITSOUNDS)], FIREBALL, 3, 1)
1164
				AoEDamage(FIREBALL.Position,explosionsize*2,35,45,25,false,3,2,false,true)
1165
				for i = 1, 2 do
1166
					MagicBlock(explosionsize/3/i,25,FIREBALL.CFrame,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1167
					MagicSphere(explosionsize/2/i,25,FIREBALL.CFrame,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1168
				end
1169
				Swait(250)
1170
				FIREBALL:remove()
1171
			end))
1172
		end
1173
	end)
1174
	coroutine.resume(coroutine.create(function()
1175
		repeat
1176
			Swait()
1177
			MagicBlock2(size,25,FIREBALL.CFrame,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1178
		until HIT == true
1179
	end))
1180
	return FIREBALL
1181
end
1182
1183
function Erupt(cframe,size)
1184
	coroutine.resume(coroutine.create(function()
1185
		local FIREBALLCOLORS = {"Bright red", "Bright orange", "Bright yellow"}
1186
		local FIREPILLARHITSOUNDS = {"171378971", "646619365", "472579737", "144140670"}
1187
		for i = 1, 5 do
1188
			CreateSwirl(0,i,true,-0.5,45,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1189
			Swait(15)
1190
		end
1191
		AoEDamage(cframe.p,size,35,45,25,false,3,2,false,true)
1192
		local brick = IT("Part",Effects)
1193
		brick.CanCollide = false
1194
		brick.Anchored = true
1195
		brick.Size = VT(0,0,0)
1196
		brick.Transparency = 1
1197
		brick.Name = "POS"
1198
		brick.CFrame = cframe
1199
		game:GetService("Debris"):AddItem(brick, 5)
1200
		AoEDamage(brick.Position,size*2,35,45,25,false,3,2,false,true)
1201
		CreateSound(FIREPILLARHITSOUNDS[MRANDOM(1, #FIREPILLARHITSOUNDS)], brick, 3, 1)
1202
		MagicSphere(size,25,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1203
		MagicSphere(size/2,35,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1204
		MagicSphere(size/3,45,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1205
		MagicSphere2(size*5,25,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1206
		CreateSwirl(0,size,true,0.5,45,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1207
		CreateSwirl(0,size,true,0.35,45,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1208
		CreateSwirl(0,size,true,0.1,45,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1209
		CreateSwirl(0,size,true,-0.5,45,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1210
		CreateSwirl(0,size,true,-0.35,45,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1211
		CreateSwirl(0,size,true,-0.1,45,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1212
		MagicBlock(size/6,45,cframe,FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)])
1213
	end))
1214
end
1215
1216
function Attack1()
1217
	ATTACK = true
1218
	for i=0, 1, 0.1 / Animation_Speed2 do
1219
		Swait()
1220
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.4 / Animation_Speed2)
1221
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(75)), 0.15 / Animation_Speed2)
1222
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(100)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed2)
1223
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed2)
1224
		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.15 / Animation_Speed2)
1225
		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.15 / Animation_Speed2)
1226
	end
1227
	local harm = FIST.Touched:Connect(function(hit)
1228
		dealdamage(hit,15,18,0,false,0,0)
1229
	end)
1230
	CreateSound("596439421", RightArm, 1, MRANDOM(7, 12) / 10)
1231
	for i=0, 1.5, 0.1 / Animation_Speed2 do
1232
		Swait()
1233
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(65)), 0.4 / Animation_Speed2)
1234
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(-75)), 0.2 / Animation_Speed2)
1235
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(100)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed2)
1236
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed2)
1237
		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.15 / Animation_Speed2)
1238
		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.15 / Animation_Speed2)
1239
	end
1240
	harm:disconnect()
1241
	ATTACK = false
1242
end
1243
1244
function Attack2()
1245
	ATTACK = true
1246
	for i=0, 1.5, 0.1 / Animation_Speed2 do
1247
		Swait()
1248
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.4 / Animation_Speed2)
1249
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(-75)), 0.2 / Animation_Speed2)
1250
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(140)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed2)
1251
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed2)
1252
		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.15 / Animation_Speed2)
1253
		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.15 / Animation_Speed2)
1254
	end
1255
	local harm = FIST.Touched:Connect(function(hit)
1256
		dealdamage(hit,15,18,0,false,0,0)
1257
	end)
1258
	CreateSound("596439421", RightArm, 1, MRANDOM(7, 12) / 10)
1259
	for i=0, 1.5, 0.1 / Animation_Speed2 do
1260
		Swait()
1261
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-15)), 0.4 / Animation_Speed2)
1262
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(10)), 0.2 / Animation_Speed2)
1263
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed2)
1264
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed2)
1265
		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.15 / Animation_Speed2)
1266
		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.15 / Animation_Speed2)
1267
	end
1268
	harm:disconnect()
1269
	ATTACK = false
1270
end
1271
1272
function Attack3()
1273
	ATTACK = true
1274
	for i=0, 1, 0.1 / Animation_Speed2 do
1275
		Swait()
1276
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.4 / Animation_Speed2)
1277
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(75)), 0.15 / Animation_Speed2)
1278
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(100)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed2)
1279
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed2)
1280
		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.15 / Animation_Speed2)
1281
		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.15 / Animation_Speed2)
1282
	end
1283
	local harm = FIST.Touched:Connect(function(hit)
1284
		dealdamage(hit,25,28,0,false,0,0)
1285
	end)
1286
	CreateSound("596439421", RightArm, 1, MRANDOM(7, 12) / 10)
1287
	for i=0, 1.5, 0.1 / Animation_Speed2 do
1288
		Swait()
1289
		MagicSphere2(2,15,RightArm.CFrame * CF(0,1.2,0),"CGA brown")
1290
		RootPart.CFrame = RootPart.CFrame * CF(0,0,-0.3)
1291
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.4 / Animation_Speed2)
1292
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(-75)), 0.2 / Animation_Speed2)
1293
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(140)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed2)
1294
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed2)
1295
		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.15 / Animation_Speed2)
1296
		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.15 / Animation_Speed2)
1297
	end
1298
	harm:disconnect()
1299
	ATTACK = false
1300
end
1301
1302
function turnto(pos)
1303
	RootPart.CFrame = CF(RootPart.Position,VT(pos.X,RootPart.Position.Y,pos.Z))
1304
end
1305
1306
function Fireball()
1307
	ATTACK = true
1308
	Rooted = true
1309
	CreateSound("169445572", RightArm, 2, 1.6)
1310
	for i=0, 5, 0.1 / Animation_Speed2 do
1311
		Swait()
1312
		turnto(Mouse.Hit.p)
1313
		MagicSphere(0.8,15,RightArm.CFrame * CF(0,-1.5,0),"CGA brown")
1314
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.4 / Animation_Speed2)
1315
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(-75)), 0.2 / Animation_Speed2)
1316
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(140)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed2)
1317
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed2)
1318
		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.15 / Animation_Speed2)
1319
		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.15 / Animation_Speed2)
1320
	end
1321
	local aimpos = Mouse.Hit.p
1322
	createfireball(4,8,RightArm.CFrame * CF(0,-5,0).p,CF(RightArm.CFrame * CF(0,-5,0).p,aimpos).lookVector*100)
1323
	for i=0, 1.5, 0.1 / Animation_Speed2 do
1324
		Swait()
1325
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-15)), 0.4 / Animation_Speed2)
1326
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(10)), 0.2 / Animation_Speed2)
1327
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed2)
1328
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed2)
1329
		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.15 / Animation_Speed2)
1330
		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.15 / Animation_Speed2)
1331
	end
1332
	ATTACK = false
1333
	Rooted = false
1334
end
1335
1336
function InfernalDrive()
1337
	ATTACK = true
1338
	Rooted = true
1339
	for i=0, 1.5, 0.1 / Animation_Speed*3 do
1340
		Swait()
1341
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
1342
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(2.5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
1343
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1344
		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)
1345
		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.15 / Animation_Speed)
1346
		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.15 / Animation_Speed)
1347
	end
1348
	CreateSound("217767125", LeftArm, 10, 1)
1349
	Erupt(CF(Mouse.Hit.p),15)
1350
	for i=0, 1.5, 0.1 / Animation_Speed do
1351
		Swait()
1352
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
1353
		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)
1354
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.35 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1355
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.75 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(30)) * ANGLES(RAD(80), RAD(-10), RAD(-20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1356
		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.15 / Animation_Speed)
1357
		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.15 / Animation_Speed)
1358
	end
1359
	ATTACK = false
1360
	Rooted = false
1361
end
1362
1363
--//=================================\\
1364
--||	  ASSIGN THINGS TO KEYS
1365
--\\=================================//
1366
1367
Humanoid.Changed:connect(function(Jump)
1368
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
1369
		Humanoid.Jump = false
1370
	end
1371
end)
1372
1373
function MouseDown(Mouse)
1374
	if ATTACK == false then
1375
		if COMBO == 1 then
1376
			COMBO = "HALT"
1377
			Attack1()
1378
			COMBO = 2
1379
		elseif COMBO == 2 then
1380
			COMBO = "HALT"
1381
			Attack2()
1382
			COMBO = 3
1383
		elseif COMBO == 3 then
1384
			COMBO = "HALT"
1385
			Attack3()
1386
			COMBO = 1
1387
		end
1388
	end
1389
end
1390
1391
function MouseUp(Mouse)
1392
HOLD = false
1393
end
1394
1395
function KeyDown(Key)
1396
	if Key == "z" and MANA >= 250 and ATTACK == false then
1397
		MANA = MANA - 250
1398
		Fireball()
1399
	end
1400
1401
	if Key == "b" and MANA >= 800 and ATTACK == false then
1402
		MANA = MANA - 800
1403
		InfernalDrive()
1404
	end
1405
end
1406
1407
function KeyUp(Key)
1408
end
1409
1410
	Mouse.Button1Down:connect(function(NEWKEY)
1411
		MouseDown(NEWKEY)
1412
	end)
1413
	Mouse.Button1Up:connect(function(NEWKEY)
1414
		MouseUp(NEWKEY)
1415
	end)
1416
	Mouse.KeyDown:connect(function(NEWKEY)
1417
		KeyDown(NEWKEY)
1418
	end)
1419
	Mouse.KeyUp:connect(function(NEWKEY)
1420
		KeyUp(NEWKEY)
1421
	end)
1422
1423
--//=================================\\
1424
--\\=================================//
1425
1426
1427
function unanchor()
1428
	if UNANCHOR == true then
1429
		g = Character:GetChildren()
1430
		for i = 1, #g do
1431
			if g[i].ClassName == "Part" then
1432
				g[i].Anchored = false
1433
			end
1434
		end
1435
	end
1436
end
1437
1438
1439
--//=================================\\
1440
--||	WRAP THE WHOLE SCRIPT UP
1441
--\\=================================//
1442
1443
Humanoid.Changed:connect(function(Jump)
1444
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
1445
		Humanoid.Jump = false
1446
	end
1447
end)
1448
1449
		ANIMATE.Parent = nil
1450
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1451
		IDLEANIMATION:Play()
1452
1453
while true do
1454
	Swait()
1455
	SINE = SINE + CHANGE
1456
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1457
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1458
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1459
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1460
	local WALKSPEEDVALUE = 10 / (Humanoid.WalkSpeed / 16)
1461
		if ANIM == "Walk" and TORSOVELOCITY > 1 then
1462
			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)
1463
			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)
1464
			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)
1465
			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)
1466
		elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1467
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1468
			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)
1469
			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)
1470
			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)
1471
		end
1472
		if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1473
			ANIM = "Jump"
1474
			if ATTACK == false then
1475
				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)
1476
				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)
1477
				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)
1478
				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)
1479
				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)
1480
				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)
1481
	        end
1482
		elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1483
			ANIM = "Fall"
1484
			if ATTACK == false then
1485
				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)
1486
				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)
1487
				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)
1488
				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)
1489
				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)
1490
				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)
1491
			end
1492
		elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1493
			ANIM = "Idle"
1494
			if ATTACK == false then
1495
				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(0), RAD(0), RAD(25)), 0.15 / Animation_Speed)
1496
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 0.15 / Animation_Speed)
1497
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1498
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1499
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1500
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1501
			end
1502
		elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1503
			ANIM = "Walk"
1504
			WALK = WALK + 1 / Animation_Speed
1505
			if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1506
				WALK = 0
1507
				if WALKINGANIM == true then
1508
					WALKINGANIM = false
1509
				elseif WALKINGANIM == false then
1510
					WALKINGANIM = true
1511
				end
1512
			end
1513
			--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)
1514
			--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)
1515
			if ATTACK == false then
1516
				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(20), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1517
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1518
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1519
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1520
				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.15 / Animation_Speed)
1521
				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.15 / Animation_Speed)
1522
			end
1523
		end
1524
if #Effects2>0 then
1525
for e=1,#Effects2 do
1526
if Effects2[e]~=nil then
1527
local Thing=Effects2[e]
1528
if Thing~=nil then
1529
local Part=Thing[1]
1530
local Mode=Thing[2]
1531
local Delay=Thing[3]
1532
local IncX=Thing[4]
1533
local IncY=Thing[5]
1534
local IncZ=Thing[6]
1535
local Part2=Thing[8]
1536
if Thing[1].Transparency<=1 then
1537
if Thing[2]=="Block1" then
1538
Thing[1].CFrame=Thing[1].CFrame
1539
Mesh=Thing[1].Mesh
1540
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1541
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1542
elseif Thing[2]=="Cylinder" then
1543
Mesh=Thing[1].Mesh
1544
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1545
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1546
elseif Thing[2]=="Blood" then
1547
Mesh=Thing[7]
1548
Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
1549
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1550
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1551
elseif Thing[2]=="Elec" then
1552
Mesh=Thing[1].Mesh
1553
Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
1554
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1555
elseif Thing[2]=="Disappear" then
1556
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1557
end
1558
else
1559
Part.Parent=nil
1560
table.remove(Effects2,e)
1561
end
1562
end
1563
end
1564
end
1565
end
1566
unanchor()
1567
Humanoid.MaxHealth = "inf"
1568
Humanoid.Health = "inf"
1569
if Rooted == false then
1570
	Disable_Jump = false
1571
	Humanoid.WalkSpeed = Speed
1572
elseif Rooted == true then
1573
	Disable_Jump = true
1574
	Humanoid.WalkSpeed = 0
1575
end
1576
if MANA ~= MAXMANA then
1577
	MANA = MANA + 1
1578
end
1579
MANACOVER:TweenSize(UD2(1 * (MANA / MAXMANA), 0, 1, 0), "Out", "Quad", 0.1, 0.1)
1580
MANATEXT.Text = "ENERGY ["..FLOOR(MANA).."]"
1581
end
1582
1583
--//=================================\\
1584
--\\=================================//
1585
1586
1587
1588
1589
1590
--//====================================================\\--
1591
--||			  		 END OF SCRIPT
1592
--\\====================================================//--