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