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