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