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