mirror of
https://github.com/Gurge44/EndlessHostRoles.git
synced 2026-10-20 01:46:25 +00:00
changelogs & fixes
This commit is contained in:
1 parent
f11f550868
commit
91ba800d11
5 files changed
+43
-17
No files matched your search
+37
-10
@@ -1,17 +1,44 @@
|
||||
# Thank you so much for finding and using EHR!
|
||||
|
||||
> [!CAUTION]
|
||||
> [!INFO]
|
||||
> Updated to Among Us v2026.3.31 (v17.3)
|
||||
|
||||
> [!WARNING]
|
||||
> **Use commands with a `/cmd ` prefix, otherwise your message gets leaked.** So if you were to type `/bt 4 snitch`, you would now type `/cmd bt 4 snitch`. The system will NOT spam the chat after command usage even if it would be required.
|
||||
|
||||
- Clarified role descriptions
|
||||
- Attempted to fix meeting glitches for vanilla clients
|
||||
- cmd prefix usage warning no longer sends on meeting shapeshift
|
||||
- Fixed duplicate option IDs
|
||||
- Fixed Jailor target not resetting after the meeting ends
|
||||
- Added `Kill Cooldown` setting for Kidnapper, Centralizer, Framer, and Freezer
|
||||
- Penguin/Goose stops dragging their victim when eaten by Pelican
|
||||
- Other internal changes
|
||||
## Bug Fixes
|
||||
- Fixed Custom Hide And Seek errors when the host uses /setrole with an unavailable role
|
||||
- Fixed Mingle ending during killing process
|
||||
- Fixed disasters spawning while some players still see the ejection screen in Natural Disasters
|
||||
- Fixed sinkholes not being despawned properly in Natural Disasters when the disaster limit specified in settings is reached
|
||||
- Fixed players getting stuck inside collapsed buildings in Natural Disasters
|
||||
- Fixed Sprayer, Catcher CNOs not disappearing after meetings
|
||||
- Fixed Skeld/Dleks Electrical bounds overlapping Storage's colliders
|
||||
- Fixed after-death actions not being triggered after guesses if the game instantly ends due to it
|
||||
- Fixed shapeshift-related issues (by TommyXL)
|
||||
- Fixed april fools stuff (by TommyXL)
|
||||
- Fixed host's messages not being logged (for chat spam & chat during game notifies)
|
||||
- GM and Specators cannot be summoned by Summoner
|
||||
- Fixed Hacker consuming ability uses when looking at physical admin map
|
||||
- Fixed memory leak
|
||||
- Medic's tasks don't reset if it uses the pet button as the kill button (by Hyper)
|
||||
- Time Master & Stasis now reset player speeds to their original values instead of the global value
|
||||
- Bloodmoon now always gives Loss Of Blood as the death reason
|
||||
|
||||
### See changes from v7.3.0 on [the v7.3.1 release page](https://github.com/Gurge44/EndlessHostRoles/releases/tag/v7.3.1)
|
||||
## Changes
|
||||
- **More compatibility with Starlight** (should be stable at this point)
|
||||
- Player points are counted individually in King Of The Zones (by Zypherus)
|
||||
- Optimized Natural Disasters: Suffix cache & saved about 3/4 of all RPCs sent
|
||||
- Reduced Snowdown vanish cooldown from 2s to 1s
|
||||
- Reduced network pressure in Solo PVP
|
||||
- Missing 'Notification' template no longer sends an error message
|
||||
- Snowdown auto enables pet use, just like Bed Wars
|
||||
- Many more small improvements
|
||||
|
||||
## Additions
|
||||
- New setting for Capture The Flag: `Spawn Protection Time` (by Zypherus)
|
||||
- New setting for Natural Disasters: `Disaster Spawn Mode` (`All On Players`/`All On Random Places`/`On Players & Random Places`)
|
||||
- Death messages for others in Natural Disasters
|
||||
- New client option: `Classic Mode` (by TommyXL)
|
||||
|
||||
---
|
||||
@@ -41,8 +41,8 @@ public class Main : BasePlugin
|
||||
private const string DebugKeyHash = "c0fd562955ba56af3ae20d7ec9e64c664f0facecef4b3e366e109306adeae29d";
|
||||
private const string DebugKeySalt = "59687b";
|
||||
private const string PluginGuid = "com.gurge44.endlesshostroles";
|
||||
public const string PluginVersion = "7.3.5";
|
||||
public const string PluginDisplayVersion = "7.3.5";
|
||||
public const string PluginVersion = "7.4.0";
|
||||
public const string PluginDisplayVersion = "7.4.0";
|
||||
public const bool TestBuild = false;
|
||||
|
||||
public const string NeutralColor = "#ffab1b";
|
||||
@@ -155,7 +155,7 @@ public class Main : BasePlugin
|
||||
public static Dictionary<byte, int> NumEmergencyMeetingsUsed = [];
|
||||
public static int MadmateNum;
|
||||
|
||||
public static Stopwatch GameTimer = new();
|
||||
public static readonly Stopwatch GameTimer = new();
|
||||
public static bool GameEndDueToTimer;
|
||||
|
||||
public static bool ShowResult = true;
|
||||
|
||||
@@ -1165,7 +1165,7 @@ internal static class CustomRolesHelper
|
||||
CustomRoles.Tiebreaker when pc.Is(CustomRoles.Dictator) => false,
|
||||
CustomRoles.Stressed when !pc.IsCrewmate() || pc.GetCustomRole().IsTasklessCrewmate() => false,
|
||||
CustomRoles.Stealer or CustomRoles.Swift or CustomRoles.DeadlyQuota or CustomRoles.Damocles or CustomRoles.Mare when pc.Is(CustomRoles.Bomber) || pc.Is(CustomRoles.Nuker) || pc.Is(CustomRoles.Trapster) || pc.Is(CustomRoles.Capitalist) => false,
|
||||
CustomRoles.Torch when !pc.IsCrewmate() || pc.Is(CustomRoles.Bewilder) || pc.Is(CustomRoles.Sunglasses) || pc.Is(CustomRoles.GuardianAngelEHR) => false,
|
||||
CustomRoles.Torch when pc.Is(CustomRoles.Bewilder) || pc.Is(CustomRoles.Sunglasses) || pc.Is(CustomRoles.GuardianAngelEHR) => false,
|
||||
CustomRoles.Bewilder when pc.Is(CustomRoles.Torch) || pc.Is(CustomRoles.GuardianAngelEHR) || pc.Is(CustomRoles.Sunglasses) => false,
|
||||
CustomRoles.Dynamo when pc.Is(CustomRoles.Spurt) || pc.GetCustomRole() is CustomRoles.Tank or CustomRoles.Ankylosaurus => false,
|
||||
CustomRoles.Spurt when pc.GetCustomSubRoles().Any(x => x is CustomRoles.Dynamo or CustomRoles.Swiftclaw or CustomRoles.Giant or CustomRoles.Flash) || pc.Is(CustomRoles.Ankylosaurus) => false,
|
||||
|
||||
@@ -1139,8 +1139,7 @@ internal static class IntroCutsceneDestroyPatch
|
||||
|
||||
if (AmongUsClient.Instance.AmHost)
|
||||
{
|
||||
apc.DoIf(x => x.Is(CustomRoles.NotAssigned) && ((x.AmOwner && Main.GM.Value) || ChatCommands.Spectators.Contains(x.PlayerId)), x => x.RpcSetCustomRole(CustomRoles.GM));
|
||||
LateTask.New(() => apc.DoIf(x => x && x.Is(CustomRoles.NotAssigned) && ((x.AmOwner && Main.GM.Value) || ChatCommands.Spectators.Contains(x.PlayerId)), x => x.RpcSetCustomRole(CustomRoles.GM)), 8f);
|
||||
LateTask.New(() => apc.DoIf(x => x && ((x.AmOwner && Main.GM.Value) || ChatCommands.Spectators.Contains(x.PlayerId)), x => x.RpcSetCustomRole(CustomRoles.GM)), 8f);
|
||||
|
||||
var aapc = Main.AllAlivePlayerControls;
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ public class Vigilante : RoleBase
|
||||
SendRPC(killer.PlayerId);
|
||||
Killed.Add(killer.PlayerId);
|
||||
SetKillCooldown(killer.PlayerId);
|
||||
if (UsePet.GetBool()) return;
|
||||
if (Options.UsePets.GetBool() && UsePet.GetBool()) return;
|
||||
killer.RpcChangeRoleBasis(CustomRoles.CrewmateEHR);
|
||||
killer.RpcResetTasks();
|
||||
Utils.NotifyRoles(SpecifySeer: killer, SpecifyTarget: killer);
|
||||
|
||||
Reference in new issue
Block a user