From c75d37c9814293018316ee5ca7d91360956f4655 Mon Sep 17 00:00:00 2001 From: Gurge44 Date: Sun, 23 Jun 2024 13:58:15 +0200 Subject: [PATCH] solution cleanup because yes --- .editorconfig | 22 +-- EHR.csproj | 58 ++++---- EHR.csproj.DotSettings | 11 +- EHR.sln.DotSettings | 70 ++++----- FodyWeavers.xml | 10 +- FodyWeavers.xsd | 313 ++++++++++++++++++++++++----------------- README.md | 125 ++++++++++------ 7 files changed, 353 insertions(+), 256 deletions(-) diff --git a/.editorconfig b/.editorconfig index 2304f7ccb..45a4da5aa 100644 --- a/.editorconfig +++ b/.editorconfig @@ -74,31 +74,31 @@ dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case dotnet_naming_symbols.interface.applicable_kinds = interface dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.interface.required_modifiers = +dotnet_naming_symbols.interface.required_modifiers = dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.types.required_modifiers = +dotnet_naming_symbols.types.required_modifiers = dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.non_field_members.required_modifiers = +dotnet_naming_symbols.non_field_members.required_modifiers = # Naming styles dotnet_naming_style.begins_with_i.required_prefix = I -dotnet_naming_style.begins_with_i.required_suffix = -dotnet_naming_style.begins_with_i.word_separator = +dotnet_naming_style.begins_with_i.required_suffix = +dotnet_naming_style.begins_with_i.word_separator = dotnet_naming_style.begins_with_i.capitalization = pascal_case -dotnet_naming_style.pascal_case.required_prefix = -dotnet_naming_style.pascal_case.required_suffix = -dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = dotnet_naming_style.pascal_case.capitalization = pascal_case -dotnet_naming_style.pascal_case.required_prefix = -dotnet_naming_style.pascal_case.required_suffix = -dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = dotnet_naming_style.pascal_case.capitalization = pascal_case dotnet_style_coalesce_expression = true:suggestion dotnet_style_null_propagation = true:suggestion diff --git a/EHR.csproj b/EHR.csproj index 6ac69927a..adf5f6b82 100644 --- a/EHR.csproj +++ b/EHR.csproj @@ -1,49 +1,49 @@  - net6.0 - false - false - false - EHR - Gurge44 - preview + net6.0 + false + false + false + EHR + Gurge44 + preview E:\Program Files\AmongUs - true - True - $(MSBuildProjectName) + true + True + $(MSBuildProjectName) - + - + - + - - - + + + - + - + - - + + - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + - - - + + + - + diff --git a/EHR.csproj.DotSettings b/EHR.csproj.DotSettings index 2d982144f..e2c7bffcd 100644 --- a/EHR.csproj.DotSettings +++ b/EHR.csproj.DotSettings @@ -1,3 +1,8 @@ - - True - True \ No newline at end of file + + True + True \ No newline at end of file diff --git a/EHR.sln.DotSettings b/EHR.sln.DotSettings index 9cc2208c6..752043199 100644 --- a/EHR.sln.DotSettings +++ b/EHR.sln.DotSettings @@ -1,37 +1,37 @@  + xmlns:s="clr-namespace:System;assembly=mscorlib" + xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> SOLUTION - ATK - AU - CD - CK - DLL - DY - EHR - FFA - FFF - FPS - GM - HP - HUD - KCD - LI - NB - NC - NE - NK - NNK - PC - RNG - RPC - SK - SS - SSCD - TMP - EHR - TP - UI - VN - False \ No newline at end of file + ATK + AU + CD + CK + DLL + DY + EHR + FFA + FFF + FPS + GM + HP + HUD + KCD + LI + NB + NC + NE + NK + NNK + PC + RNG + RPC + SK + SS + SSCD + TMP + EHR + TP + UI + VN + False \ No newline at end of file diff --git a/FodyWeavers.xml b/FodyWeavers.xml index 9574c9551..1b14c30b2 100644 --- a/FodyWeavers.xml +++ b/FodyWeavers.xml @@ -1,7 +1,7 @@  - - - Csv - - + + + Csv + + \ No newline at end of file diff --git a/FodyWeavers.xsd b/FodyWeavers.xsd index ff119f713..3169e5aab 100644 --- a/FodyWeavers.xsd +++ b/FodyWeavers.xsd @@ -1,141 +1,188 @@  - - - - - - + + + - - - A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks - - - - - A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. - - - - - A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks - - - - - A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. - - - - - A list of unmanaged 32 bit assembly names to include, delimited with line breaks. - - - - - A list of unmanaged 64 bit assembly names to include, delimited with line breaks. - - - - - The order of preloaded assemblies, delimited with line breaks. - - + + + + + + A list of assembly names to exclude from the default action of + "embed all Copy Local references", delimited with line breaks + + + + + + A list of assembly names to include from the default action of + "embed all Copy Local references", delimited with line breaks. + + + + + + A list of runtime assembly names to exclude from the default + action of "embed all Copy Local references", delimited with line breaks + + + + + + A list of runtime assembly names to include from the default + action of "embed all Copy Local references", delimited with line breaks. + + + + + + A list of unmanaged 32 bit assembly names to include, delimited + with line breaks. + + + + + + A list of unmanaged 64 bit assembly names to include, delimited + with line breaks. + + + + + + The order of preloaded assemblies, delimited with line breaks. + + + + + + + This will copy embedded files to disk before loading them into memory. + This is helpful for some scenarios that expected an assembly to be loaded from a + physical file. + + + + + + Controls if .pdbs for reference assemblies are also embedded. + + + + + + Controls if runtime assemblies are also embedded. + + + + + Controls whether the runtime assemblies are embedded with their full + path or only with their assembly name. + + + + + + Embedded assemblies are compressed by default, and uncompressed when + they are loaded. You can turn compression off with this option. + + + + + + As part of Costura, embedded assemblies are no longer included as part + of the build. This cleanup can be turned off. + + + + + + Costura by default will load as part of the module initialization. + This flag disables that behavior. Make sure you call CosturaUtility.Initialize() + somewhere in your code. + + + + + + Costura will by default use assemblies with a name like + 'resources.dll' as a satellite resource and prepend the output path. This flag + disables that behavior. + + + + + + A list of assembly names to exclude from the default action of "embed + all Copy Local references", delimited with | + + + + + + A list of assembly names to include from the default action of "embed + all Copy Local references", delimited with |. + + + + + + A list of runtime assembly names to exclude from the default action of + "embed all Copy Local references", delimited with | + + + + + + A list of runtime assembly names to include from the default action of + "embed all Copy Local references", delimited with |. + + + + + + A list of unmanaged 32 bit assembly names to include, delimited with + |. + + + + + + A list of unmanaged 64 bit assembly names to include, delimited with + |. + + + + + + The order of preloaded assemblies, delimited with |. + + + + + - - - This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. - + + + 'true' to run assembly verification (PEVerify) on the target assembly after all + weavers have been executed. + + - - - Controls if .pdbs for reference assemblies are also embedded. - + + + A comma-separated list of error codes that can be safely ignored in assembly + verification. + + - - - Controls if runtime assemblies are also embedded. - + + + 'false' to turn off automatic generation of the XML Schema file. + + - - - Controls whether the runtime assemblies are embedded with their full path or only with their assembly name. - - - - - Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. - - - - - As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. - - - - - Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. - - - - - Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. - - - - - A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | - - - - - A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. - - - - - A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with | - - - - - A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with |. - - - - - A list of unmanaged 32 bit assembly names to include, delimited with |. - - - - - A list of unmanaged 64 bit assembly names to include, delimited with |. - - - - - The order of preloaded assemblies, delimited with |. - - - - - - - - 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. - - - - - A comma-separated list of error codes that can be safely ignored in assembly verification. - - - - - 'false' to turn off automatic generation of the XML Schema file. - - - - + + \ No newline at end of file diff --git a/README.md b/README.md index a12929a13..f9bc3e8fb 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ -

Endless Host Roles

Previously known as TOHE+

@@ -7,10 +6,11 @@ Cover

- + > ### Regarding this mod > -> This mod is not affiliated with Among Us or Innersloth LLC, and the content contained therein is not endorsed or otherwise sponsored by Innersloth LLC. Portions of the materials contained herein are the property of Innersloth LLC. +> This mod is not affiliated with Among Us or Innersloth LLC, and the content contained therein is not endorsed or +> otherwise sponsored by Innersloth LLC. Portions of the materials contained herein are the property of Innersloth LLC.

@@ -140,17 +140,24 @@ | Witness | | | | ## Main Features -- Note: The goal with this branch is to improve the existing stuff over adding new roles. If some of the stuff you see below are in other mods, they were originally coded by me. + +- Note: The goal with this branch is to improve the existing stuff over adding new roles. If some of the stuff you see + below are in other mods, they were originally coded by me. + ### Most Popular Game Mode - A brand-new official gamemode, Basic FFA (Free For All) - This mode makes everyone a killer and the last player alive wins -- Features: Random events, ranks and scoring, random ability gain for every kill, game timer, scoreboard (task list), unique end screen, fully customizable +- Features: Random events, ranks and scoring, random ability gain for every kill, game timer, scoreboard (task list), + unique end screen, fully customizable + ### Overall improvements compared to other mods + - Role spawn chances are in percentages - Gain more ability uses for completing tasks as crewmate roles - Gain more ability uses for getting kills as impostor roles -- Most shapeshifting roles that only used shapeshifting as an ability trigger or a target selector now don't actually shapeshift with the egg animation, it's automatically canceled +- Most shapeshifting roles that only used shapeshifting as an ability trigger or a target selector now don't actually + shapeshift with the egg animation, it's automatically canceled - Prevent kills while shifted when no ability uses are left for some roles (Sniper, Twister, Disperser, Hangman, Camouflager, etc.) - Code cleanup and major performance improvement @@ -159,7 +166,8 @@ - Better custom button images - Better progress text look - Visualized cooldowns for more roles -- Disabled most shield animations for modded clients for a better experience, and even some for vanilla clients (all cooldowns are still reset properly, this is just a visual improvement) +- Disabled most shield animations for modded clients for a better experience, and even some for vanilla clients (all + cooldowns are still reset properly, this is just a visual improvement) - Shapeshift and vent cooldowns are now always reset after meetings - Custom main menu - Improved strings and their appearance @@ -168,7 +176,8 @@ - Better confirm ejections text - Brand-new HUD text - Better role summary -- Option to use Pet button instead of Vent, Shapeshift or Sabotage (assigns the Pusheen pet to everyone at the start of the game) +- Option to use Pet button instead of Vent, Shapeshift or Sabotage (assigns the Pusheen pet to everyone at the start of + the game) - Smaller mod version text and smaller credentials text (imo it was annoying that it covered a quarter of the screen) - Players have their name displayed with their color on the ejection screen - How many killers remain after each ejection (even if no one was ejected, like it was a skip or a tie) is displayed @@ -179,7 +188,9 @@ - Set anyone's role for the next game using '/setrole [player ID] [role name]' (replaces /up) ### Role specific Improvements + #### Crewmates + - Chameleon uses vanilla engineer cooldown - The target of the Deputy no longer gets a shield animation on top of the Deputy - Fortune Teller: Setting whether it shows specific roles after completing tasks @@ -191,17 +202,23 @@ - Tracefinder: Settings that determine the delay in which the arrows show up - Bodyguard: Setting whether the murderer dies when the bodyguard protects the target - Monarch: Can be guessed, just not by Knighted players + #### Impostors + - Ninja: Kill Cooldown no longer resets when unshifting -- Bounty Hunter: Target's name is displayed in black for the Bounty Hunter; Swap Timer is displayed next to the role name, not on the Shapeshift button => Changed the basis to regular Impostor +- Bounty Hunter: Target's name is displayed in black for the Bounty Hunter; Swap Timer is displayed next to the role + name, not on the Shapeshift button => Changed the basis to regular Impostor - Eraser: Erase by Voting or by Kill Button & What to do when target is neutral - Hangman: Kill Cooldown after strangling - Mare (add-on): Can kill at all times, but if lights are not out, the kill cooldown is higher - Quick Shooter now works correctly -- Serial Killer: Suicide Timer is displayed next to the role name, not on the Shapeshift button => Changed the basis to regular Impostor; Setting whether the Suicide Timer only starts after their first kill -- Swooper: Setting whether it can vent normally when swooping is on cooldown; Swoop Cooldown is visualized next to the role name +- Serial Killer: Suicide Timer is displayed next to the role name, not on the Shapeshift button => Changed the basis to + regular Impostor; Setting whether the Suicide Timer only starts after their first kill +- Swooper: Setting whether it can vent normally when swooping is on cooldown; Swoop Cooldown is visualized next to the + role name - Wildling: Setting whether the role can Shapeshift or not; Setting whether the role can Vent or not -- Underdog: Can kill at all times, but if the number of players alive is higher than the set amount, the kill cooldown is higher +- Underdog: Can kill at all times, but if the number of players alive is higher than the set amount, the kill cooldown + is higher - Miner: Shapeshift Cooldown and Shapeshift Duration setting - Escapist: Shapeshift Cooldown and Shapeshift Duration setting - Cleaner: Can only clean bodies if their kill cooldown is up @@ -209,9 +226,12 @@ - Capitalist: Can kill normally with the double click method (& + Kill Cooldown setting) - Killing Machine: Has impostor vision - Puppeteer: Added a lot of settings + #### Neutrals + - Medusa: Can only clean bodies if their kill cooldown is up -- Wraith: Setting whether it can vent normally when invis is on cooldown; Invis Cooldown is visualized next to the role name +- Wraith: Setting whether it can vent normally when invis is on cooldown; Invis Cooldown is visualized next to the role + name - Poisoner: Kill Cooldown is reset when the poisoned target dies - Glitch is now The Glitch from TOU-R, it was completely rewritten, and I worked really hard on it - Provocateur: No longer suicides after selecting a target @@ -232,54 +252,72 @@
## Credit to these mods and their developers for the code and help: + ### :star: [TOHER/TOHRE/TOHEN](https://github.com/0xDrMoe/TownofHost-Enhanced) : -> + +> > - Our repo is forked from TOHRE (from a long time ago) -> +> + ### :star: [TOHE/TONX](https://github.com/KARPED1EM/TownOfHostEdited) : -> + +> > - Our repo is a continuation of TOHE > - TONX reference: Modify character limit for chat messages > - TONX reference: Modify and apply cool animations on Main Menu -> +> + ### :star: [TOH](https://github.com/tukasa0001/TownOfHost) : -> + +> > - Our repo is based initially on TOH -> +> + ### :star: [TOHY](https://github.com/Yumenopai/TownOfHost_Y) : -> + +> > - Many role ideas > - Provided roles: AntiAdminer, CursedWolf, Workaholic, Greedier, DarkHide, Ignitor, Rabbit > - Reference: Modify game announcement -> +> + ### :star: [TOH:TOR](https://github.com/music-discussion/TownOfHost-TheOtherRoles) : -> + +> > - Many role ideas > - Reference: Exile Confirm > - Reference: Split RPC Pack -> +> + ### :star: [SNR](https://github.com/ykundesu/SuperNewRoles) : -> + +> > - Reference: Credentials menu > - Reference: Switch Horse Mode > - Reference: Search Mod Game > - Reference: Custom Button > + ### :star: [TOP](https://github.com/tugaru1975/TownOfPlus) : -> + +> > - Reference: Zoom -> +> + ### :star: [RHR](https://github.com/sansaaaaai/Revolutionary-host-roles) : -> + +> > - Reference: Modify settings menu -> +> ### :star: [TOH+](https://github.com/SkullCreeper/TownOfHostPlus) : + > > - Provided roles: Marshall, Poisoner, Necroview, Sidekick > ### :star: [PL](https://github.com/ImaMapleTree/Lotus) : + > > - Ideas for some roles > - Reference: Customize Main Menu @@ -288,51 +326,60 @@ > ### :star: [Stellar Roles](https://github.com/Mr-Fluuff/StellarRolesAU) : + > > - Many role ideas (this mod is seriously amazing) > - Reference: Some custom button images -> +> ### :star: [TOHEX/TONEX](https://github.com/TOHEX-Official/TownOfHostEdited-Xi) : + > > - Provided the role: Swapper > - Reference: Store message history > ### :star: [More Gamemodes](https://github.com/Rabek009/MoreGamemodes) : -> + +> > - Reference: Part of the code used for the Endless Host Roles Image in the Main Menu > - Reference: Custom Net Objects > ### Endless Host Roles (EHR), with Endless Possibilities, brought to you by the Endless Network. + ##### Developers: + - Gurge44 + ##### Contributors: + - Dx - PH_Gaming + ##### Special Thanks: + - Seleneous - thewhiskas27 - HyperAtill + ##### Translators: + - Dx (PT-BR) - PH_Gaming (PT-BR) - Tomix (PT-BR) - aviiiv (PT-BR) - HyperAtill (RU) - # License for the Custom Team Assigner application Copyright (c) 2024, Gurge44 All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright @@ -340,20 +387,18 @@ modification, are permitted provided that the following conditions are met: documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: - This product includes software developed by the Endless Network. + This product includes software developed by Gurge44. 4. Neither the name of the Endless Network nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.