carnival => frenzy

This commit is contained in:
Gurge44 committed 2026-06-27 15:08:00 +02:00
1 parent 51e589a9c7
commit bc37962e10
5 files changed
+38 -38

No files matched your search

+1 -1
View File
@@ -38,7 +38,7 @@
- Killing the wrong player will result in a punishment, such as death or reduced vision.
- When you eliminate your target, you inherit their target and continue the hunt.
- As more players are eliminated, the circle grows smaller and the pressure increases.
- When only a few players remain, Carnival Mode activates. All remaining players receive a speed boost and a reduced kill cooldown, turning the final showdown into a fast-paced battle for survival.
- When only a few players remain, Frenzy Mode activates. All remaining players receive a speed boost and a reduced kill cooldown, turning the final showdown into a fast-paced battle for survival.
- Be the last player standing to win!
> [!WARNING]
+24 -24
View File
@@ -12,15 +12,15 @@ internal static class DoomTag
{
private static Dictionary<byte, byte> TargetMap = [];
private static Dictionary<byte, long> LowerVisionList = [];
private static bool CarnivalMode;
private static bool FrenzyMode;
private static float DefaultSpeed;
public static OptionItem BaseKillCooldown;
private static OptionItem PunishmentMode;
private static OptionItem LowerVisionMultiplier;
private static OptionItem CarnivalPlayerCount;
private static OptionItem CarnivalKillCooldown;
private static OptionItem CarnivalSpeedMultiplier;
private static OptionItem FrenzyPlayerCount;
private static OptionItem FrenzyKillCooldown;
private static OptionItem FrenzySpeedMultiplier;
private static OptionItem ShowTargetArrow;
private static readonly string[] PunishmentModeOptions = ["DoomTag.PunishSuicide", "DoomTag.PunishLowerVision"];
@@ -48,17 +48,17 @@ internal static class DoomTag
.SetColor(color)
.SetValueFormat(OptionFormat.Multiplier);
CarnivalPlayerCount = new IntegerOptionItem(id++, "DoomTag.CarnivalPlayerCount", new(1, 127, 1), 3, tab)
FrenzyPlayerCount = new IntegerOptionItem(id++, "DoomTag.FrenzyPlayerCount", new(1, 127, 1), 3, tab)
.SetGameMode(gameMode)
.SetColor(color)
.SetValueFormat(OptionFormat.Players);
CarnivalKillCooldown = new FloatOptionItem(id++, "DoomTag.CarnivalKillCooldown", new(2.5f, 60f, 2.5f), 5f, tab)
FrenzyKillCooldown = new FloatOptionItem(id++, "DoomTag.FrenzyKillCooldown", new(2.5f, 60f, 2.5f), 5f, tab)
.SetGameMode(gameMode)
.SetColor(color)
.SetValueFormat(OptionFormat.Seconds);
CarnivalSpeedMultiplier = new FloatOptionItem(id++, "DoomTag.CarnivalSpeedMultiplier", new(0.25f, 10f, 0.25f), 2.0f, tab)
FrenzySpeedMultiplier = new FloatOptionItem(id++, "DoomTag.FrenzySpeedMultiplier", new(0.25f, 10f, 0.25f), 2.0f, tab)
.SetGameMode(gameMode)
.SetColor(color)
.SetValueFormat(OptionFormat.Multiplier);
@@ -73,7 +73,7 @@ internal static class DoomTag
Suffix.Clear();
TargetMap = [];
LowerVisionList = [];
CarnivalMode = false;
FrenzyMode = false;
if (Options.CurrentGameMode != CustomGameMode.DoomTag) return;
@@ -119,7 +119,7 @@ internal static class DoomTag
}
SyncTargetMapRPC();
CarnivalMode = false;
FrenzyMode = false;
}
private static byte GetTarget(byte playerId)
@@ -161,11 +161,11 @@ internal static class DoomTag
TargetMap.Remove(targetId);
CheckCarnivalMode();
CheckFrenzyMode();
Utils.NotifyRoles(SpecifySeer: killer, SpecifyTarget: killer);
SyncTargetMapRPC();
Utils.SendRPC(CustomRPC.DoomTagSync, 1, CarnivalMode);
Utils.SendRPC(CustomRPC.DoomTagSync, 1, FrenzyMode);
killer.Kill(target);
}
@@ -244,32 +244,32 @@ internal static class DoomTag
TargetArrow.RemoveAllTarget(hunterId);
}
CheckCarnivalMode();
CheckFrenzyMode();
SyncTargetMapRPC();
}
private static void CheckCarnivalMode()
private static void CheckFrenzyMode()
{
int aliveCount = Main.AllAlivePlayerControlsCount;
int threshold = CarnivalPlayerCount.GetInt();
int threshold = FrenzyPlayerCount.GetInt();
if (!CarnivalMode && aliveCount <= threshold && aliveCount > 1)
if (!FrenzyMode && aliveCount <= threshold && aliveCount > 1)
{
CarnivalMode = true;
FrenzyMode = true;
Utils.SendRPC(CustomRPC.DoomTagSync, 1, true);
foreach (PlayerControl pc in Main.CachedAlivePlayerControls())
{
Main.AllPlayerSpeed[pc.PlayerId] = DefaultSpeed * CarnivalSpeedMultiplier.GetFloat();
Main.AllPlayerKillCooldown[pc.PlayerId] = CarnivalKillCooldown.GetFloat();
Main.AllPlayerSpeed[pc.PlayerId] = DefaultSpeed * FrenzySpeedMultiplier.GetFloat();
Main.AllPlayerKillCooldown[pc.PlayerId] = FrenzyKillCooldown.GetFloat();
if (!pc.AmOwner) pc.ReactorFlash();
pc.MarkDirtySettings();
pc.Notify(GetString("DoomTag.CarnivalModeActivated"));
pc.Notify(GetString("DoomTag.FrenzyModeActivated"));
}
SoundManager.Instance.PlaySound(HudManager.Instance.LobbyTimerExtensionUI.lobbyTimerPopUpSound, false);
Utils.FlashColor(new(1f, 0.5f, 0f, 0.4f), 1.4f);
Logger.Info($"Carnival Mode activated! {aliveCount} players remaining.", "DoomTag");
Logger.Info($"Frenzy Mode activated! {aliveCount} players remaining.", "DoomTag");
}
}
@@ -322,10 +322,10 @@ internal static class DoomTag
Suffix.Append("</color>");
if (CarnivalMode)
if (FrenzyMode)
{
Suffix.Append("\n<#ff6600>");
Suffix.Append(GetString("DoomTag.CarnivalModeHUD"));
Suffix.Append(GetString("DoomTag.FrenzyModeHUD"));
Suffix.Append("</color>");
}
@@ -352,7 +352,7 @@ internal static class DoomTag
switch (reader.ReadPackedInt32())
{
case 1:
CarnivalMode = reader.ReadBoolean();
FrenzyMode = reader.ReadBoolean();
break;
case 2:
TargetMap = [];
@@ -415,7 +415,7 @@ internal static class DoomTag
}
deadPlayersInMap?.ForEach(HandleDeadPlayer);
CheckCarnivalMode();
CheckFrenzyMode();
}
}
}
+1 -1
View File
@@ -884,7 +884,7 @@ public class Main : BasePlugin
{ CustomRoles.MinglePlayer, "#FE9900" },
// Snowdown
{ CustomRoles.SnowdownPlayer, "#e4fdff" },
// Loop Wanted
// Doom Tag
{ CustomRoles.Tagger, "#D9BAA5" },
// Hide And Seek
{ CustomRoles.Seeker, "#ff1919" },
+7 -7
View File
@@ -8166,20 +8166,20 @@
"DoomTag": "DOOM TAG",
"ModeDoomTag": "Gamemode: Doom Tag",
"ModeDescribe.DoomTag": "In the Doom Tag gamemode, every player has an assigned assassination target marked with an arrow. You can ONLY kill your designated target. Killing the wrong target results in a punishment (suicide / lower vision). When you kill your target, you inherit their target. When only a few players remain, Carnival Mode activates: everyone gets a speed boost and reduced kill cooldown. Last player alive wins!",
"GameModeTutorial.DoomTag": "<size=90%>The current game mode is <#D9BAA5>Doom Tag</color>.</size>\\n<size=80%>Each player has a target marked with an arrow.\\nYou can ONLY kill your target.\\nKilling the wrong target will punish you.\\nYour target transfers when you kill correctly.\\nCarnival mode activates when few remain!</size>",
"ModeDescribe.DoomTag": "In the Doom Tag gamemode, every player has an assigned assassination target marked with an arrow. You can ONLY kill your designated target. Killing the wrong target results in a punishment (suicide / lower vision). When you kill your target, you inherit their target. When only a few players remain, Frenzy Mode activates: everyone gets a speed boost and reduced kill cooldown. Last player alive wins!",
"GameModeTutorial.DoomTag": "<size=90%>The current game mode is <#D9BAA5>Doom Tag</color>.</size>\\n<size=80%>Each player has a target marked with an arrow.\\nYou can ONLY kill your target.\\nKilling the wrong target will punish you.\\nYour target transfers when you kill correctly.\\nFrenzy mode activates when few remain!</size>",
"DoomTag.BaseKillCooldown": "Base Kill Cooldown",
"DoomTag.PunishmentMode": "Wrong Kill Punishment",
"DoomTag.PunishSuicide": "Suicide",
"DoomTag.PunishLowerVision": "Lower Vision",
"DoomTag.LowerVisionMultiplier": "Lowered Vision Multiplier",
"DoomTag.CarnivalPlayerCount": "Players to Trigger Carnival Mode",
"DoomTag.CarnivalKillCooldown": "Carnival Mode Kill Cooldown",
"DoomTag.CarnivalSpeedMultiplier": "Carnival Mode Speed Multiplier",
"DoomTag.FrenzyPlayerCount": "Players to Trigger Frenzy Mode",
"DoomTag.FrenzyKillCooldown": "Frenzy Mode Kill Cooldown",
"DoomTag.FrenzySpeedMultiplier": "Frenzy Mode Speed Multiplier",
"DoomTag.ShowTargetArrow": "Show Target Arrow",
"DoomTag.CurrentTarget": "Current Target",
"DoomTag.CarnivalModeActivated": "<color=#ff6600>Carnival Mode! Speed up and kill faster!</color>",
"DoomTag.CarnivalModeHUD": "CARNIVAL",
"DoomTag.FrenzyModeActivated": "<color=#ff6600>Frenzy Mode! Speed up and kill faster!</color>",
"DoomTag.FrenzyModeHUD": "FRENZY",
"DoomTag.WrongKillSuicide": "<color=#ff0000>Wrong target! You committed suicide.</color>",
"DoomTag.WrongKillLowerVision": "<color=#ff0000>Wrong target! Your vision has been reduced.</color>",
+5 -5
View File
@@ -8172,13 +8172,13 @@
"DoomTag.PunishSuicide": "自杀",
"DoomTag.PunishLowerVision": "视野降低",
"DoomTag.LowerVisionMultiplier": "降低视野倍率",
"DoomTag.CarnivalPlayerCount": "进入狂欢模式的人数",
"DoomTag.CarnivalKillCooldown": "狂欢状态击杀冷却",
"DoomTag.CarnivalSpeedMultiplier": "狂欢状态下加速倍率",
"DoomTag.FrenzyPlayerCount": "进入狂欢模式的人数",
"DoomTag.FrenzyKillCooldown": "狂欢状态击杀冷却",
"DoomTag.FrenzySpeedMultiplier": "狂欢状态下加速倍率",
"DoomTag.ShowTargetArrow": "显示目标箭头",
"DoomTag.CurrentTarget": "当前目标",
"DoomTag.CarnivalModeActivated": "<color=#ff6600>进入狂欢状态!全速前进,击杀加速!</color>",
"DoomTag.CarnivalModeHUD": "狂欢中",
"DoomTag.FrenzyModeActivated": "<color=#ff6600>进入狂欢状态!全速前进,击杀加速!</color>",
"DoomTag.FrenzyModeHUD": "狂欢中",
"DoomTag.WrongKillSuicide": "<color=#ff0000>目标是错误的!你自杀了。</color>",
"DoomTag.WrongKillLowerVision": "<color=#ff0000>目标是错误的!你的视野降低了。</color>",