View difference between Paste ID: 2Yy84YGV and gcYFXpu9
SHOW: | | - or go back to the newest paste.
1-
print("edited by 3677272ALT") 
1+
print("edited by carlosname125471") 
2
3
--https://github.com/Mokiros/roblox-FE-compatibility
4
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
5
local Player,game,owner = owner,game
6
local RealPlayer = Player
7
do
8
	print("FE Compatibility code V2 by Mokiros")
9
	local RealPlayer = RealPlayer
10
	script.Parent = RealPlayer.Character
11
12
	--Fake event to make stuff like Mouse.KeyDown work
13
	local Disconnect_Function = function(this)
14
		this[1].Functions[this[2]] = nil
15
	end
16
	local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
17
	local FakeEvent_Metatable = {__index={
18
		Connect = function(this,f)
19
			local i = tostring(math.random(0,10000))
20
			while this.Functions[i] do
21
				i = tostring(math.random(0,10000))
22
			end
23
			this.Functions[i] = f
24
			return setmetatable({this,i},Disconnect_Metatable)
25
		end
26
	}}
27
	FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
28
	local function fakeEvent()
29
		return setmetatable({Functions={}},FakeEvent_Metatable)
30
	end
31
32
	--Creating fake input objects with fake variables
33
    local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
34
    FakeMouse.keyUp = FakeMouse.KeyUp
35
    FakeMouse.keyDown = FakeMouse.KeyDown
36
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
37
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
38
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
39
	end}
40
	--Merged 2 functions into one by checking amount of arguments
41
	CAS.UnbindAction = CAS.BindAction
42
43
	--This function will trigger the events that have been :Connect()'ed
44
	local function TriggerEvent(self,ev,...)
45
		for _,f in pairs(self[ev].Functions) do
46
			f(...)
47
		end
48
	end
49
	FakeMouse.TriggerEvent = TriggerEvent
50
	UIS.TriggerEvent = TriggerEvent
51
52
	--Client communication
53
	local Event = Instance.new("RemoteEvent")
54
	Event.Name = "UserInput_Event"
55
	Event.OnServerEvent:Connect(function(plr,io)
56
	    if plr~=RealPlayer then return end
57
		FakeMouse.Target = io.Target
58
		FakeMouse.Hit = io.Hit
59
		if not io.isMouse then
60
			local b = io.UserInputState == Enum.UserInputState.Begin
61
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
62
				return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
63
			end
64
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
65
				return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
66
			end
67
			for _,t in pairs(CAS.Actions) do
68
				for _,k in pairs(t.Keys) do
69
					if k==io.KeyCode then
70
						t.Function(t.Name,io.UserInputState,io)
71
					end
72
				end
73
			end
74
			FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
75
			UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
76
	    end
77
	end)
78
	Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
79
	local Mouse = owner:GetMouse()
80
	local UIS = game:GetService("UserInputService")
81
	local input = function(io,RobloxHandled)
82
		if RobloxHandled then return end
83
		--Since InputObject is a client-side instance, we create and pass table instead
84
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
85
	end
86
	UIS.InputBegan:Connect(input)
87
	UIS.InputEnded:Connect(input)
88
	local h,t
89
	--Give the server mouse data every second frame, but only if the values changed
90
	--If player is not moving their mouse, client won't fire events
91
	local HB = game:GetService("RunService").Heartbeat
92
	while true do
93
		if h~=Mouse.Hit or t~=Mouse.Target then
94
			h,t=Mouse.Hit,Mouse.Target
95
			Event:FireServer({isMouse=true,Target=t,Hit=h})
96
		end
97
		--Wait 2 frames
98
		for i=1,2 do
99
			HB:Wait()
100
		end
101
	end]==],script)
102
103
	----Sandboxed game object that allows the usage of client-side methods and services
104
	--Real game object
105
	local RealGame = game
106
107
	--Metatable for fake service
108
	local FakeService_Metatable = {
109
		__index = function(self,k)
110
			local s = rawget(self,"_RealService")
111
			if s then
112
				return typeof(s[k])=="function"
113
				and function(_,...)return s[k](s,...)end or s[k]
114
			end
115
		end,
116
		__newindex = function(self,k,v)
117
			local s = rawget(self,"_RealService")
118
			if s then s[k]=v end
119
		end
120
	}
121
	local function FakeService(t,RealService)
122
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
123
		return setmetatable(t,FakeService_Metatable)
124
	end
125
126
	--Fake game object
127
	local FakeGame = {
128
		GetService = function(self,s)
129
			return rawget(self,s) or RealGame:GetService(s)
130
		end,
131
		Players = FakeService({
132
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
133
		},"Players"),
134
		UserInputService = FakeService(UIS,"UserInputService"),
135
		ContextActionService = FakeService(CAS,"ContextActionService"),
136
		RunService = FakeService({
137
			_btrs = {},
138
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
139
			BindToRenderStep = function(self,name,_,fun)
140
				self._btrs[name] = self.Heartbeat:Connect(fun)
141
			end,
142
			UnbindFromRenderStep = function(self,name)
143
				self._btrs[name]:Disconnect()
144
			end,
145
		},"RunService")
146
	}
147
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
148
	FakeGame.service = FakeGame.GetService
149
	FakeService(FakeGame,game)
150
	--Changing owner to fake player object to support owner:GetMouse()
151
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
152
end
153
154
 wait(0.016666666666666666)
155
plr = game.Players.LocalPlayer
156
mse = plr:GetMouse()
157
sound = Instance.new("Sound", game.Workspace)
158
sound.SoundId = "https://www.roblox.com/asset/?id=840567549"
159
canworld = true
160
mse.KeyDown:connect(function(key)
161
	key = key:lower()
162
	if key == "g" then
163
		if canworld == false then return end
164
		if canworld then
165
		canworld = false
166
		sound:Play()
167
		local function spawnpart()
168
		sphere = Instance.new("Part")
169
		--game.Debris:AddItem(sphere,3)
170
		local sm = Instance.new("SpecialMesh", sphere)
171
		sm.MeshType = "Sphere"
172
		sphere.Transparency = 0.5
173
		sphere.Anchored = true
174
		sphere.CanCollide = false
175
		sphere.Material = "SmoothPlastic"
176
		sphere.BrickColor = BrickColor.new("Lapis")
177
		end
178
		
179
		local function weld(lol)
180
			local weld = Instance.new("Weld", plr.Character.Torso)
181
			weld.Part0 = plr.Character.Torso
182
			weld.Part1 = lol
183
			weld.C0 = plr.Character.Torso.CFrame:inverse()
184
			weld.C1 = lol.CFrame:inverse()
185
		end
186
		wait(1.4)
187
		spawnpart()
188
			for i, v in pairs(game.Players:GetChildren()) do
189
			t = v.Character:FindFirstChild("Torso")
190
			if t then
191
				t.Anchored = true
192
				plr.Character:FindFirstChild("Torso").Anchored = false
193
			end
194
			RA = v.Character:FindFirstChild("Right Arm")
195
			if RA then
196
				RA.Anchored = true
197
				plr.Character:FindFirstChild("Right Arm").Anchored = false
198
			end
199
			LA = v.Character:FindFirstChild("Left Arm")
200
			if LA then
201
				LA.Anchored = true
202
				plr.Character:FindFirstChild("Left Arm").Anchored = false
203
			end
204
			RL = v.Character:FindFirstChild("Right Leg")
205
			if RL then
206
				RL.Anchored = true
207
				plr.Character:FindFirstChild("Right Leg").Anchored = false
208
			end
209
			LL = v.Character:FindFirstChild("Left Leg")
210
			if LL then
211
				LL.Anchored = true
212
				plr.Character:FindFirstChild("Left Leg").Anchored = false
213
			end
214
		end
215
		weld(sphere)
216
		cce = Instance.new("ColorCorrectionEffect", game.Lighting)
217
		cce.Saturation = -2
218
		--game.Debris:AddItem(cce, 5)
219
		sphere.Parent = game.Workspace
220
		for i = 1,10 do
221
			sphere.Size = sphere.Size + Vector3.new(50,50,50)
222
			wait()
223
			end
224
		--wait(5)
225
		
226
		end
227
	end
228
end
229
)
230
231
mse.KeyDown:connect(function(key)
232
	key = key:lower()
233
	if key == "h" then
234
canworld = true
235
		for i, v in pairs(game.Players:GetChildren()) do
236
		t = v.Character:FindFirstChild("Torso")
237
			if t then
238
				t.Anchored = false
239
			end
240
			RA = v.Character:FindFirstChild("Right Arm")
241
			if RA then
242
				RA.Anchored = false
243
			end
244
			LA = v.Character:FindFirstChild("Left Arm")
245
			if LA then
246
				LA.Anchored = false
247
			end
248
			RL = v.Character:FindFirstChild("Right Leg")
249
			if RL then
250
				RL.Anchored = false
251
			end
252
			LL = v.Character:FindFirstChild("Left Leg")
253
			if LL then
254
				LL.Anchored = false
255
			end
256
		end
257
		cce.Saturation = 0
258
sphere:Destroy()
259
end
260
end)
261
262
  Effects = {}
263
  local Player = game.Players.localPlayer
264
  local Character = Player.Character
265
  Character.Archivable = true
266
  AdvancingFortress = Character:Clone()
267
  AdvancingFortress.Parent = Character
268
  torso = AdvancingFortress.Torso
269
  hum = AdvancingFortress.Humanoid
270
  AdvancingFortress.Name = "Advancing Fortress"
271
  pl = AdvancingFortress
272
  for i, v in pairs(AdvancingFortress:GetChildren()) do
273
    if v:IsA("BasePart") then
274
      v.Transparency = 1
275
    end
276
  end
277
  local Humanoid = AdvancingFortress.Humanoid
278
  local Mouse = Player:GetMouse()
279
  local LeftArm = AdvancingFortress["Left Arm"]
280
  local RightArm = AdvancingFortress["Right Arm"]
281
  local LeftLeg = AdvancingFortress["Left Leg"]
282
  local RightLeg = AdvancingFortress["Right Leg"]
283
  local Head = AdvancingFortress.Head
284
  local Torso = AdvancingFortress.Torso
285
  local Camera = game.Workspace.CurrentCamera
286
  local RootPart = AdvancingFortress.HumanoidRootPart
287
  local RootJoint = RootPart.RootJoint
288
  local attack = false
289
  local Anim = "Idle"
290
  local attacktype = 1
291
  local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
292
  local velocity = RootPart.Velocity.y
293
  local sine = 0
294
  local change = 1
295
  local Create = LoadLibrary("RbxUtility").Create
296
  local TimeStop = false
297
  local m = Create("Model")({
298
    Parent = AdvancingFortress,
299
    Name = "WeaponModel"
300
  })
301
  Head.face:remove()
302
  AdvancingFortress.Head.Name = "FHead"
303
  AdvancingFortress.Torso.Name = "FTorso"
304
  AdvancingFortress.HumanoidRootPart.Name = "FHumanoidRootPart"
305
  Humanoid.Animator.Parent = nil
306
  AdvancingFortress.Animate.Parent = nil
307
  local function newMotor(part0, part1, c0, c1)
308
    local w = Create("Weld")({
309
      Parent = part0,
310
      Part0 = part0,
311
      Part1 = part1,
312
      C0 = c0,
313
      C1 = c1
314
    })
315
    return w
316
  end
317
  function clerp(a, b, t)
318
    return a:lerp(b, t)
319
  end
320
  RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
321
  NeckCF = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
322
  local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0))
323
  local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0))
324
  local RH = newMotor(Torso, RightLeg, CFrame.new(0.5, -2, 0), CFrame.new(0, 0, 0))
325
  local LH = newMotor(Torso, LeftLeg, CFrame.new(-0.5, -2, 0), CFrame.new(0, 0, 0))
326
  RootJoint.C1 = CFrame.new(0, 0, 0)
327
  RootJoint.C0 = CFrame.new(0, 0, 0)
328
  Torso.Neck.C1 = CFrame.new(0, 0, 0)
329
  Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
330
  local rarmc1 = RW.C1
331
  local larmc1 = LW.C1
332
  local rlegc1 = RH.C1
333
  local llegc1 = LH.C1
334
  local resetc1 = false
335
  function PlayAnimationFromTable(table, speed, bool)
336
    RootJoint.C0 = clerp(RootJoint.C0, table[1], speed)
337
    Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed)
338
    RW.C0 = clerp(RW.C0, table[3], speed)
339
    LW.C0 = clerp(LW.C0, table[4], speed)
340
    RH.C0 = clerp(RH.C0, table[5], speed)
341
    LH.C0 = clerp(LH.C0, table[6], speed)
342
    if bool == true and resetc1 == false then
343
      resetc1 = true
344
      RootJoint.C1 = RootJoint.C1
345
      Torso.Neck.C1 = Torso.Neck.C1
346
      RW.C1 = rarmc1
347
      LW.C1 = larmc1
348
      RH.C1 = rlegc1
349
      LH.C1 = llegc1
350
    end
351
  end
352
  ArtificialHB = Create("BindableEvent", script)({Parent = script, Name = "Heartbeat"})
353
  script:WaitForChild("Heartbeat")
354
  frame = 0.03333333333333333
355
  tf = 0
356
  allowframeloss = false
357
  tossremainder = false
358
  lastframe = tick()
359
  script.Heartbeat:Fire()
360
  game:GetService("RunService").Heartbeat:connect(function(s, p)
361
    tf = tf + s
362
    if tf >= frame then
363
      if allowframeloss then
364
        script.Heartbeat:Fire()
365
        lastframe = tick()
366
      else
367
        for i = 1, math.floor(tf / frame) do
368
          script.Heartbeat:Fire()
369
        end
370
        lastframe = tick()
371
      end
372
      if tossremainder then
373
        tf = 0
374
      else
375
        tf = tf - frame * math.floor(tf / frame)
376
      end
377
    end
378
  end)
379
  function swait(num)
380
    if num == 0 or num == nil then
381
      ArtificialHB.Event:wait()
382
    else
383
      for i = 0, num do
384
        ArtificialHB.Event:wait()
385
      end
386
    end
387
  end
388
  function RemoveOutlines(part)
389
    part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
390
  end
391
  CFuncs = {
392
    Part = {
393
      Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
394
        local Part = Create("Part")({
395
          Parent = Parent,
396
          Reflectance = Reflectance,
397
          Transparency = Transparency,
398
          CanCollide = false,
399
          Locked = true,
400
          BrickColor = BrickColor.new(tostring(BColor)),
401
          Name = Name,
402
          Size = Size,
403
          Material = Material
404
        })
405
        RemoveOutlines(Part)
406
        return Part
407
      end
408
    },
409
    Mesh = {
410
      Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
411
        local Msh = Create(Mesh)({
412
          Parent = Part,
413
          Offset = OffSet,
414
          Scale = Scale
415
        })
416
        if Mesh == "SpecialMesh" then
417
          Msh.MeshType = MeshType
418
          Msh.MeshId = MeshId
419
        end
420
        return Msh
421
      end
422
    },
423
    Weld = {
424
      Create = function(Parent, Part0, Part1, C0, C1)
425
        local Weld = Create("Weld")({
426
          Parent = Parent,
427
          Part0 = Part0,
428
          Part1 = Part1,
429
          C0 = C0,
430
          C1 = C1
431
        })
432
        return Weld
433
      end
434
    },
435
    Sound = {
436
      Create = function(id, par, vol, pit)
437
        local Sound = Create("Sound")({
438
          Volume = vol,
439
          Pitch = pit or 1,
440
          SoundId = "rbxassetid://" .. id,
441
          Parent = par or workspace
442
        })
443
        Sound:play()
444
        game:GetService("Debris"):AddItem(Sound, 130)
445
        return Sound
446
      end
447
    },
448
    Decal = {
449
      Create = function(Color, Texture, Transparency, Name, Parent)
450
        local Decal = Create("Decal")({
451
          Color3 = Color,
452
          Texture = "rbxassetid://" .. Texture,
453
          Transparency = Transparency,
454
          Name = Name,
455
          Parent = Parent
456
        })
457
        return Decal
458
      end
459
    },
460
    BillboardGui = {
461
      Create = function(Parent, Image, Position, Size)
462
        local BillPar = CFuncs.Part.Create(Parent, "SmoothPlastic", 0, 1, BrickColor.new("Black"), "BillboardGuiPart", Vector3.new(1, 1, 1))
463
        BillPar.CFrame = CFrame.new(Position)
464
        local Bill = Create("BillboardGui")({
465
          Parent = BillPar,
466
          Adornee = BillPar,
467
          Size = UDim2.new(1, 0, 1, 0),
468
          SizeOffset = Vector2.new(Size, Size)
469
        })
470
        local d = Create("ImageLabel", Bill)({
471
          Parent = Bill,
472
          BackgroundTransparency = 1,
473
          Size = UDim2.new(1, 0, 1, 0),
474
          Image = "rbxassetid://" .. Image
475
        })
476
        return BillPar
477
      end
478
    },
479
    ParticleEmitter = {
480
      Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
481
        local Particle = Create("ParticleEmitter")({
482
          Parent = Parent,
483
          Color = ColorSequence.new(Color1, Color2),
484
          LightEmission = LightEmission,
485
          Size = Size,
486
          Texture = Texture,
487
          Transparency = Transparency,
488
          ZOffset = ZOffset,
489
          Acceleration = Accel,
490
          Drag = Drag,
491
          LockedToPart = LockedToPart,
492
          VelocityInheritance = VelocityInheritance,
493
          EmissionDirection = EmissionDirection,
494
          Enabled = Enabled,
495
          Lifetime = LifeTime,
496
          Rate = Rate,
497
          Rotation = Rotation,
498
          RotSpeed = RotSpeed,
499
          Speed = Speed,
500
          VelocitySpread = VelocitySpread
501
        })
502
        return Particle
503
      end
504
    },
505
    CreateTemplate = {}
506
  }
507
  function rayCast(Position, Direction, Range, Ignore)
508
    return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
509
  end
510
  function FindNearestTorso(pos)
511
    local list = game.Workspace:children()
512
    local torso
513
    local dist = 1000
514
    local temp, human, temp2
515
    for x = 1, #list do
516
      temp2 = list[x]
517
      if temp2.className == "Model" and temp2.Name ~= Character.Name then
518
        temp = temp2:findFirstChild("Torso")
519
        human = temp2:findFirstChild("Humanoid")
520
        if temp ~= nil and human ~= nil and human.Health > 0 and dist > (temp.Position - pos).magnitude then
521
          local dohit = true
522
          if dohit == true then
523
            torso = temp
524
            dist = (temp.Position - pos).magnitude
525
          end
526
        end
527
      end
528
    end
529
    return torso, dist
530
  end
531
  function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
532
    if hit.Parent == nil then
533
      return
534
    end
535
    local h = hit.Parent:FindFirstChild("Humanoid")
536
    for _, v in pairs(hit.Parent:children()) do
537
      if v:IsA("Humanoid") then
538
        h = v
539
      end
540
    end
541
    if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
542
      if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
543
        return
544
      end
545
      local c = Create("ObjectValue")({
546
        Name = "creator",
547
        Value = game:service("Players").LocalPlayer,
548
        Parent = h
549
      })
550
      game:GetService("Debris"):AddItem(c, 0.5)
551
      CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
552
      local Damage = math.random(minim, maxim)
553
      local blocked = false
554
      local block = hit.Parent:findFirstChild("Block")
555
      if block ~= nil and block.className == "IntValue" and block.Value > 0 then
556
        blocked = true
557
        block.Value = block.Value - 1
558
        print(block.Value)
559
      end
560
      if TimeStop == false then
561
        h.Health = h.Health - Damage
562
        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)
563
      elseif TimeStop == true then
564
        repeat
565
          wait()
566
        until TimeStop == false
567
        h.Health = h.Health - Damage / 2
568
        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)
569
      end
570
      if Type == "Knockdown" then
571
        local hum = hit.Parent.Humanoid
572
        hum.PlatformStand = true
573
        coroutine.resume(coroutine.create(function(HHumanoid)
574
          swait(1)
575
          HHumanoid.PlatformStand = false
576
        end), hum)
577
        local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
578
        local bodvol = Create("BodyVelocity")({
579
          velocity = angle * knockback,
580
          P = 5000,
581
          maxForce = Vector3.new(8000, 8000, 8000),
582
          Parent = hit
583
        })
584
        local rl = Create("BodyAngularVelocity")({
585
          P = 3000,
586
          maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
587
          angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
588
          Parent = hit
589
        })
590
        game:GetService("Debris"):AddItem(bodvol, 0.5)
591
        game:GetService("Debris"):AddItem(rl, 0.5)
592
      elseif Type == "Normal" then
593
        local vp = Create("BodyVelocity")({
594
          P = 500,
595
          maxForce = Vector3.new(math.huge, 0, math.huge),
596
          velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
597
        })
598
        if knockback > 0 then
599
          vp.Parent = hit.Parent.Torso
600
        end
601
        game:GetService("Debris"):AddItem(vp, 0.5)
602
      elseif Type == "Up" then
603
        local bodyVelocity = Create("BodyVelocity")({
604
          velocity = Vector3.new(0, 20, 0),
605
          P = 5000,
606
          maxForce = Vector3.new(8000, 8000, 8000),
607
          Parent = hit
608
        })
609
        game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
610
      elseif Type == "DarkUp" then
611
        coroutine.resume(coroutine.create(function()
612
          for i = 0, 1, 0.1 do
613
            swait()
614
            Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, 0.08, 1)
615
          end
616
        end))
617
        local bodyVelocity = Create("BodyVelocity")({
618
          velocity = Vector3.new(0, 20, 0),
619
          P = 5000,
620
          maxForce = Vector3.new(8000, 8000, 8000),
621
          Parent = hit
622
        })
623
        game:GetService("Debris"):AddItem(bodyVelocity, 1)
624
      elseif Type == "Snare" then
625
        local bp = Create("BodyPosition")({
626
          P = 2000,
627
          D = 100,
628
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
629
          position = hit.Parent.Torso.Position,
630
          Parent = hit.Parent.Torso
631
        })
632
        game:GetService("Debris"):AddItem(bp, 1)
633
      elseif Type == "Freeze" then
634
        local BodPos = Create("BodyPosition")({
635
          P = 50000,
636
          D = 1000,
637
          maxForce = Vector3.new(math.huge, math.huge, math.huge),
638
          position = hit.Parent.Torso.Position,
639
          Parent = hit.Parent.Torso
640
        })
641
        local BodGy = Create("BodyGyro")({
642
          maxTorque = Vector3.new(400000, 400000, 400000) * math.huge,
643
          P = 20000,
644
          Parent = hit.Parent.Torso,
645
          cframe = hit.Parent.Torso.CFrame
646
        })
647
        hit.Parent.Torso.Anchored = true
648
        coroutine.resume(coroutine.create(function(Part)
649
          swait(1.5)
650
          Part.Anchored = false
651
        end), hit.Parent.Torso)
652
        game:GetService("Debris"):AddItem(BodPos, 3)
653
        game:GetService("Debris"):AddItem(BodGy, 3)
654
      end
655
      local debounce = Create("BoolValue")({
656
        Name = "DebounceHit",
657
        Parent = hit.Parent,
658
        Value = true
659
      })
660
      game:GetService("Debris"):AddItem(debounce, Delay)
661
      c = Create("ObjectValue")({
662
        Name = "creator",
663
        Value = Player,
664
        Parent = h
665
      })
666
      game:GetService("Debris"):AddItem(c, 0.5)
667
    end
668
  end
669
  function ShowDamage(Pos, Text, Time, Color)
670
    local Rate = 0.03333333333333333
671
    local Pos = Pos or Vector3.new(0, 0, 0)
672
    local Text = Text or ""
673
    local Time = Time or 2
674
    local Color = Color or Color3.new(1, 0, 1)
675
    local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
676
    EffectPart.Anchored = true
677
    local BillboardGui = Create("BillboardGui")({
678
      Size = UDim2.new(3, 0, 3, 0),
679
      Adornee = EffectPart,
680
      Parent = EffectPart
681
    })
682
    local TextLabel = Create("TextLabel")({
683
      BackgroundTransparency = 1,
684
      Size = UDim2.new(1, 0, 1, 0),
685
      Text = Text,
686
      Font = "SciFi",
687
      TextColor3 = Color,
688
      TextScaled = true,
689
      Parent = BillboardGui
690
    })
691
    game.Debris:AddItem(EffectPart, Time)
692
    EffectPart.Parent = game:GetService("Workspace")
693
    delay(0, function()
694
      local Frames = Time / Rate
695
      for Frame = 1, Frames do
696
        wait(Rate)
697
        local Percent = Frame / Frames
698
        EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
699
        TextLabel.TextTransparency = Percent
700
      end
701
      if EffectPart and EffectPart.Parent then
702
        EffectPart:Destroy()
703
      end
704
    end)
705
  end
706
  local STDamage = false
707
  function MagnitudeDamage(Part, Magnitude, MinimumDamage, MaximumDamage, KnockBack, Type, HitSound, HitPitch)
708
    for _, c in pairs(workspace:children()) do
709
      local hum = c:findFirstChild("Humanoid")
710
      if hum ~= nil then
711
        local head = c:findFirstChild("Torso")
712
        if head ~= nil then
713
          local targ = head.Position - Part.Position
714
          local mag = targ.magnitude
715
          if Magnitude >= mag and c.Name ~= Player.Name then
716
            Damage(head, head, MinimumDamage, MaximumDamage, KnockBack, Type, RootPart, 0.1, HitSound, HitPitch)
717
            if STDamage == true then
718
              for i = 1, 3 do
719
                Effects.Block.Create(BrickColor.new("Royal purple"), head.CFrame, 1, 1, 1, 4, 4, 4, 0.07, 1)
720
              end
721
              for i = 1, 10 do
722
                CamShake(1, 70000)
723
                Effects.Break.Create(BrickColor.new("Royal purple"), head.CFrame, 1, 1, 1)
724
              end
725
            elseif STDamage == false then
726
              CamShake(1, 90000)
727
              Effects.Block.Create(BrickColor.new("Royal purple"), head.CFrame, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.07, 1)
728
              for i = 1, 2 do
729
                Effects.Break.Create(BrickColor.new("Royal purple"), head.CFrame, 0.4, 0.4, 0.4)
730
              end
731
            end
732
          end
733
        end
734
      end
735
    end
736
  end
737
  HHandle = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "HHandle", Vector3.new(1.09999979, 0.299999923, 1.0999999))
738
  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))
739
  Eye1 = CFuncs.Part.Create(m, Enum.Material.Neon, 0, 1, "cool yellow", "Eye1", Vector3.new(0.400000006, 0.200000003, 0.200000003))
740
  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))
741
  CFuncs.Mesh.Create("SpecialMesh", Eye1, Enum.MeshType.Sphere, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
742
  Eye2 = CFuncs.Part.Create(m, Enum.Material.Neon, 0, 1, "Cool yellow", "Eye2", Vector3.new(0.400000006, 0.200000003, 0.200000003))
743
  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))
744
  CFuncs.Mesh.Create("SpecialMesh", Eye2, Enum.MeshType.Sphere, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
745
  THandle = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Medium stone grey", "THandle", Vector3.new(1, 0.799999893, 1))
746
  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))
747
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.80000019, 0.300000012, 1.80000007))
748
  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))
749
  CFuncs.Mesh.Create("CylinderMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
750
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 1.10000002, 0.300000012))
751
  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))
752
  CFuncs.Mesh.Create("CylinderMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
753
  AHandleR = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "AHandleR", Vector3.new(0.799999952, 0.800000012, 1.22000003))
754
  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))
755
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.899999976, 1.01999998))
756
  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))
757
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.200000003, 0.200000003))
758
  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))
759
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.200000003, 0.200000003))
760
  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))
761
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.20000005, 0.800000012, 1.20000005))
762
  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))
763
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.699999988, 1.01999998))
764
  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))
765
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.699999988, 1.01999998))
766
  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))
767
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.699999928, 0.520000041))
768
  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))
769
  HitboxR = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "HitboxR", Vector3.new(0.799999952, 0.800000012, 1.22000003))
770
  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))
771
  AHandleL = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "AHandleL", Vector3.new(0.800000072, 0.800000012, 1.22000003))
772
  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))
773
  HitboxL = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "HitboxL", Vector3.new(0.800000072, 0.800000012, 1.22000003))
774
  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))
775
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.200000003, 0.200000003))
776
  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))
777
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.699999928, 0.520000041))
778
  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))
779
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.200000003, 0.200000003))
780
  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))
781
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.20000005, 0.800000012, 1.20000005))
782
  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))
783
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.899999976, 1.01999998))
784
  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))
785
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.200000003, 0.699999988, 1.01999998))
786
  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))
787
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.300000012, 0.699999988, 1.01999998))
788
  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))
789
  LHandleR = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "LHandleR", Vector3.new(1.02999997, 1.00999999, 1.19000006))
790
  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))
791
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.800000012, 0.800000012, 0.200000003))
792
  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))
793
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.02999997, 1.00999999, 1.19000006))
794
  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))
795
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.02999997, 0.699999928, 1.19000006))
796
  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))
797
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.400000006, 1.20000005, 0.200000003))
798
  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))
799
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.800000131, 1.20000005, 0.800000012))
800
  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))
801
  CFuncs.Mesh.Create("CylinderMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
802
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.200000003, 0.200000003, 0.200000003))
803
  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))
804
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
805
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.200000003, 0.200000003, 0.200000003))
806
  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))
807
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
808
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.200000003, 0.200000003, 0.200000003))
809
  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))
810
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
811
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.200000003, 0.200000003, 0.200000003))
812
  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))
813
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
814
  LHandleL = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "LHandleL", Vector3.new(1.02999997, 1.00999999, 1.19000006))
815
  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))
816
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.02999997, 1.00999999, 1.19000006))
817
  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))
818
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.400000006, 1.20000005, 0.300000012))
819
  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))
820
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(1.02999997, 0.699999928, 1.19000006))
821
  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))
822
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.800000131, 1.20000005, 0.800000012))
823
  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))
824
  CFuncs.Mesh.Create("CylinderMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
825
  Part = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Part", Vector3.new(0.800000012, 0.800000012, 0.300000012))
826
  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))
827
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.300000012, 0.200000003, 0.200000003))
828
  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))
829
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
830
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.300000012, 0.200000003, 0.200000003))
831
  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))
832
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
833
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.300000012, 0.200000003, 0.200000003))
834
  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))
835
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
836
  Wedge = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Cyan", "Wedge", Vector3.new(0.300000012, 0.200000003, 0.200000003))
837
  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))
838
  CFuncs.Mesh.Create("SpecialMesh", Wedge, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
839
  Shield = CFuncs.Part.Create(m, "Neon", 0, 0.5, "Royal purple", "Part", Vector3.new(9.1, 8.5, 0.2))
840
  CFuncs.Mesh.Create("SpecialMesh", Shield, "FileMesh", "rbxassetid://708292865", Vector3.new(0, 0, 0), Vector3.new(0.04, 0.04, 0.04))
841
  Shield.Parent = nil
842
  EffectModel = Create("Model")({Parent = Character, Name = "Effects"})
843
  Effects = {
844
    Block = {
845
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
846
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
847
        prt.Anchored = true
848
        prt.CFrame = cframe
849
        local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
850
        game:GetService("Debris"):AddItem(prt, 10)
851
        if Type == 1 or Type == nil then
852
          table.insert(Effects, {
853
            prt,
854
            "Block1",
855
            delay,
856
            x3,
857
            y3,
858
            z3,
859
            msh
860
          })
861
        elseif Type == 2 then
862
          table.insert(Effects, {
863
            prt,
864
            "Block2",
865
            delay,
866
            x3,
867
            y3,
868
            z3,
869
            msh
870
          })
871
        end
872
      end
873
    },
874
    Cylinder = {
875
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
876
        local prt = CFuncs.Part .. Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.2, 0.2, 0.2))
877
        prt.Anchored = true
878
        prt.CFrame = cframe
879
        local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
880
        game:GetService("Debris"):AddItem(prt, 2)
881
        Effects[#Effects + 1] = {
882
          prt,
883
          "Cylinder",
884
          delay,
885
          x3,
886
          y3,
887
          z3
888
        }
889
      end
890
    },
891
    Head = {
892
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
893
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
894
        prt.Anchored = true
895
        prt.CFrame = cframe
896
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Head", "nil", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
897
        game:GetService("Debris"):AddItem(prt, 10)
898
        table.insert(Effects, {
899
          prt,
900
          "Cylinder",
901
          delay,
902
          x3,
903
          y3,
904
          z3,
905
          msh
906
        })
907
      end
908
    },
909
    Sphere = {
910
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
911
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
912
        prt.Anchored = true
913
        prt.CFrame = cframe
914
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
915
        game:GetService("Debris"):AddItem(prt, 10)
916
        table.insert(Effects, {
917
          prt,
918
          "Cylinder",
919
          delay,
920
          x3,
921
          y3,
922
          z3,
923
          msh
924
        })
925
      end
926
    },
927
    Sphere2 = {
928
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
929
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
930
        prt.Anchored = true
931
        prt.CFrame = cframe
932
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
933
        game:GetService("Debris"):AddItem(prt, 10)
934
        table.insert(Effects, {
935
          prt,
936
          "Cylinder",
937
          delay,
938
          x3,
939
          y3,
940
          z3,
941
          msh
942
        })
943
      end
944
    },
945
    Elec = {
946
      Create = function(cff, x, y, z)
947
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, BrickColor.new("Royal purple"), "Part", Vector3.new(1, 1, 1))
948
        prt.Anchored = true
949
        prt.CFrame = cff * CFrame.new(math.random(-x, x), math.random(-y, y), math.random(-z, z))
950
        prt.CFrame = CFrame.new(prt.Position)
951
        game:GetService("Debris"):AddItem(prt, 2)
952
        local xval = math.random() / 2
953
        local yval = math.random() / 2
954
        local zval = math.random() / 2
955
        local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(xval, yval, zval))
956
        table.insert(Effects, {
957
          prt,
958
          "Elec",
959
          0.1,
960
          x,
961
          y,
962
          z,
963
          xval,
964
          yval,
965
          zval
966
        })
967
      end
968
    },
969
    Ring = {
970
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
971
        local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
972
        prt.Anchored = true
973
        prt.CFrame = cframe
974
        local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
975
        game:GetService("Debris"):AddItem(prt, 10)
976
        table.insert(Effects, {
977
          prt,
978
          "Cylinder",
979
          delay,
980
          x3,
981
          y3,
982
          z3,
983
          msh
984
        })
985
      end
986
    },
987
    Wave = {
988
      Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
989
        local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
990
        prt.Anchored = true
991
        prt.CFrame = cframe
992
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
993
        game:GetService("Debris"):AddItem(prt, 10)
994
        table.insert(Effects, {
995
          prt,
996
          "Cylinder",
997
          delay,
998
          x3,
999
          y3,
1000
          z3,
1001
          msh
1002
        })
1003
      end
1004
    },
1005
    Break = {
1006
      Create = function(brickcolor, cframe, x1, y1, z1)
1007
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
1008
        prt.Anchored = true
1009
        prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1010
        local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1011
        local num = math.random(10, 50) / 1000
1012
        game:GetService("Debris"):AddItem(prt, 10)
1013
        table.insert(Effects, {
1014
          prt,
1015
          "Shatter",
1016
          num,
1017
          prt.CFrame,
1018
          math.random() - math.random(),
1019
          0,
1020
          math.random(50, 100) / 100
1021
        })
1022
      end
1023
    },
1024
    Fire = {
1025
      Create = function(brickcolor, cframe, x1, y1, z1, delay)
1026
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
1027
        prt.Anchored = true
1028
        prt.CFrame = cframe
1029
        msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1030
        game:GetService("Debris"):AddItem(prt, 10)
1031
        table.insert(Effects, {
1032
          prt,
1033
          "Fire",
1034
          delay,
1035
          1,
1036
          1,
1037
          1,
1038
          msh
1039
        })
1040
      end
1041
    },
1042
    FireWave = {
1043
      Create = function(brickcolor, cframe, x1, y1, z1)
1044
        local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 1, brickcolor, "Effect", Vector3.new())
1045
        prt.Anchored = true
1046
        prt.CFrame = cframe
1047
        msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1048
        local d = Create("Decal")({
1049
          Parent = prt,
1050
          Texture = "rbxassetid://26356434",
1051
          Face = "Top"
1052
        })
1053
        local d = Create("Decal")({
1054
          Parent = prt,
1055
          Texture = "rbxassetid://26356434",
1056
          Face = "Bottom"
1057
        })
1058
        game:GetService("Debris"):AddItem(prt, 10)
1059
        table.insert(Effects, {
1060
          prt,
1061
          "FireWave",
1062
          1,
1063
          30,
1064
          math.random(400, 600) / 100,
1065
          msh
1066
        })
1067
      end
1068
    },
1069
    Lightning = {
1070
      Create = function(p0, p1, tym, ofs, col, th, tra, last)
1071
        local magz = (p0 - p1).magnitude
1072
        local curpos = p0
1073
        local trz = {
1074
          -ofs,
1075
          ofs
1076
        }
1077
        for i = 1, tym do
1078
          local li = CFuncs.Part.Create(EffectModel, "Neon", 0, tra or 0.4, col, "Ref", Vector3.new(th, th, magz / tym))
1079
          local ofz = Vector3.new(trz[math.random(1, 2)], trz[math.random(1, 2)], trz[math.random(1, 2)])
1080
          local trolpos = CFrame.new(curpos, p1) * CFrame.new(0, 0, magz / tym).p + ofz
1081
          li.Material = "Neon"
1082
          if tym == i then
1083
            local magz2 = (curpos - p1).magnitude
1084
            li.Size = Vector3.new(th, th, magz2)
1085
            li.CFrame = CFrame.new(curpos, p1) * CFrame.new(0, 0, -magz2 / 2)
1086
            table.insert(Effects, {
1087
              li,
1088
              "Disappear",
1089
              last
1090
            })
1091
          else
1092
            li.CFrame = CFrame.new(curpos, trolpos) * CFrame.new(0, 0, magz / tym / 2)
1093
            curpos = li.CFrame * CFrame.new(0, 0, magz / tym / 2).p
1094
            game.Debris:AddItem(li, 10)
1095
            table.insert(Effects, {
1096
              li,
1097
              "Disappear",
1098
              last
1099
            })
1100
          end
1101
        end
1102
      end
1103
    },
1104
    EffectTemplate = {}
1105
  }
1106
  local Invisible = true
1107
  function Reappear()
1108
    for _, i in pairs(AdvancingFortress:children()) do
1109
      if i:IsA("BasePart") then
1110
        coroutine.resume(coroutine.create(function(Part)
1111
          for i = 0, 1, 0.3 do
1112
            swait()
1113
            Part.Transparency = -i
1114
          end
1115
          Part.Transparency = 0
1116
        end), i)
1117
      end
1118
    end
1119
    for _, i in pairs(m:children()) do
1120
      if i:IsA("BasePart") then
1121
        coroutine.resume(coroutine.create(function(Part)
1122
          for i = 0, 1, 0.3 do
1123
            swait()
1124
            Part.Transparency = i
1125
          end
1126
          Part.Transparency = 0
1127
        end), i)
1128
      end
1129
    end
1130
  end
1131
  function ReappearArmorOnly()
1132
    for _, i in pairs(m:children()) do
1133
      if i:IsA("BasePart") then
1134
        coroutine.resume(coroutine.create(function(Part)
1135
          for i = 0, 1, 0.3 do
1136
            swait()
1137
            Part.Transparency = i
1138
          end
1139
          Part.Transparency = 0
1140
        end), i)
1141
      end
1142
    end
1143
  end
1144
  function Disappear()
1145
    for _, i in pairs(AdvancingFortress:children()) do
1146
      if i:IsA("BasePart") then
1147
        coroutine.resume(coroutine.create(function(Part)
1148
          for i = 0, 1, 0.3 do
1149
            swait()
1150
            Part.Transparency = i
1151
          end
1152
          Part.Transparency = 1
1153
        end), i)
1154
      end
1155
    end
1156
    for _, i in pairs(m:children()) do
1157
      if i:IsA("BasePart") then
1158
        coroutine.resume(coroutine.create(function(Part)
1159
          for i = 0, 1, 0.3 do
1160
            swait()
1161
            Part.Transparency = i
1162
          end
1163
          Part.Transparency = 1
1164
        end), i)
1165
      end
1166
    end
1167
  end
1168
  function DisappearArmorOnly()
1169
    for _, i in pairs(m:children()) do
1170
      if i:IsA("BasePart") then
1171
        coroutine.resume(coroutine.create(function(Part)
1172
          for i = 0, 1, 0.3 do
1173
            swait()
1174
            Part.Transparency = i
1175
          end
1176
          Part.Transparency = 1
1177
        end), i)
1178
      end
1179
    end
1180
  end
1181
  function CamShake(time, freq)
1182
    coroutine.resume(coroutine.create(function()
1183
      local cam = game:GetService("Workspace").CurrentCamera
1184
      local time = 10
1185
      local seed = Vector3.new(math.random(100, 200) / freq, math.random(100, 200) / freq, 0)
1186
      if math.random(1, 2) == 1 then
1187
        seed = Vector3.new(-seed.x, seed.y, 0)
1188
      end
1189
      if math.random(1, 2) == 1 then
1190
        seed = Vector3.new(seed.x, -seed.y, 0)
1191
      end
1192
      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)
1193
      for i = 1, time do
1194
        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)
1195
        wait()
1196
      end
1197
    end))
1198
  end
1199
  local ora = false
1200
  function ORA()
1201
    attack = true
1202
    local S = CFuncs.Sound.Create("161823027", Torso, 1, 1)
1203
    S.Looped = true
1204
    if ora == true then
1205
      while ora == true do
1206
        CFuncs.Sound.Create("200632136", HitboxL, 0.3, math.random(1, 1.2))
1207
        MagnitudeDamage(HitboxL, 5, 4, 10, 0, "Normal", "260430117", 1)
1208
        for i = 0, 1, 0.8 do
1209
          swait()
1210
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -4), 0.5)
1211
          PlayAnimationFromTable({
1212
            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),
1213
            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),
1214
            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),
1215
            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),
1216
            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),
1217
            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)
1218
          }, 0.8, false)
1219
        end
1220
        CFuncs.Sound.Create("200632136", HitboxR, 0.3, math.random(1, 1.2))
1221
        MagnitudeDamage(HitboxR, 5, 4, 10, 0, "Normal", "260430117", 1)
1222
        for i = 0, 1, 0.8 do
1223
          swait()
1224
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -4), 0.5)
1225
          PlayAnimationFromTable({
1226
            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),
1227
            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),
1228
            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),
1229
            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),
1230
            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),
1231
            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)
1232
          }, 0.8, false)
1233
        end
1234
        CFuncs.Sound.Create("200632136", HitboxL, 0.3, math.random(1, 1.2))
1235
        MagnitudeDamage(HitboxL, 5, 4, 10, 0, "Normal", "260430117", 1)
1236
        for i = 0, 1, 0.8 do
1237
          swait()
1238
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -4), 0.5)
1239
          PlayAnimationFromTable({
1240
            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),
1241
            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),
1242
            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),
1243
            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),
1244
            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),
1245
            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)
1246
          }, 0.8, false)
1247
        end
1248
        CFuncs.Sound.Create("200632136", HitboxR, 0.3, math.random(1, 1.2))
1249
        MagnitudeDamage(HitboxR, 5, 4, 10, 0, "Normal", "260430117", 1)
1250
        for i = 0, 1, 0.8 do
1251
          swait()
1252
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -4), 0.5)
1253
          PlayAnimationFromTable({
1254
            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),
1255
            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),
1256
            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),
1257
            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),
1258
            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),
1259
            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)
1260
          }, 0.8, false)
1261
        end
1262
        CFuncs.Sound.Create("200632136", HitboxL, 0.3, math.random(1, 1.2))
1263
        MagnitudeDamage(HitboxL, 5, 4, 10, 0, "Normal", "260430117", 1)
1264
      end
1265
    end
1266
    S:Stop()
1267
    local S2 = CFuncs.Sound.Create("402454350", Torso, 1.5, 1)
1268
    Instance.new("DistortionSoundEffect", S2).Level = 0.8
1269
    for i = 0, 1, 0.13 do
1270
      swait()
1271
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -3), 0.5)
1272
      PlayAnimationFromTable({
1273
        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),
1274
        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),
1275
        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),
1276
        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),
1277
        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),
1278
        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)
1279
      }, 0.2, false)
1280
    end
1281
    CFuncs.Sound.Create("471881954", HitboxR, 1, 1)
1282
    MagnitudeDamage(HitboxR, 7, 10, 15, 50, "Normal", "610359590", 1)
1283
    for i = 0, 1, 0.1 do
1284
      swait()
1285
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -5), 0.3)
1286
      PlayAnimationFromTable({
1287
        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),
1288
        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),
1289
        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),
1290
        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),
1291
        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),
1292
        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)
1293
      }, 0.6, false)
1294
    end
1295
    attack = false
1296
  end
1297
  function CastleCrusherFist()
1298
    attack = true
1299
    STDamage = true
1300
    local S2 = CFuncs.Sound.Create("402454350", Torso, 1, 1)
1301
    Instance.new("DistortionSoundEffect", S2).Level = 0.8
1302
    for i = 0, 1, 0.1 do
1303
      swait()
1304
      Effects.Block.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 4, 4, 4, 0.3, 1)
1305
      Effects.Break.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 0.5, 0.5, 0.5)
1306
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -2), 0.2)
1307
      PlayAnimationFromTable({
1308
        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),
1309
        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),
1310
        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),
1311
        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),
1312
        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),
1313
        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)
1314
      }, 0.2, false)
1315
    end
1316
    MagnitudeDamage(HitboxR, 10, 50, 80, 100, "Normal", "610359515", 1)
1317
    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)
1318
    CFuncs.Sound.Create("471881980", HitboxR, 1, 0.9)
1319
    CFuncs.Sound.Create("471881954", HitboxR, 1, 0.8)
1320
    for i = 0, 1, 0.08 do
1321
      swait()
1322
      Effects.Block.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 4, 4, 4, 0.3, 1)
1323
      Effects.Break.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 0.5, 0.5, 0.5)
1324
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -5), 0.3)
1325
      PlayAnimationFromTable({
1326
        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),
1327
        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),
1328
        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),
1329
        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),
1330
        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),
1331
        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)
1332
      }, 0.6, false)
1333
    end
1334
    STDamage = false
1335
    attack = false
1336
  end
1337
  function CastleCrusherFist()
1338
    attack = true
1339
    STDamage = true
1340
    local S2 = CFuncs.Sound.Create("402454350", Torso, 1, 1)
1341
    Instance.new("DistortionSoundEffect", S2).Level = 0.8
1342
    for i = 0, 1, 0.1 do
1343
      swait()
1344
      Effects.Block.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 4, 4, 4, 0.3, 1)
1345
      Effects.Break.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 0.5, 0.5, 0.5)
1346
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -2), 0.5)
1347
      PlayAnimationFromTable({
1348
        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),
1349
        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),
1350
        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),
1351
        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),
1352
        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),
1353
        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)
1354
      }, 0.2, false)
1355
    end
1356
    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)
1357
    Character.HumanoidRootPart.Velocity = Character.HumanoidRootPart.CFrame.lookVector * 140
1358
    CFuncs.Sound.Create("471881980", HitboxR, 1, 0.9)
1359
    CFuncs.Sound.Create("471881954", HitboxR, 1, 0.8)
1360
    for i = 0, 1, 0.08 do
1361
      swait()
1362
      MagnitudeDamage(HitboxR, 5, 50, 80, 100, "Normal", "610359515", 1)
1363
      Effects.Block.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 4, 4, 4, 0.3, 1)
1364
      Effects.Break.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 0.5, 0.5, 0.5)
1365
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -5), 1)
1366
      PlayAnimationFromTable({
1367
        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),
1368
        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),
1369
        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),
1370
        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),
1371
        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),
1372
        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)
1373
      }, 0.6, false)
1374
    end
1375
    STDamage = false
1376
    attack = false
1377
  end
1378
  function weld5(part0, part1, c0, c1)
1379
    local weeld = Instance.new("Weld", part0)
1380
    weeld.Part0 = part0
1381
    weeld.Part1 = part1
1382
    weeld.C0 = c0
1383
    weeld.C1 = c1
1384
    return weeld
1385
  end
1386
  local Grab = false
1387
  function GRABEMBOIGRABEM()
1388
    attack = true
1389
    gp = nil
1390
    con1 = HitboxR.Touched:connect(function(hit)
1391
      local ht = hit.Parent
1392
      local hum1 = ht:FindFirstChild("Humanoid")
1393
      if Grab == false then
1394
        if hum1 ~= nil and hit.Parent ~= Character then
1395
          hum1.PlatformStand = true
1396
          gp = ht
1397
          Grab = true
1398
          local asd = weld5(RightArm, ht:FindFirstChild("Torso"), CFrame.new(0, -1.5, 0), CFrame.new(0, 0, 0))
1399
          asd.Parent = RightArm
1400
          asd.Name = "asd"
1401
          asd.C0 = asd.C0 * CFrame.Angles(math.rad(-90), 0, 0)
1402
          CFuncs.Sound.Create("200632821", Torso, 1, 1)
1403
        elseif hum1 == nil then
1404
          con1:disconnect()
1405
          wait()
1406
          return
1407
        end
1408
      end
1409
    end)
1410
    for i = 0, 1, 0.2 do
1411
      swait()
1412
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -2), 0.3)
1413
      PlayAnimationFromTable({
1414
        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),
1415
        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),
1416
        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),
1417
        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),
1418
        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),
1419
        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)
1420
      }, 0.3, false)
1421
    end
1422
    for i = 0, 1, 0.1 do
1423
      swait()
1424
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -6), 0.3)
1425
      PlayAnimationFromTable({
1426
        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),
1427
        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),
1428
        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),
1429
        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),
1430
        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),
1431
        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)
1432
      }, 0.3, false)
1433
    end
1434
    if Grab == true then
1435
      for i = 1, 5 do
1436
        for i = 0, 1, 0.35 do
1437
          swait()
1438
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 13, -6), 0.3)
1439
          PlayAnimationFromTable({
1440
            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),
1441
            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),
1442
            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),
1443
            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),
1444
            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),
1445
            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)
1446
          }, 0.4, false)
1447
        end
1448
        for i = 0, 1, 0.3 do
1449
          swait()
1450
          RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1, -6), 0.3)
1451
          PlayAnimationFromTable({
1452
            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),
1453
            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),
1454
            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),
1455
            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),
1456
            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),
1457
            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)
1458
          }, 0.7, false)
1459
        end
1460
        local hit, pos = rayCast(HitboxR.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 100, Character)
1461
        if hit ~= nil then
1462
          MagnitudeDamage(HitboxR, 5, 10, 30, 0, "Normal", "610359515", 1.3)
1463
          Effects.Block.Create(BrickColor.new("Royal purple"), CFrame.new(pos), 1, 1, 1, 0.7, 0.7, 0.7, 0.09, 1)
1464
          Effects.Wave.Create(BrickColor.new("Royal purple"), CFrame.new(pos), 1, 1, 1, 0.7, 0.7, 0.7, 0.09)
1465
          Effects.Sphere.Create(BrickColor.new("Royal purple"), CFrame.new(pos), 3, 3, 3, 5, 5, 5, 0.09)
1466
        end
1467
      end
1468
    end
1469
    for i, v in pairs(RightArm:GetChildren()) do
1470
      if v.Name == "asd" and v:IsA("Weld") then
1471
        v:Remove()
1472
      end
1473
    end
1474
    Grab = false
1475
    con1:disconnect()
1476
    attack = false
1477
  end
1478
  local IsWearingArmor = false
1479
  function Armor(Mode)
1480
    attack = true
1481
    if IsWearingArmor == false and Mode == "On" then
1482
      IsWearingArmor = true
1483
      Disappear()
1484
      swait(10)
1485
      ReappearArmorOnly()
1486
      Character.Humanoid.MaxHealth = 500
1487
      Character.Humanoid.Health = 500
1488
      HHandleWeld.Part0 = Character.Head
1489
      THandleWeld.Part0 = Character.Torso
1490
      AHandleRWeld.Part0 = Character["Right Arm"]
1491
      AHandleLWeld.Part0 = Character["Left Arm"]
1492
      LHandleRWeld.Part0 = Character["Right Leg"]
1493
      LHandleLWeld.Part0 = Character["Left Leg"]
1494
      for i, v in pairs(AdvancingFortress:GetChildren()) do
1495
        if v:IsA("BasePart") then
1496
          v.Transparency = 1
1497
        end
1498
      end
1499
      for i, v in pairs(Character:GetChildren()) do
1500
        if v:IsA("Accessory") then
1501
          v.Handle.Transparency = 1
1502
        end
1503
      end
1504
    elseif IsWearingArmor == true and Mode == "Off" then
1505
      IsWearingArmor = false
1506
      DisappearArmorOnly()
1507
      for i, v in pairs(Character:GetChildren()) do
1508
        if v:IsA("Accessory") then
1509
          v.Handle.Transparency = 0
1510
        end
1511
      end
1512
      swait(10)
1513
      Reappear()
1514
      Character.Humanoid.MaxHealth = 100
1515
      Character.Humanoid.Health = 100
1516
      HHandleWeld.Part0 = Head
1517
      THandleWeld.Part0 = Torso
1518
      AHandleRWeld.Part0 = RightArm
1519
      AHandleLWeld.Part0 = LeftArm
1520
      LHandleRWeld.Part0 = RightLeg
1521
      LHandleLWeld.Part0 = LeftLeg
1522
      for i, v in pairs(AdvancingFortress:GetChildren()) do
1523
        if v:IsA("BasePart") then
1524
          v.Transparency = 0
1525
        end
1526
      end
1527
    end
1528
    attack = false
1529
  end
1530
  local ShieldMode = false
1531
  local ShieldCharge = false
1532
  function HoloHexShield()
1533
    attack = true
1534
    Shield.Parent = m
1535
    Shield.CanCollide = true
1536
    if ShieldMode == true then
1537
      while ShieldMode == true do
1538
        swait()
1539
        Effects.Elec.Create(Shield.CFrame, 6, 6, 6)
1540
        RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -4), 0.3)
1541
        PlayAnimationFromTable({
1542
          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),
1543
          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),
1544
          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),
1545
          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),
1546
          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),
1547
          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)
1548
        }, 0.3, false)
1549
      end
1550
    end
1551
    Shield.CanCollide = false
1552
    CFuncs.Sound.Create("200632211", HitboxR, 1, 0.8)
1553
    CFuncs.Sound.Create("200632875", HitboxR, 1, 0.9)
1554
    Character.HumanoidRootPart.Velocity = Character.HumanoidRootPart.CFrame.lookVector * 160
1555
    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)
1556
    for i = 0, 1, 0.05 do
1557
      swait()
1558
      MagnitudeDamage(Shield, 5, 10, 15, 20, "Normal", "610359515", 1.3)
1559
      Effects.Elec.Create(Shield.CFrame, 6, 6, 6)
1560
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -3), 1)
1561
      PlayAnimationFromTable({
1562
        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),
1563
        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),
1564
        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),
1565
        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),
1566
        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),
1567
        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)
1568
      }, 0.5, false)
1569
    end
1570
    Shield.Parent = nil
1571
    attack = false
1572
  end
1573
  Mouse.Button1Down:connect(function()
1574
    if attack == false and attacktype == 1 then
1575
      attacktype = 2
1576
      attackone()
1577
    elseif attack == false and attacktype == 2 then
1578
      attacktype = 1
1579
      attacktwo()
1580
    end
1581
  end)
1582
  game.Lighting.Outlines = false
1583
  function attackone()
1584
    attack = true
1585
    for i = 0, 1, 0.12 do
1586
      swait()
1587
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -4), 0.3)
1588
      PlayAnimationFromTable({
1589
        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),
1590
        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),
1591
        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),
1592
        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),
1593
        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),
1594
        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)
1595
      }, 0.3, false)
1596
    end
1597
    MagnitudeDamage(HitboxR, 7, 10, 15, math.random(1, 3), "Normal", "260430079", 1)
1598
    CFuncs.Sound.Create("200632136", HitboxR, 1, 1)
1599
    RootPart.Velocity = RootPart.CFrame.lookVector * 40
1600
    for i = 0, 1, 0.11 do
1601
      swait()
1602
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -4), 0.3)
1603
      PlayAnimationFromTable({
1604
        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),
1605
        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),
1606
        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),
1607
        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),
1608
        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),
1609
        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)
1610
      }, 0.45, false)
1611
    end
1612
    attack = false
1613
  end
1614
  function attacktwo()
1615
    attack = true
1616
    for i = 0, 1, 0.12 do
1617
      swait()
1618
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -4), 0.3)
1619
      PlayAnimationFromTable({
1620
        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),
1621
        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),
1622
        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),
1623
        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),
1624
        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),
1625
        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)
1626
      }, 0.34, false)
1627
    end
1628
    MagnitudeDamage(HitboxL, 7, 10, 15, math.random(1, 3), "Normal", "260430079", 1.1)
1629
    CFuncs.Sound.Create("200632136", HitboxL, 1, 1)
1630
    RootPart.Velocity = RootPart.CFrame.lookVector * 40
1631
    for i = 0, 1, 0.12 do
1632
      swait()
1633
      RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(0, 1.3, -4), 0.3)
1634
      PlayAnimationFromTable({
1635
        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),
1636
        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),
1637
        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),
1638
        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),
1639
        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),
1640
        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)
1641
      }, 0.45, false)
1642
    end
1643
    attack = false
1644
  end
1645
  function findNearestTorso(pos)
1646
    local list = game.Workspace:children()
1647
    local torso
1648
    local dist = 1000
1649
    local temp, human, temp2
1650
    for x = 1, #list do
1651
      temp2 = list[x]
1652
      if temp2.className == "Model" and temp2.Name ~= Character.Name then
1653
        temp = temp2:findFirstChild("Torso")
1654
        human = temp2:findFirstChild("Humanoid")
1655
        if temp ~= nil and human ~= nil and human.Health > 0 and dist > (temp.Position - pos).magnitude then
1656
          local dohit = true
1657
          if dohit == true then
1658
            torso = temp
1659
            dist = (temp.Position - pos).magnitude
1660
          end
1661
        end
1662
      end
1663
    end
1664
    return torso, dist
1665
  end
1666
  function TrueAim(aim)
1667
    local target, distance = findNearestTorso(Mouse.Hit.p)
1668
    local tehcf = HitboxR.CFrame * CFrame.fromEulerAnglesXYZ(1.57, 0, 0).lookVector
1669
    if aim ~= nil then
1670
      tehcf = aim
1671
    end
1672
    table.insert(Effects, {
1673
      tehcf,
1674
      "Shoot",
1675
      30,
1676
      HitboxR.Position,
1677
      10,
1678
      15,
1679
      0,
1680
      3,
1681
      HitboxR,
1682
      target
1683
    })
1684
  end
1685
  function FireProjectiles()
1686
    attack = true
1687
    Humanoid.WalkSpeed = 20
1688
    CFuncs.Sound.Create("300915902", HitboxR, 1, 0.8)
1689
    for i = 0, 1, 0.1 do
1690
      swait()
1691
      Effects.Elec.Create(HitboxR.CFrame, 2, 2, 2)
1692
      PlayAnimationFromTable({
1693
        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),
1694
        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),
1695
        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),
1696
        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),
1697
        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),
1698
        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)
1699
      }, 0.3, false)
1700
    end
1701
    for i = 0, 1, 0.1 do
1702
      swait()
1703
      Effects.Elec.Create(HitboxR.CFrame, 3, 3, 3)
1704
      Effects.Block.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 1, 1, 1, 0.1)
1705
      Effects.Sphere2.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 1, 1, 1, 0.1)
1706
      PlayAnimationFromTable({
1707
        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),
1708
        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),
1709
        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),
1710
        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),
1711
        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),
1712
        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)
1713
      }, 0.2, false)
1714
    end
1715
    for i = 1, 10 do
1716
      for i = 0, 1, 0.3 do
1717
        swait()
1718
        Effects.Elec.Create(HitboxR.CFrame, 3, 3, 3)
1719
        Effects.Sphere2.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 1, 1, 1, 0.1)
1720
        PlayAnimationFromTable({
1721
          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),
1722
          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),
1723
          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),
1724
          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),
1725
          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),
1726
          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)
1727
        }, 0.3, false)
1728
      end
1729
      CFuncs.Sound.Create("300916105", HitboxR, 1, 1.2)
1730
      CFuncs.Sound.Create("300916014", HitboxR, 1, 1)
1731
      Effects.Sphere2.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 2, 2, 2, 0.07)
1732
      local MouseLook = CFrame.new((HitboxR.Position + Mouse.Hit.p) / 2, Mouse.Hit.p)
1733
      TrueAim(MouseLook.lookVector)
1734
      for i = 0, 1, 0.3 do
1735
        swait()
1736
        Effects.Elec.Create(HitboxR.CFrame, 3, 3, 3)
1737
        Effects.Sphere2.Create(BrickColor.new("Royal purple"), HitboxR.CFrame, 1, 1, 1, 1, 1, 1, 0.1)
1738
        PlayAnimationFromTable({
1739
          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),
1740
          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),
1741
          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),
1742
          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),
1743
          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),
1744
          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)
1745
        }, 0.3, false)
1746
      end
1747
    end
1748
    Humanoid.WalkSpeed = 20
1749
    attack = false
1750
  end
1751
  Mouse.KeyDown:connect(function(k)
1752
    k = k:lower()
1753
    if attack == false and ora == false and k == "z" and IsWearingArmor == false and Invisible == false then
1754
      ora = true
1755
      ORA()
1756
    elseif attack == false and k == "x" and IsWearingArmor == false and Invisible == false then
1757
      GRABEMBOIGRABEM()
1758
    elseif attack == false and k == "q" and IsWearingArmor == false and Invisible == false then
1759
      FireProjectiles()
1760
    elseif attack == false and k == "f" and Invisible == false and IsWearingArmor == false then
1761
      Invisible = true
1762
      Effects.Sphere.Create(BrickColor.new("Royal purple"), Torso.CFrame, 1, 1, 1, 4, 4, 4, 0.1)
1763
      Effects.Block.Create(BrickColor.new("Royal purple"), Torso.CFrame, 1, 1, 1, 4, 4, 4, 0.1, 1)
1764
      Disappear()
1765
    elseif attack == false and k == "f" and Invisible == true and IsWearingArmor == false then
1766
      Invisible = false
1767
      CFuncs.Sound.Create("463010917", Torso, 1, 1)
1768
      Effects.Sphere.Create(BrickColor.new("Royal purple"), Torso.CFrame, 1, 1, 1, 4, 4, 4, 0.08)
1769
      for i = 1, 2 do
1770
        Effects.Block.Create(BrickColor.new("Royal purple"), Torso.CFrame, 1, 1, 1, 4, 4, 4, 0.1, 1)
1771
      end
1772
      for i = 1, 20 do
1773
        Effects.Break.Create(BrickColor.new("Royal purple"), Torso.CFrame, 1, 1, 1)
1774
      end
1775
      Reappear()
1776
    elseif attack == false and ShieldMode == false and k == "c" and IsWearingArmor == false and Invisible == false then
1777
      ShieldMode = true
1778
      HoloHexShield()
1779
    elseif attack == false and k == "v" and IsWearingArmor == false and Invisible == false then
1780
      CastleCrusherFist()
1781
    end
1782
    if k == "[" and IsWearingArmor == false and Invisible == false then
1783
      Armor("On")
1784
    end
1785
    if k == "]" and IsWearingArmor == true and Invisible == false then
1786
      Armor("Off")
1787
    end
1788
  end)
1789
  Mouse.KeyUp:connect(function(k)
1790
    k = k:lower()
1791
    if attack == true and ora == true and k == "z" and IsWearingArmor == false then
1792
      ora = false
1793
    elseif attack == true and ShieldMode == true and k == "c" and IsWearingArmor == false then
1794
      ShieldMode = false
1795
    end
1796
  end)
1797
  coroutine.resume(coroutine.create(function(Part, Part2)
1798
    while Part.Parent ~= nil do
1799
      swait(math.random(100, 150))
1800
      for i = 0, 1, 0.2 do
1801
        wait()
1802
        Eye1.Mesh.Scale = Vector3.new(1, 0.7 - 1 * i, 1)
1803
        Eye2.Mesh.Scale = Vector3.new(1, 0.7 - 1 * i, 1)
1804
      end
1805
      for i = 0, 1, 0.2 do
1806
        swait()
1807
        Eye1.Mesh.Scale = Vector3.new(1, 0.7 + 0.3 * i, 1)
1808
        Eye2.Mesh.Scale = Vector3.new(1, 0.7 + 0.3 * i, 1)
1809
      end
1810
    end
1811
  end), Eye1, Eye2)
1812
  while true do
1813
    swait()
1814
    for i, v in pairs(Character:children()) do
1815
      if v:IsA("Part") and IsWearingArmor == true then
1816
        v.Anchored = false
1817
      end
1818
    end
1819
    for i, v in pairs(AdvancingFortress:GetChildren()) do
1820
      if v:IsA("Part") then
1821
        v.Material = "SmoothPlastic"
1822
        v.CanCollide = false
1823
      elseif v:IsA("Humanoid") then
1824
        v:remove()
1825
      elseif v:IsA("Accessory") then
1826
        v:remove()
1827
      elseif v:IsA("Shirt") then
1828
        v:remove()
1829
      elseif v:IsA("Pants") then
1830
        v:remove()
1831
      elseif v:IsA("Script") or v:IsA("LocalScript") then
1832
        v:remove()
1833
      elseif v:IsA("BodyColors") then
1834
        v:remove()
1835
      end
1836
    end
1837
    HHandle.Transparency = 1
1838
    THandle.Transparency = 1
1839
    AHandleR.Transparency = 1
1840
    AHandleL.Transparency = 1
1841
    LHandleR.Transparency = 1
1842
    LHandleL.Transparency = 1
1843
    RootPart.Transparency = 1
1844
    HitboxR.Transparency = 1
1845
    HitboxL.Transparency = 1
1846
    Head.BrickColor = BrickColor.new("Royal purple")
1847
    Torso.BrickColor = BrickColor.new("Cyan")
1848
    RightArm.BrickColor = BrickColor.new("Royal purple")
1849
    LeftArm.BrickColor = BrickColor.new("Royal purple")
1850
    RightLeg.BrickColor = BrickColor.new("Royal purple")
1851
    LeftLeg.BrickColor = BrickColor.new("Royal purple")
1852
    RootPart.Anchored = true
1853
    Torsovelocity = (Character.HumanoidRootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
1854
    velocity = Character.HumanoidRootPart.Velocity.y
1855
    sine = sine + change
1856
    Shield.Anchored = true
1857
    Shield.CFrame = Shield.CFrame:lerp(RootPart.CFrame * CFrame.new(0, 0, -3.2), 1)
1858
    local hit, pos = rayCast(Character.HumanoidRootPart.Position, CFrame.new(Character.HumanoidRootPart.Position, Character.HumanoidRootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, Character)
1859
    if Character.HumanoidRootPart.Velocity.y > 1 and hit == nil then
1860
      Anim = "Jump"
1861
      if attack == false then
1862
        RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(2, 1 + 0.5 * math.cos(sine / 20), 3), 0.5)
1863
        PlayAnimationFromTable({
1864
          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),
1865
          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),
1866
          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),
1867
          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),
1868
          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),
1869
          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)
1870
        }, 0.3, false)
1871
      end
1872
    elseif Character.HumanoidRootPart.Velocity.y < -1 and hit == nil then
1873
      Anim = "Fall"
1874
      if attack == false then
1875
        RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(2, 1 + 0.5 * math.cos(sine / 20), 3), 0.5)
1876
        PlayAnimationFromTable({
1877
          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),
1878
          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),
1879
          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),
1880
          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),
1881
          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),
1882
          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)
1883
        }, 0.3, false)
1884
      end
1885
    elseif Torsovelocity < 1 and hit ~= nil then
1886
      Anim = "Idle"
1887
      if attack == false then
1888
        change = 1
1889
        RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(2, 1 + 0.5 * math.cos(sine / 20), 3), 0.5)
1890
        PlayAnimationFromTable({
1891
          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),
1892
          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),
1893
          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),
1894
          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),
1895
          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),
1896
          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)
1897
        }, 0.3, false)
1898
      end
1899
    elseif Torsovelocity > 2 and hit ~= nil then
1900
      Anim = "Walk"
1901
      if attack == false then
1902
        RootPart.CFrame = RootPart.CFrame:lerp(Character.HumanoidRootPart.CFrame * CFrame.new(2, 1 + 0.5 * math.cos(sine / 20), 3), 0.5)
1903
        PlayAnimationFromTable({
1904
          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),
1905
          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),
1906
          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),
1907
          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),
1908
          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),
1909
          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)
1910
        }, 0.3, false)
1911
      end
1912
    end
1913
    if 0 < #Effects then
1914
      for e = 1, #Effects do
1915
        if Effects[e] ~= nil then
1916
          local Thing = Effects[e]
1917
          if Thing ~= nil then
1918
            local Part = Thing[1]
1919
            local Mode = Thing[2]
1920
            local Delay = Thing[3]
1921
            local IncX = Thing[4]
1922
            local IncY = Thing[5]
1923
            local IncZ = Thing[6]
1924
            if Thing[2] == "Shoot" then
1925
              local Look = Thing[1]
1926
              local move = 30
1927
              if Thing[8] == 3 then
1928
                move = 10
1929
              end
1930
              local hit, pos = rayCast(Thing[4], Thing[1], move, m)
1931
              if Thing[10] ~= nil then
1932
                da = pos
1933
                cf2 = CFrame.new(Thing[4], Thing[10].Position)
1934
                cfa = CFrame.new(Thing[4], pos)
1935
                tehCF = cfa:lerp(cf2, 0.2)
1936
                Thing[1] = tehCF.lookVector
1937
              end
1938
              local mag = (Thing[4] - pos).magnitude
1939
              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)
1940
              if Thing[8] == 2 then
1941
                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)
1942
              end
1943
              Thing[4] = Thing[4] + Look * move
1944
              Thing[3] = Thing[3] - 1
1945
              if 2 < Thing[5] then
1946
                Thing[5] = Thing[5] - 0.3
1947
                Thing[6] = Thing[6] - 0.3
1948
              end
1949
              if hit ~= nil then
1950
                Thing[3] = 0
1951
                if Thing[8] == 1 or Thing[8] == 3 then
1952
                  Damage(hit, hit, Thing[5], Thing[6], Thing[7], "Normal", RootPart, 0, "", 1)
1953
                elseif Thing[8] == 2 then
1954
                  Damage(hit, hit, Thing[5], Thing[6], Thing[7], "Normal", RootPart, 0, "", 1)
1955
                  if hit.Parent:findFirstChild("Humanoid") ~= nil or hit.Parent.Parent:findFirstChild("Humanoid") ~= nil then
1956
                    ref = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Royal purple"), "Reference", Vector3.new())
1957
                    ref.Anchored = true
1958
                    ref.CFrame = CFrame.new(pos)
1959
                    CFuncs.Sound.Create("161006093", ref, 1, 1.2)
1960
                    game:GetService("Debris"):AddItem(ref, 0.2)
1961
                    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)
1962
                    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)
1963
                    MagnitudeDamage(ref, 15, Thing[5] / 1.5, Thing[6] / 1.5, 0, "Normal", "", 1)
1964
                  end
1965
                end
1966
                ref = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Royal purple"), "Reference", Vector3.new())
1967
                ref.Anchored = true
1968
                ref.CFrame = CFrame.new(pos)
1969
                Effects.Sphere.Create(Torso.BrickColor, CFrame.new(pos), 5, 5, 5, 1, 1, 1, 0.07)
1970
                game:GetService("Debris"):AddItem(ref, 1)
1971
              end
1972
              if Thing[3] <= 0 then
1973
                table.remove(Effects, e)
1974
              end
1975
            end
1976
            if Thing[2] == "FireWave" then
1977
              if Thing[3] <= Thing[4] then
1978
                Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(0, 1, 0)
1979
                Thing[3] = Thing[3] + 1
1980
                Thing[6].Scale = Thing[6].Scale + Vector3.new(Thing[5], 0, Thing[5])
1981
              else
1982
                Part.Parent = nil
1983
                table.remove(Effects, e)
1984
              end
1985
            end
1986
            if Thing[2] ~= "Shoot" and Thing[2] ~= "Wave" and Thing[2] ~= "FireWave" then
1987
              if Thing[1].Transparency <= 1 then
1988
                if Thing[2] == "Block1" then
1989
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1990
                  Mesh = Thing[7]
1991
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1992
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1993
                elseif Thing[2] == "Block2" then
1994
                  Thing[1].CFrame = Thing[1].CFrame
1995
                  Mesh = Thing[7]
1996
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1997
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1998
                elseif Thing[2] == "Fire" then
1999
                  Thing[1].CFrame = CFrame.new(Thing[1].Position) + Vector3.new(0, 0.2, 0)
2000
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
2001
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2002
                elseif Thing[2] == "Cylinder" then
2003
                  Mesh = Thing[7]
2004
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
2005
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2006
                elseif Thing[2] == "Blood" then
2007
                  Mesh = Thing[7]
2008
                  Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, 0.5, 0)
2009
                  Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
2010
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2011
                elseif Thing[2] == "Elec" then
2012
                  Thing[1].Size = Thing[1].Size + Vector3.new(Thing[7], Thing[8], Thing[9])
2013
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2014
                elseif Thing[2] == "Disappear" then
2015
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2016
                elseif Thing[2] == "Shatter" then
2017
                  Thing[1].Transparency = Thing[1].Transparency + Thing[3]
2018
                  Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
2019
                  Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
2020
                  Thing[6] = Thing[6] + Thing[5]
2021
                end
2022
              else
2023
                Part.Parent = nil
2024
                table.remove(Effects, e)
2025
              end
2026
            end
2027
          end
2028
        end
2029
      end
2030
    end
2031
  end