mirror of
https://github.com/Gurge44/EndlessHostRoles.git
synced 2026-10-19 15:51:58 +00:00
carnival => frenzy
This commit is contained in:
1 parent
51e589a9c7
commit
bc37962e10
5 files changed
+38
-38
No files matched your search
+1
-1
@@ -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
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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" },
|
||||
|
||||
@@ -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>",
|
||||
|
||||
|
||||
@@ -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>",
|
||||
|
||||
|
||||
Reference in new issue
Block a user