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