View difference between Paste ID: fUb3J4zT and iBATm3Yz
SHOW: | | - or go back to the newest paste.
1
Player = game.Players.LocalPlayer
2
Character = Player.Character 
3
PlayerGui = Player.PlayerGui
4
Backpack = Player.Backpack 
5
Torso = Character.HumanoidRootPart 
6
Head = Character.Head 
7
Humanoid = Character.Humanoid
8
LeftArm = Character["Left Arm"] 
9
LeftLeg = Character["Left Leg"] 
10
RightArm = Character["Right Arm"] 
11
RightLeg = Character["Right Leg"]
12
Character = Player.Character 
13
PlayerGui = Player.PlayerGui
14
Backpack = Player.Backpack 
15
TorsA = Character.Torso 
16
Head = Character.Head 
17
Humanoid = Character.Humanoid
18
LeftArm = Character["Left Arm"] 
19
LeftLeg = Character["Left Leg"] 
20
RightArm = Character["Right Arm"] 
21
RightLeg = Character["Right Leg"] 
22
LS = TorsA["Left Shoulder"] 
23
LH = TorsA["Left Hip"] 
24
RS = TorsA["Right Shoulder"] 
25
RH = TorsA["Right Hip"] 
26
Neck = TorsA.Neck
27
attacktype = 1
28
vt = Vector3.new
29
cf = CFrame.new
30
euler = CFrame.fromEulerAnglesXYZ
31
angles = CFrame.Angles
32
necko = cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
33
necko2 = cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
34
LHC0 = cf(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
35
LHC1 = cf(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
36
RHC0 = cf(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
37
RHC1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
38
RootPart = Character.HumanoidRootPart
39
RootJoint = RootPart.RootJoint
40
RootCF = euler(-1.57, 0, 3.14)
41
attack = false 
42
equipped = true
43
local Anim = "Idle"
44
local Effects = {}
45
cam = workspace.CurrentCamera
46
ZTarget = nil
47
RocketTarget = nil
48
local RbxUtility = LoadLibrary("RbxUtility")
49
local Create = RbxUtility.Create
50
local m = Create("Model"){
51
	Parent = Character,
52
	Name = "WeaponModel",
53
}
54
mouse = Player:GetMouse()
55
RSH, LSH = nil, nil 
56
LH = TorsA["Left Hip"]
57
RH = TorsA["Right Hip"]
58
RSH = TorsA["Right Shoulder"] 
59
LSH = TorsA["Left Shoulder"] 
60
 
61
RSH.Parent = nil 
62
LSH.Parent = nil 
63
64
RW = Create("Weld"){
65
	Name = "Right Shoulder",
66
	Part0 = Torso ,
67
	C0 = cf(1.5, 0.5, 0),
68
	C1 = cf(0, 0.5, 0), 
69
	Part1 = RightArm ,
70
	Parent = Torso ,
71
}
72
73
LW = Create("Weld"){
74
	Name = "Left Shoulder",
75
	Part0 = Torso ,
76
	C0 = cf(-1.5, 0.5, 0),
77
	C1 = cf(0, 0.5, 0) ,
78
	Part1 = LeftArm ,
79
	Parent = Torso ,
80
}
81
82
function NoOutline(Part)
83
	Part.TopSurface, Part.BottomSurface, Part.LeftSurface, Part.RightSurface, Part.FrontSurface, Part.BackSurface = 10, 10, 10, 10, 10, 10
84
end
85
function swait(num)
86
	if num == 0 or num == nil then
87
		game:service'RunService'.Heartbeat:wait(0)
88
	else
89
		for i = 0, num do
90
			game:service'RunService'.Heartbeat:wait(0)
91
		end
92
	end
93
end
94
	
95
function nooutline(part)
96
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
97
end
98
	
99
function part(formfactor, parent, material, reflectance, transparency, brickcolor, name, size)
100
	local fp = Create("Part"){
101
		formFactor = formfactor,
102
		Parent = parent,
103
		Reflectance = reflectance,
104
		Transparency = transparency,
105
		CanCollide = false,
106
		Locked = true,
107
		BrickColor = BrickColor.new(tostring(brickcolor)),
108
		Name = name,
109
		Size = size,
110
		Position = Character.Torso.Position,
111
		Material = material,
112
	}
113
	nooutline(fp)
114
	return fp
115
end
116
	
117
function mesh(Mesh, part, meshtype, meshid, offset, scale)
118
	local Msh = Create(Mesh){
119
		Parent = part,
120
		Offset = offset,
121
		Scale = scale,
122
	}
123
	if Mesh == "SpecialMesh" then
124
		Msh.MeshType = meshtype
125
		Msh.MeshId = meshid
126
	end
127
	return Msh
128
end
129
	
130
function weld(parent, part0, part1, c0, c1)
131
	local Weld = Create("Weld"){
132
		Parent = parent,
133
		Part0 = part0,
134
		Part1 = part1,
135
		C0 = c0,
136
		C1 = c1,
137
	}
138
	return Weld
139
end
140
	
141
	
142
local function CFrameFromTopBack(at, top, back)
143
	local right = top:Cross(back)
144
	return CFrame.new(at.x, at.y, at.z,
145
right.x, top.x, back.x,
146
right.y, top.y, back.y,
147
right.z, top.z, back.z)
148
end
149
150
function Triangle(a, b, c)
151
	local edg1 = (c - a):Dot((b - a).unit)
152
	local edg2 = (a - b):Dot((c - b).unit)
153
	local edg3 = (b - c):Dot((a - c).unit)
154
	if edg1 <= (b - a).magnitude and edg1 >= 0 then
155
		a, b, c = a, b, c
156
	elseif edg2 <= (c - b).magnitude and edg2 >= 0 then
157
		a, b, c = b, c, a
158
	elseif edg3 <= (a - c).magnitude and edg3 >= 0 then
159
		a, b, c = c, a, b
160
	else
161
		assert(false, "unreachable")
162
	end
163
 
164
	local len1 = (c - a):Dot((b - a).unit)
165
	local len2 = (b - a).magnitude - len1
166
	local width = (a + (b - a).unit * len1 - c).magnitude
167
 
168
	local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, -(b - a).unit)
169
 
170
	local list = {}
171
172
	local Color = BrickColor.new("Dark stone grey")
173
 
174
	if len1 > 0.01 then
175
		local w1 = Create('WedgePart', m){
176
			Material = "SmoothPlastic",
177
			FormFactor = 'Custom',
178
			BrickColor = Color,
179
			Transparency = 0,
180
			Reflectance = 0,
181
			Material = "SmoothPlastic",
182
			CanCollide = false,
183
			Anchored = true,
184
			Parent = workspace,
185
			Transparency = 0.3,
186
		}
187
		game:GetService("Debris"):AddItem(w1, 5)
188
		NoOutline(w1)
189
		local sz = Vector3.new(0.2, width, len1)
190
		w1.Size = sz
191
		local sp = Create("SpecialMesh"){
192
			Parent = w1,
193
			MeshType = "Wedge",
194
			Scale = Vector3.new(0, 1, 1) * sz / w1.Size,
195
		}
196
		w1:BreakJoints()
197
		table.insert(Effects, {
198
			w1,
199
			"Disappear",
200
			.03
201
		})
202
		w1.CFrame = maincf * CFrame.Angles(math.pi, 0, math.pi / 2) * CFrame.new(0, width / 2, len1 / 2)
203
		table.insert(list, w1)
204
	end
205
	if len2 > 0.01 then
206
		local w2 = Create('WedgePart', m){
207
			Material = "SmoothPlastic",
208
			FormFactor = 'Custom',
209
			BrickColor = Color,
210
			Transparency = 0,
211
			Reflectance = 0,
212
			Material = "SmoothPlastic",
213
			CanCollide = false,
214
			Anchored = true,
215
			Parent = workspace,
216
			Transparency = 0.3,
217
		}
218
		game:GetService("Debris"):AddItem(w2, 5)
219
		NoOutline(w2)
220
		local sz = Vector3.new(0.2, width, len2)
221
		w2.Size = sz
222
		local sp = Create("SpecialMesh"){
223
			Parent = w2,
224
			MeshType = "Wedge",
225
			Scale = Vector3.new(0, 1, 1) * sz / w2.Size,
226
		}
227
		w2:BreakJoints()
228
		table.insert(Effects, {
229
			w2,
230
			"Disappear",
231
			.03
232
		})
233
		w2.CFrame = maincf * CFrame.Angles(math.pi, math.pi, -math.pi / 2) * CFrame.new(0, width / 2, -len1 - len2 / 2)
234
		table.insert(list, w2)
235
	end
236
	return unpack(list)
237
end
238
		
239
function so(id, par, vol, pit) 
240
	coroutine.resume(coroutine.create(function()
241
		local sou = Instance.new("Sound", par or workspace)
242
		sou.Volume = vol
243
		sou.Pitch = pit or 1
244
		sou.SoundId = Sounds[id].Id or id
245
		swait() 
246
		sou:play() 
247
		swait(6) 
248
		sou:Remove() 
249
	end))
250
end
251
 
252
function clerp(a, b, t) 
253
	local qa = {
254
		QuaternionFromCFrame(a)
255
	}
256
	local qb = {
257
		QuaternionFromCFrame(b)
258
	} 
259
	local ax, ay, az = a.x, a.y, a.z 
260
	local bx, by, bz = b.x, b.y, b.z
261
	local _t = 1 - t
262
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t)) 
263
end 
264
 
265
function QuaternionFromCFrame(cf) 
266
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() 
267
	local trace = m00 + m11 + m22 
268
	if trace > 0 then 
269
		local s = math.sqrt(1 + trace) 
270
		local recip = 0.5 / s 
271
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5 
272
	else 
273
		local i = 0 
274
		if m11 > m00 then
275
			i = 1
276
		end
277
		if m22 > (i == 0 and m00 or m11) then 
278
			i = 2 
279
		end 
280
		if i == 0 then 
281
			local s = math.sqrt(m00 - m11 - m22 + 1) 
282
			local recip = 0.5 / s 
283
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip 
284
		elseif i == 1 then 
285
			local s = math.sqrt(m11 - m22 - m00 + 1) 
286
			local recip = 0.5 / s 
287
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip 
288
		elseif i == 2 then 
289
			local s = math.sqrt(m22 - m00 - m11 + 1) 
290
			local recip = 0.5 / s
291
			return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip 
292
		end 
293
	end 
294
end
295
 
296
function QuaternionToCFrame(px, py, pz, x, y, z, w) 
297
	local xs, ys, zs = x + x, y + y, z + z 
298
	local wx, wy, wz = w * xs, w * ys, w * zs 
299
	local xx = x * xs 
300
	local xy = x * ys 
301
	local xz = x * zs 
302
	local yy = y * ys 
303
	local yz = y * zs 
304
	local zz = z * zs 
305
	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)) 
306
end
307
 
308
function QuaternionSlerp(a, b, t) 
309
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4] 
310
	local startInterp, finishInterp; 
311
	if cosTheta >= 0.0001 then 
312
		if (1 - cosTheta) > 0.0001 then 
313
			local theta = math.acos(cosTheta) 
314
			local invSinTheta = 1 / math.sin(theta) 
315
			startInterp = math.sin((1 - t) * theta) * invSinTheta 
316
			finishInterp = math.sin(t * theta) * invSinTheta  
317
		else 
318
			startInterp = 1 - t 
319
			finishInterp = t 
320
		end 
321
	else 
322
		if (1 + cosTheta) > 0.0001 then 
323
			local theta = math.acos(-cosTheta) 
324
			local invSinTheta = 1 / math.sin(theta) 
325
			startInterp = math.sin((t - 1) * theta) * invSinTheta 
326
			finishInterp = math.sin(t * theta) * invSinTheta 
327
		else 
328
			startInterp = t - 1 
329
			finishInterp = t 
330
		end 
331
	end 
332
	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 
333
end
334
335
function rayCast(Pos, Dir, Max, Ignore)
336
	return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) 
337
end 
338
339
Asset = "http://www.roblox.com/asset/?id="
340
341
Sounds = {
342
	Hit1 = {
343
		Id = Asset..(199149137)
344
	},
345
	Hit2 = {
346
		Id = Asset..(199149186)
347
	},
348
	Hit3 = {
349
		Id = Asset..(199149221)
350
	},
351
	Hit4 = {
352
		Id = Asset..(199149235)
353
	},
354
	Slash1 = {
355
		Id = Asset..(161006195)
356
	},
357
	Slash2 = {
358
		Id = Asset..(161006212)
359
	},
360
	Fire = {
361
		Id = Asset..(168413145)
362
	},
363
	Beam = {
364
		Id = Asset..(278596476)
365
	},
366
	Appear = {
367
		Id = Asset..(200633077)
368
	},
369
	Disappear = {
370
		Id = Asset..(200633029)
371
	},
372
}
373
 
374
ContentProvider = game:GetService("ContentProvider")
375
for _, v in pairs(Sounds) do
376
	ContentProvider:Preload(v.Id)
377
end
378
379
380
381
Damagefunc = function(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
382
	if hit.Parent == nil then
383
		return
384
	end
385
	local h = hit.Parent:FindFirstChild("Humanoid")
386
	for _, v in pairs(hit.Parent:children()) do
387
		if v:IsA("Humanoid") then
388
			h = v
389
		end
390
	end
391
	if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
392
		if hit.Parent:findFirstChild("DebounceHit") ~= nil then
393
			if hit.Parent.DebounceHit.Value == true then
394
				return
395
			end
396
		end
397
		if h.MaxHealth >= math.huge then
398
			hit:BreakJoints()
399
		end
400
        --[[                if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then
401
                        return
402
                end]]
403
--                        hs(hit,1.2) 
404
		local c = Create("ObjectValue"){
405
			Name = "creator",
406
			Value = game:service("Players").LocalPlayer,
407
			Parent = h,
408
		}
409
		game:GetService("Debris"):AddItem(c, .5)
410
		if HitSound ~= nil and HitPitch ~= nil then
411
			so(HitSound, hit, 1, HitPitch) 
412
		end
413
		local Damage = math.random(minim, maxim)
414
--                h:TakeDamage(Damage)
415
		local blocked = false
416
		local block = hit.Parent:findFirstChild("Block")
417
		if block ~= nil then
418
			if block.className == "IntValue" then
419
				if block.Value > 0 then
420
					blocked = true
421
					block.Value = block.Value - 1
422
					print(block.Value)
423
				end
424
			end
425
		end
426
		if blocked == false then
427
--                h:TakeDamage(Damage)
428
			h.Health = h.Health - Damage
429
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color)
430
		else
431
			h.Health = h.Health - (Damage / 2)
432
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color)
433
		end
434
		if Type == "Knockdown" then
435
			local hum = hit.Parent.Humanoid
436
			hum.PlatformStand = true
437
			coroutine.resume(coroutine.create(function(HHumanoid)
438
				swait(1)
439
				HHumanoid.PlatformStand = false
440
			end), hum)
441
			local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
442
			local bodvol = Create("BodyVelocity"){
443
				velocity = angle * knockback,
444
				P = 5000,
445
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
446
				Parent = hit,
447
			}
448
			local rl = Create("BodyAngularVelocity"){
449
				P = 3000,
450
				maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
451
				angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
452
				Parent = hit,
453
			}
454
			game:GetService("Debris"):AddItem(bodvol, .5)
455
			game:GetService("Debris"):AddItem(rl, .5)
456
		elseif Type == "Normal" then
457
			local vp = Create("BodyVelocity"){
458
				P = 500,
459
				maxForce = Vector3.new(math.huge, 0, math.huge),
460
				velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
461
			}
462
			if knockback > 0 then
463
				vp.Parent = hit.Parent.Torso
464
			end
465
			game:GetService("Debris"):AddItem(vp, .5)
466
		elseif Type == "Up" then
467
			local bodyVelocity = Create("BodyVelocity"){
468
				velocity = vt(0, 20, 0),
469
				P = 5000,
470
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
471
				Parent = hit,
472
			}
473
			game:GetService("Debris"):AddItem(bodyVelocity, .5)
474
		elseif Type == "Snare" then
475
			local bp = Create("BodyPosition"){
476
				P = 2000,
477
				D = 100,
478
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
479
				position = hit.Parent.Torso.Position,
480
				Parent = hit.Parent.Torso,
481
			}
482
			game:GetService("Debris"):AddItem(bp, 1)
483
		elseif Type == "Freeze" then
484
			local BodPos = Create("BodyPosition"){
485
				P = 50000,
486
				D = 1000,
487
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
488
				position = hit.Parent.Torso.Position,
489
				Parent = hit.Parent.Torso,
490
			}
491
			local BodGy = Create("BodyGyro") {
492
				maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
493
				P = 20e+003,
494
				Parent = hit.Parent.Torso,
495
				cframe = hit.Parent.Torso.CFrame,
496
			}
497
			hit.Parent.Torso.Anchored = true
498
			coroutine.resume(coroutine.create(function(Part) 
499
				swait(1.5)
500
				Part.Anchored = false
501
			end), hit.Parent.Torso)
502
			game:GetService("Debris"):AddItem(BodPos, 3)
503
			game:GetService("Debris"):AddItem(BodGy, 3)
504
		end
505
		local debounce = Create("BoolValue"){
506
			Name = "DebounceHit",
507
			Parent = hit.Parent,
508
			Value = true,
509
		}
510
		game:GetService("Debris"):AddItem(debounce, Delay)
511
		c = Instance.new("ObjectValue")
512
		c.Name = "creator"
513
		c.Value = Player
514
		c.Parent = h
515
		game:GetService("Debris"):AddItem(c, .5)
516
	end
517
end
518
519
function ShowDamage(Pos, Text, Time, Color)
520
	local Rate = (1 / 30)
521
	local Pos = (Pos or Vector3.new(0, 0, 0))
522
	local Text = (Text or "")
523
	local Time = (Time or 2)
524
	local Color = (Color or Color3.new(1, 0, 0))
525
	local EffectPart = part("Custom", workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", vt(0, 0, 0))
526
	EffectPart.Anchored = true
527
	local BillboardGui = Create("BillboardGui"){
528
		Size = UDim2.new(3, 0, 3, 0),
529
		Adornee = EffectPart,
530
		Parent = EffectPart,
531
	}
532
	local TextLabel = Create("TextLabel"){
533
		BackgroundTransparency = 1,
534
		Size = UDim2.new(1, 0, 1, 0),
535
		Text = Text,
536
		TextColor3 = Color,
537
		TextScaled = true,
538
		Font = Enum.Font.ArialBold,
539
		Parent = BillboardGui,
540
	}
541
	game.Debris:AddItem(EffectPart, (Time + 0.1))
542
	EffectPart.Parent = game:GetService("Workspace")
543
	delay(0, function()
544
		local Frames = (Time / Rate)
545
		for Frame = 1, Frames do
546
			wait(Rate)
547
			local Percent = (Frame / Frames)
548
			EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
549
			TextLabel.TextTransparency = Percent
550
		end
551
		if EffectPart and EffectPart.Parent then
552
			EffectPart:Destroy()
553
		end
554
	end)
555
end
556
557
Handle = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Gold", "Handle", Vector3.new(1.20000005, 0.200000003, 1.20000005))
558-
Handle = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Crimson", "Handle", Vector3.new(1.20000005, 0.200000003, 1.20000005))
558+
559
mesh("CylinderMesh", Handle, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.660000086, 1))
560
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(1.44000006, 0.200000003, 1.44000006))
561-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.44000006, 0.200000003, 1.44000006))
561+
562
mesh("CylinderMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
563
Layer2Handle = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Layer2Handle", Vector3.new(0.480000019, 0.200000003, 0.480001062))
564-
Layer2Handle = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Layer2Handle", Vector3.new(0.480000019, 0.200000003, 0.480001062))
564+
565
Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Gold", "Part", Vector3.new(0.480000019, 0.200000003, 0.720000625))
566-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Crimson", "Part", Vector3.new(0.480000019, 0.200000003, 0.720000625))
566+
567
mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
568
Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Gold", "Part", Vector3.new(0.480000019, 0.200000003, 0.720000625))
569-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Crimson", "Part", Vector3.new(0.480000019, 0.200000003, 0.720000625))
569+
570
mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
571
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(0.480000019, 0.200000003, 5.04000092))
572-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.480000019, 0.200000003, 5.04000092))
572+
573
mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
574
mesh("BlockMesh", Layer2Handle, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
575
Layer3Handle = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 1, "Gold", "Layer3Handle", Vector3.new(0.720000029, 0.720000029, 0.200000003))
576-
Layer3Handle = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 1, "Crimson", "Layer3Handle", Vector3.new(0.720000029, 0.720000029, 0.200000003))
576+
577
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
578-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
578+
579
mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
580
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
581-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
581+
582
mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
583
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
584-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
584+
585
mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
586
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
587-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
587+
588
mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
589
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
590-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
590+
591
mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
592
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
593-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
593+
594
mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
595
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
596-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
596+
597
mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
598
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
599-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
599+
600
mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
601
Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0.19999998807907, "Gold", "Part", Vector3.new(0.480000019, 0.480000019, 0.200000003))
602-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0.19999998807907, "Crimson", "Part", Vector3.new(0.480000019, 0.480000019, 0.200000003))
602+
603
mesh("SpecialMesh", Part, Enum.MeshType.FileMesh, "http://www.roblox.com/asset/?id=18430887", Vector3.new(0, 0, 0), Vector3.new(3.58200026, 3.58200002, 2.9532001))
604
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
605-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
605+
606
mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
607
Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Stone grey", "Part", Vector3.new(0.480000019, 0.480000019, 0.200000003))
608-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Really black", "Part", Vector3.new(0.480000019, 0.480000019, 0.200000003))
608+
609
mesh("SpecialMesh", Part, Enum.MeshType.FileMesh, "http://www.roblox.com/asset/?id=18430887", Vector3.new(0, 0, 0), Vector3.new(3.60000014, 3.60000014, 3.60000014))
610
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
611-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
611+
612
mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
613
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
614-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
614+
615
mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
616
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Stone grey", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
617-
Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
617+
618
mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
619
HitboxA = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Stone grey", "HitboxA", Vector3.new(0.200000003, 2.48000002, 0.840000391))
620-
HitboxA = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxA", Vector3.new(0.200000003, 2.48000002, 0.840000391))
620+
621
HitboxB = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Stone grey", "HitboxB", Vector3.new(0.200000003, 2.48000026, 0.840000391))
622-
HitboxB = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxB", Vector3.new(0.200000003, 2.48000026, 0.840000391))
622+
623
HitboxC = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Stone grey", "HitboxC", Vector3.new(0.200000003, 2.28000021, 0.840000391))
624-
HitboxC = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxC", Vector3.new(0.200000003, 2.28000021, 0.840000391))
624+
625
mesh("SpecialMesh", HitboxC, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
626
HitboxD = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Stone grey", "HitboxD", Vector3.new(0.200000003, 2.28000021, 0.840000391))
627-
HitboxD = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxD", Vector3.new(0.200000003, 2.28000021, 0.840000391))
627+
628
mesh("SpecialMesh", HitboxD, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
629
mesh("SpecialMesh", Layer3Handle, Enum.MeshType.FileMesh, "http://www.roblox.com/asset/?id=18430887", Vector3.new(0, 0, 0), Vector3.new(6, 6, -1.21799994))
630
631
local Lite = Create("PointLight"){
632
	Parent = Handle,
633
	Color = BrickColor.new("Gold").Color,
634-
	Color = BrickColor.new("Crimson").Color,
634+
635
	Range = 20,
636
	Brightness = 0.5,
637
}
638
639
local Spin = Create("Sound"){
640
Parent = Handle,
641
SoundId = "rbxassetid://143301643",
642
Volume = 1,
643
Pitch = 1,
644
Looped = true,
645
}
646
647
local Spin2 = Create("Sound"){
648
Parent = Handle,
649
SoundId = "rbxassetid://149560784",
650
Volume = .7,
651
Pitch = .8,
652
Looped = true,
653
}
654
655
Spin:Play()
656
657
Spin2:Play()
658
659
local PE1 = Create("ParticleEmitter"){
660
Parent = Layer3Handle,
661
Color = ColorSequence.new(BrickColor.new("Gold").Color),
662-
Color = ColorSequence.new(BrickColor.new("Crimson").Color),
662+
663
Size = NumberSequence.new(0.2),
664
Texture = "rbxassetid://263433152",
665
Lifetime = NumberRange.new(1),
666
Rate = 20,
667
VelocitySpread = 180,
668
Rotation = NumberRange.new(100),
669
Speed = NumberRange.new(3),
670
LightEmission = 1,
671
}
672
673
function Reappear()
674
	for _, i in pairs(m:children()) do
675
		if i.Name == "Layer3Handle" then
676
			Part.Transparency = 1
677
			coroutine.resume(coroutine.create(function(Part) 
678
				for i = 0, 1, 0.1 do
679
					swait()
680
					Part.Transparency = i
681
				end
682
				Part.Transparency = 0.5
683
			end), i)
684
		end
685
	end
686
end
687
688
function Disappear()
689
	for _, i in pairs(m:children()) do
690
		if i.Name == "Layer3Handle" then
691
			Part.Transparency = .5
692
			coroutine.resume(coroutine.create(function(Part) 
693
				for i = 0, 1, 0.1 do
694
					swait()
695
					Part.Transparency = i
696
				end
697
				Part.Transparency = 1
698
			end), i)
699
		end
700
	end
701
end
702
703
function attackone()
704
	attack = true
705
	local con1 = HitboxA.Touched:connect(function(hit)
706
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit1", 1)
707
	end) 
708
	local con2 = HitboxB.Touched:connect(function(hit)
709
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit2", 1)
710
	end) 
711
	local con3 = HitboxC.Touched:connect(function(hit)
712
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit3", 1)
713
	end) 
714
	local con4 = HitboxD.Touched:connect(function(hit)
715
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit4", 1)
716
	end) 
717
	Reappear()
718
	for i = 0, 1, 0.1 do
719
		swait()
720
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .3)
721
		TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(50)), .3)
722
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(30)), 0.3)
723
		LW.C0 = clerp(LW.C0, CFrame.new(-1, 0.3, .3) * angles(math.rad(-30), math.rad(0), math.rad(30)), 0.3)
724
		RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(120), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
725
		LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
726
		Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(5, -4, -7) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
727
		Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
728
		Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
729
	end
730
	so("Slash1", Handle, 1, 1)
731
	for i = 0, 1, 0.1 do
732
		swait()
733
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), .5)
734
		TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(-50)), .5)
735
		RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, -.5) * angles(math.rad(90), math.rad(0), math.rad(-30)), 0.5)
736
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.5)
737
		RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
738
		LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-120), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
739
		Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-2, -4, -8) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
740
		Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
741
		Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
742
	end
743
	Disappear()
744
	con1:disconnect()
745
	con2:disconnect()
746
	con3:disconnect() 
747
	con4:disconnect()
748
	attack = false
749
end
750
751
function attacktwo()
752
	attack = true
753
	local con1 = HitboxA.Touched:connect(function(hit)
754
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit1", 1)
755
	end) 
756
	local con2 = HitboxB.Touched:connect(function(hit)
757
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit2", 1)
758
	end) 
759
	local con3 = HitboxC.Touched:connect(function(hit)
760
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit3", 1)
761
	end) 
762
	local con4 = HitboxD.Touched:connect(function(hit)
763
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit4", 1)
764
	end) 
765
	Reappear()
766
	for i = 0, 1, 0.1 do
767
		swait()
768
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
769
		TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(-10), math.rad(0), math.rad(0)), .3)
770
		RW.C0 = clerp(RW.C0, CFrame.new(1.4, 0.5, -.5) * angles(math.rad(150), math.rad(0), math.rad(0)), 0.3)
771
		LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3)
772
		RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
773
		LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-85), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
774
		Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, 10, 0) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.3)
775
		Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
776
		Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
777
	end
778
	so("Slash2", Handle, 1, 1.2)
779
	for i = 0, 1, 0.1 do
780
		swait()
781
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .5)
782
		TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .5)
783
		RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.3, -.5) * angles(math.rad(50), math.rad(0), math.rad(-30)), 0.5)
784
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-50)), 0.5)
785
		RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
786
		LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-85), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
787
		Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, .5, -8) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.4)
788
		Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
789
		Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
790
	end
791
	Disappear()
792
	con1:disconnect()
793
	con2:disconnect()
794
	con3:disconnect() 
795
	con4:disconnect()
796
	attack = false
797
end
798
799
function attackthree()
800
	attack = true
801
	local con1 = HitboxA.Touched:connect(function(hit)
802
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit1", 1)
803
	end) 
804
	local con2 = HitboxB.Touched:connect(function(hit)
805
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit2", 1)
806
	end) 
807
	local con3 = HitboxC.Touched:connect(function(hit)
808
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit3", 1)
809
	end) 
810
	local con4 = HitboxD.Touched:connect(function(hit)
811
		Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit4", 1)
812
	end) 
813
	Reappear()
814
	for i = 0, 1, 0.1 do
815
		swait()
816
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), .3)
817
		TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-50)), .3)
818
		RW.C0 = clerp(RW.C0, CFrame.new(1.4, 0.8, -.5) * angles(math.rad(120), math.rad(0), math.rad(-30)), 0.3)
819
		LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3)
820
		RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
821
		LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-140), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
822
		Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-10, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-20)), 0.3)
823
		Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
824
		Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
825
	end
826
	so("Slash1", Handle, 1, 1.2)
827
	for i = 0, 1, 0.1 do
828
		swait()
829
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .5)
830
		TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(50)), .5)
831
		RW.C0 = clerp(RW.C0, CFrame.new(1.4, 0.5, 0) * angles(math.rad(50), math.rad(0), math.rad(30)), 0.5)
832
		LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.5)
833
		RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(140), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
834
		LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-50), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
835
		Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, -5, -10) * angles(math.rad(0), math.rad(0), math.rad(-20)), 0.3)
836
		Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
837
		Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
838
	end
839
	Disappear()
840
	con1:disconnect()
841
	con2:disconnect()
842
	con3:disconnect() 
843
	con4:disconnect()
844
	attack = false
845
end
846
847
local hoverpos = Create("BodyPosition"){}
848
849
local bv = Create("BodyVelocity"){
850
851
	Parent = nil,
852
853
	maxForce = Vector3.new(4e+020, 4e+020, 4e+020) ,
854
855
}
856
857
local hovering = false
858
859
function Hover()
860
	so("Appear",Handle,1,1)
861
	attack = true
862
	local dur = 0
863
	local donum3 = 0
864
	coroutine.resume(coroutine.create(function(Num) 
865
		for i = 0, 1, 0.1 do
866
			swait()
867
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
868
			TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .3)
869
			RW.C0 = clerp(RW.C0, CFrame.new(1, 0.3, .3) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3)
870
			LW.C0 = clerp(LW.C0, CFrame.new(-1, 0.3, .3) * angles(math.rad(-30), math.rad(0), math.rad(30)), 0.3)
871
			RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(-20)) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
872
			LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(10)) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
873
			Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, -8, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
874
			Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum3 / .03, math.rad(0)), 0.3)
875
			Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum3 / .04, math.rad(0)), 0.3)
876
		end
877
	end), dur)
878
	Reappear()
879
	hoverpos.maxForce = vt(4e+080, 4e+080, 4e+080)
880
	hoverpos.Name = "BP"
881
	hoverpos.Parent = RootPart
882
	hoverpos.P = 2000
883
	hoverpos.D = 100
884
	hoverpos.position = RootPart.Position
885
	while hovering == true do
886
		for i = 0, 1, 0.1 do
887
			swait()
888
			donum3 = donum3 + 0.01
889
			Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum3 / .03, math.rad(0)), 0.3)
890
			Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum3 / .04, math.rad(0)), 0.3)
891
		end
892
	end
893
	Disappear()
894
	so("Disappear",Handle,1,1)
895
	hoverpos.Parent = nil
896
	attack = false
897
end
898
899
function MagniDamage(Hit,Part,magni,mindam,maxdam,knock,Type)
900
for _,c in pairs(workspace:children()) do
901
local hum=c:findFirstChild("Humanoid")
902
if hum~=nil then
903
local head=c:findFirstChild("Torso")
904
if head~=nil then
905
local targ=head.Position-Part.Position
906
local mag=targ.magnitude
907
if mag<=magni and c.Name~=Player.Name then 
908
Damagefunc(Hit,head,mindam,maxdam,knock,Type,RootPart,.2,"Hit1",1)
909
end
910
end
911
end
912
end
913
end
914
915
function CylinderEffect(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
916
local prt=part(3,Character,"Neon",0,0,brickcolor,"Effect",vt(0.2,0.2,0.2))
917
prt.Anchored=true
918
prt.CFrame=cframe
919
local msh=mesh("CylinderMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
920
game:GetService("Debris"):AddItem(prt,5)
921
Effects[#Effects+1]={prt,"Cylinder",delay,x3,y3,z3} --part, type, delay
922
end
923
924
RocketTarget = RootPart
925
function ShootCannon(asd)
926
local MainPos=asd.Position
927
local MainPos2=mouse.Hit.p
928
local MouseLook=cf((MainPos+MainPos2)/2,MainPos2)
929
num=30
930
coroutine.resume(coroutine.create(function() 
931
repeat
932
wait()
933
local hit,pos = rayCast(MainPos,MouseLook.lookVector,10,RocketTarget.Parent)
934
local mag=(MainPos-pos).magnitude 
935
CylinderEffect(BrickColor.new("Gold"),CFrame.new((MainPos+pos)/2,pos)*angles(1.57,0,0),3,mag*5,3,1.5,0,1.5,0.1)
936-
CylinderEffect(BrickColor.new("Crimson"),CFrame.new((MainPos+pos)/2,pos)*angles(1.57,0,0),3,mag*5,3,1.5,0,1.5,0.1)
936+
937
num=num-1
938
if hit~=nil then
939
num=0
940
local ref=part(3,workspace,"Neon",0,1,BrickColor.new("Gold"),"Reference",vt())
941-
local ref=part(3,workspace,"Neon",0,1,BrickColor.new("Crimson"),"Reference",vt())
941+
942
ref.CFrame=cf(pos)
943
MagniDamage(ref,hit,5,30,50,1,"Normal")
944
game:GetService("Debris"):AddItem(ref,5) 
945
end
946
until num<=0
947
end))
948
end
949
950
function BlastEffect(brickcolor, cframe, x1, y1, z1, x2, y2, z2)
951
	local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
952
	prt.Anchored = true
953
	prt.CFrame = cframe
954
	local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=20329976", vt(0, 0, 0), vt(x1, y1, z1))
955
	coroutine.resume(coroutine.create(function() 
956
		for i = 0, 1, 0.05 do
957
			wait()
958
			prt.Transparency = i
959
			msh.Scale = msh.Scale + vt(x2, y2, z2)
960
		end
961
		prt.Parent = nil
962
	end))
963
end
964
965
function BlockEffect(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
966
local prt=part(3,workspace,"Neon",0,0,brickcolor,"Effect",vt())
967
prt.Anchored=true
968
prt.CFrame=cframe
969
local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
970
game:GetService("Debris"):AddItem(prt,5)
971
table.insert(Effects,{prt,"Block1",delay,x3,y3,z3}) --part, type, delay
972
end
973
974
function FireProjectiles()
975
attack = true
976
so("Appear",Handle,1,1)
977
Reappear()
978
for i = 0,1,0.1 do
979
swait()
980
RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
981
TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(-30), math.rad(0), math.rad(0)), .3)
982
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(150), math.rad(0), math.rad(0)), 0.3)
983
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(-20)), 0.3)
984
RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
985
LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
986
Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
987
Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3)
988
Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3)
989
end
990
Humanoid.WalkSpeed = 0
991
for i = 1,8 do
992
ShootCannon(Handle)
993
BlockEffect(BrickColor.new("Gold"),Handle.CFrame,.5,.5,.5,.9,.9,.9,0.05)
994-
BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.5,.5,.5,.9,.9,.9,0.05)
994+
995
for i = 0,1,0.1 do
996
swait()
997
RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .5)
998
TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(0)), .5)
999
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(85), math.rad(0), math.rad(30)), 0.5)
1000
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(85), math.rad(0), math.rad(-30)), 0.5)
1001
RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
1002
LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
1003
Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 1, 0) * angles(math.rad(-90), math.rad(0), math.rad(0)), 0.3)
1004
Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3)
1005
Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3)
1006
end
1007
end
1008
Disappear()
1009
so("Disappear",Handle,1,1)
1010
Humanoid.WalkSpeed = 16
1011
attack = false
1012
end
1013
1014
function EnergyBurst()
1015
attack = true
1016
so("Appear",Handle,1,1)
1017
for i = 0,1,0.1 do
1018
swait()
1019
RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .3)
1020
TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(50)), .3)
1021
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(50), math.rad(90)), 0.3)
1022
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-20)), 0.3)
1023
RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(130), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
1024
LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
1025
Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(10, -4, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
1026
Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3)
1027
Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3)
1028
end
1029
Reappear()
1030
so("Slash1", Handle, 1, 1.2)
1031
for i = 1,2 do
1032
for i = 0,1,0.1 do
1033
swait()
1034
BlockEffect(BrickColor.new("Gold"),Handle.CFrame,.5,.5,.5,.9,.9,.9,0.05)
1035-
BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.5,.5,.5,.9,.9,.9,0.05)
1035+
1036
TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-70)), .3)
1037
RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(20), math.rad(90)), 0.3)
1038
LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-40), math.rad(0), math.rad(-50)), 0.3)
1039
RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
1040
LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-130), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
1041
Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(15, -4, -7) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
1042
Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3)
1043
Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3)
1044
end
1045
end
1046
Disappear()
1047
so("Disappear",Handle,1,1)
1048
so("Fire", Handle, 1, 1.2)
1049
so("Fire", Handle, 1, .8)
1050
MagniDamage(Handle,Handle,30,30,50,1,"Knockdown")
1051
BlastEffect(BrickColor.new("Gold"), Handle.CFrame, .1, .1, .1, 1, 1, 1)
1052-
BlastEffect(BrickColor.new("Crimson"), Handle.CFrame, .1, .1, .1, 1, 1, 1)
1052+
1053
BlockEffect(BrickColor.new("Gold"),Handle.CFrame,1,1,1,5,5,5,0.05)
1054-
BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,1,1,1,5,5,5,0.05)
1054+
1055
attack = false
1056
end
1057
1058
function WaveEffect(Part,cframe1,cframe2,Damage,Size)
1059
coroutine.resume(coroutine.create(function() 
1060
local wave=part(1,workspace,"Neon",0,0,BrickColor.new("Gold"),"Effect",vt(3,3,10))
1061-
local wave=part(1,workspace,"Neon",0,0,BrickColor.new("Crimson"),"Effect",vt(3,3,10))
1061+
1062
wave.CFrame=Part.CFrame*cframe1
1063
so("Beam",wave,1,1.3)
1064
MagniDamage(wave,wave,10,10,30,1,"Normal")
1065
local Msh = Create("SpecialMesh"){
1066
Parent = wave,
1067
MeshType = "Sphere"
1068
}
1069
BlockEffect(BrickColor.new("Gold"),wave.CFrame,1,1,1,3,3,3,0.05)
1070-
BlockEffect(BrickColor.new("Crimson"),wave.CFrame,1,1,1,3,3,3,0.05)
1070+
1071
Parent = wave,
1072
Color = ColorSequence.new(BrickColor.new("Gold").Color),
1073-
Color = ColorSequence.new(BrickColor.new("Crimson").Color),
1073+
1074
Size = NumberSequence.new(1),
1075
Texture = "rbxassetid://249270319",
1076
Lifetime = NumberRange.new(1),
1077
Rate = 50,
1078
VelocitySpread = 180,
1079
Rotation = NumberRange.new(0),
1080
Speed = NumberRange.new(5),
1081
LightEmission = 1,
1082
}
1083
for i=0,1,0.2 do
1084
wait()
1085
local dir = wave.CFrame.lookVector*-1
1086
local pos = rayCast(wave.Position,dir,5,Character)
1087
wave.CFrame=wave.CFrame*cframe2
1088
Effects[#Effects+1]={wave,"Cylinder",0.01,.03,.03,.03}
1089
end
1090
end))
1091
end
1092
1093
function Wave()
1094
attack = true
1095
Reappear()
1096
so("Appear",Handle,1,.8)
1097
for i = 1,3 do
1098
for i = 0, 1, 0.1 do
1099
	swait()
1100
	BlockEffect(BrickColor.new("Gold"),Handle.CFrame,.1,.1,.1,1,1,1,0.05)
1101-
	BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.1,.1,.1,1,1,1,0.05)
1101+
1102
	TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(-10), math.rad(0), math.rad(0)), .3)
1103
	RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.8, 0) * angles(math.rad(150), math.rad(0), math.rad(0)), 0.3)
1104
	LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3)
1105
	RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
1106
	LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
1107
	Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, 10, 0) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.4)
1108
	Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
1109
	Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
1110
end
1111
end
1112
so("Slash2",Handle,1,.4)
1113
local inc=-10
1114
for i=1,8 do
1115
WaveEffect(Torso,CFrame.new(0,-5,inc)*CFrame.fromEulerAnglesXYZ(-2,0,1.57),CFrame.new(0,0,0.8),10,5)
1116
inc=inc-7
1117
end
1118
for i = 1,2 do
1119
for i = 0, 1, 0.1 do
1120
	swait()
1121
	BlockEffect(BrickColor.new("Gold"),Handle.CFrame,.1,.1,.1,1,1,1,0.05)
1122-
	BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.1,.1,.1,1,1,1,0.05)
1122+
1123
	TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(-5), math.rad(0), math.rad(0)), .5)
1124
	RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.4, -.5) * angles(math.rad(50), math.rad(0), math.rad(-20)), 0.5)
1125
	LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-50), math.rad(0), math.rad(-50)), 0.5)
1126
	RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(10)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
1127
	LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(-10)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
1128
	Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, .5, -10) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.5)
1129
	Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
1130
	Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
1131
end
1132
end
1133
Disappear()
1134
so("Disappear",Handle,1,.8)
1135
attack = false
1136
end
1137
1138
mouse.Button1Down:connect(function()
1139
	if attack == false and attacktype == 1 then
1140
		attacktype = 2
1141
		attackone()
1142
	elseif attack == false and attacktype == 2 then
1143
		attacktype = 3
1144
		attacktwo()
1145
	elseif attack == false and attacktype == 3 then
1146
		attacktype = 1
1147
		attackthree()
1148
	end
1149
end)
1150
1151
mouse.KeyDown:connect(function(k)
1152
	k = k:lower()
1153
	if attack == false and k == ' ' and Anim == "Jump" then
1154
		hovering = true
1155
		Hover()
1156
	elseif k == ' ' and hovering == true then
1157
		hovering = false
1158
	elseif attack == false and k == 'q' then
1159
	    FireProjectiles()
1160
	elseif attack == false and k == 'e' then
1161
	    EnergyBurst()
1162
	elseif attack == false and k == 'r' then
1163
	    Wave()
1164
	end
1165
end)
1166
1167
local sine = 0
1168
local change = 1
1169
local val = 0
1170
local idle = 0
1171
local donum = 0
1172
local donum2 = 0
1173
1174
while true do
1175
	swait()
1176
	sine = sine + change
1177
	local torvel = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
1178
	local velderp = RootPart.Velocity.y
1179
	hitfloor, posfloor = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
1180
	if equipped == true or equipped == false then
1181
		if attack == false then
1182
			idle = idle + 1
1183
		else
1184
			idle = 0
1185
		end
1186
		if idle >= 500 then
1187
			if attack == false then
1188
			end
1189
		end
1190
		if donum2 >= .5 then
1191
			handidle = true
1192
		elseif donum2 <= 0 then
1193
			handidle = false
1194
		end
1195
		if handidle == false then
1196
			donum2 = donum2 + 0.003
1197
		else
1198
			donum2 = donum2 - 0.003
1199
		end
1200
		donum = donum + 0.003
1201
		if RootPart.Velocity.y > 1 and hitfloor == nil then 
1202
			Anim = "Jump"
1203
			if attack == false then
1204
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(5), math.rad(0), math.rad(0)), .3)
1205
				TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(-10), math.rad(0), math.rad(0)), .3)
1206
				RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(30)), 0.3)
1207
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-30)), 0.3)
1208
				RH.C0 = clerp(RH.C0, cf(1, -.8, -.5) * angles(math.rad(0), math.rad(90), math.rad(-20)), .3)
1209
				LH.C0 = clerp(LH.C0, cf(-1, -1, -.3) * angles(math.rad(0), math.rad(-90), math.rad(30)), .3)
1210
				Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(20) - donum2 / 1), 0.3)
1211
				Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3)
1212
				Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3)
1213
			end
1214
		elseif RootPart.Velocity.y < -1 and hitfloor == nil then 
1215
			Anim = "Fall"
1216
			if attack == false then
1217
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
1218
				TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .3)
1219
				RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), 0.3)
1220
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), 0.3)
1221
				RH.C0 = clerp(RH.C0, cf(1, -.7, -.5) * angles(math.rad(0), math.rad(90), math.rad(-20)), .3)
1222
				LH.C0 = clerp(LH.C0, cf(-1, -.9, -.3) * angles(math.rad(0), math.rad(-90), math.rad(30)), .3)
1223
				Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(20) - donum2 / 1), 0.3)
1224
				Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3)
1225
				Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3)
1226
			end
1227
		elseif torvel < 1 and hitfloor ~= nil then
1228
			Anim = "Idle"
1229
			if attack == false then
1230
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-30)), .3)
1231
				TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(30)), .3)
1232
				RW.C0 = clerp(RW.C0, CFrame.new(.8, 0.5, -.7) * angles(math.rad(85), math.rad(0), math.rad(-70)), 0.3)
1233
				LW.C0 = clerp(LW.C0, CFrame.new(-.8, 0.5, -.3) * angles(math.rad(70), math.rad(0), math.rad(70)), 0.3)
1234
				RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
1235
				LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
1236
				Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(20) - donum2 / 1), 0.3)
1237
				Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3)
1238
				Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3)
1239
			end
1240
		elseif torvel > 2 and hitfloor ~= nil then
1241
			Anim = "Walk"
1242
			if attack == false then
1243
				change = 3
1244
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(5), math.rad(0), math.rad(0)), .3)
1245
				TorsA.Neck.C0 = clerp(TorsA.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(0)), .3)
1246
				RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(40) * math.cos(sine / 10), math.rad(0), math.rad(5)), 0.3)
1247
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-40) * math.cos(sine / 10), math.rad(0), math.rad(-5)), 0.3)
1248
				RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-2), math.rad(0), math.rad(0)), .3)
1249
				LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2), math.rad(0), math.rad(0)), .3)
1250
				Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(20), math.rad(0), math.rad(20) - donum2 / 1), 0.3)
1251
				Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3)
1252
				Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3)
1253
			end
1254
		end
1255
	end
1256
	if #Effects > 0 then
1257
		for e = 1, #Effects do
1258
			if Effects[e] ~= nil then
1259
				local Thing = Effects[e]
1260
				if Thing ~= nil then
1261
					local Part = Thing[1]
1262
					local Mode = Thing[2]
1263
					local Delay = Thing[3]
1264
					local IncX = Thing[4]
1265
					local IncY = Thing[5]
1266
					local IncZ = Thing[6]
1267
					if Thing[1].Transparency <= 1 then
1268
						if Thing[2] == "Block1" then
1269
							Thing[1].CFrame = Thing[1].CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1270
							Mesh = Thing[1].Mesh
1271
							Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
1272
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1273
						elseif Thing[2] == "Cylinder" then
1274
							Mesh = Thing[1].Mesh
1275
							Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
1276
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1277
						elseif Thing[2] == "Blood" then
1278
							Mesh = Thing[7]
1279
							Thing[1].CFrame = Thing[1].CFrame * cf(0, .5, 0)
1280
							Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
1281
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1282
						elseif Thing[2] == "Elec" then
1283
							Mesh = Thing[1].Mesh
1284
							Mesh.Scale = Mesh.Scale + vt(Thing[7], Thing[8], Thing[9])
1285
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1286
						elseif Thing[2] == "Disappear" then
1287
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1288
						end
1289
					else
1290
						Part.Parent = nil
1291
						table.remove(Effects, e)
1292
					end
1293
				end
1294
			end
1295
		end
1296
	end
1297
end