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