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