Run it
Copy the script and paste it into your executor.
Player = .Players.LocalPlayer
RunService = :()
Debris = :()
ActiveDoors = {}
DomainCenter = .(, , )
DomainActive =
WalkSpeedBase =
TempSpeed =
IsImmobilized =
M1Stack =
PlayerHits = {}
SFX = {
DOOR_SPAWN = ,
FOOTSTEPS = ,
STOMP_IMPACT = ,
DOMAIN_AMBIENT = ,
WIGGLE_FINGERS = ,
WAVE = ,
WARP = ,
GRAB_VOICE = ,
GRAB_EFFECT = ,
BLOOD_SFX = ,
PUNCH_HIT =
}
()
i, data (ActiveDoors)
data.Num = i
data.Part data.Part:()
data.Part.BillboardGui.TextLabel.Text = (i)
(id, vol, duration)
char = Player.Character
char char:()
s = .(, char.HumanoidRootPart)
s.SoundId = .. id
s.Volume = vol
s:()
duration
.(duration, () s s:() s:() )
Debris:(s, )
s
Player.PlayerGui:()
Player.PlayerGui[]:()
ScreenGui = .(, Player.PlayerGui)
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
EffectsFrame = .(, ScreenGui)
EffectsFrame.Size = .(, , , ); EffectsFrame.Position = .(, , , ); EffectsFrame.BackgroundTransparency =
layout = .(, EffectsFrame); layout.Padding = .(, )
(text, color, duration)
label = .(, EffectsFrame)
label.Size = .(, , , ); label.BackgroundColor3 = .(, , ); label.TextColor3 = color; label.Text = .. text:(); label.Font = .Font.SourceSansBold; label.TextSize = ; label.TextXAlignment = .TextXAlignment.Left; .(, label); Debris:(label, duration)
.(()
char = Player.Character
hum = char char:()
hum hum.MoveDirection.Magnitude > IsImmobilized
(SFX.FOOTSTEPS, )
.(.( / hum.WalkSpeed, , ))
.()
)
RunService.Heartbeat:(()
char = Player.Character
hum = char char:()
hum
IsImmobilized
hum.WalkSpeed = ; hum.JumpPower =
TempSpeed >
hum.WalkSpeed = TempSpeed
DomainActive
hum.WalkSpeed =
hum.WalkSpeed = WalkSpeedBase + M1Stack
)
M1Btn = .(, ScreenGui)
M1Btn.Size = .(, , , ); M1Btn.Position = .(, , , ); M1Btn.BackgroundColor3 = .(, , ); M1Btn.Text = ; M1Btn.Font = .Font.SourceSansBold; M1Btn.TextSize = ; M1Btn.TextColor3 = .(,,); .(, M1Btn).CornerRadius = .(, ); .(, M1Btn).Thickness =
M1CdLabel = .(, M1Btn); M1CdLabel.Size = .(,,,); M1CdLabel.BackgroundTransparency = ; M1CdLabel.Text = ; M1CdLabel.TextColor3 = .(,,); M1CdLabel.TextSize =
onM1Cd =
M1Btn.MouseButton1Click:(()
onM1Cd IsImmobilized
onM1Cd =
char = Player.Character
root = char.HumanoidRootPart
stopSpawning =
.(()
startTime = ()
() - startTime < stopSpawning
hb = .(, )
hb.Size = .(, , ); hb.CFrame = root.CFrame * .(, , -); hb.Transparency = ; hb.Color = .(, , ); hb.Material = .Material.SmoothPlastic; hb.CanCollide = ; hb.Anchored =
overlapParams = OverlapParams.(); overlapParams.FilterDescendantsInstances = {char}; overlapParams.FilterType = .RaycastFilterType.Exclude
parts = :(hb, overlapParams)
_, part (parts)
enemy = part:()
enemy enemy:()
stopSpawning =
hb.Color = .(, , ); hb.Transparency = ; Debris:(hb, )
punchVols = {, , , , , }
selectedVol = punchVols[.(, #punchVols)]
(SFX.PUNCH_HIT, selectedVol)
PlayerHits[enemy] = (PlayerHits[enemy] ) +
hits = PlayerHits[enemy]
( .. hits .. , .(, , ), )
hits >=
PlayerHits[enemy] = ; IsImmobilized =
(SFX.GRAB_EFFECT, , ); (SFX.GRAB_VOICE, )
(, .(, , ), )
.()
(SFX.BLOOD_SFX, ); IsImmobilized =
TempSpeed = ; (, .(, , ), )
.(, () TempSpeed = )
_, p (.Players:())
p.Character p ~= Player
h = .(, p.Character); h.FillColor = .(, , ); h.OutlineColor = .(,,); Debris:(h, )
stopSpawning Debris:(hb, )
.()
)
.(()
t = ; t > M1CdLabel.Text = .(, t); .(); t = t - ; M1CdLabel.Text = ; onM1Cd =
)
)
(name, pos, color, cooldown, callback)
btn = .(, ScreenGui)
btn.Size = .(, , , ); btn.Position = pos; btn.BackgroundColor3 = .(, , ); btn.Text = name; btn.TextColor3 = color; btn.Font = .Font.SourceSansBold; btn.TextSize = ; .(, btn); .(, btn).Color = color; .(, btn).Thickness =
cdLabel = .(, btn); cdLabel.Size = .(, , , ); cdLabel.BackgroundTransparency = ; cdLabel.Text = ; cdLabel.TextColor3 = .(, , ); cdLabel.TextSize =
onCd =
btn.MouseButton1Click:(()
onCd IsImmobilized
()
onCd =
.(()
t = cooldown
t > cdLabel.Text = .(, t); .(); t = t -
cdLabel.Text = ; onCd =
)
)
(, .(, , , ), .(,,), , ()
(SFX.DOOR_SPAWN, )
colors = {.(,,), .(,,), .(,,), .(,,)}
picked = colors[.(, #colors)]
door = .(, )
door.Size = .(, , ); door.CFrame = Player.Character.HumanoidRootPart.CFrame * .(, , -); door.Anchored = ; door.CanCollide = ; door.Color = picked; door.Material = .Material.Neon
b = .(, door); b.Name = ; b.Size = .(, , , ); b.AlwaysOnTop =
t = .(, b); t.Size = .(, , , ); t.BackgroundTransparency = ; t.Text = ; t.TextColor3 = .(, , ); t.Font = .Font.SourceSansBold; t.TextSize = ; .(, t)
doorData = {Part = door, Pos = door.CFrame, Color = picked, Num = }
.(ActiveDoors, doorData)
()
Debris:(door, )
door.Destroying:(()
i, v (ActiveDoors) v == doorData .(ActiveDoors, i) ()
)
)
(, .(, , , ), .(, , ), , ()
(SFX.STOMP_IMPACT, )
wave = .(, )
wave.Shape = .PartType.Cylinder; wave.Size = .(, , ); wave.CFrame = Player.Character.HumanoidRootPart.CFrame * .(, -, ) * .(, , .()); wave.Anchored = ; wave.CanCollide = ; wave.Color = .(, , ); wave.Material = .Material.Neon; wave.Transparency =
.(()
hits = ; hitMap = {}
i = ,
_, p (:(wave.Position, ))
m = p:()
m m:() m ~= Player.Character hitMap[m]
hitMap[m] = ; hits = hits +
h = .(, m); h.FillColor = .(, , ); Debris:(h, )
.()
wave:()
hits >
TempSpeed = .( + hits, )
(, .(, , ), )
.(, () TempSpeed = )
)
)
(, .(, , , ), .(, , ), , ()
(SFX.WAVE, )
puddle = .(, )
puddle.Size = .(, , ); puddle.Position = Player.Character.HumanoidRootPart.Position - .(, , ); puddle.Anchored = ; puddle.CanCollide = ; puddle.Color = .(, , ); puddle.Material = .Material.Neon; puddle.Transparency = ; Debris:(puddle, )
.(()
et = () +
() < et
_, p (:(puddle.CFrame, puddle.Size))
m = p:()
m m:() m ~= Player.Character m:()
h = .(, m); h.Name = ; h.FillColor = .(, , ); Debris:(h, )
.()
)
)
(, .(, , , ), .(,,), , ()
IsImmobilized = ; (SFX.WIGGLE_FINGERS, )
(, .(, , ), )
.(); IsImmobilized = ; DomainActive =
root = Player.Character.HumanoidRootPart; root.CFrame = .(DomainCenter + .(, , ))
floor = .(, ); floor.Size = .(, , ); floor.Position = DomainCenter; floor.Anchored = ; floor.Color = .(, , ); music = (SFX.DOMAIN_AMBIENT, ); music.Looped =
dInstances = {}
i, data (ActiveDoors)
data.Part data.Part.Parent
p = .(, ); p.Size = .(, , ); p.Position = DomainCenter + .(.(-, ), , .(-, )); p.Anchored = ; p.Color = data.Color; p.Material = .Material.Neon
b = .(, p); b.Size = .(, , , ); b.AlwaysOnTop =
t = .(, b); t.Size = .(, , , ); t.BackgroundTransparency = ; t.Text = (data.Num); t.TextColor3 = .(, , ); t.Font = .Font.SourceSansBold; t.TextSize = ; .(, t)
.(dInstances, {Part = p, RealIndex = i})
conn; conn = RunService.Heartbeat:(()
DomainActive conn:()
_, d (dInstances)
(root.Position - d.Part.Position).Magnitude <
conn:(); DomainActive = ; music:(); floor:()
targetDoorData = ActiveDoors[d.RealIndex]
targetDoorData targetDoorData.Part
root.CFrame = targetDoorData.Pos
(SFX.WARP, )
targetDoorData.Part:()
.(ActiveDoors, d.RealIndex)
()
IsImmobilized = ; (, .(, , ), ); .(); IsImmobilized =
TempSpeed =
(, .(, , ), )
.(, () TempSpeed == TempSpeed = )
_, p (.Players:())
p.Character p ~= Player
h = .(, p.Character); h.FillColor = .(, , ); h.OutlineColor = .(,,); Debris:(h, )
_, cp (dInstances) cp.Part:()
)
)
Complete rework, just play and see.

Universal