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