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