View difference between Paste ID: dJ16TzYM and JSMextWv
SHOW: | | - or go back to the newest paste.
1
--Fixed by Scenius(On ROBLOX) g/nl/all
2
  wait(0.016666666666666666)
3
  Effects = {}
4
  
5
local acos = math.acos
6
local sqrt = math.sqrt
7
local Vec3 = Vector3.new
8
local fromAxisAngle = CFrame.fromAxisAngle
9
10
local function toAxisAngle(CFr)
11
        local X,Y,Z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = CFr:components()
12
        local Angle = math.acos((R00+R11+R22-1)/2)
13
        local A = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
14
        A = A == 0 and 0.00001 or A
15
        local B = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
16
        B = B == 0 and 0.00001 or B
17
        local C = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
18
        C = C == 0 and 0.00001 or C
19
        local x = (R21-R12)/sqrt(A)
20
        local y = (R02-R20)/sqrt(B)
21
        local z = (R10-R01)/sqrt(C)
22
        return Vec3(x,y,z),Angle
23
end
24
25
function ApplyTrig(Num,Func)
26
        local Min,Max = Func(0),Func(1)
27
        local i = Func(Num)
28
        return (i-Min)/(Max-Min)
29
        --[[if Func == "sin" then
30
                return (math.sin((1-Num)*math.pi)+1)/2
31
        elseif Func == "cos" then
32
                return (math.cos((1-Num)*math.pi)+1)/2
33
        end]]
34
end
35
36
function LerpCFrame(CFrame1,CFrame2,Num)
37
        local Vec,Ang = toAxisAngle(CFrame1:inverse()*CFrame2)
38
        return CFrame1*fromAxisAngle(Vec,Ang*Num) + (CFrame2.p-CFrame1.p)*Num
39
end
40
41
function Crater(Torso,Radius)
42
        Spawn(function()
43
        local Ray = Ray.new(Torso.Position,Vector3.new(0,-1,0)*10)
44
        local Ignore = {}
45
        for i,v in pairs(game:GetService("Players"):GetPlayers()) do
46
                if v.Character ~= nil then
47
                        Ignore[#Ignore+1] = v.Character
48
                end
49
        end
50
        local Hit,Pos,SurfaceNorm = Workspace:FindPartOnRayWithIgnoreList(Ray,Ignore)
51
        if Hit == nil then return end
52
        local Parts = {}
53
        for i = 1,360,10 do
54
                local P = Instance.new("Part",Torso.Parent)
55
                P.Anchored = true
56
                P.FormFactor = "Custom"
57
                P.BrickColor = BrickColor.new("Really black")
58
                P.Material = "Neon"
59
                P.TopSurface = "Smooth"
60
                P.BottomSurface = "Smooth"
61
               	P.CanCollide = false
62
                P.Size = Vector3.new(5,10,10)*(math.random(80,100)/100)
63
                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)))
64
                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}
65
                if math.random(0,5) == 0 then -- rubble
66
                        local P = Instance.new("Part",Torso.Parent)
67
                        P.Anchored = true
68
                        P.FormFactor = "Custom"
69
                        P.BrickColor = BrickColor.new("Really black")
70
                        P.Material = "Neon"
71
                        P.TopSurface = "Smooth"
72
                        P.BottomSurface = "Smooth"
73
                        P.CanCollide = false
74
                        P.Size = Vector3.new(2,2,2)*(math.random(80,100)/100)
75
                        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)))
76
                        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}
77
                end
78
        end
79
        for i = 0,1,0.05 do
80
                for i2,v in pairs(Parts) do
81
                        v[1].CFrame = LerpCFrame(v[2],v[3],ApplyTrig(i,math.cos))
82
                end
83
                wait(0.02)
84
        end
85
        for i,v in pairs(Parts) do
86
                if v[1].Size.X > 2.1 then
87
                        v[1].CFrame = v[1].CFrame+Vector3.new(0,2,0)
88
                end
89
                v[1].Anchored = false
90
        end
91
        for i = 0,1,0.05 do
92
                for i2,v in pairs(Parts) do
93
                        v[1].Transparency = i
94
                        if i == 1 then
95
                                v[1]:Destroy()
96
                        elseif i >= 0.25 then
97
                                v[1].CanCollide = false
98
                        end
99
                end
100
                wait(0.02)
101
        end
102
        Parts = nil
103
        end)
104
end
105
  local Player = game.Players.localPlayer
106
script.Parent = Player.PlayerGui
107
  local Character = Player.Character
108
  local Humanoid = Character.Humanoid
109
  local Mouse = Player:GetMouse()
110
  local LeftArm = Character["Left Arm"]
111
  local RightArm = Character["Right Arm"]
112
  local LeftLeg = Character["Left Leg"]
113
  local RightLeg = Character["Right Leg"]
114
  local Head = Character.Head
115
  local Torso = Character.Torso
116
  local Camera = game.Workspace.CurrentCamera
117
  local RootPart = Character.HumanoidRootPart
118
  local RootJoint = RootPart.RootJoint
119
  local attack = false
120
  local Anim = "Idle"
121
  local attacktype = 1
122
  local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
123
  local velocity = RootPart.Velocity.y
124
  local sine = 0
125
  local change = 1
126
  local Create = LoadLibrary("RbxUtility").Create
127
  Head.face:Destroy()
128
  Head.Transparency = 1
129
  local FakeHead = Head:Clone()
130
  FakeHead.Transparency = 0
131
  FakeHead.Size = Vector3.new(0.8,0.8,0.8)
132
local txt = Instance.new("BillboardGui", Character)
133
txt.Adornee = Character.Head
134
txt.Name = "Status"
135
txt.Size = UDim2.new(2, 0, 1.2, 0)
136
txt.StudsOffset = Vector3.new(-9, 8, 0)
137
local text = Instance.new("TextLabel", txt)
138
text.Size = UDim2.new(10, 0, 7, 0)
139
text.FontSize = "Size24"
140
text.TextScaled = true
141
text.TextTransparency = 0
142
text.BackgroundTransparency = 1 
143
text.TextTransparency = 0
144
text.TextStrokeTransparency = 0
145
text.Font = "SciFi"
146
text.TextStrokeColor3 = BrickColor.new("Really black").Color
147
148
CV = "Maroon"
149
150
spawn(function()
151
	while wait() do
152
		for i,v in pairs(Character:GetChildren()) do
153
			if v:IsA'Part' then
154
				v.BrickColor = BrickColor.new("Really black")
155
			end
156
		end
157
	end
158
end)
159
160
local s = Instance.new("Sound",Character)
161
s.SoundId = "rbxassetid://773296297"
162
s.Looped = true
163
s.Volume = 10
164
s:Play()
165
166
local pa = Instance.new("Shirt",Character)
167
pa.ShirtTemplate = "http://www.roblox.com/asset/?id=9860730"
168
local pe = Instance.new("Pants",Character)
169
pe.PantsTemplate = "http://www.roblox.com/asset/?id=9860757"
170
171
eye2 = Instance.new("Part", Character)
172
eye2.Anchored = false
173
eye2.Parent = Head
174
eye2.TopSurface = 0
175
eye2.BrickColor = BrickColor.new("Royal purple")
176
eye2.Material = "Neon"
177
eye2.BottomSurface = 0
178
eye2m = Instance.new("SpecialMesh", eye2)
179
eye2m.MeshId = "http://www.roblox.com/asset/?id=16952952"
180
eye2m.TextureId = "http://www.roblox.com/asset/?id=30235452"
181
eye2m.Scale = Vector3.new(0.9,0.9,0.9)
182
ogsize = eye2m.Scale
183
weld = Instance.new("Weld", Head)
184
weld.Part0 = eye2
185
weld.Part1 = Head
186
weld.Name = "eye2Weld"
187
weld.C1 = CFrame.new(0,0.1,0)
188
189
v=Instance.new("Part")
190
v.Name = "ColorBrick"
191
v.Parent=Character
192
v.FormFactor="Symmetric"
193
v.Anchored=true
194
v.CanCollide=false
195
v.BottomSurface="Smooth"
196
v.TopSurface="Smooth"
197
v.Size=Vector3.new(10,5,3)
198
v.Transparency=1
199
v.CFrame=Character.Torso.CFrame
200
v.BrickColor=BrickColor.new(CV)
201
v.Transparency=1
202
text.TextColor3 = BrickColor.Black().Color
203
v.Shape="Block"
204
text.Text = "Odon, Tranquility Shepherd"
205
  Humanoid.MaxHealth = 999e999
206
  local m = Create("Model")({
207
    Parent = Character,
208
    Name = "WeaponModel"
209
  })
210
  Humanoid.Animator.Parent = nil
211
  Character.Animate.Parent = nil
212
  local function newMotor(part0, part1, c0, c1)
213
    local w = Create("Motor")({
214
      Parent = part0,
215
      Part0 = part0,
216
      Part1 = part1,
217
      C0 = c0,
218
      C1 = c1
219
    })
220
    return w
221
  end
222
  function clerp(a, b, t)
223
    return a:lerp(b, t)
224
  end
225
  RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
226
  NeckCF = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
227
  local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0))
228
  local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0))
229
  local RH = newMotor(Torso, RightLeg, CFrame.new(0.5, -2, 0), CFrame.new(0, 0, 0))
230
  local LH = newMotor(Torso, LeftLeg, CFrame.new(-0.5, -2, 0), CFrame.new(0, 0, 0))
231
  RootJoint.C1 = CFrame.new(0, 0, 0)
232
  RootJoint.C0 = CFrame.new(0, 0, 0)
233
  Torso.Neck.C1 = CFrame.new(0, 0, 0)
234
  Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
235
  local rarmc1 = RW.C1
236
  local larmc1 = LW.C1
237
  local rlegc1 = RH.C1
238
  local llegc1 = LH.C1
239
  local resetc1 = false
240
  function PlayAnimationFromTable(table, speed, bool)
241
    RootJoint.C0 = clerp(RootJoint.C0, table[1], speed)
242
    Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed)
243
    RW.C0 = clerp(RW.C0, table[3], speed)
244
    LW.C0 = clerp(LW.C0, table[4], speed)
245
    RH.C0 = clerp(RH.C0, table[5], speed)
246
    LH.C0 = clerp(LH.C0, table[6], speed)
247
    if bool == true and resetc1 == false then
248
      resetc1 = true
249
      RootJoint.C1 = RootJoint.C1
250
      Torso.Neck.C1 = Torso.Neck.C1
251
      RW.C1 = rarmc1
252
      LW.C1 = larmc1
253
      RH.C1 = rlegc1
254
      LH.C1 = llegc1
255
    end
256
  end
257
  ArtificialHB = Create("BindableEvent", script)({Parent = script, Name = "Heartbeat"})
258
  script:WaitForChild("Heartbeat")
259
  frame = 0.03333333333333333
260
  tf = 0
261
  allowframeloss = false
262
  tossremainder = false
263
  lastframe = tick()
264
  script.Heartbeat:Fire()
265
  game:GetService("RunService").Heartbeat:connect(function(s, p)
266
    tf = tf + s
267
    if tf >= frame then
268
      if allowframeloss then
269
        script.Heartbeat:Fire()
270
        lastframe = tick()
271
      else
272
        for i = 1, math.floor(tf / frame) do
273
          script.Heartbeat:Fire()
274
        end
275
        lastframe = tick()
276
      end
277
      if tossremainder then
278
        tf = 0
279
      else
280
        tf = tf - frame * math.floor(tf / frame)
281
      end
282
    end
283
  end)
284
  function swait(num)
285
    if num == 0 or num == nil then
286
      ArtificialHB.Event:wait()
287
    else
288
      for i = 0, num do
289
        ArtificialHB.Event:wait()
290
      end
291
    end
292
  end
293
  function RemoveOutlines(part)
294
    part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
295
  end
296
  CFuncs = {
297
    Part = {
298
      Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
299
        local Part = Create("Part")({
300
          Parent = Parent,
301
          Reflectance = Reflectance,
302
          Transparency = Transparency,
303
          CanCollide = false,
304
          Locked = true,
305
          BrickColor = BrickColor.new(tostring(BColor)),
306
          Name = Name,
307
          Size = Size,
308
          Material = Material
309
        })
310
        RemoveOutlines(Part)
311
        return Part
312
      end
313
    },
314
    Mesh = {
315
      Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
316
        local Msh = Create(Mesh)({
317
          Parent = Part,
318
          Offset = OffSet,
319
          Scale = Scale
320
        })
321
        if Mesh == "SpecialMesh" then
322
          Msh.MeshType = MeshType
323
          Msh.MeshId = MeshId
324
        end
325
        return Msh
326
      end
327
    },
328
    Weld = {
329
      Create = function(Parent, Part0, Part1, C0, C1)
330
        local Weld = Create("Weld")({
331
          Parent = Parent,
332
          Part0 = Part0,
333
          Part1 = Part1,
334
          C0 = C0,
335
          C1 = C1
336
        })
337
        return Weld
338
      end
339
    },
340
    Sound = {
341
      Create = function(id, par, vol, pit)
342
        coroutine.resume(coroutine.create(function()
343
          local Sound = Create("Sound")({
344
            Volume = vol,
345
            Pitch = pit or 1,
346
            SoundId = "rbxassetid://" .. id,
347
            Parent = par or workspace
348
          })
349
          Sound:play()
350
          game:GetService("Debris"):AddItem(Sound, 10)
351
        end))
352
      end
353
    },
354
    Decal = {
355
      Create = function(Color, Texture, Transparency, Name, Parent)
356
        local Decal = Create("Decal")({
357
          Color3 = Color,
358
          Texture = "rbxassetid://" .. Texture,
359
          Transparency = Transparency,
360
          Name = Name,
361
          Parent = Parent
362
        })
363
        return Decal
364
      end
365
    },
366
    BillboardGui = {
367
      Create = function(Parent, Image, Position, Size)
368
        local BillPar = CFuncs.Part.Create(Parent, "SmoothPlastic", 0, 1, BrickColor.new("Black"), "BillboardGuiPart", Vector3.new(1, 1, 1))
369
        BillPar.CFrame = CFrame.new(Position)
370
        local Bill = Create("BillboardGui")({
371
          Parent = BillPar,
372
          Adornee = BillPar,
373
          Size = UDim2.new(1, 0, 1, 0),
374
          SizeOffset = Vector2.new(Size, Size)
375
        })
376
        local d = Create("ImageLabel", Bill)({
377
          Parent = Bill,
378
          BackgroundTransparency = 1,
379
          Size = UDim2.new(1, 0, 1, 0),
380
          Image = "rbxassetid://" .. Image
381
        })
382
        return BillPar
383
      end
384
    },
385
    ParticleEmitter = {
386
      Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
387
        local Particle = Create("ParticleEmitter")({
388
          Parent = Parent,
389
          Color = ColorSequence.new(Color1, Color2),
390
          LightEmission = LightEmission,
391
          Size = Size,
392
          Texture = Texture,
393
          Transparency = Transparency,
394
          ZOffset = ZOffset,
395
          Acceleration = Accel,
396
          Drag = Drag,
397
          LockedToPart = LockedToPart,
398
          VelocityInheritance = VelocityInheritance,
399
          EmissionDirection = EmissionDirection,
400
          Enabled = Enabled,
401
          Lifetime = LifeTime,
402
          Rate = Rate,
403
          Rotation = Rotation,
404
          RotSpeed = RotSpeed,
405
          Speed = Speed,
406
          VelocitySpread = VelocitySpread
407
        })
408
        return Particle
409
      end
410
    },
411
    CreateTemplate = {}
412
  }
413
  function rayCast(Position, Direction, Range, Ignore)
414
    return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
415
  end
416
  function findNearestTorso(pos)
417
    local list = game.Workspace:children()
418
    local torso
419
    local dist = 1000
420
    local temp, human, temp2
421
    for x = 1, #list do
422
      temp2 = list[x]
423
      if temp2.className == "Model" and temp2.Name ~= Character.Name then
424
        temp = temp2:findFirstChild("Torso")
425
        human = temp2:findFirstChild("Humanoid")
426
        if temp ~= nil and human ~= nil and human.Health > 0 and dist > (temp.Position - pos).magnitude then
427
          torso = temp
428
          dist = (temp.Position - pos).magnitude
429
        end
430
      end
431
    end
432
    return torso, dist
433
  end
434
  function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
435
    if hit.Parent == nil then
436
      return
437
    end
438
    local h = hit.Parent:FindFirstChild("Humanoid")
439
    for _, v in pairs(hit.Parent:children()) do
440
      if v:IsA("Humanoid") then
441
        h = v
442
      end
443
    end
444
    if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
445
      if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
446
        return
447
      end
448
      local c = Create("ObjectValue")({
449
        Name = "creator",
450
        Value = game:service("Players").LocalPlayer,
451
        Parent = h
452
      })
453
      game:GetService("Debris"):AddItem(c, 0.5)
454
      if HitSound ~= nil and HitPitch ~= nil then
455
        CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
456
      end
457
      local blocked = false
458
      local block = hit.Parent:findFirstChild("Block")
459
      if block ~= nil and block.className == "IntValue" and block.Value > 0 then
460
        blocked = true
461
        block.Value = block.Value - 1
462
        print(block.Value)
463
      end
464
      if blocked == false then
465
        h.Health = 0
466
      else
467
        h.Health = h.Health - Damage / 2
468
      end
469
      if Type == "Knockdown" then
470
        local hum = hit.Parent.Humanoid
471
        hum.PlatformStand = true
472
        coroutine.resume(coroutine.create(function(HHumanoid)
473
          swait(1)
474
          HHumanoid.PlatformStand = false
475
        end), hum)
476
        local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
477
        local bodvol = Create("BodyVelocity")({
478
          velocity = angle * knockback,
479
          P = 5000,
480
          maxForce = Vector3.new(8000, 8000, 8000),
481
          Parent = hit
482
        })
483
        local rl = Create("BodyAngularVelocity")({
484
          P = 3000,
485
          maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
486
          angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
487
          Parent = hit
488
        })
489
        game:GetService("Debris"):AddItem(bodvol, 0.5)
490
        game:GetService("Debris"):AddItem(rl, 0.5)
491
      elseif Type == "Normal" then
492
        local vp = Create("BodyVelocity")({
493
          P = 500,
494
          maxForce = Vector3.new(math.huge, 0, math.huge),
495
          velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
496
        })
497
        game:GetService("Debris"):AddItem(vp, 0.5)
498
      elseif Type == "Up" then
499
        local bodyVelocity = Create("BodyVelocity")({
500
          velocity = Vector3.new(0, 20, 0),
501
          P = 5000,
502
          maxForce = Vector3.new(8000, 8000, 8000),
503
          Parent = hit
504
        })
505
        game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
506
      elseif Type == "DarkUp" then
507
        coroutine.resume(coroutine.create(function()
508
          for i = 0, 1, 0.1 do
509
            swait()
510
            Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, 0.08, 1)
511
          end
512
        end))
513
        local bodyVelocity = Create("BodyVelocity")({
514
          velocity = Vector3.new(0, 20, 0),
515
          P = 5000,
516
          maxForce = Vector3.new(8000, 8000, 8000),
517
          Parent = hit
518
        })
519
        game:GetService("Debris"):AddItem(bodyVelocity, 1)
520
      elseif Type == "Snare" then
521
        local bp = Create("BodyPosition")({
522
          P = 2000,
523
          D = 100,
524
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
525
          position = hit.Parent.Torso.Position,
526
          Parent = hit.Parent.Torso
527
        })
528
        game:GetService("Debris"):AddItem(bp, 1)
529
      elseif Type == "Freeze" then
530
        local BodPos = Create("BodyPosition")({
531
          P = 50000,
532
          D = 1000,
533
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
534
          position = hit.Parent.Torso.Position,
535
          Parent = hit.Parent.Torso
536
        })
537
        local BodGy = Create("BodyGyro")({
538
          maxTorque = Vector3.new(400000, 400000, 400000) * math.huge,
539
          P = 20000,
540
          Parent = hit.Parent.Torso,
541
          cframe = hit.Parent.Torso.CFrame
542
        })
543
        hit.Parent.Torso.Anchored = true
544
        coroutine.resume(coroutine.create(function(Part)
545
          swait(1.5)
546
          Part.Anchored = false
547
        end), hit.Parent.Torso)
548
        game:GetService("Debris"):AddItem(BodPos, 3)
549
        game:GetService("Debris"):AddItem(BodGy, 3)
550
      end
551
      local debounce = Create("BoolValue")({
552
        Name = "DebounceHit",
553
        Parent = hit.Parent,
554
        Value = true
555
      })
556
      game:GetService("Debris"):AddItem(debounce, Delay)
557
      c = Create("ObjectValue")({
558
        Name = "creator",
559
        Value = Player,
560
        Parent = h
561
      })
562
      game:GetService("Debris"):AddItem(c, 0.5)
563
    end
564
  end
565
  function ShowDamage(Pos, Text, Time, Color)
566
    local Rate = 0.03333333333333333
567
    local Pos = Pos or Vector3.new(0, 0, 0)
568
    local Text = Text or ""
569
    local Time = Time or 2
570
    local Color = Color or Color3.new(1, 0, 1)
571
    local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
572
    EffectPart.Anchored = true
573
    local BillboardGui = Create("BillboardGui")({
574
      Size = UDim2.new(3, 0, 3, 0),
575
      Adornee = EffectPart,
576
      Parent = EffectPart
577
    })
578
    local TextLabel = Create("TextLabel")({
579
      BackgroundTransparency = 1,
580
      Size = UDim2.new(1, 0, 1, 0),
581
      Text = Text,
582
      Font = "SciFi",
583
      TextColor3 = Color,
584
      TextScaled = true,
585
      BorderColor3 = Color3.new(0,0,0),
586
      Parent = BillboardGui
587
    })
588
    game.Debris:AddItem(EffectPart, Time)
589
    EffectPart.Parent = game:GetService("Workspace")
590
    delay(0, function()
591
      local Frames = Time / Rate
592
      for Frame = 1, Frames do
593
        wait(Rate)
594
        local Percent = Frame / Frames
595
        EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
596
        TextLabel.TextTransparency = Percent
597
      end
598
      if EffectPart and EffectPart.Parent then
599
        EffectPart:Destroy()
600
      end
601
    end)
602
  end
603
  function MagnitudeDamage(Part, Magnitude, MinimumDamage, MaximumDamage, KnockBack, Type, HitSound, HitPitch)
604
    for _, c in pairs(workspace:children()) do
605
      local hum = c:findFirstChild("Humanoid")
606
      if hum ~= nil then
607
        local head = c:findFirstChild("Torso")
608
        if head ~= nil then
609
          local targ = head.Position - Part.Position
610
          local mag = targ.magnitude
611
          if Magnitude >= mag and c.Name ~= Player.Name then
612
            Damage(head, head, MinimumDamage, MaximumDamage, KnockBack, Type, RootPart, 0, HitSound, HitPitch)
613
          end
614
        end
615
      end
616
    end
617
  end
618
  --//New Damage\\--
619
function Damage2(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
620
    if hit.Parent == nil then
621
      return
622
    end
623
    local h = hit.Parent:FindFirstChild("Humanoid")
624
    for _, v in pairs(hit.Parent:children()) do
625
      if v:IsA("Humanoid") then
626
        h = v
627
      end
628
    end
629
    if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
630
      if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
631
        return
632
      end
633
      local c = Create("ObjectValue")({
634
        Name = "creator",
635
        Value = game:service("Players").LocalPlayer,
636
        Parent = h
637
      })
638
      game:GetService("Debris"):AddItem(c, 0.5)
639
      if HitSound ~= nil and HitPitch ~= nil then
640
        CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
641
      end
642
      local Damage = math.random(minim, maxim)
643
      local blocked = false
644
      local block = hit.Parent:findFirstChild("Block")
645
      if block ~= nil and block.className == "IntValue" and block.Value > 0 then
646
        blocked = true
647
        block.Value = block.Value - 1
648
        print(block.Value)
649
      end
650
      if blocked == false then
651
        h.Health = h.Health - Damage
652
        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)
653
      else
654
        h.Health = h.Health - Damage / 2
655
        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)
656
      end
657
      if Type == "Knockdown" then
658
        local hum = hit.Parent.Humanoid
659
        hum.PlatformStand = true
660
        coroutine.resume(coroutine.create(function(HHumanoid)
661
          swait(1)
662
          HHumanoid.PlatformStand = false
663
        end), hum)
664
        local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
665
        local bodvol = Create("BodyVelocity")({
666
          velocity = angle * knockback,
667
          P = 5000,
668
          maxForce = Vector3.new(8000, 8000, 8000),
669
          Parent = hit
670
        })
671
        local rl = Create("BodyAngularVelocity")({
672
          P = 3000,
673
          maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
674
          angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
675
          Parent = hit
676
        })
677
        game:GetService("Debris"):AddItem(bodvol, 0.5)
678
        game:GetService("Debris"):AddItem(rl, 0.5)
679
      elseif Type == "Normal" then
680
        local vp = Create("BodyVelocity")({
681
          P = 500,
682
          maxForce = Vector3.new(math.huge, 0, math.huge),
683
          velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
684
        })
685
        if knockback > 0 then
686
          vp.Parent = hit.Parent.Torso
687
        end
688
        game:GetService("Debris"):AddItem(vp, 0.5)
689
      elseif Type == "Up" then
690
        local bodyVelocity = Create("BodyVelocity")({
691
          velocity = Vector3.new(0, 20, 0),
692
          P = 5000,
693
          maxForce = Vector3.new(8000, 8000, 8000),
694
          Parent = hit
695
        })
696
        game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
697
      elseif Type == "DarkUp" then
698
        coroutine.resume(coroutine.create(function()
699
          for i = 0, 1, 0.1 do
700
            swait()
701
            Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, 0.08, 1)
702
          end
703
        end))
704
        local bodyVelocity = Create("BodyVelocity")({
705
          velocity = Vector3.new(0, 20, 0),
706
          P = 5000,
707
          maxForce = Vector3.new(8000, 8000, 8000),
708
          Parent = hit
709
        })
710
        game:GetService("Debris"):AddItem(bodyVelocity, 1)
711
      elseif Type == "Snare" then
712
        local bp = Create("BodyPosition")({
713
          P = 2000,
714
          D = 100,
715
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
716
          position = hit.Parent.Torso.Position,
717
          Parent = hit.Parent.Torso
718
        })
719
        game:GetService("Debris"):AddItem(bp, 1)
720
      elseif Type == "Freeze" then
721
        local BodPos = Create("BodyPosition")({
722
          P = 50000,
723
          D = 1000,
724
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
725
          position = hit.Parent.Torso.Position,
726
          Parent = hit.Parent.Torso
727
        })
728
        local BodGy = Create("BodyGyro")({
729
          maxTorque = Vector3.new(400000, 400000, 400000) * math.huge,
730
          P = 20000,
731
          Parent = hit.Parent.Torso,
732
          cframe = hit.Parent.Torso.CFrame
733
        })
734
        hit.Parent.Torso.Anchored = true
735
        coroutine.resume(coroutine.create(function(Part)
736
          swait(1.5)
737
          Part.Anchored = false
738
        end), hit.Parent.Torso)
739
        game:GetService("Debris"):AddItem(BodPos, 3)
740
        game:GetService("Debris"):AddItem(BodGy, 3)
741
      end
742
      local debounce = Create("BoolValue")({
743
        Name = "DebounceHit",
744
        Parent = hit.Parent,
745
        Value = true
746
      })
747
      game:GetService("Debris"):AddItem(debounce, Delay)
748
      c = Create("ObjectValue")({
749
        Name = "creator",
750
        Value = Player,
751
        Parent = h
752
      })
753
      game:GetService("Debris"):AddItem(c, 0.5)
754
    end
755
  end
756
  function ShowDamage2(Pos, Text, Time, Color)
757
    local Rate = 0.03333333333333333
758
    local Pos = Pos or Vector3.new(0, 0, 0)
759
    local Text = Text or ""
760
    local Time = Time or 2
761
    local Color = Color or Color3.new(1, 0, 1)
762
    local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
763
    EffectPart.Anchored = true
764
    local BillboardGui = Create("BillboardGui")({
765
      Size = UDim2.new(3, 0, 3, 0),
766
      Adornee = EffectPart,
767
      Parent = EffectPart
768
    })
769
    local TextLabel = Create("TextLabel")({
770
      BackgroundTransparency = 1,
771
      Size = UDim2.new(1, 0, 1, 0),
772
      Text = Text,
773
      Font = "SciFi",
774
      TextColor3 = Color,
775
      TextScaled = true,
776
      Parent = BillboardGui
777
    })
778
    game.Debris:AddItem(EffectPart, Time)
779
    EffectPart.Parent = game:GetService("Workspace")
780
    delay(0, function()
781
      local Frames = Time / Rate
782
      for Frame = 1, Frames do
783
        wait(Rate)
784
        local Percent = Frame / Frames
785
        EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
786
        TextLabel.TextTransparency = Percent
787
      end
788
      if EffectPart and EffectPart.Parent then
789
        EffectPart:Destroy()
790
      end
791
    end)
792
  end
793
  function MagnitudeDamage2(Part, Magnitude, MinimumDamage, MaximumDamage, KnockBack, Type, HitSound, HitPitch)
794
    for _, c in pairs(workspace:children()) do
795
      local hum = c:findFirstChild("Humanoid")
796
      if hum ~= nil then
797
        local head = c:findFirstChild("Torso")
798
        if head ~= nil then
799
          local targ = head.Position - Part.Position
800
          local mag = targ.magnitude
801
          if Magnitude >= mag and c.Name ~= Player.Name then
802
            Damage2(head, head, MinimumDamage, MaximumDamage, KnockBack, Type, RootPart, 0, HitSound, HitPitch)
803
          end
804
        end
805
      end
806
    end
807
  end
808
  ----------------------
809
  Handle = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "Handle", Vector3.new(0.400000036, 0.400000006, 1.20000005))
810
  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))
811
  Barrel = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Barrel", Vector3.new(0.250000003, 0.250000003, 0.250000024))
812
  Mesh = Instance.new("SpecialMesh",Barrel)
813
  Mesh.MeshId = "rbxassetid://442405779"
814
  Mesh.TextureId = "rbxassetid://442405780"
815
  Mesh.Scale = Vector3.new(0.06,0.06,0.06)
816
  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))
817
  JetpackHandle = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "JetpackHandle", Vector3.new(0.200000003, 0.200000003, 0.200000003))
818
  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))
819
  EffectPartR1 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartR1", Vector3.new(0.5, 0.5, 0.300000012))
820
  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))
821
  EffectPartL1 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartL1", Vector3.new(0.5, 0.5, 0.300000012))
822
  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))
823
  EffectPartR2 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartR2", Vector3.new(0.5, 0.5, 0.300000012))
824
  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))
825
  EffectPartL2 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartL2", Vector3.new(0.5, 0.5, 0.300000012))
826
  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))
827
  EffectPartL3 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartL3", Vector3.new(0.400000006, 0.5, 0.300000012))
828
  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))
829
  EffectPartR3 = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "EffectPartR3", Vector3.new(0.400000006, 0.5, 0.300000012))
830
  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))
831
  CFuncs.Mesh.Create("SpecialMesh", JetpackHandle, Enum.MeshType.FileMesh, "rbxassetid://0", Vector3.new(0, 0, 0), Vector3.new(1.29999995, 1.29999995, 1.29999995))
832
  EffectModel = Create("Model")({Parent = Character, Name = "Effects"})
833
  Effects = {
834
    Block = {
835
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
836
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
837
        prt.Anchored = true
838
        prt.CFrame = cframe
839
        local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
840
        game:GetService("Debris"):AddItem(prt, 10)
841
        if Type == 1 or Type == nil then
842
          table.insert(Effects, {
843
            prt,
844
            "Block1",
845
            delay,
846
            x3,
847
            y3,
848
            z3,
849
            msh
850
          })
851
        elseif Type == 2 then
852
          table.insert(Effects, {
853
            prt,
854
            "Block2",
855
            delay,
856
            x3,
857
            y3,
858
            z3,
859
            msh
860
          })
861
        end
862
      end
863
    },
864
    Cylinder = {
865
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
866
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.2, 0.2, 0.2))
867
        prt.Anchored = true
868
        prt.CFrame = cframe
869
        local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
870
        game:GetService("Debris"):AddItem(prt, 2)
871
        Effects[#Effects + 1] = {
872
          prt,
873
          "Cylinder",
874
          delay,
875
          x3,
876
          y3,
877
          z3,
878
          msh
879
        }
880
      end
881
    },
882
    Head = {
883
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
884
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
885
        prt.Anchored = true
886
        prt.CFrame = cframe
887
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Head", "nil", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
888
        game:GetService("Debris"):AddItem(prt, 10)
889
        table.insert(Effects, {
890
          prt,
891
          "Cylinder",
892
          delay,
893
          x3,
894
          y3,
895
          z3,
896
          msh
897
        })
898
      end
899
    },
900
    Sphere = {
901
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
902
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
903
        prt.Anchored = true
904
        prt.CFrame = cframe
905
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
906
        game:GetService("Debris"):AddItem(prt, 10)
907
        table.insert(Effects, {
908
          prt,
909
          "Cylinder",
910
          delay,
911
          x3,
912
          y3,
913
          z3,
914
          msh
915
        })
916
      end
917
    },
918
    Elect = {
919
      Create = function(cff, x, y, z)
920
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, BrickColor.new("Lime green"), "Part", Vector3.new(1, 1, 1))
921
        prt.Anchored = true
922
        prt.CFrame = cff * CFrame.new(math.random(-x, x), math.random(-y, y), math.random(-z, z))
923
        prt.CFrame = CFrame.new(prt.Position)
924
        game:GetService("Debris"):AddItem(prt, 2)
925
        local xval = math.random() / 2
926
        local yval = math.random() / 2
927
        local zval = math.random() / 2
928
        local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(xval, yval, zval))
929
        table.insert(Effects, {
930
          prt,
931
          "Elec",
932
          0.1,
933
          x,
934
          y,
935
          z,
936
          xval,
937
          yval,
938
          zval
939
        })
940
      end
941
    },
942
    Ring = {
943
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
944
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
945
        prt.Anchored = true
946
        prt.CFrame = cframe
947
        local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
948
        game:GetService("Debris"):AddItem(prt, 10)
949
        table.insert(Effects, {
950
          prt,
951
          "Cylinder",
952
          delay,
953
          x3,
954
          y3,
955
          z3,
956
          msh
957
        })
958
      end
959
    },
960
    Wave = {
961
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
962
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
963
        prt.Anchored = true
964
        prt.CFrame = cframe
965
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
966
        game:GetService("Debris"):AddItem(prt, 10)
967
        table.insert(Effects, {
968
          prt,
969
          "Cylinder",
970
          delay,
971
          x3,
972
          y3,
973
          z3,
974
          msh
975
        })
976
      end
977
    },
978
    Break = {
979
      Create = function(brickcolor, cframe, x1, y1, z1)
980
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
981
        prt.Anchored = true
982
        prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
983
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
984
        local num = math.random(10, 50) / 1000
985
        game:GetService("Debris"):AddItem(prt, 10)
986
        table.insert(Effects, {
987
          prt,
988
          "Shatter",
989
          num,
990
          prt.CFrame,
991
          math.random() - math.random(),
992
          0,
993
          math.random(50, 100) / 100
994
        })
995
      end
996
    },
997
    Fire = {
998
      Create = function(brickcolor, cframe, x1, y1, z1, delay)
999
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
1000
        prt.Anchored = true
1001
        prt.CFrame = cframe
1002
        msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1003
        game:GetService("Debris"):AddItem(prt, 10)
1004
        table.insert(Effects, {
1005
          prt,
1006
          "Fire",
1007
          delay,
1008
          1,
1009
          1,
1010
          1,
1011
          msh
1012
        })
1013
      end
1014
    },
1015
    FireWave = {
1016
      Create = function(brickcolor, cframe, x1, y1, z1)
1017
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 1, brickcolor, "Effect", Vector3.new())
1018
        prt.Anchored = true
1019
        prt.CFrame = cframe
1020
        msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1021
        local d = Create("Decal")({
1022
          Parent = prt,
1023
          Texture = "rbxassetid://26356434",
1024
          Face = "Top"
1025
        })
1026
        local d = Create("Decal")({
1027
          Parent = prt,
1028
          Texture = "rbxassetid://26356434",
1029
          Face = "Bottom"
1030
        })
1031
        game:GetService("Debris"):AddItem(prt, 10)
1032
        table.insert(Effects, {
1033
          prt,
1034
          "FireWave",
1035
          1,
1036
          30,
1037
          math.random(400, 600) / 100,
1038
          msh
1039
        })
1040
      end
1041
    },
1042
    Lightning = {
1043
      Create = function(p0, p1, tym, ofs, col, th, tra, last)
1044
        local magz = (p0 - p1).magnitude
1045
        local curpos = p0
1046
        local trz = {
1047
          -ofs,
1048
          ofs
1049
        }
1050
        for i = 1, tym do
1051
          local li = CFuncs.Part.Create(EffectModel, "Neon", 0, tra or 0.4, col, "Ref", Vector3.new(th, th, magz / tym))
1052
          local ofz = Vector3.new(trz[math.random(1, 2)], trz[math.random(1, 2)], trz[math.random(1, 2)])
1053
          local trolpos = CFrame.new(curpos, p1) * CFrame.new(0, 0, magz / tym).p + ofz
1054
          li.Material = "Neon"
1055
          if tym == i then
1056
            local magz2 = (curpos - p1).magnitude
1057
            li.Size = Vector3.new(th, th, magz2)
1058
            li.CFrame = CFrame.new(curpos, p1) * CFrame.new(0, 0, -magz2 / 2)
1059
            table.insert(Effects, {
1060
              li,
1061
              "Disappear",
1062
              last
1063
            })
1064
          else
1065
            li.CFrame = CFrame.new(curpos, trolpos) * CFrame.new(0, 0, magz / tym / 2)
1066
            curpos = li.CFrame * CFrame.new(0, 0, magz / tym / 2).p
1067
            game.Debris:AddItem(li, 10)
1068
            table.insert(Effects, {
1069
              li,
1070
              "Disappear",
1071
              last
1072
            })
1073
          end
1074
        end
1075
      end
1076
    },
1077
    EffectTemplate = {}
1078
  }
1079
  function Shootcombo()
1080
    local MouseLook = CFrame.new((Barrel.Position + Mouse.Hit.p) / 2, Mouse.Hit.p)
1081
    CFuncs.Sound.Create("173979241", Handle, 1, 1)
1082
    Effects.Sphere.Create(BrickColor.new("Really black"), Barrel.CFrame, 0.5, 0.5, 0.5, 1,1,1, 0.09)
1083
    Effects.Sphere.Create(BrickColor.new("Really black"), Barrel.CFrame, 1, 1, 1, 1,1,1, 0.09)
1084
    Effects.Block.Create(BrickColor.new("Really black"), Barrel.CFrame, 1, 1, 1, 1,1,1, 0.09, 1)
1085
    table.insert(Effects, {
1086
      MouseLook.lookVector,
1087
      "Shoot",
1088
      30,
1089
      Barrel.Position,
1090
      6,
1091
      8,
1092
      0,
1093
      1
1094
    })
1095
  end
1096
  function Bolt()
1097
    CFuncs.Sound.Create("173979241", Handle, 1, 1)
1098
  end
1099
  function SpinShot()
1100
    attack = true
1101
    for i = 0, 1, 0.12 do
1102
      swait()
1103
      PlayAnimationFromTable({
1104
        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),
1105
        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),
1106
        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),
1107
        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),
1108
        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),
1109
        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)
1110
      }, 0.35, false)
1111
    end
1112
    Shootcombo()
1113
    for i = 0, 1, 0.3 do
1114
      swait()
1115
      RootPart.Velocity = RootPart.CFrame.lookVector * -10
1116
      PlayAnimationFromTable({
1117
        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),
1118
        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),
1119
        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),
1120
        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),
1121
        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),
1122
        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)
1123
      }, 0.5, false)
1124
    end
1125
    for i = 0, 1, 0.12 do
1126
      swait()
1127
      PlayAnimationFromTable({
1128
        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),
1129
        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),
1130
        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),
1131
        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),
1132
        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),
1133
        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)
1134
      }, 0.4, false)
1135
    end
1136
    Bolt()
1137
    attack = false
1138
  end
1139
  function LungeShot(Mode)
1140
    attack = true
1141
    Humanoid.Jump = true
1142
    CFuncs.Sound.Create("158149887", Torso, 1, 0.9)
1143
    if Mode == "Forward" then
1144
      RootPart.Velocity = RootPart.CFrame.lookVector * 80
1145
      for i = 0, 1, 0.1 do
1146
        swait()
1147
        PlayAnimationFromTable({
1148
          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),
1149
          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),
1150
          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),
1151
          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),
1152
          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),
1153
          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)
1154
        }, 0.3, false)
1155
      end
1156
    elseif Mode == "Backward" then
1157
      RootPart.Velocity = RootPart.CFrame.lookVector * -80
1158
      for i = 0, 1, 0.1 do
1159
        swait()
1160
        PlayAnimationFromTable({
1161
          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),
1162
          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),
1163
          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),
1164
          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),
1165
          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),
1166
          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)
1167
        }, 0.3, false)
1168
      end
1169
    end
1170
    local hitfloor
1171
    while hitfloor == nil do
1172
      swait()
1173
      hitfloor, posfloor = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 6, Character)
1174
    end
1175
    for i = 0, 1, 0.2 do
1176
      swait()
1177
      PlayAnimationFromTable({
1178
        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),
1179
        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),
1180
        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),
1181
        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),
1182
        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),
1183
        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)
1184
      }, 0.4, false)
1185
    end
1186
    Shootcombo()
1187
    for i = 0, 1, 0.3 do
1188
      swait()
1189
      RootPart.Velocity = RootPart.CFrame.lookVector * -40
1190
      PlayAnimationFromTable({
1191
        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),
1192
        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),
1193
        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),
1194
        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),
1195
        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),
1196
        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)
1197
      }, 0.6, false)
1198
    end
1199
    Bolt()
1200
    attack = false
1201
  end
1202
  function AutoShot()
1203
    attack = true
1204
    Humanoid.WalkSpeed = 5
1205
    Bolt()
1206
    for i = 0, 1, 0.3 do
1207
      swait()
1208
      PlayAnimationFromTable({
1209
        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),
1210
        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),
1211
        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),
1212
        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),
1213
        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),
1214
        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)
1215
      }, 0.4, false)
1216
    end
1217
    Humanoid.WalkSpeed = 0
1218
    for i = 1, 10 do
1219
      for i = 0, 1, 0.8 do
1220
        swait()
1221
        PlayAnimationFromTable({
1222
          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),
1223
          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),
1224
          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),
1225
          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),
1226
          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),
1227
          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)
1228
        }, 0.7, false)
1229
      end
1230
      Shootcombo()
1231
      for i = 0, 1, 0.9 do
1232
        swait()
1233
        PlayAnimationFromTable({
1234
          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),
1235
          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),
1236
          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),
1237
          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),
1238
          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),
1239
          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)
1240
        }, 0.8, false)
1241
      end
1242
    end
1243
    Humanoid.WalkSpeed = 16
1244
    attack = false
1245
  end
1246
  function MortarShot()
1247
    attack = true
1248
    Humanoid.WalkSpeed = 5
1249
    Bolt()
1250
    for i = 0, 1, 0.3 do
1251
      swait()
1252
      PlayAnimationFromTable({
1253
        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),
1254
        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),
1255
        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),
1256
        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),
1257
        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),
1258
        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)
1259
      }, 0.4, false)
1260
    end
1261
    CFuncs.Sound.Create("173979241", Barrel, 1, 1)
1262
    Effects.Sphere.Create(BrickColor.new("Really black"), Barrel.CFrame, 6, 6, 6, 3, 3, 3, 0.1, m)
1263
    for i = 1, 20 do
1264
      local hit, pos = rayCast(Barrel.Position, Barrel.CFrame * CFrame.fromEulerAnglesXYZ(0, 5, 0).lookVector, 220, Character)
1265
      local mag = (Barrel.Position - pos).magnitude
1266
      Effects.Cylinder.Create(BrickColor.new("Really black"), Barrel.CFrame, 6, 99999, 6, -0.5, 1, -0.5, 0.1)
1267
      local cf2 = Mouse.Hit.p + Vector3.new(math.random(-30,30), 100, math.random(-30,30))
1268
      local hit2, pos2 = rayCast(cf2, CFrame.new(cf2, cf2 - Vector3.new(0, 1, 0)).lookVector, 999, Character)
1269
      if hit2 ~= nil then
1270
        local d1 = CFuncs.Part.Create(workspace, "Neon", 0, 0.5, BrickColor.new("Really black"), "Effect", Vector3.new())
1271
        d1.Anchored = true
1272
        d1.CFrame = CFrame.new(pos2)
1273
        game:GetService("Debris"):AddItem(d1, 5)
1274
        local msh = CFuncs.Mesh.Create("CylinderMesh", d1, "nil", "nil", Vector3.new(0, 0, 0), Vector3.new(30, 5, 30))
1275
        local d2 = d1:Clone()
1276
        d2.Parent = d1
1277
        d2.CFrame = CFrame.new(d1.Position)
1278
        d2.BrickColor = BrickColor.new("Medium stone gray")
1279
        d2.Mesh.Scale = Vector3.new(0, 5, 0)
1280
        table.insert(Effects, {
1281
          d1,
1282
          "QuadShot",
1283
          d2,
1284
          d2.Mesh,
1285
          0
1286
        })
1287
      end
1288
    end
1289
    for i = 0, 1, 0.2 do
1290
      swait()
1291
      PlayAnimationFromTable({
1292
        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),
1293
        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),
1294
        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),
1295
        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),
1296
        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),
1297
        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)
1298
      }, 0.4, false)
1299
    end
1300
    Humanoid.WalkSpeed = 16
1301
    attack = false
1302
  end
1303
  function DisappearJetOnly()
1304
    for _, i in pairs(m:children()) do
1305
      if i == JetpackHandle then
1306
        coroutine.resume(coroutine.create(function(Part)
1307
          for i = 0, 1, 0.3 do
1308
            swait()
1309
            Part.Transparency = i
1310
          end
1311
          Part.Transparency = 1
1312
        end), i)
1313
      end
1314
    end
1315
  end
1316
  function ReappearJetOnly()
1317
    for _, i in pairs(m:children()) do
1318
      if i == JetpackHandle then
1319
        coroutine.resume(coroutine.create(function(Part)
1320
          for i = 0, 1, 0.3 do
1321
            swait()
1322
            Part.Transparency = i
1323
          end
1324
          Part.Transparency = 0
1325
        end), i)
1326
      end
1327
    end
1328
  end
1329
  local floornum = 0
1330
  function JetDash()
1331
    attack = true
1332
    ReappearJetOnly()
1333
    Humanoid.WalkSpeed = 5
1334
    for i = 0, 1, 0.05 do
1335
      swait()
1336
      	Effects.Wave.Create(BrickColor.new("Really black"), Torso.CFrame * CFrame.Angles(2.4, 0, 0), 1, 1, 1, 2,2,2,0.4)
1337
      	Effects.Break.Create(BrickColor.new("Really black"), Torso.CFrame, 0.2, 0.2, 0.2)
1338
      	Effects.Break.Create(BrickColor.new("Really black"), Torso.CFrame, 0.2, 0.2, 0.2)
1339
      	Effects.Block.Create(BrickColor.new("Really black"), Torso.CFrame, 1, 1, 1, 15,15,15, 0.3, 1)
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, 10,10,10, 0.2, 1)
1342
      	Effects.Block.Create(BrickColor.new("Really black"), Torso.CFrame, 1, 1, 1, 10,10,10, 0.2, 1)
1343
      RootPart.Velocity = RootPart.CFrame.lookVector * 400
1344
      PlayAnimationFromTable({
1345
        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),
1346
        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),
1347
        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),
1348
        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),
1349
        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),
1350
        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)
1351
      }, 0.6, false)
1352
    end
1353
    for i = 0, 1, 0.05 do
1354
      swait()
1355
      Effects.Fire.Create(BrickColor.new("Really black"), EffectPartL3.CFrame, 3, 3, 3, 0.3)
1356
      Effects.Fire.Create(BrickColor.new("Really black"), EffectPartR3.CFrame, 3, 3, 3, 0.3)
1357
      RootPart.Velocity = RootPart.CFrame.lookVector * 60
1358
      PlayAnimationFromTable({
1359
        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),
1360
        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),
1361
        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),
1362
        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),
1363
        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),
1364
        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)
1365
      }, 0.36, false)
1366
      CFuncs.Sound.Create("596046130", JetpackHandle, 1, 1)
1367
    end
1368
    DisappearJetOnly()
1369
    Humanoid.WalkSpeed = 16
1370
    attack = false
1371
  end
1372
  function findRandomTorso(pos)
1373
    local list = game.Workspace:children()
1374
    local torso
1375
    local dist = 10000
1376
    local temp, human, temp2
1377
    local list2 = {}
1378
    for x = 1, #list do
1379
      temp2 = list[x]
1380
      if temp2.className == "Model" and temp2.Name ~= Character.Name and temp2.Name ~= "Crystal" then
1381
        temp = temp2:findFirstChild("Torso")
1382
        human = temp2:findFirstChild("Humanoid")
1383
        if temp ~= nil and human ~= nil and human.Health > 0 and dist > pos.magnitude then
1384
          local dohit = true
1385
          if dohit == true then
1386
            torso = temp
1387
            table.insert(list2, temp)
1388
          end
1389
        end
1390
      end
1391
    end
1392
    if #list2 > 0 then
1393
      rand = math.random(1, #list2)
1394
      return list2[rand], dist
1395
    else
1396
      return nil, dist
1397
    end
1398
  end
1399
  Mouse.Button1Down:connect(function()
1400
    if attack ~= false or attacktype == 1 then
1401
    end
1402
  end)
1403
  Mouse.KeyDown:connect(function(k)
1404
    k = k:lower()
1405
    if attack == false and k == "z" then
1406
      SpinShot()
1407
    elseif attack == false and k == "x" then
1408
      AutoShot()
1409
    elseif attack == false and k == "c" then
1410
      MortarShot()
1411
    elseif attack == false and k == "v" then
1412
      Crater(Torso,30)
1413
      JetDash()
1414
    end
1415
  end)
1416
  while true do
1417
    swait()
1418
    local aim = CFrame.new(RootPart.Position, Mouse.Hit.p)
1419
    local direction = aim.lookVector
1420
    local headingA = math.atan2(direction.x, direction.z)
1421
    headingA = math.deg(headingA)
1422
    Humanoid.AutoRotate = false
1423
    RootPart.CFrame = CFrame.new(RootPart.Position) * CFrame.Angles(math.rad(0), math.rad(headingA - 180), math.rad(0))
1424
    Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
1425
    velocity = RootPart.Velocity.y
1426
    sine = sine + change
1427
    local hit, pos = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, Character)
1428
    if RootPart.Velocity.y > 1 and hit == nil then
1429
      Anim = "Jump"
1430
      if attack == false then
1431
        PlayAnimationFromTable({
1432
          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),
1433
          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),
1434
          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),
1435
          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),
1436
          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),
1437
          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)
1438
        }, 0.3, false)
1439
      end
1440
    elseif RootPart.Velocity.y < -1 and hit == nil then
1441
      Anim = "Fall"
1442
      if attack == false then
1443
        PlayAnimationFromTable({
1444
          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),
1445
          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),
1446
          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),
1447
          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),
1448
          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),
1449
          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)
1450
        }, 0.3, false)
1451
      end
1452
    elseif Torsovelocity < 1 and hit ~= nil then
1453
      Anim = "Idle"
1454
      if attack == false then
1455
        change = 1
1456
        PlayAnimationFromTable({
1457
          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),
1458
          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),
1459
          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),
1460
          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),
1461
          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),
1462
          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)
1463
        }, 0.3, false)
1464
      end
1465
    elseif Torsovelocity > 2 and hit ~= nil then
1466
      Anim = "Walk"
1467
      if attack == false then
1468
        change = 3
1469
        PlayAnimationFromTable({
1470
          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),
1471
          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))),
1472
          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),
1473
          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),
1474
          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)),
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
        }, 0.3, false)
1477
      end
1478
    end
1479
    if 0 < #Effects then
1480
      for e = 1, #Effects do
1481
        if Effects[e] ~= nil then
1482
          local Thing = Effects[e]
1483
          if Thing ~= nil then
1484
            local Part = Thing[1]
1485
            local Mode = Thing[2]
1486
            local Delay = Thing[3]
1487
            local IncX = Thing[4]
1488
            local IncY = Thing[5]
1489
            local IncZ = Thing[6]
1490
            if Thing[2] == "Shoot" then
1491
              local Look = Thing[1]
1492
              local move = 30
1493
              if Thing[8] == 3 then
1494
                move = 10
1495
              end
1496
              local hit, pos = rayCast(Thing[4], Look, move, Character)
1497
              local mag = (Thing[4] - pos).magnitude
1498
              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)
1499
              Thing[4] = Thing[4] + Look * move
1500
              Thing[3] = Thing[3] - 1
1501
              if hit ~= nil then
1502
                Thing[3] = 0
1503
                local target, distance = findNearestTorso(pos)
1504
                if hit.Parent:findFirstChild("Humanoid") == nil and target ~= nil and Thing[5] > 0 then
1505
                  Thing[3] = 50
1506
                  Thing[5] = Thing[5] - 1
1507
                  Thing[6] = Thing[6] - 1
1508
                  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
1509
                  local MouseLook = CFrame.new((pos + target.Position) / 0, target.Position)
1510
                  Thing[1] = MouseLook.lookVector
1511
                end
1512
                if Thing[8] == 1 or Thing[8] == 3 then
1513
                  MagnitudeDamage2(hit, 5, 30, 80, math.random(5, 10), "Normal", "", 1)
1514
                end
1515
                ref = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Really red"), "Reference", Vector3.new())
1516
                ref.Anchored = true
1517
                ref.CFrame = CFrame.new(pos)
1518
                Effects.Sphere.Create(BrickColor.new("Really black"), CFrame.new(pos), 5, 5, 5, 1, 1, 1, 0.07)
1519
                game:GetService("Debris"):AddItem(ref, 1)
1520
              end
1521
              if Thing[3] <= 0 then
1522
                table.remove(Effects, e)
1523
              end
1524
            end
1525
            if Thing[2] == "FireWave" then
1526
              if Thing[3] <= Thing[4] then
1527
                Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(0, 1, 0)
1528
                Thing[3] = Thing[3] + 1
1529
                Thing[6].Scale = Thing[6].Scale + Vector3.new(Thing[5], 0, Thing[5])
1530
              else
1531
                Part.Parent = nil
1532
                table.remove(Effects, e)
1533
              end
1534
            end
1535
            if Thing[2] ~= "Shoot" and Thing[2] ~= "Wave" and Thing[2] ~= "FireWave" then
1536
              if Thing[1].Transparency <= 1 then
1537
                if Thing[2] == "Block1" then
1538
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1539
                  Mesh = Thing[7]
1540
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1541
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1542
                elseif Thing[2] == "Block2" then
1543
                  Thing[1].CFrame = Thing[1].CFrame
1544
                  Mesh = Thing[7]
1545
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1546
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1547
                elseif Thing[2] == "Fire" then
1548
                  Thing[1].CFrame = CFrame.new(Thing[1].Position) + Vector3.new(0, 0.2, 0)
1549
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1550
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1551
                elseif Thing[2] == "Cylinder" then
1552
                  Mesh = Thing[7]
1553
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1554
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1555
                elseif Thing[2] == "Blood" then
1556
                  Mesh = Thing[7]
1557
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, 0.5, 0)
1558
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1559
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1560
                elseif Thing[2] == "Elec" then
1561
                  Mesh = Thing[10]
1562
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
1563
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1564
                elseif Thing[2] == "QuadShot" then
1565
                  if Thing[5] < 30 then
1566
                    Thing[5] = Thing[5] + 2
1567
                    Thing[4].Scale = Vector3.new(Thing[5], 5, Thing[5])
1568
                  else
1569
                    refda = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Black"), "Reference", Vector3.new())
1570
                    refda.Anchored = true
1571
                    refda.CFrame = CFrame.new(Thing[1].Position)
1572
                    game:GetService("Debris"):AddItem(refda, 1)
1573
                    CFuncs.Sound.Create("633129760", refda, 1, 1)
1574
                    MagnitudeDamage(refda, 20, 10, 40, math.random(5, 10), "Normal", "315748999", 1)
1575
                    Effects.Cylinder.Create(BrickColor.new("Really black"), CFrame.new(refda.Position), 3, 9999, 3, 1, 1, 1, 0.1)
1576
                    for i = 1, 5 do
1577
                      Effects.Sphere.Create(BrickColor.new("Really black"), CFrame.new(refda.Position), 10, 10, 10, 4 * i, 4 * i, 4 * i, 0.08)
1578
                    end
1579
                    Thing[1].Parent = nil
1580
                    table.remove(Effects, e)
1581
                  end
1582
                elseif Thing[2] == "Disappear" then
1583
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1584
                elseif Thing[2] == "Shatter" then
1585
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1586
                  Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
1587
                  Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
1588
                  Thing[6] = Thing[6] + Thing[5]
1589
                end
1590
              else
1591
                Part.Parent = nil
1592
                table.remove(Effects, e)
1593
              end
1594
            end
1595
          end
1596
        end
1597
      end
1598
    end
1599
  end