View difference between Paste ID: PjEinpGp and PAxw2YzZ
SHOW: | | - or go back to the newest paste.
1
--[[
2
	SUN IS A DEADLY LASER SCRIPT
3
		{ NOT ANYMORE THERE'S A EDIT! }
4
		Created by Minty_Latios (ROBLOX)
5
				   MintyLatios (V3rmillion)
6
				   Minty Latios#1938
7
        Edited by joe201501 (ROBLOX)
8
                  Joe#1184 (Discord)
9
				   
10
				   
11
--]]
12
wait(1 / 60)
13
Effects = { }
14
local Player = game.Players.localPlayer
15
local Character = Player.Character
16
local Humanoid = Character.Humanoid
17
local Mouse = Player:GetMouse()
18
local LeftArm = Character["Left Arm"]
19
local RightArm = Character["Right Arm"]
20
local LeftLeg = Character["Left Leg"]
21
local RightLeg = Character["Right Leg"]
22
local Head = Character.Head
23
local Torso = Character.Torso
24
local Camera = game.Workspace.CurrentCamera
25
local RootPart = Character.HumanoidRootPart
26
local RootJoint = RootPart.RootJoint
27
local attack = false
28
local Anim = 'Idle'
29
local attacktype = 1
30
local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
31
local velocity = RootPart.Velocity.y
32
local sine = 0
33
local change = 1
34
local Create = LoadLibrary("RbxUtility").Create
35
36
local m = Create("Model"){
37
	Parent = Character,
38
	Name = "WeaponModel",
39
}
40
41
Humanoid.Animator.Parent = nil
42
Character.Animate.Parent = nil
43
44
local newMotor = function(part0, part1, c0, c1)
45
	local w = Create('Motor'){
46
		Parent = part0,
47
		Part0 = part0,
48
		Part1 = part1,
49
		C0 = c0,
50
		C1 = c1,
51
	}
52
	return w
53
end
54
55
function clerp(a, b, t)
56
	return a:lerp(b, t)
57
end
58
59
RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
60
NeckCF = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
61
62
local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0)) 
63
local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0))
64
local RH = newMotor(Torso, RightLeg, CFrame.new(.5, -2, 0), CFrame.new(0, 0, 0))
65
local LH = newMotor(Torso, LeftLeg, CFrame.new(-.5, -2, 0), CFrame.new(0, 0, 0))
66
RootJoint.C1 = CFrame.new(0, 0, 0)
67
RootJoint.C0 = CFrame.new(0, 0, 0)
68
Torso.Neck.C1 = CFrame.new(0, 0, 0)
69
Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
70
71
local rarmc1 = RW.C1
72
local larmc1 = LW.C1
73
local rlegc1 = RH.C1
74
local llegc1 = LH.C1
75
76
local resetc1 = false
77
78
function PlayAnimationFromTable(table, speed, bool)
79
	RootJoint.C0 = clerp(RootJoint.C0, table[1], speed) 
80
	Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed) 
81
	RW.C0 = clerp(RW.C0, table[3], speed) 
82
	LW.C0 = clerp(LW.C0, table[4], speed) 
83
	RH.C0 = clerp(RH.C0, table[5], speed) 
84
	LH.C0 = clerp(LH.C0, table[6], speed) 
85
	if bool == true then
86
		if resetc1 == false then
87
			resetc1 = true
88
			RootJoint.C1 = RootJoint.C1
89
			Torso.Neck.C1 = Torso.Neck.C1
90
			RW.C1 = rarmc1
91
			LW.C1 = larmc1
92
			RH.C1 = rlegc1
93
			LH.C1 = llegc1
94
		end
95
	end
96
end
97
98
ArtificialHB = Create("BindableEvent", script){
99
	Parent = script,
100
	Name = "Heartbeat",
101
}
102
103
script:WaitForChild("Heartbeat")
104
105
frame = 1 / 30
106
tf = 0
107
allowframeloss = false
108
tossremainder = false
109
lastframe = tick()
110
script.Heartbeat:Fire()
111
112
game:GetService("RunService").Heartbeat:connect(function(s, p)
113
	tf = tf + s
114
	if tf >= frame then
115
		if allowframeloss then
116
			script.Heartbeat:Fire()
117
			lastframe = tick()
118
		else
119
			for i = 1, math.floor(tf / frame) do
120
				script.Heartbeat:Fire()
121
			end
122
			lastframe = tick()
123
		end
124
		if tossremainder then
125
			tf = 0
126
		else
127
			tf = tf - frame * math.floor(tf / frame)
128
		end
129
	end
130
end)
131
132
function swait(num)
133
	if num == 0 or num == nil then
134
		ArtificialHB.Event:wait()
135
	else
136
		for i = 0, num do
137
			ArtificialHB.Event:wait()
138
		end
139
	end
140
end
141
142
function RemoveOutlines(part)
143
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
144
end
145
	
146
CFuncs = {	
147
	["Part"] = {
148
		Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
149
			local Part = Create("Part"){
150
				Parent = Parent,
151
				Reflectance = Reflectance,
152
				Transparency = Transparency,
153
				CanCollide = false,
154
				Locked = true,
155
				BrickColor = BrickColor.new(tostring(BColor)),
156
				Name = Name,
157
				Size = Size,
158
				Material = Material,
159
			}
160
			RemoveOutlines(Part)
161
			return Part
162
		end;
163
	};
164
	
165
	["Mesh"] = {
166
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
167
			local Msh = Create(Mesh){
168
				Parent = Part,
169
				Offset = OffSet,
170
				Scale = Scale,
171
			}
172
			if Mesh == "SpecialMesh" then
173
				Msh.MeshType = MeshType
174
				Msh.MeshId = MeshId
175
			end
176
			return Msh
177
		end;
178
	};
179
	
180
	["Mesh"] = {
181
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
182
			local Msh = Create(Mesh){
183
				Parent = Part,
184
				Offset = OffSet,
185
				Scale = Scale,
186
			}
187
			if Mesh == "SpecialMesh" then
188
				Msh.MeshType = MeshType
189
				Msh.MeshId = MeshId
190
			end
191
			return Msh
192
		end;
193
	};
194
	
195
	["Weld"] = {
196
		Create = function(Parent, Part0, Part1, C0, C1)
197
			local Weld = Create("Weld"){
198
				Parent = Parent,
199
				Part0 = Part0,
200
				Part1 = Part1,
201
				C0 = C0,
202
				C1 = C1,
203
			}
204
			return Weld
205
		end;
206
	};
207
208
	["Sound"] = {
209
		Create = function(id, par, vol, pit) 
210
			coroutine.resume(coroutine.create(function()
211
				local S = Create("Sound"){
212
					Volume = vol,
213
					Pitch = pit or 1,
214
					SoundId = id,
215
					Parent = par or workspace,
216
				}
217
				wait() 
218
				S:play() 
219
				game:GetService("Debris"):AddItem(S, 6)
220
			end))
221
		end;
222
	};
223
	
224
	["ParticleEmitter"] = {
225
		Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
226
			local fp = Create("ParticleEmitter"){
227
				Parent = Parent,
228
				Color = ColorSequence.new(Color1, Color2),
229
				LightEmission = LightEmission,
230
				Size = Size,
231
				Texture = Texture,
232
				Transparency = Transparency,
233
				ZOffset = ZOffset,
234
				Acceleration = Accel,
235
				Drag = Drag,
236
				LockedToPart = LockedToPart,
237
				VelocityInheritance = VelocityInheritance,
238
				EmissionDirection = EmissionDirection,
239
				Enabled = Enabled,
240
				Lifetime = LifeTime,
241
				Rate = Rate,
242
				Rotation = Rotation,
243
				RotSpeed = RotSpeed,
244
				Speed = Speed,
245
				VelocitySpread = VelocitySpread,
246
			}
247
			return fp
248
		end;
249
	};
250
251
	CreateTemplate = {
252
	
253
	};
254
}
255
256
function rayCast(Position, Direction, Range, Ignore)
257
	return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore) 
258
end 
259
260
FindNearestTorso = function(pos)
261
	local list = (game.Workspace:children())
262
	local torso = nil
263
	local dist = 1000
264
	local temp, human, temp2 = nil, nil, nil
265
	for x = 1, #list do
266
		temp2 = list[x]
267
		if temp2.className == "Model" and temp2.Name ~= Character.Name then
268
			temp = temp2:findFirstChild("Torso")
269
			human = temp2:findFirstChild("Humanoid")
270
			if temp ~= nil and human ~= nil and human.Health > 0 and (temp.Position - pos).magnitude < dist then
271
				local dohit = true
272
				if dohit == true then
273
					torso = temp
274
					dist = (temp.Position - pos).magnitude
275
				end
276
			end
277
		end
278
	end
279
	return torso, dist
280
end
281
282
function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
283
	if hit.Parent == nil then
284
		return
285
	end
286
	local h = hit.Parent:FindFirstChild("Humanoid")
287
	for _, v in pairs(hit.Parent:children()) do
288
		if v:IsA("Humanoid") then
289
			h = v
290
		end
291
	end
292
	if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
293
		if hit.Parent:findFirstChild("DebounceHit") ~= nil then
294
			if hit.Parent.DebounceHit.Value == true then
295
				return
296
			end
297
		end
298
		local c = Create("ObjectValue"){
299
			Name = "creator",
300
			Value = game:service("Players").LocalPlayer,
301
			Parent = h,
302
		}
303
		game:GetService("Debris"):AddItem(c, .5)
304
		if HitSound ~= nil and HitPitch ~= nil then
305
			CFuncs.Sound.Create(HitSound, hit, 1, HitPitch) 
306
		end
307
		local Damage = math.random(minim, maxim)
308
		local blocked = false
309
		local block = hit.Parent:findFirstChild("Block")
310
		if block ~= nil then
311
			if block.className == "IntValue" then
312
				if block.Value > 0 then
313
					blocked = true
314
					block.Value = block.Value - 1
315
					print(block.Value)
316
				end
317
			end
318
		end
319
		if blocked == false then
320
			h.Health = h.Health - Damage
321
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, BrickColor.new("Really black").Color)
322
		else
323
			h.Health = h.Health - (Damage / 2)
324
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, BrickColor.new("Really black").Color)
325
		end
326
		if Type == "Knockdown" then
327
			local hum = hit.Parent.Humanoid
328
			hum.PlatformStand = true
329
			coroutine.resume(coroutine.create(function(HHumanoid)
330
				swait(1)
331
				HHumanoid.PlatformStand = false
332
			end), hum)
333
			local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
334
			local bodvol = Create("BodyVelocity"){
335
				velocity = angle * knockback,
336
				P = 5000,
337
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
338
				Parent = hit,
339
			}
340
			local rl = Create("BodyAngularVelocity"){
341
				P = 3000,
342
				maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
343
				angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
344
				Parent = hit,
345
			}
346
			game:GetService("Debris"):AddItem(bodvol, .5)
347
			game:GetService("Debris"):AddItem(rl, .5)
348
		elseif Type == "Normal" then
349
			local vp = Create("BodyVelocity"){
350
				P = 500,
351
				maxForce = Vector3.new(math.huge, 0, math.huge),
352
				velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
353
			}
354
			if knockback > 0 then
355
				vp.Parent = hit.Parent.Torso
356
			end
357
			game:GetService("Debris"):AddItem(vp, .5)
358
		elseif Type == "Up" then
359
			local bodyVelocity = Create("BodyVelocity"){
360
				velocity = Vector3.new(0, 20, 0),
361
				P = 5000,
362
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
363
				Parent = hit,
364
			}
365
			game:GetService("Debris"):AddItem(bodyVelocity, .5)
366
		elseif Type == "DarkUp" then
367
			coroutine.resume(coroutine.create(function()
368
				for i = 0, 1, 0.1 do
369
					swait()
370
					Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, .08, 1)
371
				end
372
			end))
373
			local bodyVelocity = Create("BodyVelocity"){
374
				velocity = Vector3.new(0, 20, 0),
375
				P = 5000,
376
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
377
				Parent = hit,
378
			}
379
			game:GetService("Debris"):AddItem(bodyVelocity, 1)
380
		elseif Type == "Snare" then
381
			local bp = Create("BodyPosition"){
382
				P = 2000,
383
				D = 100,
384
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
385
				position = hit.Parent.Torso.Position,
386
				Parent = hit.Parent.Torso,
387
			}
388
			game:GetService("Debris"):AddItem(bp, 1)
389
		elseif Type == "Freeze" then
390
			local BodPos = Create("BodyPosition"){
391
				P = 50000,
392
				D = 1000,
393
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
394
				position = hit.Parent.Torso.Position,
395
				Parent = hit.Parent.Torso,
396
			}
397
			local BodGy = Create("BodyGyro") {
398
				maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
399
				P = 20e+003,
400
				Parent = hit.Parent.Torso,
401
				cframe = hit.Parent.Torso.CFrame,
402
			}
403
			hit.Parent.Torso.Anchored = true
404
			coroutine.resume(coroutine.create(function(Part) 
405
				swait(1.5)
406
				Part.Anchored = false
407
			end), hit.Parent.Torso)
408
			game:GetService("Debris"):AddItem(BodPos, 3)
409
			game:GetService("Debris"):AddItem(BodGy, 3)
410
		end
411
		local debounce = Create("BoolValue"){
412
			Name = "DebounceHit",
413
			Parent = hit.Parent,
414
			Value = true,
415
		}
416
		game:GetService("Debris"):AddItem(debounce, Delay)
417
		c = Create("ObjectValue"){
418
			Name = "creator",
419
			Value = Player,
420
			Parent = h,
421
		}
422
		game:GetService("Debris"):AddItem(c, .5)
423
	end
424
end
425
426
function ShowDamage(Pos, Text, Time, Color)
427
	local Rate = (1 / 30)
428
	local Pos = (Pos or Vector3.new(0, 0, 0))
429
	local Text = (Text or "")
430
	local Time = (Time or 2)
431
	local Color = (Color or Color3.new(1, 0, 1))
432
	local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
433
	EffectPart.Anchored = true
434
	local BillboardGui = Create("BillboardGui"){
435
		Size = UDim2.new(3, 0, 3, 0),
436
		Adornee = EffectPart,
437
		Parent = EffectPart,
438
	}
439
	local TextLabel = Create("TextLabel"){
440
		BackgroundTransparency = 1,
441
		Size = UDim2.new(1, 0, 1, 0),
442
		Text = Text,
443
		Font = "SciFi",
444
		TextColor3 = Color,
445
		TextScaled = true,
446
		Parent = BillboardGui,
447
	}
448
	game.Debris:AddItem(EffectPart, (Time))
449
	EffectPart.Parent = game:GetService("Workspace")
450
	delay(0, function()
451
		local Frames = (Time / Rate)
452
		for Frame = 1, Frames do
453
			wait(Rate)
454
			local Percent = (Frame / Frames)
455
			EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
456
			TextLabel.TextTransparency = Percent
457
		end
458
		if EffectPart and EffectPart.Parent then
459
			EffectPart:Destroy()
460
		end
461
	end)
462
end
463
464
function MagnitudeDamage(Part, Magnitude, MinimumDamage, MaximumDamage, KnockBack, Type, HitSound, HitPitch)
465
	for _, c in pairs(workspace:children()) do
466
		local hum = c:findFirstChild("Humanoid")
467
		if hum ~= nil then
468
			local head = c:findFirstChild("Torso")
469
			if head ~= nil then
470
				local targ = head.Position - Part.Position
471
				local mag = targ.magnitude
472
				if mag <= Magnitude and c.Name ~= Player.Name then 
473
					Damage(head, head, MinimumDamage, MaximumDamage, KnockBack, Type, RootPart, .1, "rbxassetid://" .. HitSound, HitPitch)
474
				end
475
			end
476
		end
477
	end
478
end
479
480
EffectModel = Create("Model"){
481
	Parent = Character,
482
	Name = "Effects",
483
}
484
485
Humanoid.WalkSpeed = 0
486
Humanoid.JumpPower = 0
487
488
CFuncs['Sound'].Create("rbxassetid://836740253",Character,10,1)
489
attack = true
490
491
New = function(Object, Parent, Name, Data)
492
	local Object = Instance.new(Object)
493
	for Index, Value in pairs(Data or {}) do
494
		Object[Index] = Value
495
	end
496
	Object.Parent = Parent
497
	Object.Name = Name
498
	return Object
499
end
500
501
Deadly = New("Model",Torso,"Deadly",{})
502
Sun = New("Part",Deadly,"Sun",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,Size = Vector3.new(0.5, 0.5, 0.5),CFrame = CFrame.new(-128.325043, 6.92500401, -88.5550079, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(1, 0, 0),})
503
SunWeld = New("Weld",Sun,"Weld",{Part0 = Sun,Part1 = Torso,C0 = CFrame.new(0,10,-10)})
504
Mesh = New("SpecialMesh",Sun,"Mesh",{Scale = Vector3.new(25, 25, 25),MeshType = Enum.MeshType.Sphere,})
505
506
507
wait(2.4)
508
for i = 0, 5, .1 do
509
	swait()
510
	PlayAnimationFromTable({
511
     CFrame.new(0, -0, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
512
     CFrame.new(7.62939453e-06, 1.49997127, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
513
     CFrame.new(1.49998116, 1.30000138, -0, -0.925471961, -0.378816098, -0, 0.378816068, -0.925472021, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
514
     CFrame.new(-1.49998665, -7.67409801e-07, 0, 0.996534884, 0.083175458, -0, -0.0831753537, 0.996536195, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
515
     CFrame.new(0.500002444, -1.99997056, 0, 0.997888863, -0.0649460033, -0, 0.0649460033, 0.997888863, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
516
     CFrame.new(-0.499981999, -1.99997056, 0, 0.998180926, 0.0602900013, -0, -0.0602900013, 0.998180926, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
517
	}, .1, false)
518
	SunWeld.C0 = clerp(SunWeld.C0, CFrame.new(0,-15,-10), 0.1)
519
end
520
wait(0.5)
521
Humanoid.WalkSpeed = 19
522
Humanoid.JumpPower = 75
523
attack = false
524
525
526
MegaloStrikesBack = Instance.new("Sound",torso)
527
 MegaloStrikesBack.Looped = true
528
MegaloStrikesBack.SoundId = "http://www.roblox.com/asset?id=885996042"
529
MegaloStrikesBack.Volume = 50
530
MegaloStrikesBack:Play()
531
532
533
Effects = {
534
	Block = {
535
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
536
			local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
537
			prt.Anchored = true
538
			prt.CFrame = cframe
539
			local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
540
			game:GetService("Debris"):AddItem(prt, 10)
541
			if Type == 1 or Type == nil then
542
				table.insert(Effects, {
543
					prt,
544
					"Block1",
545
					delay,
546
					x3,
547
					y3,
548
					z3,
549
					msh
550
				})
551
			elseif Type == 2 then
552
				table.insert(Effects, {
553
					prt,
554
					"Block2",
555
					delay,
556
					x3,
557
					y3,
558
					z3,
559
					msh
560
				})
561
			end
562
		end;
563
	};
564
565
		Cylinder = {
566
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
567
			local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
568
			prt.Anchored = true
569
			prt.CFrame = cframe
570
			local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
571
			game:GetService("Debris"):AddItem(prt, 10)
572
			table.insert(Effects, {
573
				prt,
574
				"Cylinder",
575
				delay,
576
				x3,
577
				y3,
578
				z3,
579
				msh
580
			})
581
		end;
582
	};
583
	Head = {
584
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
585
			local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
586
			prt.Anchored = true
587
			prt.CFrame = cframe
588
			local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Head", "nil", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
589
			game:GetService("Debris"):AddItem(prt, 10)
590
			table.insert(Effects, {
591
				prt,
592
				"Cylinder",
593
				delay,
594
				x3,
595
				y3,
596
				z3,
597
				msh
598
			})
599
		end;
600
	};
601
	
602
	Sphere = {
603
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
604
			local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
605
			prt.Anchored = true
606
			prt.CFrame = cframe
607
			local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
608
			game:GetService("Debris"):AddItem(prt, 10)
609
			table.insert(Effects, {
610
				prt,
611
				"Cylinder",
612
				delay,
613
				x3,
614
				y3,
615
				z3,
616
				msh
617
			})
618
		end;
619
	};
620
	
621
	Elect = {
622
		Create = function(cff, x, y, z)
623
			local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, BrickColor.new("Lime green"), "Part", Vector3.new(1, 1, 1))
624
			prt.Anchored = true
625
			prt.CFrame = cff * CFrame.new(math.random(-x, x), math.random(-y, y), math.random(-z, z))
626
			prt.CFrame = CFrame.new(prt.Position)
627
			game:GetService("Debris"):AddItem(prt, 2)
628
			local xval = math.random() / 2
629
			local yval = math.random() / 2
630
			local zval = math.random() / 2
631
			local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(xval, yval, zval))
632
			table.insert(Effects, {
633
				prt,
634
				"Elec",
635
				0.1,
636
				x,
637
				y,
638
				z,
639
				xval,
640
				yval,
641
				zval
642
			})
643
		end;
644
645
	};
646
	
647
	Ring = {
648
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
649
			local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
650
			prt.Anchored = true
651
			prt.CFrame = cframe
652
			local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
653
			game:GetService("Debris"):AddItem(prt, 10)
654
			table.insert(Effects, {
655
				prt,
656
				"Cylinder",
657
				delay,
658
				x3,
659
				y3,
660
				z3,
661
				msh
662
			})
663
		end;
664
	};
665
666
667
	Wave = {
668
		Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
669
			local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
670
			prt.Anchored = true
671
			prt.CFrame = cframe
672
			local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
673
			game:GetService("Debris"):AddItem(prt, 10)
674
			table.insert(Effects, {
675
				prt,
676
				"Cylinder",
677
				delay,
678
				x3,
679
				y3,
680
				z3,
681
				msh
682
			})
683
		end;
684
	};
685
686
	Break = {
687
		Create = function(brickcolor, cframe, x1, y1, z1)
688
			local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
689
			prt.Anchored = true
690
			prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
691
			local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
692
			local num = math.random(10, 50) / 1000
693
			game:GetService("Debris"):AddItem(prt, 10)
694
			table.insert(Effects, {
695
				prt,
696
				"Shatter",
697
				num,
698
				prt.CFrame,
699
				math.random() - math.random(),
700
				0,
701
				math.random(50, 100) / 100
702
			})
703
		end;
704
	};
705
	
706
	Fire = {
707
		Create = function(brickcolor, cframe, x1, y1, z1, delay)
708
			local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
709
			prt.Anchored = true
710
			prt.CFrame = cframe
711
			msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
712
			game:GetService("Debris"):AddItem(prt, 10)
713
			table.insert(Effects, {
714
				prt,
715
				"Fire",
716
				delay,
717
				1,
718
				1,
719
				1,
720
				msh
721
			})
722
		end;
723
	};
724
	
725
	FireWave = {
726
		Create = function(brickcolor, cframe, x1, y1, z1)
727
			local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 1, brickcolor, "Effect", Vector3.new())
728
			prt.Anchored = true
729
			prt.CFrame = cframe
730
			msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
731
			local d = Create("Decal"){
732
				Parent = prt,
733
				Texture = "rbxassetid://26356434",
734
				Face = "Top",
735
			}
736
			local d = Create("Decal"){
737
				Parent = prt,
738
				Texture = "rbxassetid://26356434",
739
				Face = "Bottom",
740
			}
741
			game:GetService("Debris"):AddItem(prt, 10)
742
			table.insert(Effects, {
743
				prt,
744
				"FireWave",
745
				1,
746
				30,
747
				math.random(400, 600) / 100,
748
				msh
749
			})
750
		end;
751
	};
752
	
753
	Lightning = {
754
		Create = function(p0, p1, tym, ofs, col, th, tra, last)
755
			local magz = (p0 - p1).magnitude
756
			local curpos = p0
757
			local trz = {
758
				-ofs,
759
				ofs
760
			}
761
			for i = 1, tym do
762
				local li = CFuncs.Part.Create(EffectModel, "Neon", 0, tra or 0.4, col, "Ref", Vector3.new(th, th, magz / tym))
763
				local ofz = Vector3.new(trz[math.random(1, 2)], trz[math.random(1, 2)], trz[math.random(1, 2)])
764
				local trolpos = CFrame.new(curpos, p1) * CFrame.new(0, 0, magz / tym).p + ofz
765
				li.Material = "Neon"
766
				if tym == i then
767
					local magz2 = (curpos - p1).magnitude
768
					li.Size = Vector3.new(th, th, magz2)
769
					li.CFrame = CFrame.new(curpos, p1) * CFrame.new(0, 0, -magz2 / 2)
770
					table.insert(Effects, {
771
						li,
772
						"Disappear",
773
						last
774
					})
775
				else
776
					do
777
						do
778
							li.CFrame = CFrame.new(curpos, trolpos) * CFrame.new(0, 0, magz / tym / 2)
779
							curpos = li.CFrame * CFrame.new(0, 0, magz / tym / 2).p
780
							game.Debris:AddItem(li, 10)
781
							table.insert(Effects, {
782
								li,
783
								"Disappear",
784
								last
785
							})
786
						end
787
					end
788
				end
789
			end
790
		end
791
	};
792
793
	EffectTemplate = {
794
795
	};
796
}
797
798
function supernova()
799
	attack = true
800
	for i = 0, 1, 0.1 do
801
		swait()
802
		PlayAnimationFromTable({
803
         CFrame.new(0, -0, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
804
         CFrame.new(7.62939453e-06, 1.49997127, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
805
         CFrame.new(1.49998248, 1.03999865, 1.31132779e-07, -0.874934673, -0.48424086, -8.74230253e-08, 0.48424086, -0.874934673, 2.16521015e-13, -7.64895418e-08, -4.23336139e-08, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
806
         CFrame.new(-1.45997405, 1.03999221, 0, -0.85547322, 0.5178473, -0, -0.517847538, -0.855473042, 0, 0, -0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
807
         CFrame.new(0.500002444, -1.99997056, 0, 0.997888863, -0.0649460033, -0, 0.0649460033, 0.997888863, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
808
         CFrame.new(-0.499981999, -1.99997056, 0, 0.998180926, 0.0602900013, -0, -0.0602900013, 0.998180926, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
809
		}, .3, false)
810
	end
811
	wait(.5)
812
	for i = 0, 5, .1 do
813
		Mesh.Scale = Mesh.Scale + Vector3.new(2,2,2)
814
		swait()
815
	end
816
	--
817
	coroutine.wrap(function()
818
	repeat swait()
819
		Mesh.Scale = Mesh.Scale + Vector3.new(2,2,2)
820
	until nil
821
	end)()
822
	--CFuncs['Sound'].Create("rbxassetid://265492506",Character,10,1)
823
	local a = Instance.new("ColorCorrectionEffect",game:service'Lighting')
824
	a.TintColor = Color3.new(1,1,1)
825
	local b = Instance.new("BlurEffect",game:service'Lighting')
826
	b.Size = 0
827
	
828
	for i = 1,0,-.1 do
829
	    b.Size = b.Size + .5
830
	    a.TintColor = Color3.new(1,1,i)
831
	    wait()
832
	end
833
	wait(1)
834
	
835
	
836
	for i = 1,0,-.1 do
837
	    a.TintColor = Color3.new(1,i,0)
838
	    b.Size = b.Size + 1
839
	    wait()
840
	end
841
	
842
	wait(1)
843
	
844
	for i = 1,0,-.1 do
845
	    a.TintColor = Color3.new(i,0,0)
846
	    wait()
847
	end
848
	wait(1)
849
	
850
	coroutine.wrap(function()
851
	    for i,v in next, workspace:children() do
852
	        if v:IsA"Model" or v:IsA"Part" then
853
	            if v:FindFirstChildOfClass"Humanoid"then
854
	                v:BreakJoints() 
855
	            end
856
	        end   
857
	    end
858
	end)()
859
	wait(1)
860
	
861
	for i = 0,1,.1 do
862
	    a.TintColor = Color3.new(1,1,i)
863
	    b.Size = b.Size - 2
864
	    wait()
865
	end
866
	
867
	a:destroy()
868
	game:service'Debris':AddItem(b,3)
869
end
870
function attackone()
871
	CFuncs['Sound'].Create("rbxassetid://159445410",Character,10,1)
872
	local a = Instance.new("Part",Character)
873
	a.Name = "Lazer"	
874
	a.Anchored = true
875
	a.CanCollide = false
876
	a.BrickColor = BrickColor.new"Really red"
877
	local ray = Ray.new(
878
	    Sun.CFrame.p,                           -- origin
879
	    (Mouse.Hit.p - Sun.CFrame.p).unit * 500 -- direction
880
	) 
881
	local ignore = Character
882
	local hit, position, normal = workspace:FindPartOnRay(ray, ignore)
883
	if hit then
884
		local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
885
	 
886
		if not humanoid then
887
			humanoid = hit.Parent.Parent:FindFirstChildOfClass("Humanoid")
888
		end
889
		if humanoid then
890
			if humanoid.Parent:IsA"Model" then
891
				humanoid.Parent:BreakJoints()
892
			end
893
		end
894
	end
895
	a.BottomSurface = 10
896
	a.TopSurface = 10
897
	local distance = (Sun.CFrame.p - position).magnitude
898
	a.Size = Vector3.new(1, 1, distance)
899
	a.CFrame = CFrame.new(Sun.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
900
	game:GetService("Debris"):AddItem(a, 0.1)
901
end
902
903
Mouse.Button1Down:connect(function()
904
	if attack == false and attacktype == 1 then
905
		attackone()
906
	end
907
end)
908
909
910
Mouse.KeyDown:connect(function(k)
911
	if attack == false and k == 'v' then
912
		supernova()
913
	end
914
end)
915
while true do
916
	swait()
917
	for i, v in pairs(Character:GetChildren()) do
918
		if v:IsA("Part") then
919
			v.Material = "SmoothPlastic"
920
		elseif v:IsA("Accessory") then
921
			v:WaitForChild("Handle").Material = "SmoothPlastic"
922
		end
923
	end
924
	Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
925
	velocity = RootPart.Velocity.y
926
	sine = sine + change
927
	local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
928
		if RootPart.Velocity.y > 1 and hit == nil then 
929
			Anim = "Jump"
930
			if attack == false then
931
			PlayAnimationFromTable({
932
	         CFrame.new(0, 0, 0, 1, -2.21689355e-12, -5.11591203e-13, -2.21689355e-12, 1, 7.74860496e-07, -5.11591203e-13, 7.74860496e-07, 1.00000048) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
933
	         CFrame.new(-0.0579944476, 1.48445117, -0.000906195492, 0.999631822, -0.0259140469, -0.00804444961, 0.0262291897, 0.998776913, 0.0419151038, 0.0069484422, -0.0421099029, 0.999089062) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
934
	         CFrame.new(1.68067598, 0.167780995, 5.50026158e-08, 0.965881884, -0.258982956, -3.41060513e-13, 0.258982956, 0.965881884, 4.47034836e-07, 8.49010675e-08, 3.16640808e-07, 1.00000024) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
935
	         CFrame.new(-1.67620921, 0.188169807, -3.04922651e-07, 0.95698452, 0.290146649, -2.61441073e-07, -0.290146649, 0.95698452, -1.0069979e-05, -2.89639524e-06, 1.04542296e-05, 1.00000024) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
936
	         CFrame.new(0.537238836, -1.93797374, 0.176598221, 0.998698533, -0.0506777391, -0.00574572897, 0.0510024093, 0.992341697, 0.112511501, -6.35704041e-08, -0.112657718, 0.993634105) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
937
	         CFrame.new(-0.536944568, -1.94808352, 0.126473114, 0.998626292, 0.0520468242, 0.00521374354, -0.0523067154, 0.993665218, 0.0995327011, -3.84102691e-07, -0.099668026, 0.995023906) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
938
			}, .3, false)
939
			end
940
		elseif RootPart.Velocity.y < -1 and hit == nil then 
941
			Anim = "Fall"
942
			if attack == false then
943
				PlayAnimationFromTable({
944
		         CFrame.new(0, 0, 0, 1, -2.21689355e-12, -5.11591203e-13, -2.21689355e-12, 1, 7.74860496e-07, -5.11591203e-13, 7.74860496e-07, 1.00000048) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
945
		         CFrame.new(-0.0576509275, 1.50532985, -0.129091382, 0.999631822, -0.0231846143, -0.0140984114, 0.0262298863, 0.958684564, 0.283279002, 0.00694822101, -0.283544153, 0.958935201) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
946
		         CFrame.new(1.68622994, 0.21415168, 7.02040666e-08, 0.881990671, -0.471266806, -3.41060513e-13, 0.471266806, 0.881990671, 4.47034836e-07, 1.54493137e-07, 2.89139166e-07, 1.00000024) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
947
		         CFrame.new(-1.72513735, 0.240890861, 2.54038241e-07, 0.814108491, 0.58071363, -2.61430017e-07, -0.580713034, 0.814108849, -1.00698489e-05, -6.08482924e-06, 8.98058715e-06, 1.00000024) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
948
		         CFrame.new(0.536720514, -1.92783141, 0.223740995, 0.998698533, -0.0498600565, -0.0107376017, 0.0510031059, 0.976314366, 0.210260883, -3.04512355e-07, -0.210534185, 0.977587521) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
949
		         CFrame.new(-0.535922825, -1.92850935, 0.222419083, 0.99863112, 0.0512506701, 0.0104565797, -0.0523065142, 0.978474379, 0.199629858, -3.7062793e-07, -0.199902818, 0.97981596) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
950
				}, .3, false)
951
			end
952
		elseif Torsovelocity < 1 and hit ~= nil then
953
			Anim = "Idle"
954
			if attack == false then
955
				change = 1
956
				PlayAnimationFromTable({
957
		         CFrame.new(0, -0, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
958
		         CFrame.new(7.62939453e-06, 1.49997127, 0, 1, 0, -0, 0, 1, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(math.sin(sine/22)/12,0,0), 
959
		         CFrame.new(0.429973245, 0.490001738, -0.460011989, 0.0975494087, 0.994276762, -0.0435587466, 0.0559796244, -0.0491798446, -0.997221529, -0.993656218, 0.0948399603, -0.0604567304) * CFrame.new(0, 0, math.sin(sine/16)/14) * CFrame.Angles(0, math.sin(sine/16)/10, math.sin(sine/16)/10), 
960
		         CFrame.new(-0.320005357, 0.480002224, -0.539992452, 0.357028693, -0.930425704, -0.0826981664, -0.130211353, 0.0380947962, -0.990754068, 0.924973309, 0.364495993, -0.107551016) * CFrame.new(0, 0, math.sin(sine/16)/14) * CFrame.Angles(0, -math.sin(sine/16)/10, -math.sin(sine/16)/10), 
961
		         CFrame.new(0.500002444, -1.99997056, 0, 0.997888863, -0.0649460033, -0, 0.0649460033, 0.997888863, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
962
		         CFrame.new(-0.499981999, -1.99997056, 0, 0.998180926, 0.0602900013, -0, -0.0602900013, 0.998180926, 0, -0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
963
				}, .3, false)
964
				
965
			end
966
		elseif Torsovelocity > 2 and hit ~= nil then
967
			Anim = "Walk"
968
			if attack == false then
969
			 	PlayAnimationFromTable({		
970
		         CFrame.new(0, 0, 0, 1, -2.21689355e-12, -5.11591203e-13, -2.21689355e-12, 1, 7.74860496e-07, -5.11591203e-13, 7.74860496e-07, 1.00000048) * CFrame.new(0, 0- .08 * math.cos((sine) / 3), 0) * CFrame.Angles(0, 0, 0), 
971
		         CFrame.new(-0.0595112406, 1.55331731, -0.0425721854, 0.999631822, -0.0248252042, -0.010953242, 0.0262294486, 0.987443328, 0.155781403, 0.00694842171, -0.156010598, 0.987731278) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 
972
		         CFrame.new(0.429973245, 0.490001738, -0.460011989, 0.0975494087, 0.994276762, -0.0435587466, 0.0559796244, -0.0491798446, -0.997221529, -0.993656218, 0.0948399603, -0.0604567304) * CFrame.new(0, 0, math.sin(sine/16)/14) * CFrame.Angles(0, math.sin(sine/16)/10, math.sin(sine/16)/10), 
973
		         CFrame.new(-0.320005357, 0.480002224, -0.539992452, 0.357028693, -0.930425704, -0.0826981664, -0.130211353, 0.0380947962, -0.990754068, 0.924973309, 0.364495993, -0.107551016) * CFrame.new(0, 0, math.sin(sine/16)/14) * CFrame.Angles(0, -math.sin(sine/16)/10, -math.sin(sine/16)/10), 
974
		         CFrame.new(0.540300786, -1.99793816, -9.82598067e-07, 0.998698533, -0.0510031395, 6.36324955e-07, 0.0510031395, 0.998698533, -1.00461093e-05, -8.35937328e-08, 1.08393433e-05, 1.00000024) * CFrame.new(0, 0, 0+ .5 * math.cos((sine) / 6)) * CFrame.Angles(math.rad(0 - 30 * math.cos((sine) / 6)), 0, 0), 
975
		         CFrame.new(-0.539563596, -1.99794078, 1.12228372e-06, 0.998635888, 0.0523072146, -1.77852357e-07, -0.0523072146, 0.998635888, -1.00715051e-05, -3.89727461e-07, 1.08406466e-05, 1.00000024) * CFrame.new(0, 0, 0- .5 * math.cos((sine) / 6)) * CFrame.Angles(math.rad(0 + 30 * math.cos((sine) / 6)), 0, 0), 
976
				}, .3, false)
977
			end
978
		end
979
	if 0 < #Effects then
980
		for e = 1, #Effects do
981
			if Effects[e] ~= nil then
982
				local Thing = Effects[e]
983
				if Thing ~= nil then
984
					local Part = Thing[1]
985
					local Mode = Thing[2]
986
					local Delay = Thing[3]
987
					local IncX = Thing[4]
988
					local IncY = Thing[5]
989
					local IncZ = Thing[6]
990
					if Thing[2] == "Shoot" then
991
						local Look = Thing[1]
992
						local move = 30
993
						if Thing[8] == 3 then
994
							move = 10
995
						end
996
						local hit, pos = rayCast(Thing[4], Thing[1], move, m)
997
						if Thing[10] ~= nil then
998
							da = pos
999
							cf2 = CFrame.new(Thing[4], Thing[10].Position)
1000
							cfa = CFrame.new(Thing[4], pos)
1001
							tehCF = cfa:lerp(cf2, 0.2)
1002
							Thing[1] = tehCF.lookVector
1003
						end
1004
						local mag = (Thing[4] - pos).magnitude
1005
						Effects["Head"].Create(Torso.BrickColor, CFrame.new((Thing[4] + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0), 1, mag * 5, 1, 0.5, 0, 0.5, 0.2)
1006
						if Thing[8] == 2 then
1007
							Effects["Ring"].Create(Torso.BrickColor, CFrame.new((Thing[4] + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0) * CFrame.fromEulerAnglesXYZ(1.57, 0, 0), 1, 1, 0.1, 0.5, 0.5, 0.1, 0.1, 1)
1008
						end
1009
						Thing[4] = Thing[4] + Look * move
1010
						Thing[3] = Thing[3] - 1
1011
						if 2 < Thing[5] then
1012
							Thing[5] = Thing[5] - 0.3
1013
							Thing[6] = Thing[6] - 0.3
1014
						end
1015
						if hit ~= nil then
1016
							Thing[3] = 0
1017
							if Thing[8] == 1 or Thing[8] == 3 then
1018
								Damage(hit, hit, Thing[5], Thing[6], Thing[7], "Normal", RootPart, 0, "", 1)
1019
							else
1020
								if Thing[8] == 2 then
1021
									Damage(hit, hit, Thing[5], Thing[6], Thing[7], "Normal", RootPart, 0, "", 1)
1022
									if (hit.Parent:findFirstChild("Humanoid")) ~= nil or (hit.Parent.Parent:findFirstChild("Humanoid")) ~= nil then
1023
										ref = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Really red"), "Reference", Vector3.new())
1024
										ref.Anchored = true
1025
										ref.CFrame = CFrame.new(pos)
1026
										CFuncs["Sound"].Create("161006093", ref, 1, 1.2)
1027
										game:GetService("Debris"):AddItem(ref, 0.2)
1028
										Effects["Block"].Create(Torso.BrickColor, CFrame.new(ref.Position) * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 1, 1, 10, 10, 10, 0.1, 2)
1029
										Effects["Ring"].Create(BrickColor.new("Bright yellow"), CFrame.new(ref.Position) * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 1, 0.1, 4, 4, 0.1, 0.1)
1030
										MagnitudeDamage(ref, 15, Thing[5] / 1.5, Thing[6] / 1.5, 0, "Normal", "", 1)
1031
									end
1032
								end
1033
							end
1034
							ref = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Really red"), "Reference", Vector3.new())
1035
							ref.Anchored = true
1036
							ref.CFrame = CFrame.new(pos)
1037
							Effects["Sphere"].Create(Torso.BrickColor, CFrame.new(pos), 5, 5, 5, 1, 1, 1, 0.07)
1038
							game:GetService("Debris"):AddItem(ref, 1)
1039
						end
1040
						if Thing[3] <= 0 then
1041
							table.remove(Effects, e)
1042
						end
1043
					end
1044
					do
1045
						do
1046
							if Thing[2] == "FireWave" then
1047
								if Thing[3] <= Thing[4] then
1048
									Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(0, 1, 0)
1049
									Thing[3] = Thing[3] + 1
1050
									Thing[6].Scale = Thing[6].Scale + Vector3.new(Thing[5], 0, Thing[5])
1051
								else
1052
									Part.Parent = nil
1053
									table.remove(Effects, e)
1054
								end
1055
							end
1056
							if Thing[2] ~= "Shoot" and Thing[2] ~= "Wave" and Thing[2] ~= "FireWave" then
1057
								if Thing[1].Transparency <= 1 then
1058
									if Thing[2] == "Block1" then
1059
										Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1060
										Mesh = Thing[7]
1061
										Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1062
										Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1063
									else
1064
										if Thing[2] == "Block2" then
1065
											Thing[1].CFrame = Thing[1].CFrame
1066
											Mesh = Thing[7]
1067
											Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1068
											Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1069
										else
1070
											if Thing[2] == "Fire" then
1071
												Thing[1].CFrame = CFrame.new(Thing[1].Position) + Vector3.new(0, 0.2, 0)
1072
												Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1073
												Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1074
											else
1075
												if Thing[2] == "Cylinder" then
1076
													Mesh = Thing[7]
1077
													Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1078
													Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1079
												else
1080
													if Thing[2] == "Blood" then
1081
														Mesh = Thing[7]
1082
														Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, 0.5, 0)
1083
														Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1084
														Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1085
													else
1086
														if Thing[2] == "Elec" then
1087
															Mesh = Thing[10]
1088
															Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
1089
															Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1090
														else
1091
															if Thing[2] == "Disappear" then
1092
																Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1093
															else
1094
																if Thing[2] == "Shatter" then
1095
														Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1096
														Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
1097
														Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
1098
														Thing[6] = Thing[6] + Thing[5]
1099
																end
1100
															end
1101
														end
1102
													end
1103
												end
1104
											end
1105
										end
1106
									end
1107
								else
1108
									Part.Parent = nil
1109
									table.remove(Effects, e)
1110
								end
1111
							end
1112
						end
1113
					end
1114
				end
1115
			end
1116
		end
1117
	end
1118
end