View difference between Paste ID: BEdK210Q and gcYFXpu9
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,game,owner = owner,game
4
local RealPlayer = Player
5
do
6
    print("FE Compatibility code V2 by Mokiros")
7
    local RealPlayer = RealPlayer
8
    script.Parent = RealPlayer.Character
9
 
10
    --Fake event to make stuff like Mouse.KeyDown work
11
    local Disconnect_Function = function(this)
12
        this[1].Functions[this[2]] = nil
13
    end
14
    local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
15
    local FakeEvent_Metatable = {__index={
16
        Connect = function(this,f)
17
            local i = tostring(math.random(0,10000))
18
            while this.Functions[i] do
19
                i = tostring(math.random(0,10000))
20
            end
21
            this.Functions[i] = f
22
            return setmetatable({this,i},Disconnect_Metatable)
23
        end
24
    }}
25
    FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
26
    local function fakeEvent()
27
        return setmetatable({Functions={}},FakeEvent_Metatable)
28
    end
29
 
30
    --Creating fake input objects with fake variables
31
    local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
32
    FakeMouse.keyUp = FakeMouse.KeyUp
33
    FakeMouse.keyDown = FakeMouse.KeyDown
34
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
35
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
36
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
37
    end}
38
    --Merged 2 functions into one by checking amount of arguments
39
    CAS.UnbindAction = CAS.BindAction
40
 
41
    --This function will trigger the events that have been :Connect()'ed
42
    local function TriggerEvent(self,ev,...)
43
        for _,f in pairs(self[ev].Functions) do
44
            f(...)
45
        end
46
    end
47
    FakeMouse.TriggerEvent = TriggerEvent
48
    UIS.TriggerEvent = TriggerEvent
49
 
50
    --Client communication
51
    local Event = Instance.new("RemoteEvent")
52
    Event.Name = "UserInput_Event"
53
    Event.OnServerEvent:Connect(function(plr,io)
54
        if plr~=RealPlayer then return end
55
        FakeMouse.Target = io.Target
56
        FakeMouse.Hit = io.Hit
57
        if not io.isMouse then
58
            local b = io.UserInputState == Enum.UserInputState.Begin
59
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
60
                return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
61
            end
62
            if io.UserInputType == Enum.UserInputType.MouseButton2 then
63
                return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
64
            end
65
            for _,t in pairs(CAS.Actions) do
66
                for _,k in pairs(t.Keys) do
67
                    if k==io.KeyCode then
68
                        t.Function(t.Name,io.UserInputState,io)
69
                    end
70
                end
71
            end
72
            FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
73
            UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
74
        end
75
    end)
76
    Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
77
    local Mouse = owner:GetMouse()
78
    local UIS = game:GetService("UserInputService")
79
    local input = function(io,RobloxHandled)
80
        if RobloxHandled then return end
81
        --Since InputObject is a client-side instance, we create and pass table instead
82
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
83
    end
84
    UIS.InputBegan:Connect(input)
85
    UIS.InputEnded:Connect(input)
86
    local h,t
87
    --Give the server mouse data every second frame, but only if the values changed
88
    --If player is not moving their mouse, client won't fire events
89
    local HB = game:GetService("RunService").Heartbeat
90
    while true do
91
        if h~=Mouse.Hit or t~=Mouse.Target then
92
            h,t=Mouse.Hit,Mouse.Target
93
            Event:FireServer({isMouse=true,Target=t,Hit=h})
94
        end
95
        --Wait 2 frames
96
        for i=1,2 do
97
            HB:Wait()
98
        end
99
    end]==],script)
100
 
101
    ----Sandboxed game object that allows the usage of client-side methods and services
102
    --Real game object
103
    local RealGame = game
104
 
105
    --Metatable for fake service
106
    local FakeService_Metatable = {
107
        __index = function(self,k)
108
            local s = rawget(self,"_RealService")
109
            if s then
110
                return typeof(s[k])=="function"
111
                and function(_,...)return s[k](s,...)end or s[k]
112
            end
113
        end,
114
        __newindex = function(self,k,v)
115
            local s = rawget(self,"_RealService")
116
            if s then s[k]=v end
117
        end
118
    }
119
    local function FakeService(t,RealService)
120
        t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
121
        return setmetatable(t,FakeService_Metatable)
122
    end
123
 
124
    --Fake game object
125
    local FakeGame = {
126
        GetService = function(self,s)
127
            return rawget(self,s) or RealGame:GetService(s)
128
        end,
129
        Players = FakeService({
130
            LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
131
        },"Players"),
132
        UserInputService = FakeService(UIS,"UserInputService"),
133
        ContextActionService = FakeService(CAS,"ContextActionService"),
134
        RunService = FakeService({
135
            _btrs = {},
136
            RenderStepped = RealGame:GetService("RunService").Heartbeat,
137
            BindToRenderStep = function(self,name,_,fun)
138
                self._btrs[name] = self.Heartbeat:Connect(fun)
139
            end,
140
            UnbindFromRenderStep = function(self,name)
141
                self._btrs[name]:Disconnect()
142
            end,
143
        },"RunService")
144
    }
145
    rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
146
    FakeGame.service = FakeGame.GetService
147
    FakeService(FakeGame,game)
148
    --Changing owner to fake player object to support owner:GetMouse()
149
    game,owner = FakeGame,FakeGame.Players.LocalPlayer
150
end
151
152
print("edited by 3677272ALT") 
153
 wait(0.016666666666666666)
154
plr = game.Players.LocalPlayer
155
mse = plr:GetMouse()
156
sound = Instance.new("Sound", game.Workspace)
157
sound.SoundId = "https://www.roblox.com/asset/?id=840567549"
158
canworld = true
159
mse.KeyDown:connect(function(key)
160
	key = key:lower()
161
	if key == "g" then
162
		if canworld == false then return end
163
		if canworld then
164
		canworld = false
165
		sound:Play()
166
		local function spawnpart()
167
		sphere = Instance.new("Part")
168
		--game.Debris:AddItem(sphere,3)
169
		local sm = Instance.new("SpecialMesh", sphere)
170
		sm.MeshType = "Sphere"
171
		sphere.Transparency = 0.5
172
		sphere.Anchored = true
173
		sphere.CanCollide = false
174
		sphere.Material = "SmoothPlastic"
175
		sphere.BrickColor = BrickColor.new("Lapis")
176
		end
177
		
178
		local function weld(lol)
179
			local weld = Instance.new("Weld", plr.Character.Torso)
180
			weld.Part0 = plr.Character.Torso
181
			weld.Part1 = lol
182
			weld.C0 = plr.Character.Torso.CFrame:inverse()
183
			weld.C1 = lol.CFrame:inverse()
184
		end
185
		wait(1.4)
186
		spawnpart()
187
			for i, v in pairs(game.Players:GetChildren()) do
188
			t = v.Character:FindFirstChild("Torso")
189
			if t then
190
				t.Anchored = true
191
				plr.Character:FindFirstChild("Torso").Anchored = false
192
			end
193
			RA = v.Character:FindFirstChild("Right Arm")
194
			if RA then
195
				RA.Anchored = true
196
				plr.Character:FindFirstChild("Right Arm").Anchored = false
197
			end
198
			LA = v.Character:FindFirstChild("Left Arm")
199
			if LA then
200
				LA.Anchored = true
201
				plr.Character:FindFirstChild("Left Arm").Anchored = false
202
			end
203
			RL = v.Character:FindFirstChild("Right Leg")
204
			if RL then
205
				RL.Anchored = true
206
				plr.Character:FindFirstChild("Right Leg").Anchored = false
207
			end
208
			LL = v.Character:FindFirstChild("Left Leg")
209
			if LL then
210
				LL.Anchored = true
211
				plr.Character:FindFirstChild("Left Leg").Anchored = false
212
			end
213
		end
214
		weld(sphere)
215
		cce = Instance.new("ColorCorrectionEffect", game.Lighting)
216
		cce.Saturation = -2
217
		--game.Debris:AddItem(cce, 5)
218
		sphere.Parent = game.Workspace
219
		for i = 1,10 do
220
			sphere.Size = sphere.Size + Vector3.new(50,50,50)
221
			wait()
222
			end
223
		--wait(5)
224
		
225
		end
226
	end
227
end
228
)
229
230
mse.KeyDown:connect(function(key)
231
	key = key:lower()
232
	if key == "h" then
233
canworld = true
234
		for i, v in pairs(game.Players:GetChildren()) do
235
		t = v.Character:FindFirstChild("Torso")
236
			if t then
237
				t.Anchored = false
238
			end
239
			RA = v.Character:FindFirstChild("Right Arm")
240
			if RA then
241
				RA.Anchored = false
242
			end
243
			LA = v.Character:FindFirstChild("Left Arm")
244
			if LA then
245
				LA.Anchored = false
246
			end
247
			RL = v.Character:FindFirstChild("Right Leg")
248
			if RL then
249
				RL.Anchored = false
250
			end
251
			LL = v.Character:FindFirstChild("Left Leg")
252
			if LL then
253
				LL.Anchored = false
254
			end
255
		end
256
		cce.Saturation = 0
257
sphere:Destroy()
258
end
259
end)
260
261
  Effects = {}
262
  local Player = game.Players.localPlayer
263
  local Character = Player.Character
264
  Character.Archivable = true
265
  AdvancingFortress = Character:Clone()
266
  AdvancingFortress.Parent = Character
267
  torso = AdvancingFortress.Torso
268
  hum = AdvancingFortress.Humanoid
269
  AdvancingFortress.Name = "Advancing Fortress"
270
  pl = AdvancingFortress
271
  for i, v in pairs(AdvancingFortress:GetChildren()) do
272
    if v:IsA("BasePart") then
273
      v.Transparency = 1
274
    end
275
  end
276
  local Humanoid = AdvancingFortress.Humanoid
277
  local Mouse = Player:GetMouse()
278
  local LeftArm = AdvancingFortress["Left Arm"]
279
  local RightArm = AdvancingFortress["Right Arm"]
280
  local LeftLeg = AdvancingFortress["Left Leg"]
281
  local RightLeg = AdvancingFortress["Right Leg"]
282
  local Head = AdvancingFortress.Head
283
  local Torso = AdvancingFortress.Torso
284
  local Camera = game.Workspace.CurrentCamera
285
  local RootPart = AdvancingFortress.HumanoidRootPart
286
  local RootJoint = RootPart.RootJoint
287
  local attack = false
288
  local Anim = "Idle"
289
  local attacktype = 1
290
  local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
291
  local velocity = RootPart.Velocity.y
292
  local sine = 0
293
  local change = 1
294
  local Create = LoadLibrary("RbxUtility").Create
295
  local TimeStop = false
296
  local m = Create("Model")({
297
    Parent = AdvancingFortress,
298
    Name = "WeaponModel"
299
  })
300
  Head.face:remove()
301
  AdvancingFortress.Head.Name = "FHead"
302
  AdvancingFortress.Torso.Name = "FTorso"
303
  AdvancingFortress.HumanoidRootPart.Name = "FHumanoidRootPart"
304
  Humanoid.Animator.Parent = nil
305
  AdvancingFortress.Animate.Parent = nil
306
  local function newMotor(part0, part1, c0, c1)
307
    local w = Create("Weld")({
308
      Parent = part0,
309
      Part0 = part0,
310
      Part1 = part1,
311
      C0 = c0,
312
      C1 = c1
313
    })
314
    return w
315
  end
316
  function clerp(a, b, t)
317
    return a:lerp(b, t)
318
  end
319
  RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
320
  NeckCF = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
321
  local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0))
322
  local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0))
323
  local RH = newMotor(Torso, RightLeg, CFrame.new(0.5, -2, 0), CFrame.new(0, 0, 0))
324
  local LH = newMotor(Torso, LeftLeg, CFrame.new(-0.5, -2, 0), CFrame.new(0, 0, 0))
325
  RootJoint.C1 = CFrame.new(0, 0, 0)
326
  RootJoint.C0 = CFrame.new(0, 0, 0)
327
  Torso.Neck.C1 = CFrame.new(0, 0, 0)
328
  Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
329
  local rarmc1 = RW.C1
330
  local larmc1 = LW.C1
331
  local rlegc1 = RH.C1
332
  local llegc1 = LH.C1
333
  local resetc1 = false
334
  function PlayAnimationFromTable(table, speed, bool)
335
    RootJoint.C0 = clerp(RootJoint.C0, table[1], speed)
336
    Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed)
337
    RW.C0 = clerp(RW.C0, table[3], speed)
338
    LW.C0 = clerp(LW.C0, table[4], speed)
339
    RH.C0 = clerp(RH.C0, table[5], speed)
340
    LH.C0 = clerp(LH.C0, table[6], speed)
341
    if bool == true and resetc1 == false then
342
      resetc1 = true
343
      RootJoint.C1 = RootJoint.C1
344
      Torso.Neck.C1 = Torso.Neck.C1
345
      RW.C1 = rarmc1
346
      LW.C1 = larmc1
347
      RH.C1 = rlegc1
348
      LH.C1 = llegc1
349
    end
350
  end
351
  ArtificialHB = Create("BindableEvent", script)({Parent = script, Name = "Heartbeat"})
352
  script:WaitForChild("Heartbeat")
353
  frame = 0.03333333333333333
354
  tf = 0
355
  allowframeloss = false
356
  tossremainder = false
357
  lastframe = tick()
358
  script.Heartbeat:Fire()
359
  game:GetService("RunService").Heartbeat:connect(function(s, p)
360
    tf = tf + s
361
    if tf >= frame then
362
      if allowframeloss then
363
        script.Heartbeat:Fire()
364
        lastframe = tick()
365
      else
366
        for i = 1, math.floor(tf / frame) do
367
          script.Heartbeat:Fire()
368
        end
369
        lastframe = tick()
370
      end
371
      if tossremainder then
372
        tf = 0
373
      else
374
        tf = tf - frame * math.floor(tf / frame)
375
      end
376
    end
377
  end)
378
  function swait(num)
379
    if num == 0 or num == nil then
380
      ArtificialHB.Event:wait()
381
    else
382
      for i = 0, num do
383
        ArtificialHB.Event:wait()
384
      end
385
    end
386
  end
387
  function RemoveOutlines(part)
388
    part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
389
  end
390
  CFuncs = {
391
    Part = {
392
      Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
393
        local Part = Create("Part")({
394
          Parent = Parent,
395
          Reflectance = Reflectance,
396
          Transparency = Transparency,
397
          CanCollide = false,
398
          Locked = true,
399
          BrickColor = BrickColor.new(tostring(BColor)),
400
          Name = Name,
401
          Size = Size,
402
          Material = Material
403
        })
404
        RemoveOutlines(Part)
405
        return Part
406
      end
407
    },
408
    Mesh = {
409
      Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
410
        local Msh = Create(Mesh)({
411
          Parent = Part,
412
          Offset = OffSet,
413
          Scale = Scale
414
        })
415
        if Mesh == "SpecialMesh" then
416
          Msh.MeshType = MeshType
417
          Msh.MeshId = MeshId
418
        end
419
        return Msh
420
      end
421
    },
422
    Weld = {
423
      Create = function(Parent, Part0, Part1, C0, C1)
424
        local Weld = Create("Weld")({
425
          Parent = Parent,
426
          Part0 = Part0,
427
          Part1 = Part1,
428
          C0 = C0,
429
          C1 = C1
430
        })
431
        return Weld
432
      end
433
    },
434
    Sound = {
435
      Create = function(id, par, vol, pit)
436
        local Sound = Create("Sound")({
437
          Volume = vol,
438
          Pitch = pit or 1,
439
          SoundId = "rbxassetid://" .. id,
440
          Parent = par or workspace
441
        })
442
        Sound:play()
443
        game:GetService("Debris"):AddItem(Sound, 130)
444
        return Sound
445
      end
446
    },
447
    Decal = {
448
      Create = function(Color, Texture, Transparency, Name, Parent)
449
        local Decal = Create("Decal")({
450
          Color3 = Color,
451
          Texture = "rbxassetid://" .. Texture,
452
          Transparency = Transparency,
453
          Name = Name,
454
          Parent = Parent
455
        })
456
        return Decal
457
      end
458
    },
459
    BillboardGui = {
460
      Create = function(Parent, Image, Position, Size)
461
        local BillPar = CFuncs.Part.Create(Parent, "SmoothPlastic", 0, 1, BrickColor.new("Black"), "BillboardGuiPart", Vector3.new(1, 1, 1))
462
        BillPar.CFrame = CFrame.new(Position)
463
        local Bill = Create("BillboardGui")({
464
          Parent = BillPar,
465
          Adornee = BillPar,
466
          Size = UDim2.new(1, 0, 1, 0),
467
          SizeOffset = Vector2.new(Size, Size)
468
        })
469
        local d = Create("ImageLabel", Bill)({
470
          Parent = Bill,
471
          BackgroundTransparency = 1,
472
          Size = UDim2.new(1, 0, 1, 0),
473
          Image = "rbxassetid://" .. Image
474
        })
475
        return BillPar
476
      end
477
    },
478
    ParticleEmitter = {
479
      Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
480
        local Particle = Create("ParticleEmitter")({
481
          Parent = Parent,
482
          Color = ColorSequence.new(Color1, Color2),
483
          LightEmission = LightEmission,
484
          Size = Size,
485
          Texture = Texture,
486
          Transparency = Transparency,
487
          ZOffset = ZOffset,
488
          Acceleration = Accel,
489
          Drag = Drag,
490
          LockedToPart = LockedToPart,
491
          VelocityInheritance = VelocityInheritance,
492
          EmissionDirection = EmissionDirection,
493
          Enabled = Enabled,
494
          Lifetime = LifeTime,
495
          Rate = Rate,
496
          Rotation = Rotation,
497
          RotSpeed = RotSpeed,
498
          Speed = Speed,
499
          VelocitySpread = VelocitySpread
500
        })
501
        return Particle
502
      end
503
    },
504
    CreateTemplate = {}
505
  }
506
  function rayCast(Position, Direction, Range, Ignore)
507
    return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
508
  end
509
  function FindNearestTorso(pos)
510
    local list = game.Workspace:children()
511
    local torso
512
    local dist = 1000
513
    local temp, human, temp2
514
    for x = 1, #list do
515
      temp2 = list[x]
516
      if temp2.className == "Model" and temp2.Name ~= Character.Name then
517
        temp = temp2:findFirstChild("Torso")
518
        human = temp2:findFirstChild("Humanoid")
519
        if temp ~= nil and human ~= nil and human.Health > 0 and dist > (temp.Position - pos).magnitude then
520
          local dohit = true
521
          if dohit == true then
522
            torso = temp
523
            dist = (temp.Position - pos).magnitude
524
          end
525
        end
526
      end
527
    end
528
    return torso, dist
529
  end
530
  function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
531
    if hit.Parent == nil then
532
      return
533
    end
534
    local h = hit.Parent:FindFirstChild("Humanoid")
535
    for _, v in pairs(hit.Parent:children()) do
536
      if v:IsA("Humanoid") then
537
        h = v
538
      end
539
    end
540
    if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
541
      if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
542
        return
543
      end
544
      local c = Create("ObjectValue")({
545
        Name = "creator",
546
        Value = game:service("Players").LocalPlayer,
547
        Parent = h
548
      })
549
      game:GetService("Debris"):AddItem(c, 0.5)
550
      CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
551
      local Damage = math.random(minim, maxim)
552
      local blocked = false
553
      local block = hit.Parent:findFirstChild("Block")
554
      if block ~= nil and block.className == "IntValue" and block.Value > 0 then
555
        blocked = true
556
        block.Value = block.Value - 1
557
        print(block.Value)
558
      end
559
      if TimeStop == false then
560
        h.Health = h.Health - Damage
561
        ShowDamage(Part.CFrame * CFrame.new(0, 0, Part.Size.Z / 2).p + Vector3.new(0, 1.5, 0), -Damage, 1.5, BrickColor.new("Royal purple").Color)
562
      elseif TimeStop == true then
563
        repeat
564
          wait()
565
        until TimeStop == false
566
        h.Health = h.Health - Damage / 2
567
        ShowDamage(Part.CFrame * CFrame.new(0, 0, Part.Size.Z / 2).p + Vector3.new(0, 1.5, 0), -Damage, 1.5, BrickColor.new("Royal purple").Color)
568
      end
569
      if Type == "Knockdown" then
570
        local hum = hit.Parent.Humanoid
571
        hum.PlatformStand = true
572
        coroutine.resume(coroutine.create(function(HHumanoid)
573
          swait(1)
574
          HHumanoid.PlatformStand = false
575
        end), hum)
576
        local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
577
        local bodvol = Create("BodyVelocity")({
578
          velocity = angle * knockback,
579
          P = 5000,
580
          maxForce = Vector3.new(8000, 8000, 8000),
581
          Parent = hit
582
        })
583
        local rl = Create("BodyAngularVelocity")({
584
          P = 3000,
585
          maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
586
          angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
587
          Parent = hit
588
        })
589
        game:GetService("Debris"):AddItem(bodvol, 0.5)
590
        game:GetService("Debris"):AddItem(rl, 0.5)
591
      elseif Type == "Normal" then
592
        local vp = Create("BodyVelocity")({
593
          P = 500,
594
          maxForce = Vector3.new(math.huge, 0, math.huge),
595
          velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
596
        })
597
        if knockback > 0 then
598
          vp.Parent = hit.Parent.Torso
599
        end
600
        game:GetService("Debris"):AddItem(vp, 0.5)
601
      elseif Type == "Up" then
602
        local bodyVelocity = Create("BodyVelocity")({
603
          velocity = Vector3.new(0, 20, 0),
604
          P = 5000,
605
          maxForce = Vector3.new(8000, 8000, 8000),
606
          Parent = hit
607
        })
608
        game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
609
      elseif Type == "DarkUp" then
610
        coroutine.resume(coroutine.create(function()
611
          for i = 0, 1, 0.1 do
612
            swait()
613
            Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, 0.08, 1)
614
          end
615
        end))
616
        local bodyVelocity = Create("BodyVelocity")({
617
          velocity = Vector3.new(0, 20, 0),
618
          P = 5000,
619
          maxForce = Vector3.new(8000, 8000, 8000),
620
          Parent = hit
621
        })
622
        game:GetService("Debris"):AddItem(bodyVelocity, 1)
623
      elseif Type == "Snare" then
624
        local bp = Create("BodyPosition")({
625
          P = 2000,
626
          D = 100,
627
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
628
          position = hit.Parent.Torso.Position,
629
          Parent = hit.Parent.Torso
630
        })
631
        game:GetService("Debris"):AddItem(bp, 1)
632
      elseif Type == "Freeze" then
633
        local BodPos = Create("BodyPosition")({
634
          P = 50000,
635
          D = 1000,
636
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
637
          position = hit.Parent.Torso.Position,
638
          Parent = hit.Parent.Torso
639
        })
640
        local BodGy = Create("BodyGyro")({
641
          maxTorque = Vector3.new(400000, 400000, 400000) * math.huge,
642
          P = 20000,
643
          Parent = hit.Parent.Torso,
644
          cframe = hit.Parent.Torso.CFrame
645
        })
646
        hit.Parent.Torso.Anchored = true
647
        coroutine.resume(coroutine.create(function(Part)
648
          swait(1.5)
649
          Part.Anchored = false
650
        end), hit.Parent.Torso)
651
        game:GetService("Debris"):AddItem(BodPos, 3)
652
        game:GetService("Debris"):AddItem(BodGy, 3)
653
      end
654
      local debounce = Create("BoolValue")({
655
        Name = "DebounceHit",
656
        Parent = hit.Parent,
657
        Value = true
658
      })
659
      game:GetService("Debris"):AddItem(debounce, Delay)
660
      c = Create("ObjectValue")({
661
        Name = "creator",
662
        Value = Player,
663
        Parent = h
664
      })
665
      game:GetService("Debris"):AddItem(c, 0.5)
666
    end
667
  end
668
  function ShowDamage(Pos, Text, Time, Color)
669
    local Rate = 0.03333333333333333
670
    local Pos = Pos or Vector3.new(0, 0, 0)
671
    local Text = Text or ""
672
    local Time = Time or 2
673
    local Color = Color or Color3.new(1, 0, 1)
674
    local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
675
    EffectPart.Anchored = true
676
    local BillboardGui = Create("BillboardGui")({
677
      Size = UDim2.new(3, 0, 3, 0),
678
      Adornee = EffectPart,
679
      Parent = EffectPart
680
    })
681
    local TextLabel = Create("TextLabel")({
682
      BackgroundTransparency = 1,
683
      Size = UDim2.new(1, 0, 1, 0),
684
      Text = Text,
685
      Font = "SciFi",
686
      TextColor3 = Color,
687
      TextScaled = true,
688
      Parent = BillboardGui
689
    })
690
    game.Debris:AddItem(EffectPart, Time)
691
    EffectPart.Parent = game:GetService("Workspace")
692
    delay(0, function()
693
      local Frames = Time / Rate
694
      for Frame = 1, Frames do
695
        wait(Rate)
696
        local Percent = Frame / Frames
697
        EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
698
        TextLabel.TextTransparency = Percent
699
      end
700
      if EffectPart and EffectPart.Parent then
701
        EffectPart:Destroy()
702
      end
703
    end)
704
  end
705
  local STDamage = false
706
  function MagnitudeDamage(Part, Magnitude, MinimumDamage, MaximumDamage, KnockBack, Type, HitSound, HitPitch)
707
    for _, c in pairs(workspace:children()) do
708
      local hum = c:findFirstChild("Humanoid")
709
      if hum ~= nil then
710
        local head = c:findFirstChild("Torso")
711
        if head ~= nil then
712
          local targ = head.Position - Part.Position
713
          local mag = targ.magnitude
714
          if Magnitude >= mag and c.Name ~= Player.Name then
715
            Damage(head, head, MinimumDamage, MaximumDamage, KnockBack, Type, RootPart, 0.1, HitSound, HitPitch)
716
            if STDamage == true then
717
              for i = 1, 3 do
718
                Effects.Block.Create(BrickColor.new("Royal purple"), head.CFrame, 1, 1, 1, 4, 4, 4, 0.07, 1)
719
              end
720
              for i = 1, 10 do
721
                CamShake(1, 70000)
722
                Effects.Break.Create(BrickColor.new("Royal purple"), head.CFrame, 1, 1, 1)
723
              end
724
            elseif STDamage == false then
725
              CamShake(1, 90000)
726
              Effects.Block.Create(BrickColor.new("Royal purple"), head.CFrame, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.07, 1)
727
              for i = 1, 2 do
728
                Effects.Break.Create(BrickColor.new("Royal purple"), head.CFrame, 0.4, 0.4, 0.4)
729
              end
730
            end
731
          end
732
        end
733
      end
734
    end
735
  end
736
  HHandle = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "HHandle", Vector3.new(1.09999979, 0.299999923, 1.0999999))
737
  HHandleWeld = CFuncs.Weld.Create(m, Head, HHandle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.0646438599, -0.0500068665, -0.0646400452, -0.707107365, -3.21031663E-8, 0.707106411, -8.19564079E-8, 1.00000119, -1.41561088E-7, -0.707106352, 1.38630043E-7, -0.707107484))
738
  Eye1 = CFuncs.Part.Create(m, Enum.Material.Neon, 0, 1, "cool yellow", "Eye1", Vector3.new(0.400000006, 0.200000003, 0.200000003))
739
  PartWeld = CFuncs.Weld.Create(m, HHandle, Eye1, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.0381011963, -0.0574798584, 0.471725464, -2.89082527E-6, 0.173647985, -0.984807968, -6.2584877E-7, 0.984808922, 0.173648104, 1.00000012, 1.02902288E-6, -2.77161598E-6))
740
  CFuncs.Mesh.Create("SpecialMesh", Eye1, Enum.MeshType.Sphere, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
741
  Eye2 = CFuncs.Part.Create(m, Enum.Material.Neon, 0, 1, "Cool yellow", "Eye2", Vector3.new(0.400000006, 0.200000003, 0.200000003))
742
  PartWeld = CFuncs.Weld.Create(m, HHandle, Eye2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.0115432739, -0.0487277508, 0.482452393, -0.981060266, -0.173648134, -0.0858327746, -0.172987267, 0.984808922, -0.0151339322, 0.0871568322, 3.96735317E-7, -0.996194839))
743
  CFuncs.Mesh.Create("SpecialMesh", Eye2, Enum.MeshType.Sphere, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
744
  THandle = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "THandle", Vector3.new(1, 0.799999893, 1))
745
  THandleWeld = CFuncs.Weld.Create(m, Torso, THandle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, 0, 0, 1, -8.19564079E-8, 5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, 5.96046519E-8, -1.41561088E-7, 1.00000024))
746
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.80000019, 0.300000012, 1.80000007))
747
  PartWeld = CFuncs.Weld.Create(m, THandle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-6.10351563E-5, -1.04342794, -0.404396057, 1, -8.19564079E-8, 5.96046519E-8, -1.01078633E-7, 0.939694166, -0.342019171, 1.52638329E-8, 0.34201926, 0.939693213))
748
  CFuncs.Mesh.Create("CylinderMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
749
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 1.10000002, 0.300000012))
750
  PartWeld = CFuncs.Weld.Create(m, THandle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-5.34057617E-5, -0.943422318, -1.35441589, 1, -8.19564079E-8, 5.96046519E-8, -1.01078633E-7, 0.939694166, -0.342019171, 1.52638329E-8, 0.34201926, 0.939693213))
751
  CFuncs.Mesh.Create("CylinderMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
752
  AHandleR = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "AHandleR", Vector3.new(0.799999952, 0.800000012, 1.22000003))
753
  AHandleRWeld = CFuncs.Weld.Create(m, RightArm, AHandleR, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.209915161, 0.00999641418, -3.81469727E-6, 1, -8.19564079E-8, 5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, 5.96046519E-8, -1.41561088E-7, 1.00000024))
754
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.899999976, 1.01999998))
755
  PartWeld = CFuncs.Weld.Create(m, AHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.0999984741, 0.550004005, 0, 1, -8.19564079E-8, 5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, 5.96046519E-8, -1.41561088E-7, 1.00000024))
756
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.200000003, 0.200000003))
757
  PartWeld = CFuncs.Weld.Create(m, AHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.150001526, 0.200003624, -0.359994888, 1, -8.19564079E-8, 5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, 5.96046519E-8, -1.41561088E-7, 1.00000024))
758
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.200000003, 0.200000003))
759
  PartWeld = CFuncs.Weld.Create(m, AHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.149993896, 0.20000267, 0.359992981, 1, -8.19564079E-8, 5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, 5.96046519E-8, -1.41561088E-7, 1.00000024))
760
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.20000005, 0.800000012, 1.20000005))
761
  PartWeld = CFuncs.Weld.Create(m, AHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.209899902, -0.809997559, 5.7220459E-6, -1, 8.19564079E-8, -5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, -5.96046519E-8, 1.41561088E-7, -1.00000024))
762
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.699999988, 1.01999998))
763
  PartWeld = CFuncs.Weld.Create(m, AHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.300003052, 0.650004387, 1.71661377E-5, 1, -8.19564079E-8, 5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, 5.96046519E-8, -1.41561088E-7, 1.00000024))
764
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.699999988, 1.01999998))
765
  PartWeld = CFuncs.Weld.Create(m, AHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.149993896, 0.650003433, 0, 1, -8.19564079E-8, 5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, 5.96046519E-8, -1.41561088E-7, 1.00000024))
766
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.699999928, 0.520000041))
767
  PartWeld = CFuncs.Weld.Create(m, AHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.199996948, -0.049996376, -3.81469727E-6, 1, -8.19564079E-8, 5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, 5.96046519E-8, -1.41561088E-7, 1.00000024))
768
  HitboxR = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "HitboxR", Vector3.new(0.799999952, 0.800000012, 1.22000003))
769
  HitboxRWeld = CFuncs.Weld.Create(m, AHandleR, HitboxR, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, 0.700003624, 0, 1, -8.19564079E-8, 5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, 5.96046519E-8, -1.41561088E-7, 1.00000024))
770
  AHandleL = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "AHandleL", Vector3.new(0.800000072, 0.800000012, 1.22000003))
771
  AHandleLWeld = CFuncs.Weld.Create(m, LeftArm, AHandleL, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.210014343, 0.00999736786, 1.14440918E-5, -1, 8.19564079E-8, -5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, -5.96046519E-8, 1.41561088E-7, -1.00000024))
772
  HitboxL = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "HitboxL", Vector3.new(0.800000072, 0.800000012, 1.22000003))
773
  HitboxLWeld = CFuncs.Weld.Create(m, AHandleL, HitboxL, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, 0.700003624, 0, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
774
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.200000003, 0.200000003))
775
  PartWeld = CFuncs.Weld.Create(m, AHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.149986267, 0.200001717, -0.360012054, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
776
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.699999928, 0.520000041))
777
  PartWeld = CFuncs.Weld.Create(m, AHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.199989319, -0.0499982834, -9.53674316E-6, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
778
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.200000003, 0.200000003))
779
  PartWeld = CFuncs.Weld.Create(m, AHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.149986267, 0.200001717, 0.359992981, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
780
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.20000005, 0.800000012, 1.20000005))
781
  PartWeld = CFuncs.Weld.Create(m, AHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.21005249, -0.81000042, 2.28881836E-5, -1, -8.19564079E-8, -5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, -5.96046519E-8, -1.41561088E-7, -1.00000024))
782
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.899999976, 1.01999998))
783
  PartWeld = CFuncs.Weld.Create(m, AHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.0999984741, 0.550003052, -5.7220459E-6, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
784
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.699999988, 1.01999998))
785
  PartWeld = CFuncs.Weld.Create(m, AHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.299995422, 0.650003433, -3.81469727E-6, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
786
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.699999988, 1.01999998))
787
  PartWeld = CFuncs.Weld.Create(m, AHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.149993896, 0.65000248, 0, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
788
  LHandleR = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "LHandleR", Vector3.new(1.02999997, 1.00999999, 1.19000006))
789
  LHandleRWeld = CFuncs.Weld.Create(m, RightLeg, LHandleR, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.00498962402, -0.0950021744, 0.00499534607, -1, 8.19564079E-8, -5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, -5.96046519E-8, 1.41561088E-7, -1.00000024))
790
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.800000012, 0.800000012, 0.200000003))
791
  PartWeld = CFuncs.Weld.Create(m, LHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.00498962402, -0.00499916077, -0.604999542, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
792
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.02999997, 1.00999999, 1.19000006))
793
  PartWeld = CFuncs.Weld.Create(m, LHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, 0.600002289, 0, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
794
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.02999997, 0.699999928, 1.19000006))
795
  PartWeld = CFuncs.Weld.Create(m, LHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, -0.454998016, 0, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
796
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.400000006, 1.20000005, 0.200000003))
797
  PartWeld = CFuncs.Weld.Create(m, LHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.00499725342, -0.00499916077, -0.604999542, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
798
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.800000131, 1.20000005, 0.800000012))
799
  PartWeld = CFuncs.Weld.Create(m, LHandleR, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.00499725342, 0.0149993896, 0.00500297546, 2.28095047E-7, 1.00000775, 2.99581131E-7, -1.00000417, 5.63755016E-8, -4.06898749E-7, -2.98379774E-7, 2.07959161E-8, 1.0000037))
800
  CFuncs.Mesh.Create("CylinderMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
801
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.200000003, 0.200000003, 0.200000003))
802
  WedgeWeld = CFuncs.Weld.Create(m, LHandleR, Wedge, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.604999542, -0.504998207, 0.29499054, -2.98023224E-8, -6.70552254E-8, -1.00000012, 3.7252903E-8, 1.0000006, 7.4505806E-8, 1, 4.47034836E-8, 2.98023224E-8))
803
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
804
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.200000003, 0.200000003, 0.200000003))
805
  WedgeWeld = CFuncs.Weld.Create(m, LHandleR, Wedge, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.60499382, -0.495001793, 0.305000305, -5.96046519E-8, -1.41561088E-7, -1.00000024, -8.19564079E-8, -1.00000119, -1.41561088E-7, -1, -8.19564079E-8, -5.96046519E-8))
806
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
807
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.200000003, 0.200000003, 0.200000003))
808
  WedgeWeld = CFuncs.Weld.Create(m, LHandleR, Wedge, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.604999542, -0.495001793, 0.29499054, 2.98023224E-8, 6.70552254E-8, 1.00000012, -3.7252903E-8, -1.0000006, -7.4505806E-8, 1, 4.47034836E-8, 2.98023224E-8))
809
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
810
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.200000003, 0.200000003, 0.200000003))
811
  WedgeWeld = CFuncs.Weld.Create(m, LHandleR, Wedge, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.604999542, -0.504998207, 0.305000305, 2.98023224E-8, 6.70552254E-8, 1.00000012, 3.7252903E-8, 1.0000006, 7.4505806E-8, -1, -4.47034836E-8, -2.98023224E-8))
812
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
813
  LHandleL = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "LHandleL", Vector3.new(1.02999997, 1.00999999, 1.19000006))
814
  LHandleLWeld = CFuncs.Weld.Create(m, LeftLeg, LHandleL, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.00498199463, -0.095000267, 0.00502204895, -1, 8.19564079E-8, -5.96046519E-8, -8.19564079E-8, 1.00000119, -1.41561088E-7, -5.96046519E-8, 1.41561088E-7, -1.00000024))
815
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.02999997, 1.00999999, 1.19000006))
816
  PartWeld = CFuncs.Weld.Create(m, LHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, 0.600001335, 0, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
817
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.400000006, 1.20000005, 0.300000012))
818
  PartWeld = CFuncs.Weld.Create(m, LHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.00499725342, -0.00500106812, -0.554998398, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
819
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.02999997, 0.699999928, 1.19000006))
820
  PartWeld = CFuncs.Weld.Create(m, LHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, -0.454999924, 0, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
821
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.800000131, 1.20000005, 0.800000012))
822
  PartWeld = CFuncs.Weld.Create(m, LHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.00499534607, 0.0149993896, 0.00500297546, 2.28095047E-7, 1.00000775, 2.99581131E-7, -1.00000417, 5.63755016E-8, -4.06898749E-7, -2.98379774E-7, 2.07959161E-8, 1.0000037))
823
  CFuncs.Mesh.Create("CylinderMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
824
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.800000012, 0.800000012, 0.300000012))
825
  PartWeld = CFuncs.Weld.Create(m, LHandleL, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.00498962402, -0.00500106812, -0.554998398, 1, 8.19564079E-8, 5.96046519E-8, 8.19564079E-8, 1.00000119, 1.41561088E-7, 5.96046519E-8, 1.41561088E-7, 1.00000024))
826
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.300000012, 0.200000003, 0.200000003))
827
  WedgeWeld = CFuncs.Weld.Create(m, LHandleL, Wedge, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.554998398, -0.505000114, 0.305000305, 2.98023224E-8, 6.70552254E-8, 1.00000012, 3.7252903E-8, 1.0000006, 7.4505806E-8, -1, -4.47034836E-8, -2.98023224E-8))
828
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
829
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.300000012, 0.200000003, 0.200000003))
830
  WedgeWeld = CFuncs.Weld.Create(m, LHandleL, Wedge, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.554998398, -0.505000114, 0.29499054, -2.98023224E-8, -6.70552254E-8, -1.00000012, 3.7252903E-8, 1.0000006, 7.4505806E-8, 1, 4.47034836E-8, 2.98023224E-8))
831
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
832
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.300000012, 0.200000003, 0.200000003))
833
  WedgeWeld = CFuncs.Weld.Create(m, LHandleL, Wedge, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.554998398, -0.494999886, 0.29499054, 2.98023224E-8, 6.70552254E-8, 1.00000012, -3.7252903E-8, -1.0000006, -7.4505806E-8, 1, 4.47034836E-8, 2.98023224E-8))
834
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
835
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.300000012, 0.200000003, 0.200000003))
836
  WedgeWeld = CFuncs.Weld.Create(m, LHandleL, Wedge, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.554998398, -0.494999886, 0.305000305, -5.96046519E-8, -1.41561088E-7, -1.00000024, -8.19564079E-8, -1.00000119, -1.41561088E-7, -1, -8.19564079E-8, -5.96046519E-8))
837
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
838
  Shield = CFuncs.Part.Create(m, "Neon", 0, 0.5, "Royal purple", "Part", Vector3.new(9.1, 8.5, 0.2))
839
  CFuncs.Mesh.Create("SpecialMesh", Shield, "FileMesh", "rbxassetid://708292865", Vector3.new(0, 0, 0), Vector3.new(0.04, 0.04, 0.04))
840
  Shield.Parent = nil
841
  EffectModel = Create("Model")({Parent = Character, Name = "Effects"})
842
  Effects = {
843
    Block = {
844
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
845
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
846
        prt.Anchored = true
847
        prt.CFrame = cframe
848
        local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
849
        game:GetService("Debris"):AddItem(prt, 10)
850
        if Type == 1 or Type == nil then
851
          table.insert(Effects, {
852
            prt,
853
            "Block1",
854
            delay,
855
            x3,
856
            y3,
857
            z3,
858
            msh
859
          })
860
        elseif Type == 2 then
861
          table.insert(Effects, {
862
            prt,
863
            "Block2",
864
            delay,
865
            x3,
866
            y3,
867
            z3,
868
            msh
869
          })
870
        end
871
      end
872
    },
873
    Cylinder = {
874
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
875
        local prt = CFuncs.Part .. Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.2, 0.2, 0.2))
876
        prt.Anchored = true
877
        prt.CFrame = cframe
878
        local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
879
        game:GetService("Debris"):AddItem(prt, 2)
880
        Effects[#Effects + 1] = {
881
          prt,
882
          "Cylinder",
883
          delay,
884
          x3,
885
          y3,
886
          z3
887
        }
888
      end
889
    },
890
    Head = {
891
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
892
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
893
        prt.Anchored = true
894
        prt.CFrame = cframe
895
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Head", "nil", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
896
        game:GetService("Debris"):AddItem(prt, 10)
897
        table.insert(Effects, {
898
          prt,
899
          "Cylinder",
900
          delay,
901
          x3,
902
          y3,
903
          z3,
904
          msh
905
        })
906
      end
907
    },
908
    Sphere = {
909
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
910
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
911
        prt.Anchored = true
912
        prt.CFrame = cframe
913
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
914
        game:GetService("Debris"):AddItem(prt, 10)
915
        table.insert(Effects, {
916
          prt,
917
          "Cylinder",
918
          delay,
919
          x3,
920
          y3,
921
          z3,
922
          msh
923
        })
924
      end
925
    },
926
    Sphere2 = {
927
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
928
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
929
        prt.Anchored = true
930
        prt.CFrame = cframe
931
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
932
        game:GetService("Debris"):AddItem(prt, 10)
933
        table.insert(Effects, {
934
          prt,
935
          "Cylinder",
936
          delay,
937
          x3,
938
          y3,
939
          z3,
940
          msh
941
        })
942
      end
943
    },
944
    Elec = {
945
      Create = function(cff, x, y, z)
946
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, BrickColor.new("Royal purple"), "Part", Vector3.new(1, 1, 1))
947
        prt.Anchored = true
948
        prt.CFrame = cff * CFrame.new(math.random(-x, x), math.random(-y, y), math.random(-z, z))
949
        prt.CFrame = CFrame.new(prt.Position)
950
        game:GetService("Debris"):AddItem(prt, 2)
951
        local xval = math.random() / 2
952
        local yval = math.random() / 2
953
        local zval = math.random() / 2
954
        local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(xval, yval, zval))
955
        table.insert(Effects, {
956
          prt,
957
          "Elec",
958
          0.1,
959
          x,
960
          y,
961
          z,
962
          xval,
963
          yval,
964
          zval
965
        })
966
      end
967
    },
968
    Ring = {
969
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
970
        local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
971
        prt.Anchored = true
972
        prt.CFrame = cframe
973
        local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
974
        game:GetService("Debris"):AddItem(prt, 10)
975
        table.insert(Effects, {
976
          prt,
977
          "Cylinder",
978
          delay,
979
          x3,
980
          y3,
981
          z3,
982
          msh
983
        })
984
      end
985
    },
986
    Wave = {
987
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
988
        local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
989
        prt.Anchored = true
990
        prt.CFrame = cframe
991
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
992
        game:GetService("Debris"):AddItem(prt, 10)
993
        table.insert(Effects, {
994
          prt,
995
          "Cylinder",
996
          delay,
997
          x3,
998
          y3,
999
          z3,
1000
          msh
1001
        })
1002
      end
1003
    },
1004
    Break = {
1005
      Create = function(brickcolor, cframe, x1, y1, z1)
1006
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
1007
        prt.Anchored = true
1008
        prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1009
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1010
        local num = math.random(10, 50) / 1000
1011
        game:GetService("Debris"):AddItem(prt, 10)
1012
        table.insert(Effects, {
1013
          prt,
1014
          "Shatter",
1015
          num,
1016
          prt.CFrame,
1017
          math.random() - math.random(),
1018
          0,
1019
          math.random(50, 100) / 100
1020
        })
1021
      end
1022
    },
1023
    Fire = {
1024
      Create = function(brickcolor, cframe, x1, y1, z1, delay)
1025
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
1026
        prt.Anchored = true
1027
        prt.CFrame = cframe
1028
        msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1029
        game:GetService("Debris"):AddItem(prt, 10)
1030
        table.insert(Effects, {
1031
          prt,
1032
          "Fire",
1033
          delay,
1034
          1,
1035
          1,
1036
          1,
1037
          msh
1038
        })
1039
      end
1040
    },
1041
    FireWave = {
1042
      Create = function(brickcolor, cframe, x1, y1, z1)
1043
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 1, brickcolor, "Effect", Vector3.new())
1044
        prt.Anchored = true
1045
        prt.CFrame = cframe
1046
        msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1047
        local d = Create("Decal")({
1048
          Parent = prt,
1049
          Texture = "rbxassetid://26356434",
1050
          Face = "Top"
1051
        })
1052
        local d = Create("Decal")({
1053
          Parent = prt,
1054
          Texture = "rbxassetid://26356434",
1055
          Face = "Bottom"
1056
        })
1057
        game:GetService("Debris"):AddItem(prt, 10)
1058
        table.insert(Effects, {
1059
          prt,
1060
          "FireWave",
1061
          1,
1062
          30,
1063
          math.random(400, 600) / 100,
1064
          msh
1065
        })
1066
      end
1067
    },
1068
    Lightning = {
1069
      Create = function(p0, p1, tym, ofs, col, th, tra, last)
1070
        local magz = (p0 - p1).magnitude
1071
        local curpos = p0
1072
        local trz = {
1073
          -ofs,
1074
          ofs
1075
        }
1076
        for i = 1, tym do
1077
          local li = CFuncs.Part.Create(EffectModel, "Neon", 0, tra or 0.4, col, "Ref", Vector3.new(th, th, magz / tym))
1078
          local ofz = Vector3.new(trz[math.random(1, 2)], trz[math.random(1, 2)], trz[math.random(1, 2)])
1079
          local trolpos = CFrame.new(curpos, p1) * CFrame.new(0, 0, magz / tym).p + ofz
1080
          li.Material = "Neon"
1081
          if tym == i then
1082
            local magz2 = (curpos - p1).magnitude
1083
            li.Size = Vector3.new(th, th, magz2)
1084
            li.CFrame = CFrame.new(curpos, p1) * CFrame.new(0, 0, -magz2 / 2)
1085
            table.insert(Effects, {
1086
              li,
1087
              "Disappear",
1088
              last
1089
            })
1090
          else
1091
            li.CFrame = CFrame.new(curpos, trolpos) * CFrame.new(0, 0, magz / tym / 2)
1092
            curpos = li.CFrame * CFrame.new(0, 0, magz / tym / 2).p
1093
            game.Debris:AddItem(li, 10)
1094
            table.insert(Effects, {
1095
              li,
1096
              "Disappear",
1097
              last
1098
            })
1099
          end
1100
        end
1101
      end
1102
    },
1103
    EffectTemplate = {}
1104
  }
1105
  local Invisible = true
1106
  function Reappear()
1107
    for _, i in pairs(AdvancingFortress:children()) do
1108
      if i:IsA("BasePart") then
1109
        coroutine.resume(coroutine.create(function(Part)
1110
          for i = 0, 1, 0.3 do
1111
            swait()
1112
            Part.Transparency = -i
1113
          end
1114
          Part.Transparency = 0
1115
        end), i)
1116
      end
1117
    end
1118
    for _, i in pairs(m:children()) do
1119
      if i:IsA("BasePart") then
1120
        coroutine.resume(coroutine.create(function(Part)
1121
          for i = 0, 1, 0.3 do
1122
            swait()
1123
            Part.Transparency = i
1124
          end
1125
          Part.Transparency = 0
1126
        end), i)
1127
      end
1128
    end
1129
  end
1130
  function ReappearArmorOnly()
1131
    for _, i in pairs(m:children()) do
1132
      if i:IsA("BasePart") then
1133
        coroutine.resume(coroutine.create(function(Part)
1134
          for i = 0, 1, 0.3 do
1135
            swait()
1136
            Part.Transparency = i
1137
          end
1138
          Part.Transparency = 0
1139
        end), i)
1140
      end
1141
    end
1142
  end
1143
  function Disappear()
1144
    for _, i in pairs(AdvancingFortress:children()) do
1145
      if i:IsA("BasePart") then
1146
        coroutine.resume(coroutine.create(function(Part)
1147
          for i = 0, 1, 0.3 do
1148
            swait()
1149
            Part.Transparency = i
1150
          end
1151
          Part.Transparency = 1
1152
        end), i)
1153
      end
1154
    end
1155
    for _, i in pairs(m:children()) do
1156
      if i:IsA("BasePart") then
1157
        coroutine.resume(coroutine.create(function(Part)
1158
          for i = 0, 1, 0.3 do
1159
            swait()
1160
            Part.Transparency = i
1161
          end
1162
          Part.Transparency = 1
1163
        end), i)
1164
      end
1165
    end
1166
  end
1167
  function DisappearArmorOnly()
1168
    for _, i in pairs(m:children()) do
1169
      if i:IsA("BasePart") then
1170
        coroutine.resume(coroutine.create(function(Part)
1171
          for i = 0, 1, 0.3 do
1172
            swait()
1173
            Part.Transparency = i
1174
          end
1175
          Part.Transparency = 1
1176
        end), i)
1177
      end
1178
    end
1179
  end
1180
  function CamShake(time, freq)
1181
    coroutine.resume(coroutine.create(function()
1182
      local cam = game:GetService("Workspace").CurrentCamera
1183
      local time = 10
1184
      local seed = Vector3.new(math.random(100, 200) / freq, math.random(100, 200) / freq, 0)
1185
      if math.random(1, 2) == 1 then
1186
        seed = Vector3.new(-seed.x, seed.y, 0)
1187
      end
1188
      if math.random(1, 2) == 1 then
1189
        seed = Vector3.new(seed.x, -seed.y, 0)
1190
      end
1191
      cam.CoordinateFrame = CFrame.new(cam.Focus.p) * (cam.CoordinateFrame - cam.CoordinateFrame.p) * CFrame.fromEulerAnglesXYZ(seed.x * time, seed.y * time, 0) * CFrame.new(0, 0, (cam.CoordinateFrame.p - cam.Focus.p).magnitude)
1192
      for i = 1, time do
1193
        cam.CoordinateFrame = CFrame.new(cam.Focus.p) * (cam.CoordinateFrame - cam.CoordinateFrame.p) * CFrame.fromEulerAnglesXYZ(-seed.x, -seed.y, 0) * CFrame.new(0, 0, (cam.CoordinateFrame.p - cam.Focus.p).magnitude)
1194
        wait()
1195
      end
1196
    end))
1197
  end
1198
  local ora = false
1199
  function ORA()
1200
    attack = true
1201
    local S = CFuncs.Sound.Create("161823027", Torso, 1, 1)
1202
    S.Looped = true
1203
    if ora == true then
1204
      while ora == true do
1205
        CFuncs.Sound.Create("200632136", HitboxL, 0.3, math.random(1, 1.2))
1206
        MagnitudeDamage(HitboxL, 5, 4, 10, 0, "Normal", "260430117", 1)
1207
        for i = 0, 1, 0.8 do
1208
          swait()
1209
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -4), 0.5)
1210
          PlayAnimationFromTable({
1211
            CFrame.new(-0.561874092, -0.346845925, -0.435822666, 0.64278698, -0.323744029, 0.694272816, 0, 0.906308115, 0.422617555, -0.766044974, -0.271653026, 0.582563102) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1212
            CFrame.new(8.9481473E-6, 1.49999249, 5.2684918E-6, 0.704669476, 0.0560214818, -0.707321048, -0.0868221819, 0.996195257, -0.0075956285, 0.704204142, 0.0667634308, 0.706852198) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1213
            CFrame.new(1.97048378, 0.808467984, -0.254994273, -0.457079947, -0.7819345, 0.423859, 0.842444837, -0.227779076, 0.488266319, -0.285246044, 0.580254436, 0.762849629) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1214
            CFrame.new(-1.18535733, 0.530705392, -0.713678956, 0.778861284, -0.400152355, 0.482962847, 0.492400557, -0.0868335962, -0.866026342, 0.388479888, 0.912325621, 0.129403993) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1215
            CFrame.new(0.708622813, -1.45549953, -0.199998885, 0.984808087, -0.167729571, -0.0449446738, 0.173646823, 0.951251328, 0.254887581, 1.4603138E-6, -0.258819878, 0.965925694) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1216
            CFrame.new(-0.604502141, -1.943735, 5.15520573E-4, 0.982544005, 0.00845471025, 0.185841322, -0.0717865527, 0.938827574, 0.336824685, -0.17162481, -0.34428525, 0.923045695) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1217
          }, 0.8, false)
1218
        end
1219
        CFuncs.Sound.Create("200632136", HitboxR, 0.3, math.random(1, 1.2))
1220
        MagnitudeDamage(HitboxR, 5, 4, 10, 0, "Normal", "260430117", 1)
1221
        for i = 0, 1, 0.8 do
1222
          swait()
1223
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -4), 0.5)
1224
          PlayAnimationFromTable({
1225
            CFrame.new(1.1920929E-6, -0.0170394331, -0.52941519, 0.70710516, -2.21270369E-7, -0.707108498, 0.18301405, 0.965925574, 0.183012888, 0.683014154, -0.258820117, 0.683010995) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1226
            CFrame.new(-1.22189522E-6, 1.49999356, 1.04308128E-6, 0.707110465, 0.122788236, 0.696360528, -1.4748274E-6, 0.98480773, -0.173648238, -0.707103193, 0.122787461, 0.696368098) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1227
            CFrame.new(1.44562268, 0.333473027, -0.475224167, 0.907739162, 0.217196256, 0.358959734, 0.40125221, -0.199453548, -0.893991232, -0.122576535, 0.955528319, -0.268199235) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1228
            CFrame.new(-1.884794, 0.881342709, -0.770847201, 0.0912726, 0.688403964, -0.719562054, -0.91795665, -0.221949756, -0.328776807, -0.386037856, 0.690535009, 0.611666858) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1229
            CFrame.new(0.789779902, -1.8586235, 0.161380947, 0.965926766, -0.258817255, -8.10623169E-6, 0.243211254, 0.907672405, 0.342022836, -0.0885141194, -0.330371499, 0.939691722) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1230
            CFrame.new(-0.73783946, -1.45406294, -0.215006173, 0.882573366, -0.0180292428, 0.469829261, -0.163172901, 0.925412893, 0.342031717, -0.440952569, -0.378531486, 0.813802838) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1231
          }, 0.8, false)
1232
        end
1233
        CFuncs.Sound.Create("200632136", HitboxL, 0.3, math.random(1, 1.2))
1234
        MagnitudeDamage(HitboxL, 5, 4, 10, 0, "Normal", "260430117", 1)
1235
        for i = 0, 1, 0.8 do
1236
          swait()
1237
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -4), 0.5)
1238
          PlayAnimationFromTable({
1239
            CFrame.new(0.215482175, -0.0393944569, -0.126133978, 0.259671897, -0.351393819, 0.8994959, -0.075478971, 0.921212733, 0.381667405, -0.962742627, -0.167001322, 0.212690249) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1240
            CFrame.new(-1.26510859E-5, 1.49999118, -2.16066837E-7, 0.420251548, -0.0215960592, -0.90715003, -0.100918382, 0.992402375, -0.0703775883, 0.901778162, 0.12112467, 0.414879382) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1241
            CFrame.new(1.81840861, 0.705381036, -0.347923756, -0.236346364, -0.883376777, 0.404705286, 0.945798516, -0.113677993, 0.304209948, -0.222726092, 0.454668403, 0.862362981) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1242
            CFrame.new(-1.21960759, 0.420275182, -0.728423595, -0.57802856, -0.255150676, 0.775100708, 0.665436089, -0.697164714, 0.266751111, 0.472311139, 0.669969678, 0.572767615) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1243
            CFrame.new(0.620917439, -1.53014767, -0.12091887, 0.707106113, 0.241845652, -0.66446346, -1.2293458E-6, 0.939692676, 0.342019886, 0.707107484, -0.241843566, 0.664462805) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1244
            CFrame.new(-0.873213649, -1.89646459, -0.100004375, 0.933012128, 0.353242815, -0.0686147735, -0.258823931, 0.791241407, 0.554028153, 0.249997303, -0.499155849, 0.829665601) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1245
          }, 0.8, false)
1246
        end
1247
        CFuncs.Sound.Create("200632136", HitboxR, 0.3, math.random(1, 1.2))
1248
        MagnitudeDamage(HitboxR, 5, 4, 10, 0, "Normal", "260430117", 1)
1249
        for i = 0, 1, 0.8 do
1250
          swait()
1251
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -4), 0.5)
1252
          PlayAnimationFromTable({
1253
            CFrame.new(0.299998224, -0.0468490347, -0.211314023, 0.642786682, -2.87348001E-7, -0.766045272, 0.323744863, 0.906307757, 0.271653205, 0.694272637, -0.42261824, 0.582562685) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1254
            CFrame.new(2.71201134E-6, 1.4999969, 8.94069672E-7, 0.642777503, 0.133020476, 0.754416466, 4.31999706E-6, 0.984809279, -0.173647597, -0.766052961, 0.111620098, 0.633012772) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1255
            CFrame.new(1.27057993, 0.327670783, -0.599993467, 0.638493001, 0.280156553, -0.716825664, -0.769049883, 0.196164608, -0.608343422, -0.0298155248, 0.939697862, 0.340704083) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1256
            CFrame.new(-1.86040878, 1.02262986, -0.452570885, 0.386218816, 0.717701018, -0.579433978, -0.403004408, -0.433759809, -0.805879354, -0.829712272, 0.544763446, 0.121709965) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1257
            CFrame.new(0.779964924, -1.75316048, -0.0263362825, 0.826099217, -0.36394459, 0.43023771, 0.181541473, 0.894650102, 0.40822047, -0.533481896, -0.259124577, 0.805140793) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1258
            CFrame.new(-0.724003315, -1.47219872, -0.266945302, 0.766038954, -0.166370958, 0.620890498, 4.09781933E-6, 0.965925932, 0.258819997, -0.642794192, -0.198263675, 0.739937425) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1259
          }, 0.8, false)
1260
        end
1261
        CFuncs.Sound.Create("200632136", HitboxL, 0.3, math.random(1, 1.2))
1262
        MagnitudeDamage(HitboxL, 5, 4, 10, 0, "Normal", "260430117", 1)
1263
      end
1264
    end
1265
    S:Stop()
1266
    local S2 = CFuncs.Sound.Create("402454350", Torso, 1.5, 1)
1267
    Instance.new("DistortionSoundEffect", S2).Level = 0.8
1268
    for i = 0, 1, 0.13 do
1269
      swait()
1270
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -3), 0.5)
1271
      PlayAnimationFromTable({
1272
        CFrame.new(2.68220901E-6, -0.0739577487, 0.0232374109, 0.707105994, -3.47710994E-7, -0.707107604, -0.122787997, 0.98480767, -0.122788213, 0.696364999, 0.173648596, 0.696363389) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1273
        CFrame.new(-5.36441803E-7, 1.49999356, -1.28149986E-6, 0.707105994, -0.122788511, 0.696365297, -3.47710994E-7, 0.984808028, 0.173649326, -0.707107604, -0.122788727, 0.696363688) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1274
        CFrame.new(1.13747835, 0.382733107, -0.729447305, 0.579597414, 0.772029877, -0.260839432, -0.351051509, -0.0523141921, -0.934893906, -0.735411942, 0.633429527, 0.240701318) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1275
        CFrame.new(-1.53455412, 0.605712295, -0.542039633, 0.786121905, 0.427828372, -0.446066588, -0.606968522, 0.398195386, -0.687771559, -0.116626531, 0.811420619, 0.572708428) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1276
        CFrame.new(0.903839946, -1.70734286, 0.373858094, 0.863655448, -0.430708885, 0.261895239, 0.187955216, 0.757234871, 0.625514567, -0.46773085, -0.491004646, 0.734943748) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1277
        CFrame.new(-0.596739769, -1.62411702, -0.0967329144, 0.725493789, -0.291957259, 0.623233199, -0.081900157, 0.86250174, 0.499382436, -0.683338165, -0.41334182, 0.601828396) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1278
      }, 0.2, false)
1279
    end
1280
    CFuncs.Sound.Create("471881954", HitboxR, 1, 1)
1281
    MagnitudeDamage(HitboxR, 7, 10, 15, 50, "Normal", "610359590", 1)
1282
    for i = 0, 1, 0.1 do
1283
      swait()
1284
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -5), 0.3)
1285
      PlayAnimationFromTable({
1286
        CFrame.new(-0.338160992, -0.0772590488, -0.484170675, 0.307024002, -0.153706044, 0.939207554, -0.403236002, 0.872901201, 0.274671286, -0.86205399, -0.463052958, 0.206021816) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1287
        CFrame.new(-0.0502282679, 1.50051379, -0.0864891857, 0.502356887, -0.246090144, -0.828901231, -0.00520065427, 0.957766473, -0.287500501, 0.864644766, 0.148738697, 0.479860842) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1288
        CFrame.new(1.81698525, 1.20575511, -0.168038458, 0.0800605565, -0.859217465, 0.505307972, 0.457053572, -0.418860257, -0.784640014, 0.885828495, 0.293771386, 0.359173566) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1289
        CFrame.new(-1.66351938, 0.691055655, 0.203685582, 0.309526145, 0.793331623, -0.524231553, -0.937197804, 0.347743452, -0.0271089375, 0.160791725, 0.499699503, 0.851144433) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1290
        CFrame.new(0.971616864, -1.6145575, 0.096719563, 0.544056833, -0.203144252, -0.814085484, 0.51142931, 0.849463344, 0.129818588, 0.665161908, -0.486975014, 0.566052973) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1291
        CFrame.new(-0.676943898, -1.44413579, 0.206094518, 0.884253025, 0.0570309162, -0.463512957, 0.209485695, 0.838620007, 0.502824426, 0.417387724, -0.541723251, 0.729605079) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1292
      }, 0.6, false)
1293
    end
1294
    attack = false
1295
  end
1296
  function CastleCrusherFist()
1297
    attack = true
1298
    STDamage = true
1299
    local S2 = CFuncs.Sound.Create("402454350", Torso, 1, 1)
1300
    Instance.new("DistortionSoundEffect", S2).Level = 0.8
1301
    for i = 0, 1, 0.1 do
1302
      swait()
1303
      Effects.Block.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 4, 4, 4, 0.3, 1)
1304
      Effects.Break.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 0.5, 0.5, 0.5)
1305
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -2), 0.2)
1306
      PlayAnimationFromTable({
1307
        CFrame.new(-5.99771738E-7, -0.00717129931, 0.169464022, 0.422617912, -2.2671E-7, -0.906308055, -0.309975952, 0.939692557, -0.144544229, 0.851650834, 0.342020661, 0.397130787) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1308
        CFrame.new(-0.0102166235, 1.52751005, -0.239579424, 0.456926107, -0.171424359, 0.872835577, -0.167732254, 0.94705075, 0.273807496, -0.87355268, -0.271512181, 0.403976858) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1309
        CFrame.new(0.944673777, 0.474064022, -0.539126158, 0.229199454, 0.762564063, 0.604949772, 0.809601307, 0.195682317, -0.553402781, -0.540382624, 0.616607308, -0.572522938) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1310
        CFrame.new(-1.61232829, 0.309644789, -0.24482432, 0.455398798, 0.536860108, -0.710207343, -0.887026072, 0.205374956, -0.413530886, -0.076149486, 0.818293095, 0.569735885) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1311
        CFrame.new(1.08113468, -1.48232126, 0.656104684, 0.81421864, -0.517612338, 0.262917578, 0.175395042, 0.651024699, 0.738514543, -0.553430021, -0.555197835, 0.620862961) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1312
        CFrame.new(-0.427128136, -1.50760674, -0.0473105907, 0.804508269, -0.373179317, 0.462065101, -0.173640698, 0.596196175, 0.783836842, -0.567992628, -0.71083647, 0.414845526) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1313
      }, 0.2, false)
1314
    end
1315
    MagnitudeDamage(HitboxR, 10, 50, 80, 100, "Normal", "610359515", 1)
1316
    Effects.Wave.Create(BrickColor.new("Royal purple"), RootPart.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)), 0.5, 0.5, 0.5, 0.6, 0.6, 0.6, 0.06)
1317
    CFuncs.Sound.Create("471881980", HitboxR, 1, 0.9)
1318
    CFuncs.Sound.Create("471881954", HitboxR, 1, 0.8)
1319
    for i = 0, 1, 0.08 do
1320
      swait()
1321
      Effects.Block.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 4, 4, 4, 0.3, 1)
1322
      Effects.Break.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 0.5, 0.5, 0.5)
1323
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -5), 0.3)
1324
      PlayAnimationFromTable({
1325
        CFrame.new(-3.57627869E-7, -0.116980031, -2.22140098, 0.342020035, -6.11579551E-8, 0.939692736, -0.604023039, 0.766044259, 0.219846413, -0.71984607, -0.642787933, 0.262002468) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1326
        CFrame.new(-1.13248825E-6, 1.49999046, 8.94069672E-7, 0.422608167, -0.383014679, -0.82140249, -1.36196613E-5, 0.906310022, -0.422613323, 0.906312764, 0.17861104, 0.383008778) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1327
        CFrame.new(1.72490048, 1.25688744, -0.021425128, -0.678134382, -0.731868863, 0.0670941696, 0.667953849, -0.575675249, 0.47163111, -0.306547582, 0.364645123, 0.879239857) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1328
        CFrame.new(-1.70565486, 0.469353855, 0.162862837, 0.82686162, 0.55728358, 0.0757693052, -0.414878726, 0.513436973, 0.751176, 0.379712611, -0.652546048, 0.655748963) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1329
        CFrame.new(0.757160306, -1.48393714, -0.193787217, 0.601814985, 0.305624545, -0.737842917, -2.98023224E-8, 0.923879623, 0.382683486, 0.798635662, -0.230304718, 0.556004763) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1330
        CFrame.new(-0.908789515, -1.60188651, -0.0663503706, 0.696367741, 0.548584938, -0.462741733, -0.173660636, 0.7544052, 0.633021533, 0.696362019, -0.360454619, 0.620610356) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1331
      }, 0.6, false)
1332
    end
1333
    STDamage = false
1334
    attack = false
1335
  end
1336
  function CastleCrusherFist()
1337
    attack = true
1338
    STDamage = true
1339
    local S2 = CFuncs.Sound.Create("402454350", Torso, 1, 1)
1340
    Instance.new("DistortionSoundEffect", S2).Level = 0.8
1341
    for i = 0, 1, 0.1 do
1342
      swait()
1343
      Effects.Block.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 4, 4, 4, 0.3, 1)
1344
      Effects.Break.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 0.5, 0.5, 0.5)
1345
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -2), 0.5)
1346
      PlayAnimationFromTable({
1347
        CFrame.new(-5.99771738E-7, -0.00717129931, 0.169464022, 0.422617912, -2.2671E-7, -0.906308055, -0.309975952, 0.939692557, -0.144544229, 0.851650834, 0.342020661, 0.397130787) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1348
        CFrame.new(-0.0102166235, 1.52751005, -0.239579424, 0.456926107, -0.171424359, 0.872835577, -0.167732254, 0.94705075, 0.273807496, -0.87355268, -0.271512181, 0.403976858) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1349
        CFrame.new(0.944673777, 0.474064022, -0.539126158, 0.229199454, 0.762564063, 0.604949772, 0.809601307, 0.195682317, -0.553402781, -0.540382624, 0.616607308, -0.572522938) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1350
        CFrame.new(-1.61232829, 0.309644789, -0.24482432, 0.455398798, 0.536860108, -0.710207343, -0.887026072, 0.205374956, -0.413530886, -0.076149486, 0.818293095, 0.569735885) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1351
        CFrame.new(1.08113468, -1.48232126, 0.656104684, 0.81421864, -0.517612338, 0.262917578, 0.175395042, 0.651024699, 0.738514543, -0.553430021, -0.555197835, 0.620862961) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1352
        CFrame.new(-0.427128136, -1.50760674, -0.0473105907, 0.804508269, -0.373179317, 0.462065101, -0.173640698, 0.596196175, 0.783836842, -0.567992628, -0.71083647, 0.414845526) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1353
      }, 0.2, false)
1354
    end
1355
    Effects.Wave.Create(BrickColor.new("Royal purple"), RootPart.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)), 0.5, 0.5, 0.5, 0.6, 0.6, 0.6, 0.06)
1356
    Character.HumanoidRootPart.Velocity = Character.HumanoidRootPart.CFrame.lookVector * 140
1357
    CFuncs.Sound.Create("471881980", HitboxR, 1, 0.9)
1358
    CFuncs.Sound.Create("471881954", HitboxR, 1, 0.8)
1359
    for i = 0, 1, 0.08 do
1360
      swait()
1361
      MagnitudeDamage(HitboxR, 5, 50, 80, 100, "Normal", "610359515", 1)
1362
      Effects.Block.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 4, 4, 4, 0.3, 1)
1363
      Effects.Break.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 0.5, 0.5, 0.5)
1364
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -5), 1)
1365
      PlayAnimationFromTable({
1366
        CFrame.new(-3.57627869E-7, -0.116980031, -2.22140098, 0.342020035, -6.11579551E-8, 0.939692736, -0.604023039, 0.766044259, 0.219846413, -0.71984607, -0.642787933, 0.262002468) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1367
        CFrame.new(-1.13248825E-6, 1.49999046, 8.94069672E-7, 0.422608167, -0.383014679, -0.82140249, -1.36196613E-5, 0.906310022, -0.422613323, 0.906312764, 0.17861104, 0.383008778) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1368
        CFrame.new(1.72490048, 1.25688744, -0.021425128, -0.678134382, -0.731868863, 0.0670941696, 0.667953849, -0.575675249, 0.47163111, -0.306547582, 0.364645123, 0.879239857) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1369
        CFrame.new(-1.70565486, 0.469353855, 0.162862837, 0.82686162, 0.55728358, 0.0757693052, -0.414878726, 0.513436973, 0.751176, 0.379712611, -0.652546048, 0.655748963) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1370
        CFrame.new(0.757160306, -1.48393714, -0.193787217, 0.601814985, 0.305624545, -0.737842917, -2.98023224E-8, 0.923879623, 0.382683486, 0.798635662, -0.230304718, 0.556004763) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1371
        CFrame.new(-0.908789515, -1.60188651, -0.0663503706, 0.696367741, 0.548584938, -0.462741733, -0.173660636, 0.7544052, 0.633021533, 0.696362019, -0.360454619, 0.620610356) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1372
      }, 0.6, false)
1373
    end
1374
    STDamage = false
1375
    attack = false
1376
  end
1377
  function weld5(part0, part1, c0, c1)
1378
    local weeld = Instance.new("Weld", part0)
1379
    weeld.Part0 = part0
1380
    weeld.Part1 = part1
1381
    weeld.C0 = c0
1382
    weeld.C1 = c1
1383
    return weeld
1384
  end
1385
  local Grab = false
1386
  function GRABEMBOIGRABEM()
1387
    attack = true
1388
    gp = nil
1389
    con1 = HitboxR.Touched:connect(function(hit)
1390
      local ht = hit.Parent
1391
      local hum1 = ht:FindFirstChild("Humanoid")
1392
      if Grab == false then
1393
        if hum1 ~= nil and hit.Parent ~= Character then
1394
          hum1.PlatformStand = true
1395
          gp = ht
1396
          Grab = true
1397
          local asd = weld5(RightArm, ht:FindFirstChild("Torso"), CFrame.new(0, -1.5, 0), CFrame.new(0, 0, 0))
1398
          asd.Parent = RightArm
1399
          asd.Name = "asd"
1400
          asd.C0 = asd.C0 * CFrame.Angles(math.rad(-90), 0, 0)
1401
          CFuncs.Sound.Create("200632821", Torso, 1, 1)
1402
        elseif hum1 == nil then
1403
          con1:disconnect()
1404
          wait()
1405
          return
1406
        end
1407
      end
1408
    end)
1409
    for i = 0, 1, 0.2 do
1410
      swait()
1411
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -2), 0.3)
1412
      PlayAnimationFromTable({
1413
        CFrame.new(-1.08022243E-4, -0.233785003, -0.0873367637, 0.499999821, -1.78813863E-7, -0.866025507, 0.150383934, 0.984807789, 0.0868239477, 0.852868676, -0.173648283, 0.492403716) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1414
        CFrame.new(-1.2665987E-7, 1.49999368, -1.02072954E-6, 0.573575675, 0.0713936985, 0.816035628, -5.01982868E-7, 0.996194899, -0.0871551931, -0.819152594, 0.049989678, 0.571393132) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1415
        CFrame.new(1.47017705, 0.884583473, 0.0280318335, 0.886720777, -0.205462068, 0.414139926, 0.236241817, -0.568640172, -0.787933052, 0.397386849, 0.796513736, -0.455686152) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1416
        CFrame.new(-1.76647317, 0.409804255, -0.03838256, 0.444113791, 0.836516619, -0.320940912, -0.836516619, 0.258818626, -0.482962757, -0.320940822, 0.482962757, 0.814704895) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1417
        CFrame.new(0.838749349, -1.98392951, 0.15807499, 0.830397308, -0.277826965, 0.48296237, 0.167731524, 0.951251447, 0.258818328, -0.53132534, -0.133914024, 0.836516857) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1418
        CFrame.new(-0.811016142, -1.63281643, -0.179561377, 0.642214835, 0.00870995224, 0.76647532, -0.0151349902, 0.999884725, 0.00131897628, -0.766375303, -0.0124476701, 0.642272472) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1419
      }, 0.3, false)
1420
    end
1421
    for i = 0, 1, 0.1 do
1422
      swait()
1423
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -6), 0.3)
1424
      PlayAnimationFromTable({
1425
        CFrame.new(0.159273595, -0.292363107, -0.115490548, 0.0844330043, -0.144068986, 0.985959053, -0.357129037, 0.919379771, 0.164923266, -0.930231094, -0.366039604, 0.0261747837) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1426
        CFrame.new(4.81307507E-6, 1.49999106, -3.65450978E-6, 0.171444774, -0.100317284, -0.980072975, -0.0616287738, 0.991762042, -0.11229457, 0.983264267, 0.0796530023, 0.163850009) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1427
        CFrame.new(1.73932612, 1.06159639, 0.141945362, -0.153680667, -0.913934886, 0.375639945, 0.659919798, -0.377877831, -0.649395287, 0.735450923, 0.148092732, 0.661196351) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1428
        CFrame.new(-1.68730593, 0.429691374, -0.418232322, 0.633863091, 0.519853055, -0.57268703, -0.772902489, 0.453472316, -0.443829596, 0.028971523, 0.723958433, 0.689235032) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1429
        CFrame.new(0.51381135, -1.74729896, 0.0663300753, 0.422899842, 0.615153313, -0.665388703, -0.0435856879, 0.747240186, 0.66312325, 0.905127704, -0.251433372, 0.342819571) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1430
        CFrame.new(-0.991570175, -1.5009346, -0.1830419, 0.415304065, 0.586875141, -0.695054054, -0.166150108, 0.800146103, 0.576333642, 0.894380629, -0.123870395, 0.429813296) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1431
      }, 0.3, false)
1432
    end
1433
    if Grab == true then
1434
      for i = 1, 5 do
1435
        for i = 0, 1, 0.35 do
1436
          swait()
1437
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 13, -6), 0.3)
1438
          PlayAnimationFromTable({
1439
            CFrame.new(-0.0701122433, -0.336599797, -0.467321932, 0.694850504, -0.140219957, -0.70535183, 0.704946458, 0.326802045, 0.629484713, 0.142244101, -0.934633017, 0.325926095) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1440
            CFrame.new(-3.05473804E-6, 1.49998987, 8.94069672E-7, 0.707109332, 0.122785509, 0.696362555, 1.49011612E-6, 0.984807491, -0.173649877, -0.707104206, 0.122789055, 0.696367502) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1441
            CFrame.new(1.23286271, 0.549701929, -0.640782475, 0.740093768, 0.612683415, 0.277277708, 0.0735714883, 0.336068332, -0.938959956, -0.668469429, 0.715318501, 0.203645304) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1442
            CFrame.new(-1.63418663, 0.202915072, -0.0286649466, 0.865367413, 0.490698665, 0.101754986, -0.445756227, 0.846484005, -0.291146517, -0.228999093, 0.206590697, 0.951251805) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1443
            CFrame.new(0.702593744, -1.71321297, 0.369734973, 0.965928972, -0.148447216, 0.212003857, 1.10641122E-6, 0.819153726, 0.573574424, -0.258809477, -0.554031372, 0.791244447) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1444
            CFrame.new(-0.577289343, -1.34221494, -0.247686923, 0.766049445, -0.219846189, 0.604016602, 1.58697367E-6, 0.939692199, 0.342021465, -0.642781496, -0.262004316, 0.719851196) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1445
          }, 0.4, false)
1446
        end
1447
        for i = 0, 1, 0.3 do
1448
          swait()
1449
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -6), 0.3)
1450
          PlayAnimationFromTable({
1451
            CFrame.new(-0.170705646, -0.774955988, -0.472947001, 0.827218175, 0.130671635, 0.546475112, -0.561879098, 0.194839522, 0.803946257, -0.00142200035, -0.972091854, 0.234596446) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1452
            CFrame.new(-1.76951289E-7, 1.49999058, 2.2649765E-6, 0.80180192, -0.161171481, -0.575445414, 0.176131338, 0.983905077, -0.0301590711, 0.571044207, -0.0771723837, 0.817283988) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1453
            CFrame.new(1.59014189, 0.537312388, -0.263691217, 0.798337102, -0.524361372, 0.296147287, 0.455999702, 0.205153137, -0.866011977, 0.393347621, 0.826412499, 0.402889967) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1454
            CFrame.new(-1.41546631, 0.414666086, 0.337005794, 0.716736436, 0.581529975, 0.384852976, -0.56681174, 0.807305396, -0.164264664, -0.406218559, -0.100404784, 0.908243656) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1455
            CFrame.new(0.793360233, -1.59947133, 0.0620805621, 0.876221955, -0.148448378, -0.458477885, 0.368687749, 0.81915307, 0.439383447, 0.310339272, -0.55403173, 0.772486985) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1456
            CFrame.new(-0.535338402, -1.81867206, 0.817932665, 0.829598367, 0.11430642, -0.546535134, 0.32139504, 0.702652454, 0.634810925, 0.456587166, -0.702291727, 0.546181798) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1457
          }, 0.7, false)
1458
        end
1459
        local hit, pos = rayCast(HitboxR.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 100, Character)
1460
        if hit ~= nil then
1461
          MagnitudeDamage(HitboxR, 5, 10, 30, 0, "Normal", "610359515", 1.3)
1462
          Effects.Block.Create(BrickColor.new("Royal purple"), CFrame.new(pos), 1, 1, 1, 0.7, 0.7, 0.7, 0.09, 1)
1463
          Effects.Wave.Create(BrickColor.new("Royal purple"), CFrame.new(pos), 1, 1, 1, 0.7, 0.7, 0.7, 0.09)
1464
          Effects.Sphere.Create(BrickColor.new("Royal purple"), CFrame.new(pos), 3, 3, 3, 5, 5, 5, 0.09)
1465
        end
1466
      end
1467
    end
1468
    for i, v in pairs(RightArm:GetChildren()) do
1469
      if v.Name == "asd" and v:IsA("Weld") then
1470
        v:Remove()
1471
      end
1472
    end
1473
    Grab = false
1474
    con1:disconnect()
1475
    attack = false
1476
  end
1477
  local IsWearingArmor = false
1478
  function Armor(Mode)
1479
    attack = true
1480
    if IsWearingArmor == false and Mode == "On" then
1481
      IsWearingArmor = true
1482
      Disappear()
1483
      swait(10)
1484
      ReappearArmorOnly()
1485
      Character.Humanoid.MaxHealth = 500
1486
      Character.Humanoid.Health = 500
1487
      HHandleWeld.Part0 = Character.Head
1488
      THandleWeld.Part0 = Character.Torso
1489
      AHandleRWeld.Part0 = Character["Right Arm"]
1490
      AHandleLWeld.Part0 = Character["Left Arm"]
1491
      LHandleRWeld.Part0 = Character["Right Leg"]
1492
      LHandleLWeld.Part0 = Character["Left Leg"]
1493
      for i, v in pairs(AdvancingFortress:GetChildren()) do
1494
        if v:IsA("BasePart") then
1495
          v.Transparency = 1
1496
        end
1497
      end
1498
      for i, v in pairs(Character:GetChildren()) do
1499
        if v:IsA("Accessory") then
1500
          v.Handle.Transparency = 1
1501
        end
1502
      end
1503
    elseif IsWearingArmor == true and Mode == "Off" then
1504
      IsWearingArmor = false
1505
      DisappearArmorOnly()
1506
      for i, v in pairs(Character:GetChildren()) do
1507
        if v:IsA("Accessory") then
1508
          v.Handle.Transparency = 0
1509
        end
1510
      end
1511
      swait(10)
1512
      Reappear()
1513
      Character.Humanoid.MaxHealth = 100
1514
      Character.Humanoid.Health = 100
1515
      HHandleWeld.Part0 = Head
1516
      THandleWeld.Part0 = Torso
1517
      AHandleRWeld.Part0 = RightArm
1518
      AHandleLWeld.Part0 = LeftArm
1519
      LHandleRWeld.Part0 = RightLeg
1520
      LHandleLWeld.Part0 = LeftLeg
1521
      for i, v in pairs(AdvancingFortress:GetChildren()) do
1522
        if v:IsA("BasePart") then
1523
          v.Transparency = 0
1524
        end
1525
      end
1526
    end
1527
    attack = false
1528
  end
1529
  local ShieldMode = false
1530
  local ShieldCharge = false
1531
  function HoloHexShield()
1532
    attack = true
1533
    Shield.Parent = m
1534
    Shield.CanCollide = true
1535
    if ShieldMode == true then
1536
      while ShieldMode == true do
1537
        swait()
1538
        Effects.Elec.Create(Shield.CFrame, 6, 6, 6)
1539
        RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -4), 0.3)
1540
        PlayAnimationFromTable({
1541
          CFrame.new(-1.35600567E-6, -0.00759640103, -0.0868249983, 0.499999046, -1.78813579E-7, -0.866026044, 0.150384009, 0.984807789, 0.0868238211, 0.852869093, -0.173648283, 0.492402941) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1542
          CFrame.new(1.49011612E-7, 1.4999963, -2.08616257E-7, 0.499999046, 0.0754797831, 0.862731695, -1.78813579E-7, 0.996196151, -0.0871563852, -0.866026044, 0.0435779616, 0.498097092) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1543
          CFrame.new(1.50238657, 0.320674658, 0.252193451, 0.855209947, -0.376432747, -0.356249839, 0.469514668, 0.853786647, 0.224954769, 0.219480619, -0.35964793, 0.906907678) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1544
          CFrame.new(-0.944740474, 0.689363539, -0.718644142, 0.836517215, -0.545084715, 0.0558781698, -0.258834839, -0.482974619, -0.836504936, 0.482953727, 0.685287297, -0.545103252) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1545
          CFrame.new(0.61525929, -1.85127568, 0.120779425, 0.928754449, -0.162676111, 0.333104134, 0.0394990072, 0.93689239, 0.347407103, -0.368597984, -0.309496939, 0.876555264) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1546
          CFrame.new(-0.849455297, -1.60697818, -0.270956695, 0.696359396, -0.136922374, 0.704511464, -0.122786656, 0.944430828, 0.30491665, -0.707112312, -0.298836082, 0.640850842) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1547
        }, 0.3, false)
1548
      end
1549
    end
1550
    Shield.CanCollide = false
1551
    CFuncs.Sound.Create("200632211", HitboxR, 1, 0.8)
1552
    CFuncs.Sound.Create("200632875", HitboxR, 1, 0.9)
1553
    Character.HumanoidRootPart.Velocity = Character.HumanoidRootPart.CFrame.lookVector * 160
1554
    Effects.Wave.Create(BrickColor.new("Royal purple"), RootPart.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)), 0.5, 0.5, 0.5, 0.6, 0.6, 0.6, 0.06)
1555
    for i = 0, 1, 0.05 do
1556
      swait()
1557
      MagnitudeDamage(Shield, 5, 10, 15, 20, "Normal", "610359515", 1.3)
1558
      Effects.Elec.Create(Shield.CFrame, 6, 6, 6)
1559
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -3), 1)
1560
      PlayAnimationFromTable({
1561
        CFrame.new(8.64267349E-7, -0.183445007, -0.748600185, 0.499999046, -1.19209105E-7, -0.866026044, 0.496732056, 0.819152176, 0.28678751, 0.709407032, -0.573576331, 0.409575343) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1562
        CFrame.new(-7.15255737E-7, 1.50001967, -6.2584877E-7, 0.499999046, 0.36600244, 0.784893453, -1.19209105E-7, 0.90631634, -0.42262283, -0.866026044, 0.211310923, 0.453157306) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1563
        CFrame.new(1.76569033, 0.610707581, 0.171269983, 0.658267856, -0.680293143, -0.322312057, 0.725086272, 0.457917482, 0.514355659, -0.202320263, -0.572288036, 0.794703186) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1564
        CFrame.new(-1.07552779, 1.01543474, -0.975205183, 0.645357251, -0.653341353, -0.39580214, -0.64124006, -0.181770697, -0.745500326, 0.4151209, 0.734918237, -0.536255598) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1565
        CFrame.new(0.630614281, -1.76328135, 0.440194428, 0.866077662, -0.24334389, 0.436684549, -0.0614839792, 0.815044224, 0.57612747, -0.496114343, -0.525820255, 0.69092983) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1566
        CFrame.new(-0.857700765, -1.25810766, -0.239681423, 0.499215126, -0.257185757, 0.827429712, -0.238765404, 0.877132356, 0.416689515, -0.832931936, -0.405579239, 0.376470625) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1567
      }, 0.5, false)
1568
    end
1569
    Shield.Parent = nil
1570
    attack = false
1571
  end
1572
  Mouse.Button1Down:connect(function()
1573
    if attack == false and attacktype == 1 then
1574
      attacktype = 2
1575
      attackone()
1576
    elseif attack == false and attacktype == 2 then
1577
      attacktype = 1
1578
      attacktwo()
1579
    end
1580
  end)
1581
  game.Lighting.Outlines = false
1582
  function attackone()
1583
    attack = true
1584
    for i = 0, 1, 0.12 do
1585
      swait()
1586
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -4), 0.3)
1587
      PlayAnimationFromTable({
1588
        CFrame.new(1.51857734E-4, -0.310488015, -0.087417841, 0.707106054, 5.26835073E-8, -0.707107484, 0.122787014, 0.984807968, 0.122786865, 0.696365058, -0.173646957, 0.696363688) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1589
        CFrame.new(0.101928703, 1.50244772, -0.0383823365, 0.76589334, 0.0762532279, 0.638430059, -0.0196644422, 0.995256186, -0.095281601, -0.642666996, 0.0604211651, 0.763759375) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1590
        CFrame.new(1.01774633, 0.557527065, -0.776187301, 0.541353703, 0.741649806, 0.396095604, 0.711713314, -0.153383806, -0.685520053, -0.447661191, 0.653015316, -0.610876858) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1591
        CFrame.new(-1.07208586, 0.264054269, -0.716768324, 0.529938459, -0.260122895, -0.807156265, -0.752277017, 0.295165181, -0.589030504, 0.39146477, 0.919355154, -0.039265126) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1592
        CFrame.new(0.81415844, -1.89738977, 0.144144416, 0.866025925, -0.171008825, 0.469845951, -1.40815973E-6, 0.939692497, 0.342020512, -0.499999285, -0.296199232, 0.813797772) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1593
        CFrame.new(-0.818738878, -1.59999573, -0.397991776, 0.642786622, 0.0667650178, 0.763130188, 4.3399632E-7, 0.99619472, -0.0871558338, -0.766045213, 0.0560229495, 0.640340626) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1594
      }, 0.3, false)
1595
    end
1596
    MagnitudeDamage(HitboxR, 7, 10, 15, math.random(1, 3), "Normal", "260430079", 1)
1597
    CFuncs.Sound.Create("200632136", HitboxR, 1, 1)
1598
    RootPart.Velocity = RootPart.CFrame.lookVector * 40
1599
    for i = 0, 1, 0.11 do
1600
      swait()
1601
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -4), 0.3)
1602
      PlayAnimationFromTable({
1603
        CFrame.new(0.31380862, -0.320521832, 0.0252371654, 0.249517962, -0.150383011, 0.956622124, -0.0458769947, 0.984923244, 0.166798219, -0.967282891, -0.0855060965, 0.238856897) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1604
        CFrame.new(0.101926193, 1.50244832, -0.0383800864, 0.337979913, 0.0762555003, -0.938059092, -0.0828148723, 0.995255768, 0.051067099, 0.937502801, 0.0604255944, 0.342691481) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1605
        CFrame.new(1.96121001, 0.774859428, -0.462411612, 0.340120375, -0.92077136, 0.191045195, 0.466549307, -0.0111669078, -0.884424806, 0.816486418, 0.389942825, 0.42578721) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1606
        CFrame.new(-1.36170578, 0.526111126, -0.597925961, 0.81348151, -0.212761745, -0.541276693, -0.539894938, 0.0697831511, -0.838834763, 0.216243982, 0.974609077, -0.0581016839) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1607
        CFrame.new(0.970680714, -1.68610644, -0.0975568295, 0.579166114, -0.127570763, -0.805166125, 0.110368893, 0.990856647, -0.0776019096, 0.807703912, -0.0439208932, 0.587950349) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1608
        CFrame.new(-0.827146292, -1.8113209, -0.0556658059, 0.816036701, 0.217413262, -0.535551846, -0.0871567726, 0.962250471, 0.257832885, 0.571391284, -0.163724124, 0.804180741) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1609
      }, 0.45, false)
1610
    end
1611
    attack = false
1612
  end
1613
  function attacktwo()
1614
    attack = true
1615
    for i = 0, 1, 0.12 do
1616
      swait()
1617
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -4), 0.3)
1618
      PlayAnimationFromTable({
1619
        CFrame.new(-0.0382043272, -0.447743475, -0.209081307, 0.653245032, -0.0733856931, 0.753581822, -0.271655023, 0.906307638, 0.323743671, -0.706735075, -0.416198224, 0.572105408) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1620
        CFrame.new(-2.74181366E-6, 1.49999321, -3.4570694E-6, 0.707105815, -0.183012873, -0.683013678, -8.7171793E-7, 0.965925694, -0.258819759, 0.707107782, 0.183013588, 0.683011472) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1621
        CFrame.new(1.65075588, 0.743636727, -0.356577665, 0.542998552, -0.115416825, 0.831764221, 0.839699984, 0.0834951103, -0.536593378, -0.00751632452, 0.989801884, 0.142253295) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1622
        CFrame.new(-1.08620656, -0.00580590963, -0.864283919, 0.656464815, -0.698875248, 0.283949524, 0.478162557, 0.0943745971, -0.873186052, 0.583450615, 0.708990037, 0.396129608) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1623
        CFrame.new(0.856426239, -1.40340364, -0.356423855, 0.707105279, -0.122788861, -0.696365654, 9.42498446E-7, 0.98480767, -0.173648372, 0.707108438, 0.122787014, 0.696362913) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1624
        CFrame.new(-0.695387185, -1.90375674, -0.304245114, 0.92541647, 0.246137589, -0.288133472, -0.173648298, 0.951251149, 0.254887551, 0.336824656, -0.185843274, 0.923044682) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1625
      }, 0.34, false)
1626
    end
1627
    MagnitudeDamage(HitboxL, 7, 10, 15, math.random(1, 3), "Normal", "260430079", 1.1)
1628
    CFuncs.Sound.Create("200632136", HitboxL, 1, 1)
1629
    RootPart.Velocity = RootPart.CFrame.lookVector * 40
1630
    for i = 0, 1, 0.12 do
1631
      swait()
1632
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -4), 0.3)
1633
      PlayAnimationFromTable({
1634
        CFrame.new(-0.479634404, -0.393727064, -0.220339894, 0.248309121, 0.219825819, -0.94340837, 0.019257009, 0.972597659, 0.231695861, 0.968489468, -0.0756994039, 0.237271711) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1635
        CFrame.new(-4.01586294E-6, 1.4999907, -1.59628689E-6, 0.237956509, -0.0991817266, 0.966198623, 0.22414881, 0.973527908, 0.0447304621, -0.945057809, 0.205928385, 0.253888786) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1636
        CFrame.new(1.08192515, 0.657660127, -1.1749661, 0.228772208, 0.493058115, 0.839379132, 0.874719322, 0.27430138, -0.399530977, -0.427234828, 0.825622678, -0.368534833) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1637
        CFrame.new(-1.23054802, 1.29996836, -0.754827142, 0.94838953, -0.316170156, 0.0243683457, -0.269034386, -0.84291333, -0.465958893, 0.167862713, 0.43535465, -0.88447094) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1638
        CFrame.new(0.839919031, -1.81287205, 0.0102108568, 0.808574855, -0.267538428, 0.524051666, 0.171010748, 0.95905602, 0.22575888, -0.562994003, -0.0929245204, 0.821220458) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1639
        CFrame.new(-0.846072078, -1.7213496, -0.247524291, 0.693717241, 0.0689389557, 0.716940701, -0.0478171073, 0.997620881, -0.0496601462, -0.718658566, 1.68083934E-4, 0.695363283) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1640
      }, 0.45, false)
1641
    end
1642
    attack = false
1643
  end
1644
  function findNearestTorso(pos)
1645
    local list = game.Workspace:children()
1646
    local torso
1647
    local dist = 1000
1648
    local temp, human, temp2
1649
    for x = 1, #list do
1650
      temp2 = list[x]
1651
      if temp2.className == "Model" and temp2.Name ~= Character.Name then
1652
        temp = temp2:findFirstChild("Torso")
1653
        human = temp2:findFirstChild("Humanoid")
1654
        if temp ~= nil and human ~= nil and human.Health > 0 and dist > (temp.Position - pos).magnitude then
1655
          local dohit = true
1656
          if dohit == true then
1657
            torso = temp
1658
            dist = (temp.Position - pos).magnitude
1659
          end
1660
        end
1661
      end
1662
    end
1663
    return torso, dist
1664
  end
1665
  function TrueAim(aim)
1666
    local target, distance = findNearestTorso(Mouse.Hit.p)
1667
    local tehcf = HitboxR.CFrame * CFrame.fromEulerAnglesXYZ(1.57, 0, 0).lookVector
1668
    if aim ~= nil then
1669
      tehcf = aim
1670
    end
1671
    table.insert(Effects, {
1672
      tehcf,
1673
      "Shoot",
1674
      30,
1675
      HitboxR.Position,
1676
      10,
1677
      15,
1678
      0,
1679
      3,
1680
      HitboxR,
1681
      target
1682
    })
1683
  end
1684
  function FireProjectiles()
1685
    attack = true
1686
    Humanoid.WalkSpeed = 20
1687
    CFuncs.Sound.Create("300915902", HitboxR, 1, 0.8)
1688
    for i = 0, 1, 0.1 do
1689
      swait()
1690
      Effects.Elec.Create(HitboxR.CFrame, 2, 2, 2)
1691
      PlayAnimationFromTable({
1692
        CFrame.new(0, -0.100000001, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1693
        CFrame.new(0, 1.49999201, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1694
        CFrame.new(0.874554753, 1.14087927, -1.06730831, -0.166365892, 0.198266983, 0.965925813, 0.797995508, -0.548363924, 0.250000268, 0.579245627, 0.812396049, -0.0669871047) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1695
        CFrame.new(-0.257126778, 1.24225974, -0.962940335, 0.692363203, -0.593008757, -0.411064416, -0.708803177, -0.665577948, -0.233675212, -0.135024026, 0.453151852, -0.88114804) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1696
        CFrame.new(0.604643881, -1.9909004, 0.0280392915, 0.962250233, -0.0841861367, -0.258818984, 0.0871560201, 0.996194661, 4.23252061E-7, 0.257834047, -0.0225580372, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1697
        CFrame.new(-0.604644895, -1.99090064, 0.0280393362, 0.962250233, 0.0841861367, 0.258818984, -0.0871560201, 0.996194661, 4.23252061E-7, -0.257834047, -0.0225580372, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1698
      }, 0.3, false)
1699
    end
1700
    for i = 0, 1, 0.1 do
1701
      swait()
1702
      Effects.Elec.Create(HitboxR.CFrame, 3, 3, 3)
1703
      Effects.Block.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 1, 1, 1, 0.1)
1704
      Effects.Sphere2.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 1, 1, 1, 0.1)
1705
      PlayAnimationFromTable({
1706
        CFrame.new(0, -0.100000001, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1707
        CFrame.new(0, 1.49999201, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1708
        CFrame.new(0.661153734, 0.568759024, -0.827975571, -0.166752055, 0.025078943, 0.985679924, 0.98324734, -0.0704026297, 0.168131784, 0.0736110285, 0.99720335, -0.012919019) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1709
        CFrame.new(-0.390097797, 0.861622274, -0.554995477, 0.351840883, -0.837056041, -0.418981194, -0.935129642, -0.294365793, -0.197183579, 0.0417199843, 0.461178988, -0.886325777) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1710
        CFrame.new(0.604644954, -1.9909004, 0.0280390829, 0.962250233, -0.0841861367, -0.258818984, 0.0871560201, 0.996194661, 4.23252061E-7, 0.257834047, -0.0225580372, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1711
        CFrame.new(-0.604644775, -1.99090064, 0.0280380547, 0.962250233, 0.0841861367, 0.258818984, -0.0871560201, 0.996194661, 4.23252061E-7, -0.257834047, -0.0225580372, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1712
      }, 0.2, false)
1713
    end
1714
    for i = 1, 10 do
1715
      for i = 0, 1, 0.3 do
1716
        swait()
1717
        Effects.Elec.Create(HitboxR.CFrame, 3, 3, 3)
1718
        Effects.Sphere2.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 1, 1, 1, 0.1)
1719
        PlayAnimationFromTable({
1720
          CFrame.new(0, -0.100000001, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1721
          CFrame.new(0, 1.49999201, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1722
          CFrame.new(0.661153734, 0.568759024, -0.827975571, -0.166752055, 0.025078943, 0.985679924, 0.98324734, -0.0704026297, 0.168131784, 0.0736110285, 0.99720335, -0.012919019) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1723
          CFrame.new(-0.390097797, 0.861622274, -0.554995477, 0.351840883, -0.837056041, -0.418981194, -0.935129642, -0.294365793, -0.197183579, 0.0417199843, 0.461178988, -0.886325777) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1724
          CFrame.new(0.604644954, -1.9909004, 0.0280390829, 0.962250233, -0.0841861367, -0.258818984, 0.0871560201, 0.996194661, 4.23252061E-7, 0.257834047, -0.0225580372, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1725
          CFrame.new(-0.604644775, -1.99090064, 0.0280380547, 0.962250233, 0.0841861367, 0.258818984, -0.0871560201, 0.996194661, 4.23252061E-7, -0.257834047, -0.0225580372, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1726
        }, 0.3, false)
1727
      end
1728
      CFuncs.Sound.Create("300916105", HitboxR, 1, 1.2)
1729
      CFuncs.Sound.Create("300916014", HitboxR, 1, 1)
1730
      Effects.Sphere2.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 2, 2, 2, 0.07)
1731
      local MouseLook = CFrame.new((HitboxR.Position + Mouse.Hit.p) / 2, Mouse.Hit.p)
1732
      TrueAim(MouseLook.lookVector)
1733
      for i = 0, 1, 0.3 do
1734
        swait()
1735
        Effects.Elec.Create(HitboxR.CFrame, 3, 3, 3)
1736
        Effects.Sphere2.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 1, 1, 1, 0.1)
1737
        PlayAnimationFromTable({
1738
          CFrame.new(1.90734863E-6, -0.25291419, 0.238341585, 1, 0, 0, 0, 0.996194661, -0.087155968, 0, 0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1739
          CFrame.new(0, 1.49999189, -1.1920929E-6, 1, 0, 0, 0, 0.98480767, 0.173648626, 0, -0.173648626, 0.98480767) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1740
          CFrame.new(0.689965963, 0.767623663, -0.856841147, -0.544456005, 0.160545677, 0.823281765, 0.798456132, -0.201499581, 0.567332089, 0.256973624, 0.966241658, -0.0184810348) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1741
          CFrame.new(-0.392649293, 0.920519292, -0.977094412, 0.403439909, -0.887421727, -0.222977459, -0.91384387, -0.378501445, -0.147058249, 0.0461054072, 0.263095737, -0.963667512) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1742
          CFrame.new(0.598512471, -1.89166105, 0.0173719227, 0.962250233, -0.061308533, -0.265171409, 0.0871564373, 0.992403805, 0.0868248865, 0.257834017, -0.106658652, 0.960284173) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1743
          CFrame.new(-0.598512232, -1.89166129, 0.0173728764, 0.962250233, 0.061308533, 0.265171409, -0.0871564373, 0.992403805, 0.0868248865, -0.257834017, -0.106658652, 0.960284173) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1744
        }, 0.3, false)
1745
      end
1746
    end
1747
    Humanoid.WalkSpeed = 20
1748
    attack = false
1749
  end
1750
  Mouse.KeyDown:connect(function(k)
1751
    k = k:lower()
1752
    if attack == false and ora == false and k == "z" and IsWearingArmor == false and Invisible == false then
1753
      ora = true
1754
      ORA()
1755
    elseif attack == false and k == "x" and IsWearingArmor == false and Invisible == false then
1756
      GRABEMBOIGRABEM()
1757
    elseif attack == false and k == "q" and IsWearingArmor == false and Invisible == false then
1758
      FireProjectiles()
1759
    elseif attack == false and k == "f" and Invisible == false and IsWearingArmor == false then
1760
      Invisible = true
1761
      Effects.Sphere.Create(BrickColor.new("Royal purple"), Torso.CFrame, 1, 1, 1, 4, 4, 4, 0.1)
1762
      Effects.Block.Create(BrickColor.new("Royal purple"), Torso.CFrame, 1, 1, 1, 4, 4, 4, 0.1, 1)
1763
      Disappear()
1764
    elseif attack == false and k == "f" and Invisible == true and IsWearingArmor == false then
1765
      Invisible = false
1766
      CFuncs.Sound.Create("463010917", Torso, 1, 1)
1767
      Effects.Sphere.Create(BrickColor.new("Royal purple"), Torso.CFrame, 1, 1, 1, 4, 4, 4, 0.08)
1768
      for i = 1, 2 do
1769
        Effects.Block.Create(BrickColor.new("Royal purple"), Torso.CFrame, 1, 1, 1, 4, 4, 4, 0.1, 1)
1770
      end
1771
      for i = 1, 20 do
1772
        Effects.Break.Create(BrickColor.new("Royal purple"), Torso.CFrame, 1, 1, 1)
1773
      end
1774
      Reappear()
1775
    elseif attack == false and ShieldMode == false and k == "c" and IsWearingArmor == false and Invisible == false then
1776
      ShieldMode = true
1777
      HoloHexShield()
1778
    elseif attack == false and k == "v" and IsWearingArmor == false and Invisible == false then
1779
      CastleCrusherFist()
1780
    end
1781
    if k == "[" and IsWearingArmor == false and Invisible == false then
1782
      Armor("On")
1783
    end
1784
    if k == "]" and IsWearingArmor == true and Invisible == false then
1785
      Armor("Off")
1786
    end
1787
  end)
1788
  Mouse.KeyUp:connect(function(k)
1789
    k = k:lower()
1790
    if attack == true and ora == true and k == "z" and IsWearingArmor == false then
1791
      ora = false
1792
    elseif attack == true and ShieldMode == true and k == "c" and IsWearingArmor == false then
1793
      ShieldMode = false
1794
    end
1795
  end)
1796
  coroutine.resume(coroutine.create(function(Part, Part2)
1797
    while Part.Parent ~= nil do
1798
      swait(math.random(100, 150))
1799
      for i = 0, 1, 0.2 do
1800
        wait()
1801
        Eye1.Mesh.Scale = Vector3.new(1, 0.7 - 1 * i, 1)
1802
        Eye2.Mesh.Scale = Vector3.new(1, 0.7 - 1 * i, 1)
1803
      end
1804
      for i = 0, 1, 0.2 do
1805
        swait()
1806
        Eye1.Mesh.Scale = Vector3.new(1, 0.7 + 0.3 * i, 1)
1807
        Eye2.Mesh.Scale = Vector3.new(1, 0.7 + 0.3 * i, 1)
1808
      end
1809
    end
1810
  end), Eye1, Eye2)
1811
  while true do
1812
    swait()
1813
    for i, v in pairs(Character:children()) do
1814
      if v:IsA("Part") and IsWearingArmor == true then
1815
        v.Anchored = false
1816
      end
1817
    end
1818
    for i, v in pairs(AdvancingFortress:GetChildren()) do
1819
      if v:IsA("Part") then
1820
        v.Material = "SmoothPlastic"
1821
        v.CanCollide = false
1822
      elseif v:IsA("Humanoid") then
1823
        v:remove()
1824
      elseif v:IsA("Accessory") then
1825
        v:remove()
1826
      elseif v:IsA("Shirt") then
1827
        v:remove()
1828
      elseif v:IsA("Pants") then
1829
        v:remove()
1830
      elseif v:IsA("Script") or v:IsA("LocalScript") then
1831
        v:remove()
1832
      elseif v:IsA("BodyColors") then
1833
        v:remove()
1834
      end
1835
    end
1836
    HHandle.Transparency = 1
1837
    THandle.Transparency = 1
1838
    AHandleR.Transparency = 1
1839
    AHandleL.Transparency = 1
1840
    LHandleR.Transparency = 1
1841
    LHandleL.Transparency = 1
1842
    RootPart.Transparency = 1
1843
    HitboxR.Transparency = 1
1844
    HitboxL.Transparency = 1
1845
    Head.BrickColor = BrickColor.new("Royal purple")
1846
    Torso.BrickColor = BrickColor.new("Cyan")
1847
    RightArm.BrickColor = BrickColor.new("Royal purple")
1848
    LeftArm.BrickColor = BrickColor.new("Royal purple")
1849
    RightLeg.BrickColor = BrickColor.new("Royal purple")
1850
    LeftLeg.BrickColor = BrickColor.new("Royal purple")
1851
    RootPart.Anchored = true
1852
    Torsovelocity = (Character.HumanoidRootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
1853
    velocity = Character.HumanoidRootPart.Velocity.y
1854
    sine = sine + change
1855
    Shield.Anchored = true
1856
    Shield.CFrame = Shield.CFrame:lerp(RootPart.CFrame * CFrame.new(0, 0, -3.2), 1)
1857
    local hit, pos = rayCast(Character.HumanoidRootPart.Position, CFrame.new(Character.HumanoidRootPart.Position, Character.HumanoidRootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, Character)
1858
    if Character.HumanoidRootPart.Velocity.y > 1 and hit == nil then
1859
      Anim = "Jump"
1860
      if attack == false then
1861
        RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(2, 1 + 0.5 * math.cos(sine / 20), 3), 0.5)
1862
        PlayAnimationFromTable({
1863
          CFrame.new(0, 0.00872418843, 0.0292903651, 1, 0, 0, 0, 0.996194661, -0.087155968, 0, 0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1864
          CFrame.new(0, 1.49999177, -1.49011612E-7, 1, 0, 0, 0, 0.98480767, 0.173648626, 0, -0.173648626, 0.98480767) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1865
          CFrame.new(1.64140427, 0.273908556, 0.192029893, 0.946035206, -0.31541416, 0.0743736848, 0.284469575, 0.91821146, 0.275617331, -0.155224368, -0.239586651, 0.958386064) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1866
          CFrame.new(-1.59350562, 0.239538491, 0.192243189, 0.935008764, 0.347148597, -0.0724328309, -0.312019885, 0.902400434, 0.297181845, 0.168529674, -0.255267143, 0.952069581) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1867
          CFrame.new(0.602718651, -1.95556056, 0.410092652, 0.978475571, 0.0150757888, -0.205834776, 0.0853612274, 0.878464639, 0.470120817, 0.187906027, -0.477568805, 0.85826844) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1868
          CFrame.new(-0.41903314, -1.41877925, -0.229210436, 0.962251842, -0.0299757104, 0.270510197, -0.084186092, 0.912393093, 0.400567293, -0.258819073, -0.408219665, 0.875425339) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1869
        }, 0.3, false)
1870
      end
1871
    elseif Character.HumanoidRootPart.Velocity.y < -1 and hit == nil then
1872
      Anim = "Fall"
1873
      if attack == false then
1874
        RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(2, 1 + 0.5 * math.cos(sine / 20), 3), 0.5)
1875
        PlayAnimationFromTable({
1876
          CFrame.new(0, -0.0366669223, -0.0478199311, 1, 0, 0, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1877
          CFrame.new(0, 1.58110774, -0.115850762, 1, 0, 0, 0, 0.98480767, 0.173647821, 0, -0.173647821, 0.98480767) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1878
          CFrame.new(1.72150326, 0.610064566, 0.0891361833, 0.724097908, -0.685675204, 0.0743751749, 0.645872176, 0.711960018, 0.275611937, -0.241932437, -0.151533186, 0.958387375) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1879
          CFrame.new(-1.69228244, 0.568353653, 0.082095027, 0.759895504, 0.646005511, -0.0724337399, -0.601845145, 0.741260946, 0.297183931, 0.24567467, -0.182231784, 0.952074111) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1880
          CFrame.new(0.60271728, -1.95556188, 0.410093039, 0.978470623, -0.00292155147, -0.206365243, 0.0853614658, 0.916095972, 0.391767859, 0.187905625, -0.400949359, 0.896622121) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1881
          CFrame.new(-0.453899324, -1.81726217, -0.229221463, 0.962255239, -0.00628663599, 0.272094905, -0.0841865242, 0.943832874, 0.319526881, -0.258820891, -0.33037129, 0.90767473) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1882
        }, 0.3, false)
1883
      end
1884
    elseif Torsovelocity < 1 and hit ~= nil then
1885
      Anim = "Idle"
1886
      if attack == false then
1887
        change = 1
1888
        RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(2, 1 + 0.5 * math.cos(sine / 20), 3), 0.5)
1889
        PlayAnimationFromTable({
1890
          CFrame.new(0, -0.00190299738, -0.0435779989, 1, 0, 0, 0, 0.996194661, 0.087155968, 0, -0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1891
          CFrame.new(0, 1.49999213, 3.27825546E-7, 1, 0, 0, 0, 0.99619478, 0.0871553123, 0, -0.0871553123, 0.99619478) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1892
          CFrame.new(1.64141297, 0.173907071, -0.107973814, 0.946035922, -0.270955235, 0.177766502, 0.284470022, 0.957103431, -0.055051513, -0.155224428, 0.102649838, 0.982532144) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1893
          CFrame.new(-1.59350157, 0.139536366, -0.107754946, 0.935009062, 0.284010828, -0.212358981, -0.312018842, 0.943447471, -0.11203292, 0.168530986, 0.171011835, 0.970748305) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1894
          CFrame.new(0.602711678, -1.89952374, -0.0967197716, 0.978471398, -0.0562333167, -0.198576227, 0.0853610933, 0.986278713, 0.141314447, 0.187904745, -0.155223012, 0.969844699) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1895
          CFrame.new(-0.619029164, -1.90815639, -0.0860156417, 0.962250412, 0.0410595387, 0.269051194, -0.0841863081, 0.984977186, 0.150772721, -0.258818805, -0.167731494, 0.951251626) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1896
        }, 0.3, false)
1897
      end
1898
    elseif Torsovelocity > 2 and hit ~= nil then
1899
      Anim = "Walk"
1900
      if attack == false then
1901
        RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(2, 1 + 0.5 * math.cos(sine / 20), 3), 0.5)
1902
        PlayAnimationFromTable({
1903
          CFrame.new(0, -0.0234659836, -0.171147972, 1, 0, 0, 0, 0.939692736, 0.342019886, 0, -0.342019916, 0.939692736) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1904
          CFrame.new(0, 1.49999166, 1.1920929E-7, 1, 0, 0, 0, 0.98480773, -0.173648983, 0, 0.173648953, 0.98480773) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1905
          CFrame.new(1.60905385, 0.122740321, 0.227665678, 0.946036339, -0.320693314, 0.0465966538, 0.284468234, 0.89069742, 0.354595304, -0.155219615, -0.322205007, 0.93385905) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1906
          CFrame.new(-1.55878484, 0.127169654, 0.148623466, 0.93500936, 0.339513272, -0.102411598, -0.312018752, 0.924868107, 0.217401206, 0.168527737, -0.171317667, 0.970695019) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1907
          CFrame.new(0.585851789, -1.60362172, -0.143285036, 0.978476226, 0.0150748575, -0.205834031, 0.0853618756, 0.878461003, 0.470117748, 0.187905103, -0.477570593, 0.858265638) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
1908
          CFrame.new(-0.563320339, -1.90456724, 0.225245774, 0.982039452, -0.00800410938, 0.188514173, -0.0707257539, 0.910641074, 0.407099873, -0.174927384, -0.413120717, 0.893718541) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
1909
        }, 0.3, false)
1910
      end
1911
    end
1912
    if 0 < #Effects then
1913
      for e = 1, #Effects do
1914
        if Effects[e] ~= nil then
1915
          local Thing = Effects[e]
1916
          if Thing ~= nil then
1917
            local Part = Thing[1]
1918
            local Mode = Thing[2]
1919
            local Delay = Thing[3]
1920
            local IncX = Thing[4]
1921
            local IncY = Thing[5]
1922
            local IncZ = Thing[6]
1923
            if Thing[2] == "Shoot" then
1924
              local Look = Thing[1]
1925
              local move = 30
1926
              if Thing[8] == 3 then
1927
                move = 10
1928
              end
1929
              local hit, pos = rayCast(Thing[4], Thing[1], move, m)
1930
              if Thing[10] ~= nil then
1931
                da = pos
1932
                cf2 = CFrame.new(Thing[4], Thing[10].Position)
1933
                cfa = CFrame.new(Thing[4], pos)
1934
                tehCF = cfa:lerp(cf2, 0.2)
1935
                Thing[1] = tehCF.lookVector
1936
              end
1937
              local mag = (Thing[4] - pos).magnitude
1938
              Effects.Head.Create(Torso.BrickColor, CFrame.new((Thing[4] + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0), 1, mag * 5, 1, 0.5, 0, 0.5, 0.2)
1939
              if Thing[8] == 2 then
1940
                Effects.Ring.Create(Torso.BrickColor, CFrame.new((Thing[4] + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0) * CFrame.fromEulerAnglesXYZ(1.57, 0, 0), 1, 1, 0.1, 0.5, 0.5, 0.1, 0.1, 1)
1941
              end
1942
              Thing[4] = Thing[4] + Look * move
1943
              Thing[3] = Thing[3] - 1
1944
              if 2 < Thing[5] then
1945
                Thing[5] = Thing[5] - 0.3
1946
                Thing[6] = Thing[6] - 0.3
1947
              end
1948
              if hit ~= nil then
1949
                Thing[3] = 0
1950
                if Thing[8] == 1 or Thing[8] == 3 then
1951
                  Damage(hit, hit, Thing[5], Thing[6], Thing[7], "Normal", RootPart, 0, "", 1)
1952
                elseif Thing[8] == 2 then
1953
                  Damage(hit, hit, Thing[5], Thing[6], Thing[7], "Normal", RootPart, 0, "", 1)
1954
                  if hit.Parent:findFirstChild("Humanoid") ~= nil or hit.Parent.Parent:findFirstChild("Humanoid") ~= nil then
1955
                    ref = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Royal purple"), "Reference", Vector3.new())
1956
                    ref.Anchored = true
1957
                    ref.CFrame = CFrame.new(pos)
1958
                    CFuncs.Sound.Create("161006093", ref, 1, 1.2)
1959
                    game:GetService("Debris"):AddItem(ref, 0.2)
1960
                    Effects.Block.Create(Torso.BrickColor, CFrame.new(ref.Position) * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 1, 1, 10, 10, 10, 0.1, 2)
1961
                    Effects.Ring.Create(BrickColor.new("Bright yellow"), CFrame.new(ref.Position) * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 1, 0.1, 4, 4, 0.1, 0.1)
1962
                    MagnitudeDamage(ref, 15, Thing[5] / 1.5, Thing[6] / 1.5, 0, "Normal", "", 1)
1963
                  end
1964
                end
1965
                ref = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Royal purple"), "Reference", Vector3.new())
1966
                ref.Anchored = true
1967
                ref.CFrame = CFrame.new(pos)
1968
                Effects.Sphere.Create(Torso.BrickColor, CFrame.new(pos), 5, 5, 5, 1, 1, 1, 0.07)
1969
                game:GetService("Debris"):AddItem(ref, 1)
1970
              end
1971
              if Thing[3] <= 0 then
1972
                table.remove(Effects, e)
1973
              end
1974
            end
1975
            if Thing[2] == "FireWave" then
1976
              if Thing[3] <= Thing[4] then
1977
                Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(0, 1, 0)
1978
                Thing[3] = Thing[3] + 1
1979
                Thing[6].Scale = Thing[6].Scale + Vector3.new(Thing[5], 0, Thing[5])
1980
              else
1981
                Part.Parent = nil
1982
                table.remove(Effects, e)
1983
              end
1984
            end
1985
            if Thing[2] ~= "Shoot" and Thing[2] ~= "Wave" and Thing[2] ~= "FireWave" then
1986
              if Thing[1].Transparency <= 1 then
1987
                if Thing[2] == "Block1" then
1988
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1989
                  Mesh = Thing[7]
1990
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1991
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1992
                elseif Thing[2] == "Block2" then
1993
                  Thing[1].CFrame = Thing[1].CFrame
1994
                  Mesh = Thing[7]
1995
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1996
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1997
                elseif Thing[2] == "Fire" then
1998
                  Thing[1].CFrame = CFrame.new(Thing[1].Position) + Vector3.new(0, 0.2, 0)
1999
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
2000
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2001
                elseif Thing[2] == "Cylinder" then
2002
                  Mesh = Thing[7]
2003
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
2004
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2005
                elseif Thing[2] == "Blood" then
2006
                  Mesh = Thing[7]
2007
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, 0.5, 0)
2008
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
2009
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2010
                elseif Thing[2] == "Elec" then
2011
                  Thing[1].Size = Thing[1].Size + Vector3.new(Thing[7], Thing[8], Thing[9])
2012
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2013
                elseif Thing[2] == "Disappear" then
2014
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2015
                elseif Thing[2] == "Shatter" then
2016
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2017
                  Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
2018
                  Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
2019
                  Thing[6] = Thing[6] + Thing[5]
2020
                end
2021
              else
2022
                Part.Parent = nil
2023
                table.remove(Effects, e)
2024
              end
2025
            end
2026
          end
2027
        end
2028
      end
2029
    end
2030
  end