View difference between Paste ID: AR0YPV1x and aES5Xqkd
SHOW: | | - or go back to the newest paste.
1
--Fixed by Scenius(On ROBLOX) g/nl/all
2
--edited by Hmm465
3
  wait(0.016666666666666666)
4
  Effects = {}
5
  
6
local acos = math.acos
7
local sqrt = math.sqrt
8
local Vec3 = Vector3.new
9
local fromAxisAngle = CFrame.fromAxisAngle
10
11
local function toAxisAngle(CFr)
12
        local X,Y,Z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = CFr:components()
13
        local Angle = math.acos((R00+R11+R22-1)/2)
14
        local A = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
15
        A = A == 0 and 0.00001 or A
16
        local B = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
17
        B = B == 0 and 0.00001 or B
18
        local C = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
19
        C = C == 0 and 0.00001 or C
20
        local x = (R21-R12)/sqrt(A)
21
        local y = (R02-R20)/sqrt(B)
22
        local z = (R10-R01)/sqrt(C)
23
        return Vec3(x,y,z),Angle
24
end
25
26
function ApplyTrig(Num,Func)
27
        local Min,Max = Func(0),Func(1)
28
        local i = Func(Num)
29
        return (i-Min)/(Max-Min)
30
        --[[if Func == "sin" then
31
                return (math.sin((1-Num)*math.pi)+1)/2
32
        elseif Func == "cos" then
33
                return (math.cos((1-Num)*math.pi)+1)/2
34
        end]]
35
end
36
37
function LerpCFrame(CFrame1,CFrame2,Num)
38
        local Vec,Ang = toAxisAngle(CFrame1:inverse()*CFrame2)
39
        return CFrame1*fromAxisAngle(Vec,Ang*Num) + (CFrame2.p-CFrame1.p)*Num
40
end
41
42
function Crater(Torso,Radius)
43
        Spawn(function()
44
        local Ray = Ray.new(Torso.Position,Vector3.new(0,-1,0)*10)
45
        local Ignore = {}
46
        for i,v in pairs(game:GetService("Players"):GetPlayers()) do
47
                if v.Character ~= nil then
48
                        Ignore[#Ignore+1] = v.Character
49
                end
50
        end
51
        local Hit,Pos,SurfaceNorm = Workspace:FindPartOnRayWithIgnoreList(Ray,Ignore)
52
        if Hit == nil then return end
53
        local Parts = {}
54
        for i = 1,360,10 do
55
                local P = Instance.new("Part",Torso.Parent)
56
                P.Anchored = true
57
                P.FormFactor = "Custom"
58
                P.BrickColor = BrickColor.new("Really black")
59
                P.Material = "Neon"
60
                P.TopSurface = "Smooth"
61
                P.BottomSurface = "Smooth"
62
               	P.CanCollide = false
63
                P.Size = Vector3.new(5,10,10)*(math.random(80,100)/100)
64
                P.CFrame = ((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,7,0))*CFrame.Angles(math.rad(math.random(-50,50)),math.rad(math.random(-50,50)),math.rad(math.random(-50,50)))
65
                Parts[#Parts+1] = {P,P.CFrame,((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,1,0))*CFrame.Angles(0,math.rad(i),0)*CFrame.new(0,0,-Radius)*CFrame.Angles(math.rad(math.random(-50,-20)),math.rad(math.random(-15,15)),math.rad(math.random(-15,15))),P.Size}
66
                if math.random(0,5) == 0 then -- rubble
67
                        local P = Instance.new("Part",Torso.Parent)
68
                        P.Anchored = true
69
                        P.FormFactor = "Custom"
70
                        P.BrickColor = BrickColor.new("Really black")
71
                        P.Material = "Neon"
72
                        P.TopSurface = "Smooth"
73
                        P.BottomSurface = "Smooth"
74
                        P.CanCollide = false
75
                        P.Size = Vector3.new(2,2,2)*(math.random(80,100)/100)
76
                        P.CFrame = ((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,2.5,0))*CFrame.Angles(math.rad(math.random(-50,50)),math.rad(math.random(-50,50)),math.rad(math.random(-50,50)))
77
                        Parts[#Parts+1] = {P,P.CFrame,(CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))*CFrame.Angles(0,math.rad(i),0)*CFrame.new(0,0,-Radius-8)*CFrame.Angles(math.rad(math.random(-90,90)),math.rad(math.random(-90,90)),math.rad(math.random(-90,90))),P.Size}
78
                end
79
        end
80
        for i = 0,1,0.05 do
81
                for i2,v in pairs(Parts) do
82
                        v[1].CFrame = LerpCFrame(v[2],v[3],ApplyTrig(i,math.cos))
83
                end
84
                wait(0.02)
85
        end
86
        for i,v in pairs(Parts) do
87
                if v[1].Size.X > 2.1 then
88
                        v[1].CFrame = v[1].CFrame+Vector3.new(0,2,0)
89
                end
90
                v[1].Anchored = false
91
        end
92
        for i = 0,1,0.05 do
93
                for i2,v in pairs(Parts) do
94
                        v[1].Transparency = i
95
                        if i == 1 then
96
                                v[1]:Destroy()
97
                        elseif i >= 0.25 then
98
                                v[1].CanCollide = false
99
                        end
100
                end
101
                wait(0.02)
102
        end
103
        Parts = nil
104
        end)
105
end
106
  local Player = game.Players.localPlayer
107
script.Parent = Player.PlayerGui
108
  local Character = Player.Character
109
  local Humanoid = Character.Humanoid
110
  local Mouse = Player:GetMouse()
111
  local LeftArm = Character["Left Arm"]
112
  local RightArm = Character["Right Arm"]
113
  local LeftLeg = Character["Left Leg"]
114
  local RightLeg = Character["Right Leg"]
115
  local Head = Character.Head
116
  local Torso = Character.Torso
117
  local Camera = game.Workspace.CurrentCamera
118
  local RootPart = Character.HumanoidRootPart
119
  local RootJoint = RootPart.RootJoint
120
  local attack = false
121
  local Anim = "Idle"
122
  local attacktype = 1
123
  local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
124
  local velocity = RootPart.Velocity.y
125
  local sine = 0
126
  local change = 1
127
  local Create = LoadLibrary("RbxUtility").Create
128
  Head.face:Destroy()
129
  Head.Transparency = 1
130
  local FakeHead = Head:Clone()
131
  FakeHead.Transparency = 0
132
  FakeHead.Size = Vector3.new(0.8,0.8,0.8)
133
local txt = Instance.new("BillboardGui", Character)
134
txt.Adornee = Character.Head
135
txt.Name = "Status"
136
txt.Size = UDim2.new(2, 0, 1.2, 0)
137
txt.StudsOffset = Vector3.new(-9, 8, 0)
138
local text = Instance.new("TextLabel", txt)
139
text.Size = UDim2.new(10, 0, 7, 0)
140
text.FontSize = "Size24"
141
text.TextScaled = true
142
text.TextTransparency = 0
143
text.BackgroundTransparency = 1 
144
text.TextTransparency = 0
145
text.TextStrokeTransparency = 0
146
text.Font = "SciFi"
147
text.TextStrokeColor3 = BrickColor.new("Really black").Color
148
149
CV = "Maroon"
150
151
spawn(function()
152
	while wait() do
153
		for i,v in pairs(Character:GetChildren()) do
154
			if v:IsA'Part' then
155
				v.BrickColor = BrickColor.new("Really black")
156
			end
157
		end
158
	end
159
end)
160
161
local s = Instance.new("Sound",Character)
162
s.SoundId = "rbxassetid://773296297"
163
s.Looped = true
164
s.Volume = 10000000
165
s:Play()
166
167
local pa = Instance.new("Shirt",Character)
168
pa.ShirtTemplate = "http://www.roblox.com/asset/?id=9860730"
169
local pe = Instance.new("Pants",Character)
170
pe.PantsTemplate = "http://www.roblox.com/asset/?id=9860757"
171
172
eye2 = Instance.new("Part", Character)
173
eye2.Anchored = false
174
eye2.Parent = Head
175
eye2.TopSurface = 0
176
eye2.BrickColor = BrickColor.new("Royal purple")
177
eye2.Material = "Neon"
178
eye2.BottomSurface = 0
179
eye2m = Instance.new("SpecialMesh", eye2)
180
eye2m.MeshId = "http://www.roblox.com/asset/?id=16952952"
181
eye2m.TextureId = "http://www.roblox.com/asset/?id=30235452"
182
eye2m.Scale = Vector3.new(0.9,0.9,0.9)
183
ogsize = eye2m.Scale
184
weld = Instance.new("Weld", Head)
185
weld.Part0 = eye2
186
weld.Part1 = Head
187
weld.Name = "eye2Weld"
188
weld.C1 = CFrame.new(0,0.1,0)
189
190
v=Instance.new("Part")
191
v.Name = "ColorBrick"
192
v.Parent=Character
193
v.FormFactor="Symmetric"
194
v.Anchored=true
195
v.CanCollide=false
196
v.BottomSurface="Smooth"
197
v.TopSurface="Smooth"
198
v.Size=Vector3.new(10,5,3)
199
v.Transparency=1
200
v.CFrame=Character.Torso.CFrame
201
v.BrickColor=BrickColor.new(CV)
202
v.Transparency=1
203
text.TextColor3 = BrickColor.Black().Color
204
v.Shape="Block"
205-
text.Text = "Hmm465, The Time God"
205+
text.Text = "Neon, The Time God"
206
  Humanoid.MaxHealth = 999e999
207
  local m = Create("Model")({
208
    Parent = Character,
209
    Name = "WeaponModel"
210
  })
211
  Humanoid.Animator.Parent = nil
212
  Character.Animate.Parent = nil
213
  local function newMotor(part0, part1, c0, c1)
214
    local w = Create("Motor")({
215
      Parent = part0,
216
      Part0 = part0,
217
      Part1 = part1,
218
      C0 = c0,
219
      C1 = c1
220
    })
221
    return w
222
  end
223
  function clerp(a, b, t)
224
    return a:lerp(b, t)
225
  end
226
  RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
227
  NeckCF = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
228
  local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0))
229
  local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0))
230
  local RH = newMotor(Torso, RightLeg, CFrame.new(0.5, -2, 0), CFrame.new(0, 0, 0))
231
  local LH = newMotor(Torso, LeftLeg, CFrame.new(-0.5, -2, 0), CFrame.new(0, 0, 0))
232
  RootJoint.C1 = CFrame.new(0, 0, 0)
233
  RootJoint.C0 = CFrame.new(0, 0, 0)
234
  Torso.Neck.C1 = CFrame.new(0, 0, 0)
235
  Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
236
  local rarmc1 = RW.C1
237
  local larmc1 = LW.C1
238
  local rlegc1 = RH.C1
239
  local llegc1 = LH.C1
240
  local resetc1 = false
241
  function PlayAnimationFromTable(table, speed, bool)
242
    RootJoint.C0 = clerp(RootJoint.C0, table[1], speed)
243
    Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed)
244
    RW.C0 = clerp(RW.C0, table[3], speed)
245
    LW.C0 = clerp(LW.C0, table[4], speed)
246
    RH.C0 = clerp(RH.C0, table[5], speed)
247
    LH.C0 = clerp(LH.C0, table[6], speed)
248
    if bool == true and resetc1 == false then
249
      resetc1 = true
250
      RootJoint.C1 = RootJoint.C1
251
      Torso.Neck.C1 = Torso.Neck.C1
252
      RW.C1 = rarmc1
253
      LW.C1 = larmc1
254
      RH.C1 = rlegc1
255
      LH.C1 = llegc1
256
    end
257
  end
258
  ArtificialHB = Create("BindableEvent", script)({Parent = script, Name = "Heartbeat"})
259
  script:WaitForChild("Heartbeat")
260
  frame = 0.03333333333333333
261
  tf = 0
262
  allowframeloss = false
263
  tossremainder = false
264
  lastframe = tick()
265
  script.Heartbeat:Fire()
266
  game:GetService("RunService").Heartbeat:connect(function(s, p)
267
    tf = tf + s
268
    if tf >= frame then
269
      if allowframeloss then
270
        script.Heartbeat:Fire()
271
        lastframe = tick()
272
      else
273
        for i = 1, math.floor(tf / frame) do
274
          script.Heartbeat:Fire()
275
        end
276
        lastframe = tick()
277
      end
278
      if tossremainder then
279
        tf = 0
280
      else
281
        tf = tf - frame * math.floor(tf / frame)
282
      end
283
    end
284
  end)
285
  function swait(num)
286
    if num == 0 or num == nil then
287
      ArtificialHB.Event:wait()
288
    else
289
      for i = 0, num do
290
        ArtificialHB.Event:wait()
291
      end
292
    end
293
  end
294
  function RemoveOutlines(part)
295
    part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
296
  end
297
  CFuncs = {
298
    Part = {
299
      Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
300
        local Part = Create("Part")({
301
          Parent = Parent,
302
          Reflectance = Reflectance,
303
          Transparency = Transparency,
304
          CanCollide = false,
305
          Locked = true,
306
          BrickColor = BrickColor.new(tostring(BColor)),
307
          Name = Name,
308
          Size = Size,
309
          Material = Material
310
        })
311
        RemoveOutlines(Part)
312
        return Part
313
      end
314
    },
315
    Mesh = {
316
      Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
317
        local Msh = Create(Mesh)({
318
          Parent = Part,
319
          Offset = OffSet,
320
          Scale = Scale
321
        })
322
        if Mesh == "SpecialMesh" then
323
          Msh.MeshType = MeshType
324
          Msh.MeshId = MeshId
325
        end
326
        return Msh
327
      end
328
    },
329
    Weld = {
330
      Create = function(Parent, Part0, Part1, C0, C1)
331
        local Weld = Create("Weld")({
332
          Parent = Parent,
333
          Part0 = Part0,
334
          Part1 = Part1,
335
          C0 = C0,
336
          C1 = C1
337
        })
338
        return Weld
339
      end
340
    },
341
    Sound = {
342
      Create = function(id, par, vol, pit)
343
        coroutine.resume(coroutine.create(function()
344
          local Sound = Create("Sound")({
345
            Volume = vol,
346
            Pitch = pit or 1,
347
            SoundId = "rbxassetid://" .. id,
348
            Parent = par or workspace
349
          })
350
          Sound:play()
351
          game:GetService("Debris"):AddItem(Sound, 10)
352
        end))
353
      end
354
    },
355
    Decal = {
356
      Create = function(Color, Texture, Transparency, Name, Parent)
357
        local Decal = Create("Decal")({
358
          Color3 = Color,
359
          Texture = "rbxassetid://" .. Texture,
360
          Transparency = Transparency,
361
          Name = Name,
362
          Parent = Parent
363
        })
364
        return Decal
365
      end
366
    },
367
    BillboardGui = {
368
      Create = function(Parent, Image, Position, Size)
369
        local BillPar = CFuncs.Part.Create(Parent, "SmoothPlastic", 0, 1, BrickColor.new("Black"), "BillboardGuiPart", Vector3.new(1, 1, 1))
370
        BillPar.CFrame = CFrame.new(Position)
371
        local Bill = Create("BillboardGui")({
372
          Parent = BillPar,
373
          Adornee = BillPar,
374
          Size = UDim2.new(1, 0, 1, 0),
375
          SizeOffset = Vector2.new(Size, Size)
376
        })
377
        local d = Create("ImageLabel", Bill)({
378
          Parent = Bill,
379
          BackgroundTransparency = 1,
380
          Size = UDim2.new(1, 0, 1, 0),
381
          Image = "rbxassetid://" .. Image
382
        })
383
        return BillPar
384
      end
385
    },
386
    ParticleEmitter = {
387
      Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
388
        local Particle = Create("ParticleEmitter")({
389
          Parent = Parent,
390
          Color = ColorSequence.new(Color1, Color2),
391
          LightEmission = LightEmission,
392
          Size = Size,
393
          Texture = Texture,
394
          Transparency = Transparency,
395
          ZOffset = ZOffset,
396
          Acceleration = Accel,
397
          Drag = Drag,
398
          LockedToPart = LockedToPart,
399
          VelocityInheritance = VelocityInheritance,
400
          EmissionDirection = EmissionDirection,
401
          Enabled = Enabled,
402
          Lifetime = LifeTime,
403
          Rate = Rate,
404
          Rotation = Rotation,
405
          RotSpeed = RotSpeed,
406
          Speed = Speed,
407
          VelocitySpread = VelocitySpread
408
        })
409
        return Particle
410
      end
411
    },
412
    CreateTemplate = {}
413
  }
414
  function rayCast(Position, Direction, Range, Ignore)
415
    return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
416
  end
417
  function findNearestTorso(pos)
418
    local list = game.Workspace:children()
419
    local torso
420
    local dist = 1000
421
    local temp, human, temp2
422
    for x = 1, #list do
423
      temp2 = list[x]
424
      if temp2.className == "Model" and temp2.Name ~= Character.Name then
425
        temp = temp2:findFirstChild("Torso")
426
        human = temp2:findFirstChild("Humanoid")
427
        if temp ~= nil and human ~= nil and human.Health > 0 and dist > (temp.Position - pos).magnitude then
428
          torso = temp
429
          dist = (temp.Position - pos).magnitude
430
        end
431
      end
432
    end
433
    return torso, dist
434
  end
435
  function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
436
    if hit.Parent == nil then
437
      return
438
    end
439
    local h = hit.Parent:FindFirstChild("Humanoid")
440
    for _, v in pairs(hit.Parent:children()) do
441
      if v:IsA("Humanoid") then
442
        h = v
443
      end
444
    end
445
    if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
446
      if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
447
        return
448
      end
449
      local c = Create("ObjectValue")({
450
        Name = "creator",
451
        Value = game:service("Players").LocalPlayer,
452
        Parent = h
453
      })
454
      game:GetService("Debris"):AddItem(c, 0.5)
455
      if HitSound ~= nil and HitPitch ~= nil then
456
        CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
457
      end
458
      local blocked = false
459
      local block = hit.Parent:findFirstChild("Block")
460
      if block ~= nil and block.className == "IntValue" and block.Value > 0 then
461
        blocked = true
462
        block.Value = block.Value - 1
463
        print(block.Value)
464
      end
465
      if blocked == false then
466
        h.Health = 0
467
      else
468
        h.Health = h.Health - Damage / 2
469
      end
470
      if Type == "Knockdown" then
471
        local hum = hit.Parent.Humanoid
472
        hum.PlatformStand = true
473
        coroutine.resume(coroutine.create(function(HHumanoid)
474
          swait(1)
475
          HHumanoid.PlatformStand = false
476
        end), hum)
477
        local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
478
        local bodvol = Create("BodyVelocity")({
479
          velocity = angle * knockback,
480
          P = 5000,
481
          maxForce = Vector3.new(8000, 8000, 8000),
482
          Parent = hit
483
        })
484
        local rl = Create("BodyAngularVelocity")({
485
          P = 3000,
486
          maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
487
          angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
488
          Parent = hit
489
        })
490
        game:GetService("Debris"):AddItem(bodvol, 0.5)
491
        game:GetService("Debris"):AddItem(rl, 0.5)
492
      elseif Type == "Normal" then
493
        local vp = Create("BodyVelocity")({
494
          P = 500,
495
          maxForce = Vector3.new(math.huge, 0, math.huge),
496
          velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
497
        })
498
        game:GetService("Debris"):AddItem(vp, 0.5)
499
      elseif Type == "Up" then
500
        local bodyVelocity = Create("BodyVelocity")({
501
          velocity = Vector3.new(0, 20, 0),
502
          P = 5000,
503
          maxForce = Vector3.new(8000, 8000, 8000),
504
          Parent = hit
505
        })
506
        game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
507
      elseif Type == "DarkUp" then
508
        coroutine.resume(coroutine.create(function()
509
          for i = 0, 1, 0.1 do
510
            swait()
511
            Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, 0.08, 1)
512
          end
513
        end))
514
        local bodyVelocity = Create("BodyVelocity")({
515
          velocity = Vector3.new(0, 20, 0),
516
          P = 5000,
517
          maxForce = Vector3.new(8000, 8000, 8000),
518
          Parent = hit
519
        })
520
        game:GetService("Debris"):AddItem(bodyVelocity, 1)
521
      elseif Type == "Snare" then
522
        local bp = Create("BodyPosition")({
523
          P = 2000,
524
          D = 100,
525
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
526
          position = hit.Parent.Torso.Position,
527
          Parent = hit.Parent.Torso
528
        })
529
        game:GetService("Debris"):AddItem(bp, 1)
530
      elseif Type == "Freeze" then
531
        local BodPos = Create("BodyPosition")({
532
          P = 50000,
533
          D = 1000,
534
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
535
          position = hit.Parent.Torso.Position,
536
          Parent = hit.Parent.Torso
537
        })
538
        local BodGy = Create("BodyGyro")({
539
          maxTorque = Vector3.new(400000, 400000, 400000) * math.huge,
540
          P = 20000,
541
          Parent = hit.Parent.Torso,
542
          cframe = hit.Parent.Torso.CFrame
543
        })
544
        hit.Parent.Torso.Anchored = true
545
        coroutine.resume(coroutine.create(function(Part)
546
          swait(1.5)
547
          Part.Anchored = false
548
        end), hit.Parent.Torso)
549
        game:GetService("Debris"):AddItem(BodPos, 3)
550
        game:GetService("Debris"):AddItem(BodGy, 3)
551
      end
552
      local debounce = Create("BoolValue")({
553
        Name = "DebounceHit",
554
        Parent = hit.Parent,
555
        Value = true
556
      })
557
      game:GetService("Debris"):AddItem(debounce, Delay)
558
      c = Create("ObjectValue")({
559
        Name = "creator",
560
        Value = Player,
561
        Parent = h
562
      })
563
      game:GetService("Debris"):AddItem(c, 0.5)
564
    end
565
  end
566
  function ShowDamage(Pos, Text, Time, Color)
567
    local Rate = 0.03333333333333333
568
    local Pos = Pos or Vector3.new(0, 0, 0)
569
    local Text = Text or ""
570
    local Time = Time or 2
571
    local Color = Color or Color3.new(1, 0, 1)
572
    local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
573
    EffectPart.Anchored = true
574
    local BillboardGui = Create("BillboardGui")({
575
      Size = UDim2.new(3, 0, 3, 0),
576
      Adornee = EffectPart,
577
      Parent = EffectPart
578
    })
579
    local TextLabel = Create("TextLabel")({
580
      BackgroundTransparency = 1,
581
      Size = UDim2.new(1, 0, 1, 0),
582
      Text = Text,
583
      Font = "SciFi",
584
      TextColor3 = Color,
585
      TextScaled = true,
586
      BorderColor3 = Color3.new(0,0,0),
587
      Parent = BillboardGui
588
    })
589
    game.Debris:AddItem(EffectPart, Time)
590
    EffectPart.Parent = game:GetService("Workspace")
591
    delay(0, function()
592
      local Frames = Time / Rate
593
      for Frame = 1, Frames do
594
        wait(Rate)
595
        local Percent = Frame / Frames
596
        EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
597
        TextLabel.TextTransparency = Percent
598
      end
599
      if EffectPart and EffectPart.Parent then
600
        EffectPart:Destroy()
601
      end
602
    end)
603
  end
604
  function MagnitudeDamage(Part, Magnitude, MinimumDamage, MaximumDamage, KnockBack, Type, HitSound, HitPitch)
605
    for _, c in pairs(workspace:children()) do
606
      local hum = c:findFirstChild("Humanoid")
607
      if hum ~= nil then
608
        local head = c:findFirstChild("Torso")
609
        if head ~= nil then
610
          local targ = head.Position - Part.Position
611
          local mag = targ.magnitude
612
          if Magnitude >= mag and c.Name ~= Player.Name then
613
            Damage(head, head, MinimumDamage, MaximumDamage, KnockBack, Type, RootPart, 0, HitSound, HitPitch)
614
          end
615
        end
616
      end
617
    end
618
  end
619
  --//New Damage\\--
620
function Damage2(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
621
    if hit.Parent == nil then
622
      return
623
    end
624
    local h = hit.Parent:FindFirstChild("Humanoid")
625
    for _, v in pairs(hit.Parent:children()) do
626
      if v:IsA("Humanoid") then
627
        h = v
628
      end
629
    end
630
    if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
631
      if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
632
        return
633
      end
634
      local c = Create("ObjectValue")({
635
        Name = "creator",
636
        Value = game:service("Players").LocalPlayer,
637
        Parent = h
638
      })
639
      game:GetService("Debris"):AddItem(c, 0.5)
640
      if HitSound ~= nil and HitPitch ~= nil then
641
        CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
642
      end
643
      local Damage = math.random(minim, maxim)
644
      local blocked = false
645
      local block = hit.Parent:findFirstChild("Block")
646
      if block ~= nil and block.className == "IntValue" and block.Value > 0 then
647
        blocked = true
648
        block.Value = block.Value - 1
649
        print(block.Value)
650
      end
651
      if blocked == false then
652
        h.Health = h.Health - Damage
653
        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)
654
      else
655
        h.Health = h.Health - Damage / 2
656
        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)
657
      end
658
      if Type == "Knockdown" then
659
        local hum = hit.Parent.Humanoid
660
        hum.PlatformStand = true
661
        coroutine.resume(coroutine.create(function(HHumanoid)
662
          swait(1)
663
          HHumanoid.PlatformStand = false
664
        end), hum)
665
        local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
666
        local bodvol = Create("BodyVelocity")({
667
          velocity = angle * knockback,
668
          P = 5000,
669
          maxForce = Vector3.new(8000, 8000, 8000),
670
          Parent = hit
671
        })
672
        local rl = Create("BodyAngularVelocity")({
673
          P = 3000,
674
          maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
675
          angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
676
          Parent = hit
677
        })
678
        game:GetService("Debris"):AddItem(bodvol, 0.5)
679
        game:GetService("Debris"):AddItem(rl, 0.5)
680
      elseif Type == "Normal" then
681
        local vp = Create("BodyVelocity")({
682
          P = 500,
683
          maxForce = Vector3.new(math.huge, 0, math.huge),
684
          velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
685
        })
686
        if knockback > 0 then
687
          vp.Parent = hit.Parent.Torso
688
        end
689
        game:GetService("Debris"):AddItem(vp, 0.5)
690
      elseif Type == "Up" then
691
        local bodyVelocity = Create("BodyVelocity")({
692
          velocity = Vector3.new(0, 20, 0),
693
          P = 5000,
694
          maxForce = Vector3.new(8000, 8000, 8000),
695
          Parent = hit
696
        })
697
        game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
698
      elseif Type == "DarkUp" then
699
        coroutine.resume(coroutine.create(function()
700
          for i = 0, 1, 0.1 do
701
            swait()
702
            Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, 0.08, 1)
703
          end
704
        end))
705
        local bodyVelocity = Create("BodyVelocity")({
706
          velocity = Vector3.new(0, 20, 0),
707
          P = 5000,
708
          maxForce = Vector3.new(8000, 8000, 8000),
709
          Parent = hit
710
        })
711
        game:GetService("Debris"):AddItem(bodyVelocity, 1)
712
      elseif Type == "Snare" then
713
        local bp = Create("BodyPosition")({
714
          P = 2000,
715
          D = 100,
716
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
717
          position = hit.Parent.Torso.Position,
718
          Parent = hit.Parent.Torso
719
        })
720
        game:GetService("Debris"):AddItem(bp, 1)
721
      elseif Type == "Freeze" then
722
        local BodPos = Create("BodyPosition")({
723
          P = 50000,
724
          D = 1000,
725
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
726
          position = hit.Parent.Torso.Position,
727
          Parent = hit.Parent.Torso
728
        })
729
        local BodGy = Create("BodyGyro")({
730
          maxTorque = Vector3.new(400000, 400000, 400000) * math.huge,
731
          P = 20000,
732
          Parent = hit.Parent.Torso,
733
          cframe = hit.Parent.Torso.CFrame
734
        })
735
        hit.Parent.Torso.Anchored = true
736
        coroutine.resume(coroutine.create(function(Part)
737
          swait(1.5)
738
          Part.Anchored = false
739
        end), hit.Parent.Torso)
740
        game:GetService("Debris"):AddItem(BodPos, 3)
741
        game:GetService("Debris"):AddItem(BodGy, 3)
742
      end
743
      local debounce = Create("BoolValue")({
744
        Name = "DebounceHit",
745
        Parent = hit.Parent,
746
        Value = true
747
      })
748
      game:GetService("Debris"):AddItem(debounce, Delay)
749
      c = Create("ObjectValue")({
750
        Name = "creator",
751
        Value = Player,
752
        Parent = h
753
      })
754
      game:GetService("Debris"):AddItem(c, 0.5)
755
    end
756
  end
757
  function ShowDamage2(Pos, Text, Time, Color)
758
    local Rate = 0.03333333333333333
759
    local Pos = Pos or Vector3.new(0, 0, 0)
760
    local Text = Text or ""
761
    local Time = Time or 2
762
    local Color = Color or Color3.new(1, 0, 1)
763
    local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
764
    EffectPart.Anchored = true
765
    local BillboardGui = Create("BillboardGui")({
766
      Size = UDim2.new(3, 0, 3, 0),
767
      Adornee = EffectPart,
768
      Parent = EffectPart
769
    })
770
    local TextLabel = Create("TextLabel")({
771
      BackgroundTransparency = 1,
772
      Size = UDim2.new(1, 0, 1, 0),
773
      Text = Text,
774
      Font = "SciFi",
775
      TextColor3 = Color,
776
      TextScaled = true,
777
      Parent = BillboardGui
778
    })
779
    game.Debris:AddItem(EffectPart, Time)
780
    EffectPart.Parent = game:GetService("Workspace")
781
    delay(0, function()
782
      local Frames = Time / Rate
783
      for Frame = 1, Frames do
784
        wait(Rate)
785
        local Percent = Frame / Frames
786
        EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
787
        TextLabel.TextTransparency = Percent
788
      end
789
      if EffectPart and EffectPart.Parent then
790
        EffectPart:Destroy()
791
      end
792
    end)
793
  end
794
  function MagnitudeDamage2(Part, Magnitude, MinimumDamage, MaximumDamage, KnockBack, Type, HitSound, HitPitch)
795
    for _, c in pairs(workspace:children()) do
796
      local hum = c:findFirstChild("Humanoid")
797
      if hum ~= nil then
798
        local head = c:findFirstChild("Torso")
799
        if head ~= nil then
800
          local targ = head.Position - Part.Position
801
          local mag = targ.magnitude
802
          if Magnitude >= mag and c.Name ~= Player.Name then
803
            Damage2(head, head, MinimumDamage, MaximumDamage, KnockBack, Type, RootPart, 0, HitSound, HitPitch)
804
          end
805
        end
806
      end
807
    end
808
  end
809
  ----------------------
810
  Handle = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "Handle", Vector3.new(0.400000036, 0.400000006, 1.20000005))
811
  HandleWeld = CFuncs.Weld.Create(m, Character["Right Arm"], Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.0921096802, -1.06268024, -0.143123627, 1, 0, 0, 0, -1, 0, 0, 0, -1))
812
  Barrel = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Barrel", Vector3.new(0.250000003, 0.250000003, 0.250000024))
813
  Mesh = Instance.new("SpecialMesh",Barrel)
814
  Mesh.MeshId = "rbxassetid://442405779"
815
  Mesh.TextureId = "rbxassetid://442405780"
816
  Mesh.Scale = Vector3.new(0.06,0.06,0.06)
817
  BarrelWeld = CFuncs.Weld.Create(m, Handle, Barrel, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.00579071045, -1.59999704, 0.500003815, 1, 0, 0, 0, 1, 0, 0, 0, 1))
818
  JetpackHandle = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "JetpackHandle", Vector3.new(0.200000003, 0.200000003, 0.200000003))
819
  JetpackHandleWeld = CFuncs.Weld.Create(m, Character.Torso, JetpackHandle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(7.62939453E-6, -0.400000662, -2.30000019, 0.999999821, -3.64178788E-7, -8.94072372E-8, 3.63716538E-7, 1, 7.422572E-10, 2.98025853E-8, -1.13686838E-13, 0.999999881))
820
  EffectPartR1 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartR1", Vector3.new(0.5, 0.5, 0.300000012))
821
  EffectPartR1Weld = CFuncs.Weld.Create(m, JetpackHandle, EffectPartR1, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.09364891, -0.187623501, -0.0701560974, 0.906307757, 3.29325474E-7, -0.422617853, -0.144542456, 0.939694047, -0.309971899, 0.397131324, 0.34201628, 0.851652086))
822
  EffectPartL1 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartL1", Vector3.new(0.5, 0.5, 0.300000012))
823
  EffectPartL1Weld = CFuncs.Weld.Create(m, JetpackHandle, EffectPartL1, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(1.02251816, -0.220495224, 0.120153427, 0.965927601, 1.32644391E-6, 0.258812487, 0.0885165557, 0.939698577, -0.330363601, -0.243205622, 0.342014492, 0.907681763))
824
  EffectPartR2 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartR2", Vector3.new(0.5, 0.5, 0.300000012))
825
  EffectPartR2Weld = CFuncs.Weld.Create(m, JetpackHandle, EffectPartR2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.093647, 0.123265266, 0.0195560455, 0.906307757, 3.29325474E-7, -0.422617853, -0.109380148, 0.965926826, -0.234566003, 0.408217847, 0.25881511, 0.875427186))
826
  EffectPartL2 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartL2", Vector3.new(0.5, 0.5, 0.300000012))
827
  EffectPartL2Weld = CFuncs.Weld.Create(m, JetpackHandle, EffectPartL2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(1.02252197, 0.0983912945, 0.212385654, 0.96592772, 1.15327362E-6, 0.258813411, 0.0669838786, 0.965926588, -0.249997437, -0.249995068, 0.258815855, 0.933015227))
828
  EffectPartL3 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartL3", Vector3.new(0.400000006, 0.5, 0.300000012))
829
  EffectPartL3Weld = CFuncs.Weld.Create(m, JetpackHandle, EffectPartL3, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.86114502, 1.02306592, -0.343766928, 0.981060922, -0.0278283078, 0.19168894, -0.0858270004, 0.824720919, 0.558989346, -0.173645675, -0.56485492, 0.806713104))
830
  EffectPartR3 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartR3", Vector3.new(0.400000006, 0.5, 0.300000012))
831
  EffectPartR3Weld = CFuncs.Weld.Create(m, JetpackHandle, EffectPartR3, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.83058548, 1.0264864, -0.312187195, 0.981061339, 0.0278254021, -0.191695988, 0.0858334452, 0.824721098, 0.558989942, 0.173649624, -0.564855158, 0.806710064))
832
  CFuncs.Mesh.Create("SpecialMesh", JetpackHandle, Enum.MeshType.FileMesh, "rbxassetid://0", Vector3.new(0, 0, 0), Vector3.new(1.29999995, 1.29999995, 1.29999995))
833
  EffectModel = Create("Model")({Parent = Character, Name = "Effects"})
834
  Effects = {
835
    Block = {
836
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
837
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
838
        prt.Anchored = true
839
        prt.CFrame = cframe
840
        local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
841
        game:GetService("Debris"):AddItem(prt, 10)
842
        if Type == 1 or Type == nil then
843
          table.insert(Effects, {
844
            prt,
845
            "Block1",
846
            delay,
847
            x3,
848
            y3,
849
            z3,
850
            msh
851
          })
852
        elseif Type == 2 then
853
          table.insert(Effects, {
854
            prt,
855
            "Block2",
856
            delay,
857
            x3,
858
            y3,
859
            z3,
860
            msh
861
          })
862
        end
863
      end
864
    },
865
    Cylinder = {
866
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
867
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.2, 0.2, 0.2))
868
        prt.Anchored = true
869
        prt.CFrame = cframe
870
        local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
871
        game:GetService("Debris"):AddItem(prt, 2)
872
        Effects[#Effects + 1] = {
873
          prt,
874
          "Cylinder",
875
          delay,
876
          x3,
877
          y3,
878
          z3,
879
          msh
880
        }
881
      end
882
    },
883
    Head = {
884
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
885
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
886
        prt.Anchored = true
887
        prt.CFrame = cframe
888
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Head", "nil", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
889
        game:GetService("Debris"):AddItem(prt, 10)
890
        table.insert(Effects, {
891
          prt,
892
          "Cylinder",
893
          delay,
894
          x3,
895
          y3,
896
          z3,
897
          msh
898
        })
899
      end
900
    },
901
    Sphere = {
902
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
903
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
904
        prt.Anchored = true
905
        prt.CFrame = cframe
906
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
907
        game:GetService("Debris"):AddItem(prt, 10)
908
        table.insert(Effects, {
909
          prt,
910
          "Cylinder",
911
          delay,
912
          x3,
913
          y3,
914
          z3,
915
          msh
916
        })
917
      end
918
    },
919
    Elect = {
920
      Create = function(cff, x, y, z)
921
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, BrickColor.new("Lime green"), "Part", Vector3.new(1, 1, 1))
922
        prt.Anchored = true
923
        prt.CFrame = cff * CFrame.new(math.random(-x, x), math.random(-y, y), math.random(-z, z))
924
        prt.CFrame = CFrame.new(prt.Position)
925
        game:GetService("Debris"):AddItem(prt, 2)
926
        local xval = math.random() / 2
927
        local yval = math.random() / 2
928
        local zval = math.random() / 2
929
        local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(xval, yval, zval))
930
        table.insert(Effects, {
931
          prt,
932
          "Elec",
933
          0.1,
934
          x,
935
          y,
936
          z,
937
          xval,
938
          yval,
939
          zval
940
        })
941
      end
942
    },
943
    Ring = {
944
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
945
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
946
        prt.Anchored = true
947
        prt.CFrame = cframe
948
        local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
949
        game:GetService("Debris"):AddItem(prt, 10)
950
        table.insert(Effects, {
951
          prt,
952
          "Cylinder",
953
          delay,
954
          x3,
955
          y3,
956
          z3,
957
          msh
958
        })
959
      end
960
    },
961
    Wave = {
962
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
963
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
964
        prt.Anchored = true
965
        prt.CFrame = cframe
966
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
967
        game:GetService("Debris"):AddItem(prt, 10)
968
        table.insert(Effects, {
969
          prt,
970
          "Cylinder",
971
          delay,
972
          x3,
973
          y3,
974
          z3,
975
          msh
976
        })
977
      end
978
    },
979
    Break = {
980
      Create = function(brickcolor, cframe, x1, y1, z1)
981
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
982
        prt.Anchored = true
983
        prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
984
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
985
        local num = math.random(10, 50) / 1000
986
        game:GetService("Debris"):AddItem(prt, 10)
987
        table.insert(Effects, {
988
          prt,
989
          "Shatter",
990
          num,
991
          prt.CFrame,
992
          math.random() - math.random(),
993
          0,
994
          math.random(50, 100) / 100
995
        })
996
      end
997
    },
998
    Fire = {
999
      Create = function(brickcolor, cframe, x1, y1, z1, delay)
1000
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
1001
        prt.Anchored = true
1002
        prt.CFrame = cframe
1003
        msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1004
        game:GetService("Debris"):AddItem(prt, 10)
1005
        table.insert(Effects, {
1006
          prt,
1007
          "Fire",
1008
          delay,
1009
          1,
1010
          1,
1011
          1,
1012
          msh
1013
        })
1014
      end
1015
    },
1016
    FireWave = {
1017
      Create = function(brickcolor, cframe, x1, y1, z1)
1018
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 1, brickcolor, "Effect", Vector3.new())
1019
        prt.Anchored = true
1020
        prt.CFrame = cframe
1021
        msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1022
        local d = Create("Decal")({
1023
          Parent = prt,
1024
          Texture = "rbxassetid://26356434",
1025
          Face = "Top"
1026
        })
1027
        local d = Create("Decal")({
1028
          Parent = prt,
1029
          Texture = "rbxassetid://26356434",
1030
          Face = "Bottom"
1031
        })
1032
        game:GetService("Debris"):AddItem(prt, 10)
1033
        table.insert(Effects, {
1034
          prt,
1035
          "FireWave",
1036
          1,
1037
          30,
1038
          math.random(400, 600) / 100,
1039
          msh
1040
        })
1041
      end
1042
    },
1043
    Lightning = {
1044
      Create = function(p0, p1, tym, ofs, col, th, tra, last)
1045
        local magz = (p0 - p1).magnitude
1046
        local curpos = p0
1047
        local trz = {
1048
          -ofs,
1049
          ofs
1050
        }
1051
        for i = 1, tym do
1052
          local li = CFuncs.Part.Create(EffectModel, "Neon", 0, tra or 0.4, col, "Ref", Vector3.new(th, th, magz / tym))
1053
          local ofz = Vector3.new(trz[math.random(1, 2)], trz[math.random(1, 2)], trz[math.random(1, 2)])
1054
          local trolpos = CFrame.new(curpos, p1) * CFrame.new(0, 0, magz / tym).p + ofz
1055
          li.Material = "Neon"
1056
          if tym == i then
1057
            local magz2 = (curpos - p1).magnitude
1058
            li.Size = Vector3.new(th, th, magz2)
1059
            li.CFrame = CFrame.new(curpos, p1) * CFrame.new(0, 0, -magz2 / 2)
1060
            table.insert(Effects, {
1061
              li,
1062
              "Disappear",
1063
              last
1064
            })
1065
          else
1066
            li.CFrame = CFrame.new(curpos, trolpos) * CFrame.new(0, 0, magz / tym / 2)
1067
            curpos = li.CFrame * CFrame.new(0, 0, magz / tym / 2).p
1068
            game.Debris:AddItem(li, 10)
1069
            table.insert(Effects, {
1070
              li,
1071
              "Disappear",
1072
              last
1073
            })
1074
          end
1075
        end
1076
      end
1077
    },
1078
    EffectTemplate = {}
1079
  }
1080
  function Shootcombo()
1081
    local MouseLook = CFrame.new((Barrel.Position + Mouse.Hit.p) / 2, Mouse.Hit.p)
1082
    CFuncs.Sound.Create("173979241", Handle, 1, 1)
1083
    Effects.Sphere.Create(BrickColor.new("Really black"), Barrel.CFrame, 0.5, 0.5, 0.5, 1,1,1, 0.09)
1084
    Effects.Sphere.Create(BrickColor.new("Really black"), Barrel.CFrame, 1, 1, 1, 1,1,1, 0.09)
1085
    Effects.Block.Create(BrickColor.new("Really black"), Barrel.CFrame, 1, 1, 1, 1,1,1, 0.09, 1)
1086
    table.insert(Effects, {
1087
      MouseLook.lookVector,
1088
      "Shoot",
1089
      30,
1090
      Barrel.Position,
1091
      6,
1092
      8,
1093
      0,
1094
      1
1095
    })
1096
  end
1097
  function Bolt()
1098
    CFuncs.Sound.Create("173979241", Handle, 1, 1)
1099
  end
1100
  function SpinShot()
1101
    attack = true
1102
    for i = 0, 1, 0.12 do
1103
      swait()
1104
      PlayAnimationFromTable({
1105
        CFrame.new(-0.33084622, -0.304918617, -0.52869457, 0.342018992, 2.44630968E-7, -0.939693093, 0.163176, 0.98480773, 0.0593912415, 0.925417006, -0.173648283, 0.336822927) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1106
        CFrame.new(0.0322597921, 1.48268783, -0.0930604339, 0.322602183, 0.14004983, 0.936116517, -0.172989488, 0.981059611, -0.0871584788, -0.930592477, -0.133820817, 0.340719253) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1107
        CFrame.new(0.506988645, 0.377255857, -0.803069711, 0.259420365, 0.955582082, -0.139867067, 0.0992426202, -0.170435682, -0.980358601, -0.960651875, 0.240444362, -0.139049053) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1108
        CFrame.new(-1.72998452, 0.495006025, -0.392647803, 0.542880952, 0.410539567, 0.732626021, 0.737672389, 0.183852568, -0.649647713, -0.4013969, 0.893121183, -0.203034982) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1109
        CFrame.new(0.502950907, -1.9151485, 0.231621087, 0.864151537, 0.0236141682, -0.502677977, 0.0515102148, 0.989501238, 0.135033786, 0.50058949, -0.142582476, 0.853862286) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1110
        CFrame.new(-0.865711927, -1.63087702, -0.282848835, 0.925415218, 0.173649043, 0.336827427, -0.163176641, 0.98480773, -0.0593916178, -0.342023462, -4.54019755E-7, 0.939691782) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1111
      }, 0.35, false)
1112
    end
1113
    Shootcombo()
1114
    for i = 0, 1, 0.3 do
1115
      swait()
1116
      RootPart.Velocity = RootPart.CFrame.lookVector * -10
1117
      PlayAnimationFromTable({
1118
        CFrame.new(-0.330845773, -0.378038257, 0.581278205, 0.342019081, 5.60612747E-8, -0.939693093, -0.0819000229, 0.996194661, -0.0298090074, 0.936117232, 0.0871561244, 0.340717614) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1119
        CFrame.new(0.0322549939, 1.48268545, -0.0930609033, 0.239786834, -0.113366202, 0.964181364, -0.164735377, 0.974004149, 0.155488253, -0.95675236, -0.196119189, 0.214875787) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1120
        CFrame.new(0.806416035, 0.470317304, -0.694097638, 0.244436547, 0.969400585, 0.0226592347, 0.0830115676, 0.00236219168, -0.996545851, -0.9661057, 0.245473176, -0.079894051) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1121
        CFrame.new(-1.57694697, 0.512434185, -0.230538517, 0.760710716, 0.410538197, 0.502765059, 0.470990688, 0.1838523, -0.862764716, -0.44662869, 0.893119931, -0.0535021573) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1122
        CFrame.new(0.865904212, -1.71960115, 0.0648829341, 0.881422341, -0.173719466, -0.439225137, 0.290622324, 0.932511985, 0.214389697, 0.372338951, -0.316616565, 0.872420609) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1123
        CFrame.new(-0.679471731, -1.82845092, -0.362076759, 0.770665169, -0.0483331755, 0.635404408, -0.0295864344, 0.993330181, 0.111444041, -0.63655293, -0.104685426, 0.764095306) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1124
      }, 0.5, false)
1125
    end
1126
    for i = 0, 1, 0.12 do
1127
      swait()
1128
      PlayAnimationFromTable({
1129
        CFrame.new(-0.33084622, -0.304918617, -0.52869457, 0.342018992, 2.44630968E-7, -0.939693093, 0.163176, 0.98480773, 0.0593912415, 0.925417006, -0.173648283, 0.336822927) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1130
        CFrame.new(0.0322597921, 1.48268783, -0.0930604339, 0.322602183, 0.14004983, 0.936116517, -0.172989488, 0.981059611, -0.0871584788, -0.930592477, -0.133820817, 0.340719253) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1131
        CFrame.new(0.506988645, 0.377255857, -0.803069711, 0.259420365, 0.955582082, -0.139867067, 0.0992426202, -0.170435682, -0.980358601, -0.960651875, 0.240444362, -0.139049053) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1132
        CFrame.new(-1.72998452, 0.495006025, -0.392647803, 0.542880952, 0.410539567, 0.732626021, 0.737672389, 0.183852568, -0.649647713, -0.4013969, 0.893121183, -0.203034982) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1133
        CFrame.new(0.502950907, -1.9151485, 0.231621087, 0.864151537, 0.0236141682, -0.502677977, 0.0515102148, 0.989501238, 0.135033786, 0.50058949, -0.142582476, 0.853862286) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1134
        CFrame.new(-0.865711927, -1.63087702, -0.282848835, 0.925415218, 0.173649043, 0.336827427, -0.163176641, 0.98480773, -0.0593916178, -0.342023462, -4.54019755E-7, 0.939691782) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1135
      }, 0.4, false)
1136
    end
1137
    Bolt()
1138
    attack = false
1139
  end
1140
  function LungeShot(Mode)
1141
    attack = true
1142
    Humanoid.Jump = true
1143
    CFuncs.Sound.Create("158149887", Torso, 1, 0.9)
1144
    if Mode == "Forward" then
1145
      RootPart.Velocity = RootPart.CFrame.lookVector * 80
1146
      for i = 0, 1, 0.1 do
1147
        swait()
1148
        PlayAnimationFromTable({
1149
          CFrame.new(-3.81469727E-6, 0.0628450513, 0.146824121, 1, 0, 0, 0, 0.996194661, -0.087155968, 0, 0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-20), 0, 0),
1150
          CFrame.new(0, 1.49998665, -2.20537186E-6, 1, 0, 0, 0, 0.984807312, 0.173648536, 0, -0.173648536, 0.984807312) * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(20), 0, 0),
1151
          CFrame.new(0.523067951, 0.10826005, -0.698177814, 0.296512067, 0.787702143, 0.540005624, 0.206982568, 0.498990804, -0.84152633, -0.932329774, 0.361294419, -0.0150838122) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1152
          CFrame.new(-1.42747557, -0.117001235, -0.482704312, 0.268235743, 0.0413863063, 0.962466657, 0.56728673, 0.800693691, -0.192532867, -0.778610408, 0.597635567, 0.191299409) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1153
          CFrame.new(0.499998361, -1.51702964, -0.129410475, 0.984807849, 0, -0.173648044, 0.0449435376, 0.965925634, 0.25488764, 0.167731121, -0.258819699, 0.951251149) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1154
          CFrame.new(-0.500004053, -1.35084605, -0.555529714, 0.981060445, 0.0871543288, 0.172987863, -0.140045926, 0.936115682, 0.322606146, -0.133820146, -0.340722382, 0.930591524) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1155
        }, 0.3, false)
1156
      end
1157
    elseif Mode == "Backward" then
1158
      RootPart.Velocity = RootPart.CFrame.lookVector * -80
1159
      for i = 0, 1, 0.1 do
1160
        swait()
1161
        PlayAnimationFromTable({
1162
          CFrame.new(-3.81469727E-6, 0.0628450513, 0.146824121, 1, 0, 0, 0, 0.996194661, -0.087155968, 0, 0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(10), 0, 0),
1163
          CFrame.new(0, 1.49998665, -2.20537186E-6, 1, 0, 0, 0, 0.984807312, 0.173648536, 0, -0.173648536, 0.984807312) * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-10), 0, 0),
1164
          CFrame.new(0.523067951, 0.10826005, -0.698177814, 0.296512067, 0.787702143, 0.540005624, 0.206982568, 0.498990804, -0.84152633, -0.932329774, 0.361294419, -0.0150838122) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1165
          CFrame.new(-1.42747557, -0.117001235, -0.482704312, 0.268235743, 0.0413863063, 0.962466657, 0.56728673, 0.800693691, -0.192532867, -0.778610408, 0.597635567, 0.191299409) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1166
          CFrame.new(0.499998361, -1.51702964, -0.129410475, 0.984807849, 0, -0.173648044, 0.0449435376, 0.965925634, 0.25488764, 0.167731121, -0.258819699, 0.951251149) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1167
          CFrame.new(-0.500004053, -1.35084605, -0.555529714, 0.981060445, 0.0871543288, 0.172987863, -0.140045926, 0.936115682, 0.322606146, -0.133820146, -0.340722382, 0.930591524) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1168
        }, 0.3, false)
1169
      end
1170
    end
1171
    local hitfloor
1172
    while hitfloor == nil do
1173
      swait()
1174
      hitfloor, posfloor = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 6, Character)
1175
    end
1176
    for i = 0, 1, 0.2 do
1177
      swait()
1178
      PlayAnimationFromTable({
1179
        CFrame.new(-0.330837339, -0.699999928, -0.231655031, 0.342019022, 0, -0.939693093, 0, 1, 0, 0.939693093, 0, 0.342018992) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1180
        CFrame.new(0.120368131, 1.44721556, -0.255113155, 0.418385565, -0.00512788072, 0.908255041, -0.141075298, 0.987487316, 0.0705598369, -0.897252142, -0.157652482, 0.412421852) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1181
        CFrame.new(0.285862863, 0.389394581, -0.81719619, 0.340717524, 0.939693093, 0.0298089981, 0.087155968, 0, -0.996194661, -0.936117232, 0.342018992, -0.081899859) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1182
        CFrame.new(-1.69020307, 0.41307798, -0.514919221, 0.800103247, 0.517377436, 0.303571403, 0.255382031, 0.16412276, -0.95280838, -0.542784572, 0.839871705, -8.13782215E-4) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1183
        CFrame.new(0.897276342, -1.54715633, 0.463865459, 0.951250672, -0.229007483, -0.206587687, 0.304395527, 0.589249432, 0.748417377, -0.0496615469, -0.774816513, 0.630232751) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1184
        CFrame.new(-0.632248044, -1.39177239, -0.405484438, 0.817636669, -0.123517469, 0.562330127, 0.0563425981, 0.989193141, 0.13535662, -0.572972655, -0.0789892152, 0.815760136) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1185
      }, 0.4, false)
1186
    end
1187
    Shootcombo()
1188
    for i = 0, 1, 0.3 do
1189
      swait()
1190
      RootPart.Velocity = RootPart.CFrame.lookVector * -40
1191
      PlayAnimationFromTable({
1192
        CFrame.new(-0.330840945, -1.00127292, -0.261750877, 0.342018962, -1.4270141E-7, -0.939693034, -0.243209973, 0.965925992, -0.0885209814, 0.907673895, 0.258818597, 0.330364913) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1193
        CFrame.new(0.120366111, 1.44719875, -0.255110145, 0.418383747, -0.0842670798, 0.904353142, -0.141075209, 0.977573991, 0.156355858, -0.897247374, -0.192998484, 0.397113085) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1194
        CFrame.new(0.632638395, 0.661208212, -0.690981925, 0.326495707, 0.925417125, 0.192363232, 0.0858313814, 0.173647493, -0.981060386, -0.941293538, 0.336822778, -0.0227346662) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1195
        CFrame.new(-1.51982272, 0.476396978, -0.384689331, 0.81248939, 0.445674956, 0.37581408, 0.350734472, 0.141240373, -0.925762773, -0.46566987, 0.88398242, -0.0415571854) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1196
        CFrame.new(0.783671975, -1.17622542, 0.561357141, 0.831630051, -0.23809275, -0.501700282, 0.550981283, 0.240921408, 0.798984766, -0.0693621933, -0.940887034, 0.331542104) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1197
        CFrame.new(-0.632252574, -1.39177251, -0.40547961, 0.73177588, -0.317396253, 0.603132486, 0.21459803, 0.947232425, 0.238111958, -0.646885633, -0.0448122993, 0.761271358) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1198
      }, 0.6, false)
1199
    end
1200
    Bolt()
1201
    attack = false
1202
  end
1203
  function AutoShot()
1204
    attack = true
1205
    Humanoid.WalkSpeed = 5
1206
    Bolt()
1207
    for i = 0, 1, 0.3 do
1208
      swait()
1209
      PlayAnimationFromTable({
1210
        CFrame.new(-0.330837339, -0.699999928, -0.231655031, 0.342019022, 0, -0.939693093, 0, 1, 0, 0.939693093, 0, 0.342018992) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1211
        CFrame.new(0.120368131, 1.44721556, -0.255113155, 0.418385565, -0.00512788072, 0.908255041, -0.141075298, 0.987487316, 0.0705598369, -0.897252142, -0.157652482, 0.412421852) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1212
        CFrame.new(0.285862863, 0.389394581, -0.81719619, 0.340717524, 0.939693093, 0.0298089981, 0.087155968, 0, -0.996194661, -0.936117232, 0.342018992, -0.081899859) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1213
        CFrame.new(-1.69020307, 0.41307798, -0.514919221, 0.800103247, 0.517377436, 0.303571403, 0.255382031, 0.16412276, -0.95280838, -0.542784572, 0.839871705, -8.13782215E-4) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1214
        CFrame.new(0.897276342, -1.54715633, 0.463865459, 0.951250672, -0.229007483, -0.206587687, 0.304395527, 0.589249432, 0.748417377, -0.0496615469, -0.774816513, 0.630232751) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1215
        CFrame.new(-0.632248044, -1.39177239, -0.405484438, 0.817636669, -0.123517469, 0.562330127, 0.0563425981, 0.989193141, 0.13535662, -0.572972655, -0.0789892152, 0.815760136) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1216
      }, 0.4, false)
1217
    end
1218
    Humanoid.WalkSpeed = 0
1219
    for i = 1, 10 do
1220
      for i = 0, 1, 0.8 do
1221
        swait()
1222
        PlayAnimationFromTable({
1223
          CFrame.new(-0.330837339, -0.699999928, -0.231655031, 0.342019022, 0, -0.939693093, 0, 1, 0, 0.939693093, 0, 0.342018992) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1224
          CFrame.new(0.120368131, 1.44721556, -0.255113155, 0.418385565, -0.00512788072, 0.908255041, -0.141075298, 0.987487316, 0.0705598369, -0.897252142, -0.157652482, 0.412421852) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1225
          CFrame.new(0.285862863, 0.389394581, -0.81719619, 0.340717524, 0.939693093, 0.0298089981, 0.087155968, 0, -0.996194661, -0.936117232, 0.342018992, -0.081899859) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1226
          CFrame.new(-1.69020307, 0.41307798, -0.514919221, 0.800103247, 0.517377436, 0.303571403, 0.255382031, 0.16412276, -0.95280838, -0.542784572, 0.839871705, -8.13782215E-4) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1227
          CFrame.new(0.897276342, -1.54715633, 0.463865459, 0.951250672, -0.229007483, -0.206587687, 0.304395527, 0.589249432, 0.748417377, -0.0496615469, -0.774816513, 0.630232751) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1228
          CFrame.new(-0.632248044, -1.39177239, -0.405484438, 0.817636669, -0.123517469, 0.562330127, 0.0563425981, 0.989193141, 0.13535662, -0.572972655, -0.0789892152, 0.815760136) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1229
        }, 0.7, false)
1230
      end
1231
      Shootcombo()
1232
      for i = 0, 1, 0.9 do
1233
        swait()
1234
        PlayAnimationFromTable({
1235
          CFrame.new(-0.330840945, -1.00127292, -0.261750877, 0.342018962, -1.4270141E-7, -0.939693034, -0.243209973, 0.965925992, -0.0885209814, 0.907673895, 0.258818597, 0.330364913) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1236
          CFrame.new(0.120366111, 1.44719875, -0.255110145, 0.418383747, -0.0842670798, 0.904353142, -0.141075209, 0.977573991, 0.156355858, -0.897247374, -0.192998484, 0.397113085) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1237
          CFrame.new(0.632638395, 0.661208212, -0.690981925, 0.326495707, 0.925417125, 0.192363232, 0.0858313814, 0.173647493, -0.981060386, -0.941293538, 0.336822778, -0.0227346662) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1238
          CFrame.new(-1.51982272, 0.476396978, -0.384689331, 0.81248939, 0.445674956, 0.37581408, 0.350734472, 0.141240373, -0.925762773, -0.46566987, 0.88398242, -0.0415571854) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1239
          CFrame.new(0.783671975, -1.17622542, 0.561357141, 0.831630051, -0.23809275, -0.501700282, 0.550981283, 0.240921408, 0.798984766, -0.0693621933, -0.940887034, 0.331542104) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1240
          CFrame.new(-0.632252574, -1.39177251, -0.40547961, 0.73177588, -0.317396253, 0.603132486, 0.21459803, 0.947232425, 0.238111958, -0.646885633, -0.0448122993, 0.761271358) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1241
        }, 0.8, false)
1242
      end
1243
    end
1244
    Humanoid.WalkSpeed = 16
1245
    attack = false
1246
  end
1247
  function MortarShot()
1248
    attack = true
1249
    Humanoid.WalkSpeed = 5
1250
    Bolt()
1251
    for i = 0, 1, 0.3 do
1252
      swait()
1253
      PlayAnimationFromTable({
1254
        CFrame.new(-0.062730819, -1.35083091, -0.0234885216, 0.819151819, 0.368687779, -0.439385623, -0.573576868, 0.52654016, -0.627507091, 0, 0.766044974, 0.642787039) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1255
        CFrame.new(-0.0485280529, 1.45187008, 0.123812944, 0.90630585, -0.0368346125, 0.421014428, 0.178608507, 0.936241627, -0.302573681, -0.383025914, 0.349420995, 0.855100214) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1256
        CFrame.new(1.37136579, -0.011062175, -0.241436988, 0.866025329, 0.500000238, 0, 0.321393698, -0.556669831, -0.766044974, -0.383022636, 0.663414299, -0.642787039) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1257
        CFrame.new(-0.554796219, 0.778117955, -1.30101132, 0.814972818, -0.183016568, 0.549840331, 0.413680822, -0.480712891, -0.773164511, 0.40581724, 0.857566416, -0.316057503) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1258
        CFrame.new(0.745755255, -0.594750226, 0.689795136, 0.707485676, 0.0499878898, -0.704957783, 0.604335666, -0.559927046, 0.566798568, -0.366391778, -0.827032924, -0.426349699) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1259
        CFrame.new(-0.45294404, -1.60859108, 0.283076108, 0.724484801, -0.4477458, 0.524066269, -0.110680997, 0.674867868, 0.729592919, -0.680348873, -0.586582422, 0.439373374) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1260
      }, 0.4, false)
1261
    end
1262
    CFuncs.Sound.Create("173979241", Barrel, 1, 1)
1263
    Effects.Sphere.Create(BrickColor.new("Really black"), Barrel.CFrame, 6, 6, 6, 3, 3, 3, 0.1, m)
1264
    for i = 1, 20 do
1265
      local hit, pos = rayCast(Barrel.Position, Barrel.CFrame * CFrame.fromEulerAnglesXYZ(0, 5, 0).lookVector, 220, Character)
1266
      local mag = (Barrel.Position - pos).magnitude
1267
      Effects.Cylinder.Create(BrickColor.new("Really black"), Barrel.CFrame, 6, 99999, 6, -0.5, 1, -0.5, 0.1)
1268
      local cf2 = Mouse.Hit.p + Vector3.new(math.random(-30,30), 100, math.random(-30,30))
1269
      local hit2, pos2 = rayCast(cf2, CFrame.new(cf2, cf2 - Vector3.new(0, 1, 0)).lookVector, 999, Character)
1270
      if hit2 ~= nil then
1271
        local d1 = CFuncs.Part.Create(workspace, "Neon", 0, 0.5, BrickColor.new("Really black"), "Effect", Vector3.new())
1272
        d1.Anchored = true
1273
        d1.CFrame = CFrame.new(pos2)
1274
        game:GetService("Debris"):AddItem(d1, 5)
1275
        local msh = CFuncs.Mesh.Create("CylinderMesh", d1, "nil", "nil", Vector3.new(0, 0, 0), Vector3.new(30, 5, 30))
1276
        local d2 = d1:Clone()
1277
        d2.Parent = d1
1278
        d2.CFrame = CFrame.new(d1.Position)
1279
        d2.BrickColor = BrickColor.new("Medium stone gray")
1280
        d2.Mesh.Scale = Vector3.new(0, 5, 0)
1281
        table.insert(Effects, {
1282
          d1,
1283
          "QuadShot",
1284
          d2,
1285
          d2.Mesh,
1286
          0
1287
        })
1288
      end
1289
    end
1290
    for i = 0, 1, 0.2 do
1291
      swait()
1292
      PlayAnimationFromTable({
1293
        CFrame.new(-0.00381875038, -1.20960522, -0.0234894156, 0.906307876, 0.271653324, -0.323744416, -0.422617942, 0.582562923, -0.694272697, 0, 0.766045094, 0.64278698) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1294
        CFrame.new(-0.0485313386, 1.45186937, 0.12381205, 0.906306446, -0.036834389, 0.421012908, 0.178607732, 0.936241806, -0.302573651, -0.383024782, 0.349420667, 0.855100751) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1295
        CFrame.new(1.2566489, 0.0942437202, -0.366937846, 0.866025388, 0.499999881, 0, 0.32139343, -0.556669831, -0.766045094, -0.383022457, 0.663414538, -0.64278698) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1296
        CFrame.new(-0.669512153, 0.883427501, -1.42651618, 0.814972997, -0.183017969, 0.54984045, 0.413680524, -0.480712831, -0.773165226, 0.405818164, 0.85756737, -0.316057026) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1297
        CFrame.new(0.663835824, -0.644426942, 0.718474984, 0.819152117, -0.0996050313, -0.564861536, 0.496729434, -0.369217664, 0.785454273, -0.28679204, -0.923989952, -0.252968639) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1298
        CFrame.new(-0.597848773, -1.58645034, 0.419145882, 0.845831037, -0.0996147096, 0.524067461, -0.385522783, 0.564860702, 0.729592204, -0.368703246, -0.819151759, 0.439372897) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1299
      }, 0.4, false)
1300
    end
1301
    Humanoid.WalkSpeed = 16
1302
    attack = false
1303
  end
1304
  function DisappearJetOnly()
1305
    for _, i in pairs(m:children()) do
1306
      if i == JetpackHandle then
1307
        coroutine.resume(coroutine.create(function(Part)
1308
          for i = 0, 1, 0.3 do
1309
            swait()
1310
            Part.Transparency = i
1311
          end
1312
          Part.Transparency = 1
1313
        end), i)
1314
      end
1315
    end
1316
  end
1317
  function ReappearJetOnly()
1318
    for _, i in pairs(m:children()) do
1319
      if i == JetpackHandle then
1320
        coroutine.resume(coroutine.create(function(Part)
1321
          for i = 0, 1, 0.3 do
1322
            swait()
1323
            Part.Transparency = i
1324
          end
1325
          Part.Transparency = 0
1326
        end), i)
1327
      end
1328
    end
1329
  end
1330
  local floornum = 0
1331
  function JetDash()
1332
    attack = true
1333
    ReappearJetOnly()
1334
    Humanoid.WalkSpeed = 5
1335
    for i = 0, 1, 0.05 do
1336
      swait()
1337
      	Effects.Wave.Create(BrickColor.new("Really black"), Torso.CFrame * CFrame.Angles(2.4, 0, 0), 1, 1, 1, 2,2,2,0.4)
1338
      	Effects.Break.Create(BrickColor.new("Really black"), Torso.CFrame, 0.2, 0.2, 0.2)
1339
      	Effects.Break.Create(BrickColor.new("Really black"), Torso.CFrame, 0.2, 0.2, 0.2)
1340
      	Effects.Block.Create(BrickColor.new("Really black"), Torso.CFrame, 1, 1, 1, 15,15,15, 0.3, 1)
1341
      	Effects.Block.Create(BrickColor.new("Really black"), Torso.CFrame, 1, 1, 1, 15,15,15,0.3, 1)
1342
      	Effects.Block.Create(BrickColor.new("Really black"), Torso.CFrame, 1, 1, 1, 10,10,10, 0.2, 1)
1343
      	Effects.Block.Create(BrickColor.new("Really black"), Torso.CFrame, 1, 1, 1, 10,10,10, 0.2, 1)
1344
      RootPart.Velocity = RootPart.CFrame.lookVector * 400
1345
      PlayAnimationFromTable({
1346
        CFrame.new(0, -0.436519086, -1.54268694, 1, 0, 0, 0, 0.573575079, 0.81915313, 0, -0.81915313, 0.573575079) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1347
        CFrame.new(0, 1.383762, 0.294095755, 1, 0, 0, 0, 0.766045392, -0.642790735, 0, 0.642790735, 0.766045392) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1348
        CFrame.new(0.639911652, 0.428372383, -0.839826643, 0.262888074, 0.933915675, 0.242263183, 0.536961675, 0.0669959337, -0.840942383, -0.80159986, 0.351159722, -0.483864516) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1349
        CFrame.new(-1.42905915, 0.103630304, -0.677020133, 0.509720683, 0.0942112952, 0.855166197, 0.742046118, 0.45486632, -0.492406994, -0.435376555, 0.885562658, 0.161945611) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1350
        CFrame.new(0.598487258, -1.49273849, 0.0829842687, 0.984807909, 7.31955607E-10, -0.173648015, 0.122787923, 0.707105517, 0.696365893, 0.122787446, -0.707108378, 0.696363151) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1351
        CFrame.new(-0.599626899, -1.7493062, -0.188390553, 0.996194661, 0, 0.087156795, -0.0298094582, 0.939692497, 0.340719461, -0.0819005892, -0.342020988, 0.936116517) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1352
      }, 0.6, false)
1353
    end
1354
    for i = 0, 1, 0.05 do
1355
      swait()
1356
      Effects.Fire.Create(BrickColor.new("Really black"), EffectPartL3.CFrame, 3, 3, 3, 0.3)
1357
      Effects.Fire.Create(BrickColor.new("Really black"), EffectPartR3.CFrame, 3, 3, 3, 0.3)
1358
      RootPart.Velocity = RootPart.CFrame.lookVector * 60
1359
      PlayAnimationFromTable({
1360
        CFrame.new(-0.313091278, -0.629250288, 0.409977496, 0.422617137, -0.383021861, -0.821394563, 0, 0.906308115, -0.422617614, 0.906308293, 0.178605452, 0.383021355) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1361
        CFrame.new(-2.89082527E-6, 1.56999886, -0.169927716, 0.499998629, -0.0754772127, 0.862731218, -0.224145666, 0.950971425, 0.213101521, -0.836516559, -0.29992786, 0.458566666) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1362
        CFrame.new(0.639911413, 0.428367913, -0.839831948, 0.262887627, 0.933916271, 0.242261022, 0.536960125, 0.0669948608, -0.840943277, -0.801600933, 0.351158082, -0.483863741) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1363
        CFrame.new(-1.42906761, 0.103628337, -0.677013278, 0.509718478, 0.0942142606, 0.85516715, 0.742045939, 0.454867214, -0.4924061, -0.435379177, 0.885561645, 0.161942929) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1364
        CFrame.new(0.255052269, -1.74161863, 0.0939150751, 0.973724782, 0.171020329, -0.150378793, -0.13000688, 0.959606647, 0.249509975, 0.186975896, -0.223403811, 0.956624985) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1365
        CFrame.new(-0.966920853, -1.65688598, 0.10182327, 0.929320216, 0.24122712, 0.279595017, -0.312094092, 0.917783141, 0.245502412, -0.197385877, -0.315410316, 0.928199947) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1366
      }, 0.36, false)
1367
      CFuncs.Sound.Create("596046130", JetpackHandle, 1, 1)
1368
    end
1369
    DisappearJetOnly()
1370
    Humanoid.WalkSpeed = 16
1371
    attack = false
1372
  end
1373
  function findRandomTorso(pos)
1374
    local list = game.Workspace:children()
1375
    local torso
1376
    local dist = 10000
1377
    local temp, human, temp2
1378
    local list2 = {}
1379
    for x = 1, #list do
1380
      temp2 = list[x]
1381
      if temp2.className == "Model" and temp2.Name ~= Character.Name and temp2.Name ~= "Crystal" then
1382
        temp = temp2:findFirstChild("Torso")
1383
        human = temp2:findFirstChild("Humanoid")
1384
        if temp ~= nil and human ~= nil and human.Health > 0 and dist > pos.magnitude then
1385
          local dohit = true
1386
          if dohit == true then
1387
            torso = temp
1388
            table.insert(list2, temp)
1389
          end
1390
        end
1391
      end
1392
    end
1393
    if #list2 > 0 then
1394
      rand = math.random(1, #list2)
1395
      return list2[rand], dist
1396
    else
1397
      return nil, dist
1398
    end
1399
  end
1400
  Mouse.Button1Down:connect(function()
1401
    if attack ~= false or attacktype == 1 then
1402
    end
1403
  end)
1404
  Mouse.KeyDown:connect(function(k)
1405
    k = k:lower()
1406
    if attack == false and k == "z" then
1407
      SpinShot()
1408
    elseif attack == false and k == "x" then
1409
      AutoShot()
1410
    elseif attack == false and k == "c" then
1411
      MortarShot()
1412
    elseif attack == false and k == "v" then
1413
      Crater(Torso,30)
1414
      JetDash()
1415
    end
1416
  end)
1417
  while true do
1418
    swait()
1419
    local aim = CFrame.new(RootPart.Position, Mouse.Hit.p)
1420
    local direction = aim.lookVector
1421
    local headingA = math.atan2(direction.x, direction.z)
1422
    headingA = math.deg(headingA)
1423
    Humanoid.AutoRotate = false
1424
    RootPart.CFrame = CFrame.new(RootPart.Position) * CFrame.Angles(math.rad(0), math.rad(headingA - 180), math.rad(0))
1425
    Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
1426
    velocity = RootPart.Velocity.y
1427
    sine = sine + change
1428
    local hit, pos = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, Character)
1429
    if RootPart.Velocity.y > 1 and hit == nil then
1430
      Anim = "Jump"
1431
      if attack == false then
1432
        PlayAnimationFromTable({
1433
          CFrame.new(0.127259433, -0.0596159771, 0.189378753, 0.965925872, 0.0225571971, 0.257834047, 0.0225579981, 0.985066533, -0.17069003, -0.257833958, 0.170690134, 0.950992465) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1434
          CFrame.new(0.0244209729, 1.56254399, -0.173544556, 0.96592474, 0.0225591958, -0.257838368, 0.0449432544, 0.966441274, 0.252925694, 0.254891455, -0.255895257, 0.932495654) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1435
          CFrame.new(0.658500612, 0.398768902, -0.862450778, 0.343670964, 0.900792718, 0.265448391, 0.2137326, 0.20021911, -0.956154108, -0.914444566, 0.385337412, -0.123719275) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1436
          CFrame.new(-1.43523574, 0.121549249, -0.687813759, 0.410701752, 0.118069187, 0.904092729, 0.739943445, 0.536207557, -0.406159192, -0.532736301, 0.835787892, 0.132856861) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1437
          CFrame.new(0.641040266, -1.90806067, 0.227101922, 0.962249994, -0.0841864049, -0.258819878, 0.170085624, 0.928400099, 0.330369651, 0.212475777, -0.361919671, 0.907671988) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1438
          CFrame.new(-0.500004053, -1.35084605, -0.555529714, 0.981060445, 0.0871543288, 0.172987863, -0.140045926, 0.936115682, 0.322606146, -0.133820146, -0.340722382, 0.930591524) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1439
        }, 0.3, false)
1440
      end
1441
    elseif RootPart.Velocity.y < -1 and hit == nil then
1442
      Anim = "Fall"
1443
      if attack == false then
1444
        PlayAnimationFromTable({
1445
          CFrame.new(0.163334131, -0.0871596038, -0.16742219, 0.867043138, 0.0880189762, 0.490396827, 0.0449440032, 0.966441453, -0.252924889, -0.496202052, 0.24133715, 0.833990455) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1446
          CFrame.new(0.0244172066, 1.5625447, -0.17354542, 0.866278768, 0.108875886, -0.487552434, 0.108873315, 0.911355376, 0.396961033, 0.487552851, -0.396960288, 0.777634263) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1447
          CFrame.new(0.689669132, 0.354625255, -0.940430343, 0.229587287, 0.87174952, 0.432831228, 0.436280668, 0.305352151, -0.846415639, -0.870028138, 0.383162051, -0.310222536) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1448
          CFrame.new(-1.47630322, 0.0475490689, -0.634548545, 0.410701722, 0.118068904, 0.904093027, 0.739943504, 0.536207497, -0.406158984, -0.532736182, 0.835787833, 0.132856965) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1449
          CFrame.new(0.720636785, -1.87088692, -0.163134515, 0.96225059, -0.185678095, -0.198991448, 0.170083165, 0.98103714, -0.0929410458, 0.212475047, 0.0555875003, 0.975584149) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1450
          CFrame.new(-0.500012517, -1.35084641, -0.555533409, 0.981287122, -0.0532096401, 0.185053408, 0.0246368051, 0.987856567, 0.153402999, -0.190968931, -0.14597322, 0.970681846) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1451
        }, 0.3, false)
1452
      end
1453
    elseif Torsovelocity < 1 and hit ~= nil then
1454
      Anim = "Idle"
1455
      if attack == false then
1456
        change = 1
1457
        PlayAnimationFromTable({
1458
          CFrame.new(-0.2541008, -0.180074736, -0.241802737, 0.76604414, -1.48394264E-7, -0.642788053, 0.0560230091, 0.996194661, 0.0667653158, 0.640342057, -0.0871560946, 0.763129115) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1459
          CFrame.new(1.35600567E-6, 1.49999166, -5.73694706E-7, 0.766043305, -0.0560226552, 0.64034313, -9.31413126E-7, 0.996194601, 0.0871566758, -0.642789006, -0.0667664111, 0.76312834) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1460
          CFrame.new(0.965944111, 0.410506815, -0.758076906, 0.409578711, 0.866023779, 0.286785841, 0.370432287, 0.129400983, -0.919802964, -0.833687246, 0.482963026, -0.267803341) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1461
          CFrame.new(-1.37906599, 0.100769401, -0.915000141, 0.633367777, 0.168905735, 0.755190313, 0.68845278, 0.322659701, -0.649560332, -0.353385001, 0.931322694, 0.0880800188) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1462
          CFrame.new(0.59794265, -2.0041101, -0.0749895424, 0.981711328, -0.0754808784, -0.174771756, 0.0819018856, 0.996202469, 0.0298143364, 0.171854109, -0.04358197, 0.984157085) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1463
          CFrame.new(-0.786915421, -1.82557595, -0.30038017, 0.813531935, 0.108696118, 0.57126832, -0.062976934, 0.993065894, -0.0992677882, -0.578093946, 0.0447808057, 0.814740956) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1464
        }, 0.3, false)
1465
      end
1466
    elseif Torsovelocity > 2 and hit ~= nil then
1467
      Anim = "Walk"
1468
      if attack == false then
1469
        change = 3
1470
        PlayAnimationFromTable({
1471
          CFrame.new(0, -0.234493911, -0.148225456, 1, 0, 0, 0, 0.972469866, 0.233028963, 0, -0.233028963, 0.972469866) * CFrame.new(0, 0, 0) * CFrame.Angles(-0.2, math.rad(-10 * math.cos(sine / 10)), 0),
1472
          CFrame.new(0, 1.49999082, 3.57627869E-6, 1, 0, 0, 0, 0.991436481, -0.130595058, 0, 0.130595058, 0.991436481) * CFrame.new(0, 0, 0) * CFrame.Angles(0.15, math.rad(10 * math.cos(sine / 10)), math.rad(-3 * math.cos(sine / 10))),
1473
          CFrame.new(0.678833663, 0.365906566, -0.753261089, 0.337660074, 0.901719749, 0.269976407, 0.271790266, 0.181202337, -0.945143342, -0.901174843, 0.39251405, -0.183893844) * CFrame.new(math.rad(5 * math.cos(sine / 10)), math.rad(-5 * math.cos(sine / 5)), 0) * CFrame.Angles(0, 0, 0),
1474
          CFrame.new(-1.42503321, 0.101834446, -0.631737471, 0.459770948, 0.0983300805, 0.882576883, 0.674444914, 0.607868612, -0.419070512, -0.577697933, 0.787925959, 0.213162094) * CFrame.new(math.rad(5 * math.cos(sine / 10)), math.rad(5 * math.cos(sine / 5)), 0) * CFrame.Angles(0, 0, 0),
1475
          CFrame.new(0.5, -1.85 - 0.5 * math.cos(sine / 8) / 2, 0 + 1.8 * math.sin(sine / 8) / 2) * CFrame.Angles(math.rad(-50 * math.sin(sine / 8)), math.rad(0), math.rad(0)),
1476
          CFrame.new(-0.5, -1.85 + 0.5 * math.cos(sine / 8) / 2, 0 - 1.8 * math.sin(sine / 8) / 2) * CFrame.Angles(math.rad(50 * math.sin(sine / 8)), math.rad(0), math.rad(0))
1477
        }, 0.3, false)
1478
      end
1479
    end
1480
    if 0 < #Effects then
1481
      for e = 1, #Effects do
1482
        if Effects[e] ~= nil then
1483
          local Thing = Effects[e]
1484
          if Thing ~= nil then
1485
            local Part = Thing[1]
1486
            local Mode = Thing[2]
1487
            local Delay = Thing[3]
1488
            local IncX = Thing[4]
1489
            local IncY = Thing[5]
1490
            local IncZ = Thing[6]
1491
            if Thing[2] == "Shoot" then
1492
              local Look = Thing[1]
1493
              local move = 30
1494
              if Thing[8] == 3 then
1495
                move = 10
1496
              end
1497
              local hit, pos = rayCast(Thing[4], Look, move, Character)
1498
              local mag = (Thing[4] - pos).magnitude
1499
              Effects.Cylinder.Create(BrickColor.new("Really black"), CFrame.new((Thing[4] + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0), 1, mag * 5, 1, 0.5, 0, 0.5, 0.2)
1500
              Thing[4] = Thing[4] + Look * move
1501
              Thing[3] = Thing[3] - 1
1502
              if hit ~= nil then
1503
                Thing[3] = 0
1504
                local target, distance = findNearestTorso(pos)
1505
                if hit.Parent:findFirstChild("Humanoid") == nil and target ~= nil and Thing[5] > 0 then
1506
                  Thing[3] = 50
1507
                  Thing[5] = Thing[5] - 1
1508
                  Thing[6] = Thing[6] - 1
1509
                  spread = Vector3.new((math.random(-1, 0) + math.random()) * 2, (math.random(-1, 0) + math.random()) * 2, (math.random(-1, 0) + math.random()) * 0) * (pos + target.Position).magnitude / 100
1510
                  local MouseLook = CFrame.new((pos + target.Position) / 0, target.Position)
1511
                  Thing[1] = MouseLook.lookVector
1512
                end
1513
                if Thing[8] == 1 or Thing[8] == 3 then
1514
                  MagnitudeDamage2(hit, 5, 30, 80, math.random(5, 10), "Normal", "", 1)
1515
                end
1516
                ref = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Really red"), "Reference", Vector3.new())
1517
                ref.Anchored = true
1518
                ref.CFrame = CFrame.new(pos)
1519
                Effects.Sphere.Create(BrickColor.new("Really black"), CFrame.new(pos), 5, 5, 5, 1, 1, 1, 0.07)
1520
                game:GetService("Debris"):AddItem(ref, 1)
1521
              end
1522
              if Thing[3] <= 0 then
1523
                table.remove(Effects, e)
1524
              end
1525
            end
1526
            if Thing[2] == "FireWave" then
1527
              if Thing[3] <= Thing[4] then
1528
                Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(0, 1, 0)
1529
                Thing[3] = Thing[3] + 1
1530
                Thing[6].Scale = Thing[6].Scale + Vector3.new(Thing[5], 0, Thing[5])
1531
              else
1532
                Part.Parent = nil
1533
                table.remove(Effects, e)
1534
              end
1535
            end
1536
            if Thing[2] ~= "Shoot" and Thing[2] ~= "Wave" and Thing[2] ~= "FireWave" then
1537
              if Thing[1].Transparency <= 1 then
1538
                if Thing[2] == "Block1" then
1539
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1540
                  Mesh = Thing[7]
1541
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1542
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1543
                elseif Thing[2] == "Block2" then
1544
                  Thing[1].CFrame = Thing[1].CFrame
1545
                  Mesh = Thing[7]
1546
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1547
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1548
                elseif Thing[2] == "Fire" then
1549
                  Thing[1].CFrame = CFrame.new(Thing[1].Position) + Vector3.new(0, 0.2, 0)
1550
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1551
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1552
                elseif Thing[2] == "Cylinder" then
1553
                  Mesh = Thing[7]
1554
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1555
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1556
                elseif Thing[2] == "Blood" then
1557
                  Mesh = Thing[7]
1558
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, 0.5, 0)
1559
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1560
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1561
                elseif Thing[2] == "Elec" then
1562
                  Mesh = Thing[10]
1563
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
1564
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1565
                elseif Thing[2] == "QuadShot" then
1566
                  if Thing[5] < 30 then
1567
                    Thing[5] = Thing[5] + 2
1568
                    Thing[4].Scale = Vector3.new(Thing[5], 5, Thing[5])
1569
                  else
1570
                    refda = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Black"), "Reference", Vector3.new())
1571
                    refda.Anchored = true
1572
                    refda.CFrame = CFrame.new(Thing[1].Position)
1573
                    game:GetService("Debris"):AddItem(refda, 1)
1574
                    CFuncs.Sound.Create("633129760", refda, 1, 1)
1575
                    MagnitudeDamage(refda, 20, 10, 40, math.random(5, 10), "Normal", "315748999", 1)
1576
                    Effects.Cylinder.Create(BrickColor.new("Really black"), CFrame.new(refda.Position), 3, 9999, 3, 1, 1, 1, 0.1)
1577
                    for i = 1, 5 do
1578
                      Effects.Sphere.Create(BrickColor.new("Really black"), CFrame.new(refda.Position), 10, 10, 10, 4 * i, 4 * i, 4 * i, 0.08)
1579
                    end
1580
                    Thing[1].Parent = nil
1581
                    table.remove(Effects, e)
1582
                  end
1583
                elseif Thing[2] == "Disappear" then
1584
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1585
                elseif Thing[2] == "Shatter" then
1586
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1587
                  Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
1588
                  Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
1589
                  Thing[6] = Thing[6] + Thing[5]
1590
                end
1591
              else
1592
                Part.Parent = nil
1593
                table.remove(Effects, e)
1594
              end
1595
            end
1596
          end
1597
        end
1598
      end
1599
    end
1600
  end