View difference between Paste ID: kFwXdAnd and MQbeDbjK
SHOW: | | - or go back to the newest paste.
1
--//================================================================\\--
2
--||               CREATED BY SHACKLUSTER | EDITED BY SHYIME
3
--\\================================================================//--
4
5
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
6
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
7
do
8
	print("FE Compatibility code by Mokiros")
9
	script.Parent = Player.Character
10
11-
Player = game:GetService("Players").LocalPlayer
11+
	--RemoteEvent for communicating
12
	local Event = Instance.new("RemoteEvent")
13
	Event.Name = "UserInput_Event"
14
15
	--Fake event to make stuff like Mouse.KeyDown work
16
	local function fakeEvent()
17-
Mouse = Player:GetMouse()
17+
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
18
		t.connect = t.Connect
19
		return t
20
	end
21
22
	--Creating fake input objects with fake variables
23
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
24
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
25
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
26
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
27
	end}
28
	--Merged 2 functions into one by checking amount of arguments
29
	CAS.UnbindAction = CAS.BindAction
30
31
	--This function will trigger the events that have been :Connect()'ed
32
	local function te(self,ev,...)
33
		local t = m[ev]
34
		if t and t._fakeEvent and t.Function then
35
			t.Function(...)
36
		end
37
	end
38
	m.TrigEvent = te
39
	UIS.TrigEvent = te
40
41
	Event.OnServerEvent:Connect(function(plr,io)
42
	    if plr~=Player then return end
43
		if io.isMouse then
44
			m.Target = io.Target
45
			m.Hit = io.Hit
46
		else
47
			local b = io.UserInputState == Enum.UserInputState.Begin
48
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
49
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
50
			end
51
			for _,t in pairs(CAS.Actions) do
52
				for _,k in pairs(t.Keys) do
53
					if k==io.KeyCode then
54
						t.Function(t.Name,io.UserInputState,io)
55
					end
56
				end
57
			end
58
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
59
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
60
	    end
61
	end)
62
	Event.Parent = NLS([==[
63
	local Player = game:GetService("Players").LocalPlayer
64
	local Event = script:WaitForChild("UserInput_Event")
65
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})
71
	end
72
	UIS.InputBegan:Connect(input)
73
	UIS.InputEnded:Connect(input)
74
75
	local Mouse = Player:GetMouse()
76
	local h,t
77
	--Give the server mouse data 30 times every second, but only if the values changed
78
	--If player is not moving their mouse, client won't fire events
79
	while wait(1/30) do
80
		if h~=Mouse.Hit or t~=Mouse.Target then
81
			h,t=Mouse.Hit,Mouse.Target
82
			Event:FireServer({isMouse=true,Target=t,Hit=h})
83
		end
84
	end]==],Player.Character)
85
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
86
end
87
88
wait(0.2)
89
90
91
92
Player = owner
93
PlayerGui = Player.PlayerGui
94
Cam = workspace.CurrentCamera
95
Backpack = Player.Backpack
96
Character = Player.Character
97
Humanoid = Character.Humanoid
98
99
RootPart = Character["HumanoidRootPart"]
100
Torso = Character["Torso"]
101
Head = Character["Head"]
102
RightArm = Character["Right Arm"]
103
LeftArm = Character["Left Arm"]
104
RightLeg = Character["Right Leg"]
105
LeftLeg = Character["Left Leg"]
106
RootJoint = RootPart["RootJoint"]
107
Neck = Torso["Neck"]
108
RightShoulder = Torso["Right Shoulder"]
109
LeftShoulder = Torso["Left Shoulder"]
110
RightHip = Torso["Right Hip"]
111
LeftHip = Torso["Left Hip"]
112
local sick = Instance.new("Sound",Character)
113
sick.SoundId = "rbxassetid://608671887"
114
sick.Looped = true
115
sick.Pitch = 1
116
sick.Volume = 1
117
sick:Play()
118
119
local naeeym2 = Instance.new("BillboardGui",Character)
120
naeeym2.AlwaysOnTop = true
121
naeeym2.Size = UDim2.new(5,35,2,35)
122
naeeym2.StudsOffset = Vector3.new(0,3,0)
123
naeeym2.Adornee = Character.Head
124
naeeym2.Name = "Name"
125
--naeeym2.PlayerToHideFrom = Player
126
naeeym2.MaxDistance = 200
127
local tecks2 = Instance.new("TextLabel",naeeym2)
128
tecks2.BackgroundTransparency = 1
129
tecks2.TextScaled = true
130
tecks2.BorderSizePixel = 0
131
tecks2.Text = "VØ łĐ"
132
tecks2.Font = "SciFi"
133
tecks2.TextSize = 30
134
tecks2.TextStrokeTransparency = 1
135
tecks2.TextColor3 = Color3.new(255,255,255)
136
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
137
tecks2.Size = UDim2.new(1,0,0.5,0)
138
tecks2.Parent = naeeym2
139
140
IT = Instance.new
141
CF = CFrame.new
142
VT = Vector3.new
143
RAD = math.rad
144
C3 = Color3.new
145
UD2 = UDim2.new
146
BRICKC = BrickColor.new
147
ANGLES = CFrame.Angles
148
EULER = CFrame.fromEulerAnglesXYZ
149
COS = math.cos
150
ACOS = math.acos
151
SIN = math.sin
152
ASIN = math.asin
153
ABS = math.abs
154
MRANDOM = math.random
155
FLOOR = math.floor
156
157
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
158
	local NEWMESH = IT(MESH)
159
	if MESH == "SpecialMesh" then
160
		NEWMESH.MeshType = MESHTYPE
161
		if MESHID ~= "nil" and MESHID ~= "" then
162
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
163
		end
164
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
165
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
166
		end
167
	end
168
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
169
	NEWMESH.Scale = SCALE
170
	NEWMESH.Parent = PARENT
171
	return NEWMESH
172
end
173
174
local char = game.Players.LocalPlayer.Character
175
176
shirt = Instance.new("Shirt", char)
177
pants = Instance.new("Pants", char)
178
pants.Name = "Pants"
179
char.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=1713259377"
180
char.Pants.PantsTemplate = "http://www.roblox.com/asset/?id=1713208457"
181
182
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
183
	local NEWPART = IT("Part")
184
	NEWPART.formFactor = FORMFACTOR
185
	NEWPART.Reflectance = REFLECTANCE
186
	NEWPART.Transparency = TRANSPARENCY
187
	NEWPART.CanCollide = false
188
	NEWPART.Locked = true
189
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
190
	NEWPART.Name = NAME
191
	NEWPART.Size = SIZE
192
	NEWPART.Position = Torso.Position
193
	NEWPART.Material = MATERIAL
194
	NEWPART:BreakJoints()
195
	NEWPART.Parent = PARENT
196
	return NEWPART
197
end
198
199
200
--//=================================\\
201
--||		  CUSTOMIZATION
202
--\\=================================//
203
204
Class_Name = "VØłĐ.exe"
205
Editor_Name = "SHYIME"
206
Weapon_Name = "Add-ons"
207
208
Custom_Colors = {
209
	Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
210
	Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
211
212
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
213
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
214
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
215
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
216
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
217
218
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
219
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
220
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
221
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
222
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
223
}
224
225
226
Player_Size = 1 --Size of the player.
227
Animation_Speed = 3
228
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
229
230
local Speed = 16
231
local Effects2 = {}
232
233
--//=================================\\
234
--|| 	  END OF CUSTOMIZATION
235
--\\=================================//
236
237
	local function weldBetween(a, b)
238
	    local weldd = Instance.new("ManualWeld")
239
	    weldd.Part0 = a
240
	    weldd.Part1 = b
241
	    weldd.C0 = CFrame.new()
242
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
243
	    weldd.Parent = a
244
	    return weldd
245
	end
246
247
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
248
local acs = Instance.new("Part")
249
acs.CanCollide = false
250
acs.Anchored = false
251
acs.Size = Vector3.new(0,0,0)
252
acs.CFrame = attachmentpart.CFrame
253
acs.Parent = Character
254
acs.BrickColor = color
255
    local meshs = Instance.new("SpecialMesh")
256
    meshs.MeshId = mesh
257
    meshs.TextureId = texture
258
    meshs.Parent = acs
259
    meshs.Scale = scale
260
    meshs.Offset = offset
261
weldBetween(attachmentpart,acs)
262
end
263
264
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
265
if TYPE == "Gem" then
266
	local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
267
	acs.Anchored = false
268
    acs.CanCollide = false
269
	acs.CFrame = PART.CFrame
270
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
271
weldBetween(PART,acs)
272
elseif TYPE == "Skull" then
273
	local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
274
	acs.Anchored = false
275
    acs.CanCollide = false
276
	acs.CFrame = PART.CFrame
277
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
278
weldBetween(PART,acs)
279
elseif TYPE == "Eye" then
280
    local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
281
    acs.Anchored = false
282
    acs.CanCollide = false
283
    acs.CFrame = PART.CFrame
284
    local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
285
weldBetween(PART,acs)
286
end
287
end
288
289
--//=================================\\
290
--|| 	      USEFUL VALUES
291
--\\=================================//
292
293
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
294
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
295
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
296
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
297
local CO1 = 0
298
local CO2 = 0
299
local CO3 = 0
300
local CO4 = 0
301
local CHANGEDEFENSE = 0
302
local CHANGEDAMAGE = 0
303
local CHANGEMOVEMENT = 0
304
local ANIM = "Idle"
305
local ATTACK = false
306
local EQUIPPED = false
307
local HOLD = false
308
local COMBO = 1
309
local LASTPOINT = nil
310
local BLCF = nil
311
local SCFR = nil
312
local STAGGERHITANIM = false
313
local STAGGERANIM = false
314
local STUNANIM = false
315
local CRITCHANCENUMBER = 0
316
local IDLENUMBER = 0
317
local DONUMBER = 0
318
local HANDIDLE = false
319
local SINE = 0
320
local CHANGE = 2 / Animation_Speed
321
local WALKINGANIM = false
322
local WALK = 0
323
local KEYHOLD = false
324
local DISABLEJUMPING = false
325
local HASBEENBLOCKED = false
326
local STUNDELAYNUMBER = 0
327
local MANADELAYNUMBER = 0
328
local SECONDARYMANADELAYNUMBER = 0
329
local ROBLOXIDLEANIMATION = IT("Animation")
330
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
331
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
332
--ROBLOXIDLEANIMATION.Parent = Humanoid
333
local WEAPONGUI = IT("ScreenGui", nil)
334
WEAPONGUI.Name = "Weapon GUI"
335
local WEAPONTOOL = IT("HopperBin", nil)
336
WEAPONTOOL.Name = Weapon_Name
337
local Weapon = IT("Model")
338
Weapon.Name = Weapon_Name
339
local Effects = IT("Folder", Weapon)
340
Effects.Name = "Effects"
341
local ANIMATOR = Humanoid.Animator
342
local ANIMATE = Character.Animate
343
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
344
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
345
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
346
local HITBLOCKSOUNDS = {"199148933", "199148947"}
347
local CUTSOUNDS = {"645750958","645747150"}
348
local VICIOUSWOOSH = "658941933"
349
local RELEASESOUND = "565538688"
350
local CHARGESOUND = "565538601"
351
local UNANCHOR = true
352
local MAGICPARTICLE = "1792441528"
353
354
--//=================================\\
355
--\\=================================//
356
357
--//=================================\\
358
--||			  STATS
359
--\\=================================//
360
361
if Character:FindFirstChild("Stats") ~= nil then
362
Character:FindFirstChild("Stats").Parent = nil
363
end
364
365
local Stats = IT("Folder", nil)
366
Stats.Name = "Stats"
367
local ChangeStat = IT("Folder", Stats)
368
ChangeStat.Name = "ChangeStat"
369
local Defense = IT("NumberValue", Stats)
370
Defense.Name = "Defense"
371
Defense.Value = 1
372
local Movement = IT("NumberValue", Stats)
373
Movement.Name = "Movement"
374
Movement.Value = 1
375
local Damage = IT("NumberValue", Stats)
376
Damage.Name = "Damage"
377
Damage.Value = 1
378
local Mana = IT("NumberValue", Stats)
379
Mana.Name = "Mana"
380
Mana.Value = 0
381
local SecondaryMana = IT("NumberValue", Stats)
382
SecondaryMana.Name = "SecondaryMana"
383
SecondaryMana.Value = 0
384
local CanCrit = IT("BoolValue", Stats)
385
CanCrit.Name = "CanCrit"
386
CanCrit.Value = false
387
local CritChance = IT("NumberValue", Stats)
388
CritChance.Name = "CritChance"
389
CritChance.Value = 20
390
local CanPenetrateArmor = IT("BoolValue", Stats)
391
CanPenetrateArmor.Name = "CanPenetrateArmor"
392
CanPenetrateArmor.Value = false
393
local AntiTeamKill = IT("BoolValue", Stats)
394
AntiTeamKill.Name = "AntiTeamKill"
395
AntiTeamKill.Value = false
396
local Rooted = IT("BoolValue", Stats)
397
Rooted.Name = "Rooted"
398
Rooted.Value = false
399
local Block = IT("BoolValue", Stats)
400
Block.Name = "Block"
401
Block.Value = false
402
local RecentEnemy = IT("ObjectValue", Stats)
403
RecentEnemy.Name = "RecentEnemy"
404
RecentEnemy.Value = nil
405
local StaggerHit = IT("BoolValue", Stats)
406
StaggerHit.Name = "StaggerHit"
407
StaggerHit.Value = false
408
local Stagger = IT("BoolValue", Stats)
409
Stagger.Name = "Stagger"
410
Stagger.Value = false
411
local Stun = IT("BoolValue", Stats)
412
Stun.Name = "Stun"
413
Stun.Value = false
414
local StunValue = IT("NumberValue", Stats)
415
StunValue.Name = "StunValue"
416
StunValue.Value = 0
417
418
419
--//=================================\\
420
--\\=================================//
421
422
423
424
425
426
--//=================================\\
427
--|| 	     DEBUFFS / BUFFS
428
--\\=================================//
429
430
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
431
DEFENSECHANGE1.Name = "ChangeDefense"
432
DEFENSECHANGE1.Value = 0
433
434
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
435
MOVEMENTCHANGE1.Name = "ChangeMovement"
436
MOVEMENTCHANGE1.Value = 0
437
438
--//=================================\\
439
--\\=================================//
440
441
442
443
444
445
--//=================================\\
446
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
447
--\\=================================//
448
449
ArtificialHB = Instance.new("BindableEvent", script)
450
ArtificialHB.Name = "ArtificialHB"
451
452
script:WaitForChild("ArtificialHB")
453
454
frame = Frame_Speed
455
tf = 0
456
allowframeloss = false
457
tossremainder = false
458
lastframe = tick()
459
script.ArtificialHB:Fire()
460
461
game:GetService("RunService").Heartbeat:connect(function(s, p)
462
	tf = tf + s
463
	if tf >= frame then
464
		if allowframeloss then
465
			script.ArtificialHB:Fire()
466
			lastframe = tick()
467
		else
468
			for i = 1, math.floor(tf / frame) do
469
				script.ArtificialHB:Fire()
470
			end
471
		lastframe = tick()
472
		end
473
		if tossremainder then
474
			tf = 0
475
		else
476
			tf = tf - frame * math.floor(tf / frame)
477
		end
478
	end
479
end)
480
481
--//=================================\\
482
--\\=================================//
483
484
485
486
487
488
--//=================================\\
489
--|| 	      SOME FUNCTIONS
490
--\\=================================//
491
492
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
493
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
494
end
495
496
function PositiveAngle(NUMBER)
497
	if NUMBER >= 0 then
498
		NUMBER = 0
499
	end
500
	return NUMBER
501
end
502
503
function NegativeAngle(NUMBER)
504
	if NUMBER <= 0 then
505
		NUMBER = 0
506
	end
507
	return NUMBER
508
end
509
510
function Swait(NUMBER)
511
	if NUMBER == 0 or NUMBER == nil then
512
		ArtificialHB.Event:wait()
513
	else
514
		for i = 1, NUMBER do
515
			ArtificialHB.Event:wait()
516
		end
517
	end
518
end
519
520
function QuaternionFromCFrame(cf)
521
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
522
	local trace = m00 + m11 + m22
523
	if trace > 0 then 
524
		local s = math.sqrt(1 + trace)
525
		local recip = 0.5 / s
526
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
527
	else
528
		local i = 0
529
		if m11 > m00 then
530
			i = 1
531
		end
532
		if m22 > (i == 0 and m00 or m11) then
533
			i = 2
534
		end
535
		if i == 0 then
536
			local s = math.sqrt(m00 - m11 - m22 + 1)
537
			local recip = 0.5 / s
538
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
539
		elseif i == 1 then
540
			local s = math.sqrt(m11 - m22 - m00 + 1)
541
			local recip = 0.5 / s
542
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
543
		elseif i == 2 then
544
			local s = math.sqrt(m22 - m00 - m11 + 1)
545
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
546
		end
547
	end
548
end
549
 
550
function QuaternionToCFrame(px, py, pz, x, y, z, w)
551
	local xs, ys, zs = x + x, y + y, z + z
552
	local wx, wy, wz = w * xs, w * ys, w * zs
553
	local xx = x * xs
554
	local xy = x * ys
555
	local xz = x * zs
556
	local yy = y * ys
557
	local yz = y * zs
558
	local zz = z * zs
559
	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))
560
end
561
 
562
function QuaternionSlerp(a, b, t)
563
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
564
	local startInterp, finishInterp;
565
	if cosTheta >= 0.0001 then
566
		if (1 - cosTheta) > 0.0001 then
567
			local theta = ACOS(cosTheta)
568
			local invSinTheta = 1 / SIN(theta)
569
			startInterp = SIN((1 - t) * theta) * invSinTheta
570
			finishInterp = SIN(t * theta) * invSinTheta
571
		else
572
			startInterp = 1 - t
573
			finishInterp = t
574
		end
575
	else
576
		if (1 + cosTheta) > 0.0001 then
577
			local theta = ACOS(-cosTheta)
578
			local invSinTheta = 1 / SIN(theta)
579
			startInterp = SIN((t - 1) * theta) * invSinTheta
580
			finishInterp = SIN(t * theta) * invSinTheta
581
		else
582
			startInterp = t - 1
583
			finishInterp = t
584
		end
585
	end
586
	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
587
end
588
589
function Clerp(a, b, t)
590
	local qa = {QuaternionFromCFrame(a)}
591
	local qb = {QuaternionFromCFrame(b)}
592
	local ax, ay, az = a.x, a.y, a.z
593
	local bx, by, bz = b.x, b.y, b.z
594
	local _t = 1 - t
595
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
596
end
597
598
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
599
	local frame = IT("Frame")
600
	frame.BackgroundTransparency = TRANSPARENCY
601
	frame.BorderSizePixel = BORDERSIZEPIXEL
602
	frame.Position = POSITION
603
	frame.Size = SIZE
604
	frame.BackgroundColor3 = COLOR
605
	frame.BorderColor3 = BORDERCOLOR
606
	frame.Name = NAME
607
	frame.Parent = PARENT
608
	return frame
609
end
610
611
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
612
	local label = IT("TextLabel")
613
	label.BackgroundTransparency = 1
614
	label.Size = UD2(1, 0, 1, 0)
615
	label.Position = UD2(0, 0, 0, 0)
616
	label.TextColor3 = C3(255, 255, 255)
617
	label.TextStrokeTransparency = STROKETRANSPARENCY
618
	label.TextTransparency = TRANSPARENCY
619
	label.FontSize = TEXTFONTSIZE
620
	label.Font = TEXTFONT
621
	label.BorderSizePixel = BORDERSIZEPIXEL
622
	label.TextScaled = true
623
	label.Text = TEXT
624
	label.Name = NAME
625
	label.Parent = PARENT
626
	return label
627
end
628
629
function NoOutlines(PART)
630
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
631
end
632
633
634
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
635
	local NEWWELD = IT(TYPE)
636
	NEWWELD.Part0 = PART0
637
	NEWWELD.Part1 = PART1
638
	NEWWELD.C0 = C0
639
	NEWWELD.C1 = C1
640
	NEWWELD.Parent = PARENT
641
	return NEWWELD
642
end
643
644
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
645
	local NEWSOUND = nil
646
	coroutine.resume(coroutine.create(function()
647
		NEWSOUND = IT("Sound", PARENT)
648
		NEWSOUND.Volume = VOLUME
649
		NEWSOUND.Pitch = PITCH
650
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
651
		--Swait()
652
		NEWSOUND:play()
653
		if DOESLOOP == false then
654
			repeat Swait() until NEWSOUND.Playing == false
655
			NEWSOUND:remove()
656
		elseif DOESLOOP == true then
657
			NEWSOUND.Looped = true
658
		end
659
	end))
660
	return NEWSOUND
661
end
662
663
function CFrameFromTopBack(at, top, back)
664
	local right = top:Cross(back)
665
	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)
666
end
667
668
function CreateWave(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
669
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
670
	local mesh = IT("SpecialMesh",wave)
671
	mesh.MeshType = "FileMesh"
672
	wave.Anchored = true
673
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
674
	mesh.Scale = VT(size,size,size)
675
	mesh.Offset = VT(0,0,-size/8)
676
	wave.CFrame = CF(part.p) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
677
	coroutine.resume(coroutine.create(function(PART)
678
		for i = 1, waitt do
679
			Swait()
680
			mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
681
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
682
			if doesrotate == true then
683
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
684
			end
685
			wave.Transparency = wave.Transparency + (0.5/waitt)
686
			if wave.Transparency > 0.99 then
687
				wave:remove()
688
			end
689
		end
690
	end))
691
end
692
693
function CreateSwirl(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
694
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
695
	local mesh = IT("SpecialMesh",wave)
696
	mesh.MeshType = "FileMesh"
697
	wave.Anchored = true
698
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
699
	mesh.Scale = VT(size,size,size)
700
	wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
701
	coroutine.resume(coroutine.create(function(PART)
702
		for i = 1, waitt do
703
			Swait()
704
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
705
			if doesrotate == true then
706
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
707
			end
708
			wave.Transparency = wave.Transparency + (0.5/waitt)
709
			if wave.Transparency > 0.99 then
710
				wave:remove()
711
			end
712
		end
713
	end))
714
end
715
716
function CreateTornado(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
717
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
718
	local mesh = IT("SpecialMesh",wave)
719
	mesh.MeshType = "FileMesh"
720
	wave.Anchored = true
721
	mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
722
	mesh.Scale = VT(size,size,size)
723
	wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
724
	coroutine.resume(coroutine.create(function(PART)
725
		for i = 1, waitt do
726
			Swait()
727
			mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
728
			if doesrotate == true then
729
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
730
			end
731
			wave.Transparency = wave.Transparency + (0.5/waitt)
732
			if wave.Transparency > 0.99 then
733
				wave:remove()
734
			end
735
		end
736
	end))
737
end
738
739
function CreateRing(inair,size,doesrotate,rotatedirection,waitt,part,offset,spin1,spin2,color)
740
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
741
	local mesh = IT("SpecialMesh",wave)
742
	mesh.MeshType = "FileMesh"
743
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
744
	mesh.Scale = VT(size,size,size)
745
	wave.Anchored = true
746
	mesh.Offset = VT(0,0,0)
747
	wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
748
	coroutine.resume(coroutine.create(function(PART)
749
		for i = 1, waitt do
750
			Swait()
751
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
752
			if doesrotate == true then
753
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(spin2, rotatedirection, spin1)
754
			end
755
			wave.Transparency = wave.Transparency + (0.5/waitt)
756
			if wave.Transparency > 0.99 then
757
				wave:remove()
758
			end
759
		end
760
	end))
761
end
762
763
function MagicSphere(size,waitt,part,color)
764
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(0,0,0))
765
	local mesh = IT("SpecialMesh",wave)
766
	mesh.MeshType = "Sphere"
767
	wave.Anchored = true
768
	mesh.Scale = VT(size,size,size)
769
	mesh.Offset = VT(0,0,0)
770
	wave.CFrame = part * ANGLES(RAD(0),RAD(0),RAD(0))
771
	coroutine.resume(coroutine.create(function(PART)
772
		for i = 1, waitt do
773
			Swait()
774
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
775
			wave.Transparency = wave.Transparency + (1/waitt)
776
			if wave.Transparency > 0.99 then
777
				wave:remove()
778
			end
779
		end
780
	end))
781
end
782
783
function MagicBlock(size,waitt,part,offset,color)
784
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(size,size,size))
785
	local mesh = IT("BlockMesh",wave)
786
	wave.Anchored = true
787
	wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(0),RAD(0),RAD(0))
788
	coroutine.resume(coroutine.create(function(PART)
789
		for i = 1, waitt do
790
			Swait()
791
			mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
792
			wave.CFrame = CF(wave.Position) * ANGLES(RAD(math(-360,360)),RAD(math(-360,360)),RAD(math(-360,360)))
793
			wave.Transparency = wave.Transparency + (1/waitt)
794
			if wave.Transparency > 0.99 then
795
				wave:remove()
796
			end
797
		end
798
	end))
799
end
800
801
local EyeSizes={
802
	NumberSequenceKeypoint.new(0,0.5,0),
803
	NumberSequenceKeypoint.new(1,0.2,0)
804
}
805
local EyeTrans={
806
	NumberSequenceKeypoint.new(0,0,0),
807
	NumberSequenceKeypoint.new(1,1,0)
808
}
809
local PE=Instance.new("ParticleEmitter")
810
PE.LightEmission=0.3
811
PE.Size=NumberSequence.new(EyeSizes)
812
PE.Transparency=NumberSequence.new(EyeTrans)
813
PE.Rotation=NumberRange.new(0,360)
814
PE.LockedToPart = false
815
PE.Speed = NumberRange.new(0,0,0)
816
PE.ZOffset = 0.3
817
PE.Rate = 999
818
PE.Name = "Particles"
819
820
function CreateParticles(art,text,accel,drag,lifetime,type,isenabledbydefault,locked)
821
	local particle = nil
822
	coroutine.resume(coroutine.create(function(PART)
823
		particle = PE:Clone()
824
		Swait()
825
		particle.Rate = 999
826
		particle.Parent = art
827
		particle.Acceleration = accel
828
		if type == "Fire" then
829
			local EyeSizes={
830
				NumberSequenceKeypoint.new(0,0.5,0.3),
831
				NumberSequenceKeypoint.new(1,0.2,0.2)
832
			}
833
			particle.Size = NumberSequence.new(EyeSizes)
834
		elseif type == "Smoke" then
835
			local EyeSizes={
836
				NumberSequenceKeypoint.new(0,0.5,0),
837
				NumberSequenceKeypoint.new(1,5,0.5)
838
			}
839
			particle.Size = NumberSequence.new(EyeSizes)
840
		elseif type == "Solid" then
841
			local EyeSizes={
842
				NumberSequenceKeypoint.new(0,0.5,0),
843
				NumberSequenceKeypoint.new(1,0.5,0)
844
			}
845
			particle.Size = NumberSequence.new(EyeSizes)
846
		end
847
		particle.Lifetime=NumberRange.new(lifetime)
848
		particle.Drag = drag
849
		if locked == true then
850
			particle.LockedToPart = true
851
		end
852
		particle.Texture = "http://www.roblox.com/asset/?id="..text
853
		particle.Enabled = isenabledbydefault
854
	end))
855
return particle
856
end
857
858
local EyeSizes={
859
	NumberSequenceKeypoint.new(0,0.5,0),
860
	NumberSequenceKeypoint.new(1,0.2,0)
861
}
862
local EyeTrans={
863
	NumberSequenceKeypoint.new(0,0,0),
864
	NumberSequenceKeypoint.new(1,1,0)
865
}
866
local PE2=Instance.new("ParticleEmitter")
867
PE2.LightEmission=0.8
868
PE2.Size=NumberSequence.new(EyeSizes)
869
PE2.Transparency=NumberSequence.new(EyeTrans)
870
PE2.Rotation=NumberRange.new(0,360)
871
PE2.LockedToPart = false
872
PE2.Speed = NumberRange.new(0,0,0)
873
PE2.ZOffset = 0.3
874
PE2.Rate = 999
875
PE2.VelocitySpread = 90000
876
PE2.Name = "Particles"
877
878
function CreateParticles2(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
879
	local particle = nil
880
	coroutine.resume(coroutine.create(function(PART)
881
		particle = PE2:Clone()
882
		Swait()
883
		particle.Rate = 999
884
		particle.Parent = art
885
		particle.Acceleration = accel
886
		if type == "Fire" then
887
			local EyeSizes={
888
				NumberSequenceKeypoint.new(0,size,size/2),
889
				NumberSequenceKeypoint.new(1,size/4,size/8)
890
			}
891
			particle.Size = NumberSequence.new(EyeSizes)
892
		elseif type == "Smoke" then
893
			local EyeSizes={
894
				NumberSequenceKeypoint.new(0,0.5,0),
895
				NumberSequenceKeypoint.new(1,5,0.5)
896
			}
897
			particle.Size = NumberSequence.new(EyeSizes)
898
		elseif type == "Solid" then
899
			local EyeSizes={
900
				NumberSequenceKeypoint.new(0,0.5,0),
901
				NumberSequenceKeypoint.new(1,0.5,0)
902
			}
903
			particle.Size = NumberSequence.new(EyeSizes)
904
		end
905
		particle.Lifetime=NumberRange.new(lifetime)
906
		particle.Drag = drag
907
		if locked == true then
908
			particle.LockedToPart = true
909
		end
910
		particle.Speed = NumberRange.new(speed,speed,speed)
911
		particle.Texture = "http://www.roblox.com/asset/?id="..MAGICPARTICLE
912
		particle.Enabled = isenabledbydefault
913
		--particle.Color = ColorSequence.new(Color3.new(255, 255, 255))
914
	end))
915
return particle
916
end
917
918
local Decal = IT("Decal")
919
920
function CreateMagicCircle(size,doesrotate,rotatedirection,waitt,cframe,alwaysfade)
921
	local sinkhole = IT("Part")
922
	sinkhole.Size = VT(size,0,size)
923
	sinkhole.CFrame = cframe
924
	--sinkhole.Orientation = VT(0,0,0)
925
	sinkhole.Parent = Effects
926
	sinkhole.Material = "Neon"
927
	sinkhole.Color = C3(255, 255, 255)
928
	sinkhole.Anchored = true
929
	sinkhole.CanCollide = false
930
	sinkhole.Transparency = 1
931
	local decal = Decal:Clone()
932
	decal.Parent = sinkhole
933
	decal.Face = "Top"
934
	decal.Texture = "http://www.roblox.com/asset/?id=1792308797"
935
	local decal2 = Decal:Clone()
936
	decal2.Parent = sinkhole
937
	decal2.Face = "Bottom"
938
	decal2.Texture = "http://www.roblox.com/asset/?id=1792308797"
939
	coroutine.resume(coroutine.create(function(PART)
940
		for i = 1, waitt do
941
			Swait()
942
			if doesrotate == true then
943
				sinkhole.CFrame = sinkhole.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
944
			end
945
			if alwaysfade == true then
946
				decal.Transparency = decal.Transparency + (1/waitt)
947
				decal2.Transparency = decal.Transparency + (1/waitt)
948
			end
949
			if i > waitt-11 and (alwaysfade ~= true) then
950
				decal.Transparency = decal.Transparency + 0.1
951
				decal2.Transparency = decal.Transparency + 0.1
952
			end
953
		end
954
		sinkhole.Parent = nil
955
	end))
956
	return sinkhole
957
end
958
959
--//=================================\\
960
--\\=================================//
961
962
963
--//=================================\\
964
--||	     WEAPON CREATION
965
--\\=================================//
966
967
if Player_Size ~= 1 then
968
	for _, v in pairs (Weapon:GetChildren()) do
969
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
970
			local p1 = v.Part1
971
			v.Part1 = nil
972
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
973
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
974
			v.Part1 = p1
975
		elseif v.ClassName == "Part" then
976
			for _, b in pairs (v:GetChildren()) do
977
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
978
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
979
				end
980
			end
981
		end
982
	end
983
end
984
985
Swait()
986
987
local Plate = IT("Part",Weapon)
988
Plate.Size = VT(1,0.1,1)
989
Plate.Transparency = 1
990
Plate.CanCollide = false
991
Plate.CFrame = LeftLeg.CFrame * CF(0,-1.1,0)
992
CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
993
weldBetween(LeftLeg,Plate)
994
995
local Plate = IT("Part",Weapon)
996
Plate.Size = VT(1,0.1,1)
997
Plate.Transparency = 1
998
Plate.CanCollide = false
999
Plate.CFrame = RightLeg.CFrame * CF(0,-1.1,0)
1000
CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
1001
weldBetween(RightLeg,Plate)
1002
1003
local Plate = IT("Part",Weapon)
1004
Plate.Size = VT(1,0.1,1)
1005
Plate.Transparency = 1
1006
Plate.CanCollide = false
1007
Plate.CFrame = RightArm.CFrame * CF(0,-1.1,0)
1008
CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
1009
weldBetween(RightArm,Plate)
1010
1011
local Plate = IT("Part",Weapon)
1012
Plate.Size = VT(1,0.1,1)
1013
Plate.Transparency = 1
1014
Plate.CanCollide = false
1015
Plate.CFrame = LeftArm.CFrame * CF(0,-1.1,0)
1016
CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
1017
weldBetween(LeftArm,Plate)
1018
1019
local eye = IT("Part",Weapon)
1020
eye.Size = VT(0.2,0.2,0.2)
1021
eye.Shape = "Ball"
1022
eye.CFrame = Head.CFrame * CF(0.125,0.2,-0.55)
1023
eye.Material = "Neon"
1024
eye.BrickColor = BRICKC("Dark indigo")
1025
weldBetween(Head,eye)
1026
1027
1028
1029
for _, c in pairs(Weapon:GetChildren()) do
1030
	if c.ClassName == "Part" then
1031
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1032
	end
1033
end
1034
1035
Weapon.Parent = Character
1036
1037
Humanoid.Died:connect(function()
1038
	ATTACK = true
1039
end)
1040
1041
print(Class_Name.." loaded.")
1042
print(Editor_Name.." Edited This.")
1043
1044
--//=================================\\
1045
--||           RESPAWN
1046
--\\=================================//
1047
1048
local BODY = {}
1049
for _, c in pairs(Character:GetDescendants()) do
1050
	if c:IsA("BasePart") and c.Name ~= "Handle" then
1051
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
1052
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1053
		end
1054
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency,c.Size,c.Name})
1055
	elseif c:IsA("JointInstance") then
1056
		table.insert(BODY,{c,c.Parent,nil,nil,nil,nil,nil})
1057
	end
1058
end
1059
function refit()
1060
	Character.Parent = workspace
1061
	for e = 1, #BODY do
1062
		if BODY[e] ~= nil then
1063
			local STUFF = BODY[e]
1064
			local PART = STUFF[1]
1065
			local PARENT = STUFF[2]
1066
			local MATERIAL = STUFF[3]
1067
			local COLOR = STUFF[4]
1068
			local TRANSPARENCY = STUFF[5]
1069
			--local SIZE = STUFF[6]
1070
			local NAME = STUFF[7]
1071
			if PART.ClassName == "Part" and PART ~= RootPart then
1072
				PART.Material = MATERIAL
1073
				PART.Transparency = TRANSPARENCY
1074
				PART.Name = NAME
1075
			end
1076
			if PART.Parent ~= PARENT then
1077
				Humanoid:remove()
1078
				PART.Parent = PARENT
1079
				Humanoid = IT("Humanoid",Character)
1080
			end
1081
		end
1082
	end
1083
end
1084
1085
Humanoid.Died:connect(function()
1086
	refit()
1087
end)
1088
1089
--//=================================\\
1090
--||	     DAMAGE FUNCTIONS
1091
--\\=================================//
1092
1093
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
1094
	local STATPART = CreatePart(3, Effects, "Neon", 0, 1, "Institutional white", "Effect", VT())
1095
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
1096
	local BODYGYRO = IT("BodyGyro", STATPART)
1097
	local BODYPOSITION = IT("BodyPosition", STATPART)
1098
	BODYPOSITION.P = 2000
1099
	BODYPOSITION.D = 100
1100
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
1101
	if LABELTYPE == "Normal" then
1102
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
1103
	elseif LABELTYPE == "Debuff" then
1104
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
1105
	elseif LABELTYPE == "Interruption" then
1106
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
1107
	end
1108
	game:GetService("Debris"):AddItem(STATPART ,5)
1109
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
1110
	BILLBOARDGUI.Adornee = STATPART
1111
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
1112
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
1113
	BILLBOARDGUI.AlwaysOnTop = false
1114
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
1115
	TEXTLABEL.BackgroundTransparency = 1
1116
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
1117
	TEXTLABEL.Text = TEXT
1118
	TEXTLABEL.Font = "SciFi"
1119
	TEXTLABEL.FontSize="Size42"
1120
	TEXTLABEL.TextColor3 = COLOR
1121
	TEXTLABEL.TextStrokeTransparency = 1
1122
	TEXTLABEL.TextScaled = true
1123
	TEXTLABEL.TextWrapped = true
1124
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
1125
		wait(0.2)
1126
		for i=1, 5 do
1127
			wait()
1128
			THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
1129
		end
1130
		wait(1.2)
1131
		for i=1, 5 do
1132
			wait()
1133
			THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
1134
			THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
1135
			THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
1136
		end
1137
		THEPART.Parent = nil
1138
	end),STATPART, BODYPOSITION, TEXTLABEL)
1139
end
1140
1141
1142
--//=================================\\
1143
--||			DAMAGING
1144
--\\=================================//
1145
1146
function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
1147
	if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
1148
		local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
1149
		local dmg = math.random(min,max)
1150
		if humanoid.Health > 0 then
1151
			if beserk == true then
1152
				humanoid.Health = 0
1153
			else
1154
				CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
1155
				hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
1156
				if math.random(1,100) < critrate+1 then
1157
					humanoid.Health = humanoid.Health - dmg*critmultiplier
1158
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
1159
				else
1160
					humanoid.Health = humanoid.Health - dmg
1161
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(0, 0, 0))
1162
				end
1163
				local defence = Instance.new("BoolValue",hit.Parent)
1164
				defence.Name = ("HitBy"..Player.Name)
1165
				game:GetService("Debris"):AddItem(defence, 0.5)
1166
			end
1167
		end
1168
	end
1169
end
1170
1171
function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping)
1172
	local dmg = math.random(min,max)
1173
	for i,v in ipairs(workspace:GetChildren()) do
1174
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
1175
		local body = v:GetChildren()
1176
			for part = 1, #body do
1177
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1178
					if(body[part].Position - position).Magnitude < radius then
1179
						if v.ClassName == "Model" then
1180
							if v:FindFirstChild("Humanoid") then
1181
								if v.Humanoid.Health ~= 0 then
1182
									if CanBeDodgedByJumping == true then
1183
										if body[part].Position.Y < position.Y+5 then
1184
											if math.random(1,100) < critrate+1 then
1185
												v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
1186
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
1187
											else
1188
												v.Humanoid.Health = v.Humanoid.Health - dmg
1189
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
1190
											end
1191
											local defence = Instance.new("BoolValue",v)
1192
											defence.Name = ("HitBy"..Player.Name)
1193
											game:GetService("Debris"):AddItem(defence, 0.5)
1194
										end
1195
									else
1196
										if beserk == true then
1197
											v.Humanoid.Health = 0
1198
										end
1199
										if math.random(1,100) < critrate+1 then
1200
											v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
1201
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
1202
										else
1203
											v.Humanoid.Health = v.Humanoid.Health - dmg
1204
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
1205
										end
1206
										local defence = Instance.new("BoolValue",v)
1207
										defence.Name = ("HitBy"..Player.Name)
1208
										game:GetService("Debris"):AddItem(defence, 0.5)
1209
									end
1210
								end
1211
							end
1212
						end
1213
						body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
1214
					end
1215
				end
1216
			end
1217
			if v.ClassName == "Part" then
1218
				if v.Anchored == false and (v.Position - position).Magnitude < radius then
1219
					v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
1220
				end
1221
			end
1222
		end
1223
	end
1224
end
1225
1226
function attractnearest(postype,position,range,maxstrength,last)
1227
	if postype == "Vector" then
1228
		for i,v in ipairs(workspace:GetChildren()) do
1229
		local body = v:GetChildren()
1230
			for part = 1, #body do
1231
				if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1232
					if(body[part].Position - position).Magnitude < range then
1233
						if body[part]:FindFirstChild("ATTRACT") == nil then
1234
							local bv = Instance.new("BodyVelocity") 
1235
							bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1236
							bv.velocity = CF(body[part].Position,position).lookVector*maxstrength
1237
							bv.Parent = body[part]
1238
							bv.Name = "ATTRACT"
1239
						else
1240
							coroutine.resume(coroutine.create(function()
1241
								for i = 1, last/5 do
1242
									Swait(5)
1243
									body[part].ATTRACT.velocity = CF(body[part].Position,position).lookVector*maxstrength	
1244
								end		
1245
								body[part].ATTRACT:remove()				
1246
							end))
1247
						end
1248
					end
1249
				end
1250
			end
1251
			if v.ClassName == "Part" then
1252
				if v.Anchored == false and (v.Position - position).Magnitude < range then
1253
					if v:FindFirstChild("ATTRACT") == nil then
1254
						local bv = Instance.new("BodyVelocity") 
1255
						bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1256
						bv.velocity = CF(v.Position,position).lookVector*maxstrength
1257
						bv.Parent = v
1258
						bv.Name = "ATTRACT"
1259
					else
1260
						coroutine.resume(coroutine.create(function()
1261
							for i = 1, last/5 do
1262
								Swait(5)
1263
								v.ATTRACT.velocity = CF(v.Position,position).lookVector*maxstrength	
1264
							end		
1265
							v.ATTRACT:remove()				
1266
						end))
1267
					end
1268
				end
1269
			end
1270
		end
1271
	elseif postype == "Part" then
1272
		for i,v in ipairs(workspace:GetChildren()) do
1273
		local body = v:GetChildren()
1274
			for part = 1, #body do
1275
				if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1276
					if(body[part].Position - position.Position).Magnitude < range then
1277
						if body[part]:FindFirstChild("ATTRACT") == nil then
1278
							local bv = Instance.new("BodyVelocity") 
1279
							bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1280
							bv.velocity = CF(body[part].Position,position.Position).lookVector*maxstrength
1281
							bv.Parent = body[part]
1282
							bv.Name = "ATTRACT"
1283
						else
1284
							coroutine.resume(coroutine.create(function()
1285
								for i = 1, last/5 do
1286
									Swait(5)
1287
									body[part].ATTRACT.velocity = CF(body[part].Position,position.Position).lookVector*maxstrength	
1288
								end		
1289
								body[part].ATTRACT:remove()				
1290
							end))
1291
						end
1292
					end
1293
				end
1294
			end
1295
			if v.ClassName == "Part" then
1296
				if v.Anchored == false and (v.Position - position.Position).Magnitude < range then
1297
					if v:FindFirstChild("ATTRACT") == nil then
1298
						local bv = Instance.new("BodyVelocity") 
1299
						bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1300
						bv.velocity = CF(v.Position,position.Position).lookVector*maxstrength
1301
						bv.Parent = v
1302
						bv.Name = "ATTRACT"
1303
					else
1304
						coroutine.resume(coroutine.create(function()
1305
							for i = 1, last/5 do
1306
								Swait(5)
1307
								v.ATTRACT.velocity = CF(v.Position,position.Position).lookVector*maxstrength	
1308
							end		
1309
							v.ATTRACT:remove()				
1310
						end))
1311
					end
1312
				end
1313
			end
1314
		end
1315
	end
1316
end
1317
1318
function killnearest(position,range,maxstrength,candestroy)
1319
	for i,v in ipairs(workspace:GetChildren()) do
1320
	local body = v:GetChildren()
1321
		for part = 1, #body do
1322
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1323
				if(body[part].Position - position).Magnitude < range then
1324
					if v.ClassName == "Model" then
1325
						v:BreakJoints()
1326
					end
1327
					if candestroy == true then
1328
						table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
1329
					end
1330
					body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
1331
				end
1332
			end
1333
		end
1334
		if v.ClassName == "Part" then
1335
			if v.Anchored == false and (v.Position - position).Magnitude < range then
1336
				if candestroy == true then
1337
					table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
1338
				end
1339
				v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
1340
			end
1341
		end
1342
	end
1343
end
1344
1345
--//=================================\\
1346
--||	ATTACK FUNCTIONS AND STUFF
1347
--\\=================================//
1348
1349
function CheckTableForString(Table, String)
1350
	for i, v in pairs(Table) do
1351
		if string.find(string.lower(String), string.lower(v)) then
1352
			return true
1353
		end
1354
	end
1355
	return false
1356
end
1357
1358
function CheckIntangible(Hit)
1359
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
1360
	if Hit and Hit.Parent then
1361
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
1362
			return true
1363
		end
1364
	end
1365
	return false
1366
end
1367
1368
Debris = game:GetService("Debris")
1369
1370
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
1371
	local Direction = CFrame.new(StartPos, Vec).lookVector
1372
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
1373
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
1374
	if RayHit and CheckIntangible(RayHit) then
1375
		if DelayIfHit then
1376
			wait()
1377
		end
1378
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
1379
	end
1380
	return RayHit, RayPos, RayNormal
1381
end
1382
1383
function turnto(pos)
1384
	RootPart.CFrame = CF(RootPart.Position,VT(pos.X,RootPart.Position.Y,pos.Z))
1385
end
1386
1387
function GraviBomb()
1388
	ATTACK = true
1389
	for i=0, 1, 0.1 / Animation_Speed do
1390
		Swait()
1391
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
1392
		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)
1393
		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)
1394
		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)
1395
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1396
		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)
1397
	end
1398
	MagicSphere(25,25,LeftArm.CFrame*CF(0,-1,0),"Dark indigo")
1399
	MagicSphere(20,25,LeftArm.CFrame*CF(0,-1,0),"Dark indigo")
1400
	coroutine.resume(coroutine.create(function()
1401
		local cframe = CF(Mouse.Hit.p)
1402
		local circle = CreateMagicCircle(75,true,0.05,120,cframe,false)
1403
		for i = 1, 5 do
1404
			CreateSound(CUTSOUNDS[MRANDOM(1, #CUTSOUNDS)], Effects, 2, 1)
1405
			local sphere = IT("Part",Effects)
1406
			sphere.Shape = "Ball"
1407
			sphere.Size = VT(50,50,50)
1408
			sphere.Anchored = true
1409
			sphere.CanCollide = false
1410
			sphere.Material = "Neon"
1411
			sphere.BrickColor = BRICKC("Dark indigo")
1412
			sphere.Transparency = 0
1413
			sphere.CFrame = cframe
1414
			for i = 1, 10 do
1415
				Swait(2)
1416
				attractnearest("Vector",cframe.p,75,50,10)
1417
				sphere.CFrame = cframe
1418
				sphere.Size = sphere.Size - VT(5,5,5)
1419
				sphere.CFrame = cframe
1420
			end
1421
			sphere:remove()
1422
		end
1423
		local scale = 5
1424
		coroutine.resume(coroutine.create(function()
1425
			CreateSound(RELEASESOUND, Effects, 2, 1)
1426
			MagicSphere(100,125,cframe,"Dark indigo")
1427
			MagicSphere(75,125,cframe,"Dark indigo")
1428
			CreateSwirl(180,6,true,0.3,225,circle,0,"Dark indigo")
1429
			CreateSwirl(180,4,true,0.3,225,circle,0,"Dark indigo")
1430
			CreateSwirl(180,2,true,0.3,225,circle,0,"Dark indigo")
1431
			for i = 1, 15 do
1432
				Swait()
1433
				killnearest(cframe.p,25,150)
1434
			end
1435
		end))
1436
	end))
1437
	for i=0, 1, 0.1 / Animation_Speed do
1438
		Swait()
1439
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
1440
		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)
1441
		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)
1442
		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)
1443
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1444
		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)
1445
	end
1446
	ATTACK = false
1447
end
1448
1449
function GraviSpear()
1450
	ATTACK = true
1451
	for i=0, 1.5, 0.1 / Animation_Speed do
1452
		Swait()
1453
		turnto(Mouse.Hit.p)
1454
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.4 / Animation_Speed)
1455
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.2 / Animation_Speed)
1456
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1457
		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_Speed)
1458
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1459
		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)
1460
	end
1461
	local spear = IT("Part",Effects)
1462
	spear.Anchored = true
1463
	spear.CanCollide = false
1464
	spear.Shape = "Ball"
1465
	spear.Size = VT(0,0,0)
1466
	spear.Material = "Neon"
1467
	spear.Transparency = 0.2
1468
	spear.BrickColor = BRICKC("Dark indigo")
1469
	spear.CFrame = RightArm.CFrame * CF(0,-4,0)
1470
	local inner = spear:Clone()
1471
	inner.Parent = spear
1472
	inner.Size = VT(0,0,0)
1473
	inner.BrickColor = BRICKC("Dark indigo")
1474
	inner.CFrame = spear.CFrame
1475
	for i = 1, 10 do
1476
		Swait()
1477
		turnto(Mouse.Hit.p)
1478
		spear.CFrame = RightArm.CFrame * CF(0,-4,0)
1479
		inner.CFrame = spear.CFrame
1480
		spear.Size = spear.Size + VT(0.4,0.4,0.4)
1481
		inner.Size = inner.Size + VT(0.35,0.35,0.35)
1482
	end
1483
	CreateParticles2(inner,VT(0,0,0),5,1,"Smoke",true,true,1,8)
1484
	MagicSphere(25,25,RightArm.CFrame*CF(0,-1,0),"Dark indigo")
1485
	MagicSphere(20,25,RightArm.CFrame*CF(0,-1,0),"Dark indigo")
1486
	CreateSound(CUTSOUNDS[MRANDOM(1, #CUTSOUNDS)], RightArm, 6, 1)
1487
	local bv = Instance.new("BodyVelocity") 
1488
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1489
	bv.velocity = CF(spear.Position,Mouse.Hit.p).lookVector*65
1490
	bv.Parent = spear
1491
	bv.Name = "MOVE"
1492
	weldBetween(spear,inner)
1493
	spear.Anchored = false
1494
	inner.Anchored = false
1495
	local harm = spear.Touched:Connect(function(hit)
1496
		if hit.Parent ~= Character and hit.Parent ~= Weapon and hit.Parent ~= Effects then
1497
			local cframe = spear.CFrame
1498
			coroutine.resume(coroutine.create(function()
1499
				spear.Parent = nil
1500
				coroutine.resume(coroutine.create(function()
1501
					CreateSound(RELEASESOUND, Effects, 2, 1)
1502
					MagicSphere(60,125,cframe,"Dark indigo")
1503
					MagicSphere(50,125,cframe,"Dark indigo")
1504
					CreateSwirl(0,6,true,0.3,125,spear,0,"Dark indigo")
1505
					CreateSwirl(0,4,true,0.3,125,spear,0,"Dark indigo")
1506
					CreateSwirl(0,2,true,0.3,125,spear,0,"Dark indigo")
1507
					for i = 1, 15 do
1508
						Swait()
1509
						killnearest(cframe.p,15,150)
1510
					end
1511
				end))
1512
			end))
1513
		end
1514
	end)
1515
	coroutine.resume(coroutine.create(function()
1516
		repeat
1517
			Swait()
1518
			CreateSwirl(0,2,true,0.3,25,spear,0,"Dark indigo")
1519
			attractnearest("Part",spear,65,70,5)
1520
		until spear.Parent == nil
1521
	end))
1522
	ATTACK = false
1523
end
1524
1525
function WarpSpear()
1526
	ATTACK = true
1527
	for i=0, 1.5, 0.1 / Animation_Speed do
1528
		Swait()
1529
		turnto(Mouse.Hit.p)
1530
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.4 / Animation_Speed)
1531
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.2 / Animation_Speed)
1532
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1533
		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_Speed)
1534
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1535
		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)
1536
	end
1537
	local spear = IT("Part",Effects)
1538
	spear.Anchored = true
1539
	spear.CanCollide = false
1540
	spear.Shape = "Ball"
1541
	spear.Size = VT(0,0,0)
1542
	spear.Material = "Neon"
1543
	spear.Transparency = 0.2
1544
	spear.BrickColor = BRICKC("Dark indigo")
1545
	spear.CFrame = RightArm.CFrame * CF(0,-4,0)
1546
	local inner = spear:Clone()
1547
	inner.Parent = spear
1548
	inner.Size = VT(0,0,0)
1549
	inner.BrickColor = BRICKC("Dark indigo")
1550
	inner.CFrame = spear.CFrame
1551
	for i = 1, 5 do
1552
		Swait()
1553
		turnto(Mouse.Hit.p)
1554
		spear.CFrame = RightArm.CFrame * CF(0,-4,0)
1555
		inner.CFrame = spear.CFrame
1556
		spear.Size = spear.Size + VT(0.4,0.4,0.4)
1557
		inner.Size = inner.Size + VT(0.35,0.35,0.35)
1558
	end
1559
	MagicSphere(25,25,RightArm.CFrame*CF(0,-1,0),"Dark indigo")
1560
	MagicSphere(20,25,RightArm.CFrame*CF(0,-1,0),"Dark indigo")
1561
	CreateSound(CUTSOUNDS[MRANDOM(1, #CUTSOUNDS)], RightArm, 6, 1)
1562
	local bv = Instance.new("BodyVelocity") 
1563
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1564
	bv.velocity = CF(spear.Position,Mouse.Hit.p).lookVector*100
1565
	bv.Parent = spear
1566
	bv.Name = "MOVE"
1567
	weldBetween(spear,inner)
1568
	spear.Anchored = false
1569
	inner.Anchored = false
1570
	local HIT = false
1571
	local harm = spear.Touched:Connect(function(hit)
1572
		if HIT == false and hit.Parent ~= Character and hit.Parent ~= Weapon and hit.Parent ~= Effects then
1573
			local cframe = spear.CFrame
1574
			HIT = true
1575
			coroutine.resume(coroutine.create(function()
1576
				spear.Parent = nil
1577
				RootPart.CFrame = CF(spear.Position,Mouse.Hit.p)
1578
				coroutine.resume(coroutine.create(function()
1579
					CreateSound(RELEASESOUND, Effects, 2, 1.5)
1580
					MagicSphere(30,105,cframe,"Dark indigo")
1581
					MagicSphere(25,105,cframe,"Dark indigo")
1582
					for i = 1, 15 do
1583
						Swait()
1584
						killnearest(cframe.p,7.5,150)
1585
					end
1586
				end))
1587
			end))
1588
		end
1589
	end)
1590
	coroutine.resume(coroutine.create(function()
1591
		Swait(75)
1592
		if HIT == false then
1593
			local cframe = spear.CFrame
1594
			HIT = true
1595
			coroutine.resume(coroutine.create(function()
1596
				spear.Parent = nil
1597
				RootPart.CFrame = CF(spear.Position,Mouse.Hit.p)
1598
				coroutine.resume(coroutine.create(function()
1599
					CreateSound(RELEASESOUND, Effects, 2, 1.5)
1600
					MagicSphere(30,105,cframe,"Dark indigo")
1601
					MagicSphere(25,105,cframe,"Dark indigo")
1602
					for i = 1, 15 do
1603
						Swait()
1604
						killnearest(cframe.p,7.5,150)
1605
					end
1606
				end))
1607
			end))
1608
		end
1609
	end))
1610
	coroutine.resume(coroutine.create(function()
1611
		local loop = 0
1612
		repeat
1613
			Swait()
1614
			loop = loop + 1
1615
			if loop == 4 then
1616
				MagicSphere(25,15,spear.CFrame,"Dark indigo")
1617
			end
1618
			if loop == 7 then
1619
				loop = 0
1620
				MagicSphere(25,15,spear.CFrame,"Dark indigo")
1621
			end
1622
			attractnearest("Part",spear,12.5,50,5)
1623
		until spear.Parent == nil
1624
	end))
1625
	ATTACK = false
1626
end
1627
1628
function GravityGlobe()
1629
	ATTACK = true
1630
	Rooted = true
1631
	for i=0, 1, 0.1 / Animation_Speed do
1632
		Swait()
1633
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
1634
		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)
1635
		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)
1636
		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)
1637
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1638
		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)
1639
	end
1640
	coroutine.resume(coroutine.create(function()
1641
		CreateMagicCircle(100,true,0.02,50,CF(RootPart.Position) * CF(0,-2.8,0),true)
1642
		local cframe = RootPart.CFrame
1643
		CreateSound(RELEASESOUND, Effects, 2, 1)
1644
		local sphere = IT("Part",Effects)
1645
		sphere.Shape = "Ball"
1646
		sphere.Size = VT(0,0,0)
1647
		sphere.Anchored = true
1648
		sphere.CanCollide = false
1649
		sphere.Material = "Neon"
1650
		sphere.Transparency = 0.5
1651
		sphere.BrickColor = BRICKC("Dark indigo")
1652
		sphere.CFrame = cframe
1653
		local sphere2 = IT("Part",Effects)
1654
		sphere2.Shape = "Ball"
1655
		sphere2.Size = VT(0,0,0)
1656
		sphere2.Anchored = true
1657
		sphere2.CanCollide = false
1658
		sphere2.Material = "Neon"
1659
		sphere2.Transparency = 0.3
1660
		sphere2.BrickColor = BRICKC("Dark indigo")
1661
		sphere2.CFrame = cframe
1662
		for i = 1, 10 do
1663
			Swait(2)
1664
			attractnearest("Vector",cframe.p,50,50,10)
1665
			sphere.CFrame = cframe
1666
			sphere.Size = sphere.Size + VT(4,4,4)
1667
			sphere2.CFrame = cframe
1668
			sphere2.Size = sphere2.Size + VT(3.5,3.5,3.5)
1669
			killnearest(cframe.p,15,0)
1670
		end
1671
		local scale = 0.2
1672
		local mode = "shrink"
1673
		for i = 1, 350 do
1674
			Swait()
1675
			if mode == "shrink" then
1676
				scale = scale + scale
1677
				if scale >= - 65 then
1678
					mode = "grow"
1679
				end
1680
			elseif mode == "grow" then
1681
				scale = scale + -scale*2
1682
				if scale <= - 65 then
1683
					mode = "shrink"
1684
				end
1685
			end
1686
			CreateRing(180,5,true,0,50,sphere,0,scale,scale,"Dark indigo")
1687
			sphere.Size = sphere.Size + VT(scale,scale,scale)
1688
			attractnearest("Vector",cframe.p,50,50,5)
1689
			killnearest(cframe.p,15,0)
1690
		end
1691
		for i = 1, 10 do
1692
			Swait(2)
1693
			sphere.CFrame = cframe
1694
			sphere.Size = sphere.Size - VT(5,5,5)
1695
			sphere.CFrame = cframe
1696
			sphere2.CFrame = cframe
1697
			sphere2.Size = sphere2.Size - VT(3.5,3.5,3.5)
1698
		end
1699
		sphere:remove()
1700
		sphere2:remove()
1701
	end))
1702
	for i=0, 1, 0.1 / Animation_Speed do
1703
		Swait()
1704
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
1705
		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)
1706
		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)
1707
		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)
1708
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1709
		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)
1710
	end
1711
	Rooted = false
1712
	ATTACK = false
1713
end
1714
1715
function GravityBeam()
1716
	ATTACK = true
1717
	Rooted = true
1718
	for i=0, 1.5, 0.1 / Animation_Speed do
1719
		Swait()
1720
		turnto(Mouse.Hit.p)
1721
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.4 / Animation_Speed)
1722
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.2 / Animation_Speed)
1723
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1724
		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_Speed)
1725
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1726
		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)
1727
	end
1728
	local startpos = RightArm.CFrame*CF(0,-1.5,0).p
1729
	local loop = 0
1730
	local loopsound = CreateSound(CHARGESOUND, RightArm, 10, 1, true)
1731
	local loopsound2 = CreateSound("487214658", Effects, 1, 0, true)
1732
	local pos = nil
1733
	repeat
1734
		if loop < 150 then
1735
			Swait()
1736
			loop = loop + 1
1737
			turnto(Mouse.Hit.p)
1738
			MagicSphere(15,25,RightArm.CFrame*CF(0,-1,0),"Dark indigo")
1739
			MagicSphere(12,25,RightArm.CFrame*CF(0,-1,0),"Dark indigo")
1740
		else
1741
			loopsound2.Pitch = 1
1742
			loopsound:Stop()
1743
			startpos = RightArm.CFrame*CF(0,-1.5,0).p
1744
			turnto(Mouse.Hit.p)
1745
			MagicSphere(35,25,CF(startpos),"Dark indigo")
1746
			MagicSphere(32,25,CF(startpos),"Dark indigo")
1747
			local RayHit, RayPos, RayNormal = CastZapRay(startpos, Mouse.Hit.p, 150, Character, false)
1748
			local distance = (startpos - RayPos).magnitude
1749
			local laser = Instance.new("Part",Effects)
1750
			laser.Transparency = 0.5
1751
			laser.CanCollide = false
1752
			laser.Anchored = true
1753
			laser.BrickColor = BrickColor.new("Dark indigo")
1754
       	 	laser.Material = "Neon" 
1755
			laser.formFactor    = Enum.FormFactor.Custom
1756
			laser.Size          = Vector3.new(2.5, 2.5, distance)
1757
			laser.CFrame        = CFrame.new(startpos, RayPos) * CFrame.new(0, 0, -distance/2)
1758
			local laser2 = Instance.new("Part",Effects)
1759
			laser2.Transparency = 0
1760
			laser2.CanCollide = false
1761
			laser2.Anchored = true
1762
			laser2.BrickColor = BrickColor.new("Dark indigo")
1763
       	 	laser2.Material = "Neon" 
1764
			laser2.formFactor    = Enum.FormFactor.Custom
1765
			laser2.Size          = Vector3.new(2, 2, distance)
1766
			laser2.CFrame        = CFrame.new(startpos, RayPos) * CFrame.new(0, 0, -distance/2)
1767
			killnearest(RayPos,5,150,true)
1768
			MagicSphere(350,2,CF(RayPos),"Dark indigo")
1769
			MagicSphere(320,2,CF(RayPos),"Dark indigo")
1770
			if RayHit ~= nil then
1771
				CreateWave(0,5,false,0,25,CF(RayPos),0,"Dark indigo")
1772
			end
1773
			attractnearest("Vector",RayPos,40,50,10)
1774
			pos = RayPos
1775
			Swait()
1776
			laser2:remove()
1777
			laser:remove()
1778
		end
1779
	until KEYHOLD == false
1780
	if loop == 150 then
1781
		local cframe = CF(pos)
1782
		coroutine.resume(coroutine.create(function()
1783
			coroutine.resume(coroutine.create(function()
1784
				CreateSound(RELEASESOUND, Effects, 2, 1)
1785
				MagicSphere(500,55,cframe,"Dark indigo")
1786
				MagicSphere(450,55,cframe,"Dark indigo")
1787
				for i = 1, 15 do
1788
					Swait()
1789
					killnearest(cframe.p,75,150)
1790
				end
1791
			end))
1792
		end))
1793
	end
1794
	loopsound2:remove()
1795
	loopsound:remove()
1796
	Rooted = false
1797
	ATTACK = false
1798
end
1799
1800
--//=================================\\
1801
--||	  ASSIGN THINGS TO KEYS
1802
--\\=================================//
1803
1804
Humanoid.Changed:connect(function(Jump)
1805
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
1806
		Humanoid.Jump = false
1807
	end
1808
end)
1809
1810
function MouseDown(Mouse)
1811
	if ATTACK == false then
1812
	end
1813
end
1814
1815
function MouseUp(Mouse)
1816
HOLD = false
1817
end
1818
1819
function KeyDown(Key)
1820
	KEYHOLD = true
1821
	if Key == "q" and ATTACK == false then
1822
		GraviBomb()
1823
	end
1824
1825
	if Key == "e" and ATTACK == false then
1826
		GraviSpear()
1827
	end
1828
1829
	if Key == "r" and ATTACK == false then
1830
		GravityGlobe()
1831
	end
1832
1833
	if Key == "g" and ATTACK == false then
1834
		GravityBeam()
1835
	end
1836
1837
	if Key == "x" and ATTACK == false then
1838
	end
1839
1840
	if Key == "c" and ATTACK == false then
1841
		WarpSpear()
1842
	end
1843
1844
	if Key == "t" and ATTACK == false then
1845
		CreateSound("305685800", Head, 10, 1 ,false)
1846
	end
1847
end
1848
1849
function KeyUp(Key)
1850
	KEYHOLD = false
1851
end
1852
1853
	Mouse.Button1Down:connect(function(NEWKEY)
1854
		MouseDown(NEWKEY)
1855
	end)
1856
	Mouse.Button1Up:connect(function(NEWKEY)
1857
		MouseUp(NEWKEY)
1858
	end)
1859
	Mouse.KeyDown:connect(function(NEWKEY)
1860
		KeyDown(NEWKEY)
1861
	end)
1862
	Mouse.KeyUp:connect(function(NEWKEY)
1863
		KeyUp(NEWKEY)
1864
	end)
1865
1866
--//=================================\\
1867
--\\=================================//
1868
1869
1870
function unanchor()
1871
	if UNANCHOR == true then
1872
		g = Character:GetChildren()
1873
		for i = 1, #g do
1874
			if g[i].ClassName == "Part" then
1875
				g[i].Anchored = false
1876
			end
1877
		end
1878
	end
1879
end
1880
1881
1882
--//=================================\\
1883
--||	WRAP THE WHOLE SCRIPT UP
1884
--\\=================================//
1885
1886
Humanoid.Changed:connect(function(Jump)
1887
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
1888
		Humanoid.Jump = false
1889
	end
1890
end)
1891
1892
		ANIMATE.Parent = nil
1893
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1894
		IDLEANIMATION:Play()
1895
1896
while true do
1897
	Swait()
1898
	SINE = SINE + CHANGE
1899
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1900
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1901
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1902
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1903
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1904
		if ANIM == "Walk" and TORSOVELOCITY > 1 then
1905
			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)
1906
			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)
1907
			--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)
1908
			--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)
1909
		elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1910
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1911
			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)
1912
			--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)
1913
			----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)
1914
		end
1915
		if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1916
			ANIM = "Jump"
1917
			if ATTACK == false then
1918
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1919
				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)
1920
				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)
1921
				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)
1922
				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)
1923
				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)
1924
	        end
1925
		elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1926
			ANIM = "Fall"
1927
			if ATTACK == false then
1928
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1929
				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)
1930
				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)
1931
				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)
1932
				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)
1933
				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)
1934
			end
1935
		elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1936
			ANIM = "Idle"
1937
			if ATTACK == false then
1938
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1939
				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)
1940
				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)
1941
				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)
1942
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size - 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1943
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.2 * 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)
1944
			end
1945
		elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1946
			ANIM = "Walk"
1947
			WALK = WALK + 1 / Animation_Speed
1948
			if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1949
				WALK = 0
1950
				if WALKINGANIM == true then
1951
					WALKINGANIM = false
1952
				elseif WALKINGANIM == false then
1953
					WALKINGANIM = true
1954
				end
1955
			end
1956
			--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)
1957
			--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)
1958
			if ATTACK == false then
1959
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed*3)
1960
				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(0)), 0.15 / Animation_Speed)
1961
				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)
1962
				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) 
1963
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size - 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1964
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.2 * 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)
1965
			end
1966
		end
1967
if #Effects2>0 then
1968
for e=1,#Effects2 do
1969
if Effects2[e]~=nil then
1970
local Thing=Effects2[e]
1971
if Thing~=nil then
1972
local Part=Thing[1]
1973
local Mode=Thing[2]
1974
local Delay=Thing[3]
1975
local IncX=Thing[4]
1976
local IncY=Thing[5]
1977
local IncZ=Thing[6]
1978
local Part2=Thing[8]
1979
if Thing[1].Transparency<=1 then
1980
if Thing[2]=="Block1" then
1981
Thing[1].CFrame=Thing[1].CFrame
1982
Mesh=Thing[1].Mesh
1983
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1984
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1985
elseif Thing[2]=="Cylinder" then
1986
Mesh=Thing[1].Mesh
1987
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1988
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1989
elseif Thing[2]=="Blood" then
1990
Mesh=Thing[7]
1991
Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
1992
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1993
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1994
elseif Thing[2]=="Elec" then
1995
Mesh=Thing[1].Mesh
1996
Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
1997
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1998
elseif Thing[2]=="Disappear" then
1999
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
2000
end
2001
else
2002
Part.Parent=nil
2003
table.remove(Effects2,e)
2004
end
2005
end
2006
end
2007
end
2008
end
2009
unanchor()
2010
Humanoid.MaxHealth = "inf"
2011
Humanoid.Health = "inf"
2012
if Rooted == false then
2013
	Disable_Jump = false
2014
	Humanoid.WalkSpeed = Speed
2015
elseif Rooted == true then
2016
	Disable_Jump = true
2017
	Humanoid.WalkSpeed = 0
2018
end
2019
--CreateMagicCircle(2 ,false,0,3,LeftLeg.CFrame * CF(0,-1.2,0),true)
2020
end
2021
2022
--//=================================\\
2023
--\\=================================//
2024
2025
2026
2027
2028
2029
--//====================================================\\--
2030
--||			  		 END OF SCRIPT
2031
--\\====================================================//--