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