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