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