Merge remote-tracking branch 'origin/main'

This commit is contained in:
Gurge44 committed 2026-08-03 09:28:52 +02:00
commit 24cd080d8c
9 files changed
+117 -3

No files matched your search

+54
View File
@@ -0,0 +1,54 @@
# AI Policy
Using AI (i.e., LLMs) as tools for coding is welcome. A high bar is held for
all contributions to this project. Moreover, the project maintainers remain
responsible for any code that is published as part of a release. Contributors
are expected to be responsible for any code they publish.
**If you use AI in any part of your contribution, you must declare it.** This
includes the model and version used (e.g. GPT-5, Claude Sonnet 4.5, Gemini 3.0
Flash). Claiming authorship of AI-generated code is inaccurate if your role was
to prompt an AI and paste the result. Ownership implies understanding; if you
cannot explain what the code does, you did not write it.
**If you do not understand the code you are submitting, do not submit it.** This
applies specifically to AI-generated code that you have copy-pasted without
reading or understanding. If you find yourself hoping it works rather than
knowing it works, that is a signal to stop. Open a suggestion or discussion
instead. Describe what you want to achieve, and let a maintainer or contributor
who understands the codebase implement it. A suggestion from someone unfamiliar
with the code is valuable. A pull request from them is a liability.
This project requires a human in the loop who understands the work produced by
AI. **Autonomous agents are not allowed to be used for contributing to this
project**. Pull requests that appear in violation of this will be closed,
perhaps without notice.
**AI should not be used to generate comments when communicating with
maintainers**. Comments are expected to be written by humans. Comments that are
believed to be written by AI may be hidden without notice.
If you are opening an issue, you should be able to describe the problem in your
own words.
If you are opening a pull request, you are expected to be able to explain the
proposed changes in your own words. This includes the pull request body and
responses to questions. **Do not copy responses from the AI when replying to
questions from maintainers.**
If you wish to include context from an interaction with AI in your comments, it
must be in a quote block (e.g., using `>`) and disclosed as such. It must be
accompanied by human commentary explaining the relevance and implications of
the context. Do not share long snippets.
AI is useful when communicating as a non-native English speaker. If you are
using AI to edit your comments for this purpose, please take the time to ensure
it reflects your own voice and ideas. If using AI for translation, we recommend
writing in your native language and including the AI translation in a quote
block.
Senior contributors and maintainers may exercise discretion in how strictly
these guidelines apply to their own workflow, as their track record and
familiarity with the codebase speak for themselves.
This policy was adapted from [uv's AI policy](https://github.com/astral-sh/.github/blob/main/AI_POLICY.md) and further modified by @ZypherusKhan.
File renamed without changes.
+5 -1
View File
@@ -27,7 +27,11 @@ You don’t need to get approval for every small fix or improvement, as long as
- Follow the **existing code style**.
- JetBrains Rider is recommended, as the editor settings are included in the repo, so they will sync automatically if used by contributors.
- Make sure your changes are consistent with the surrounding code.
- Make sure your changes are consistent with the surrounding code.
### Use of AI
All use of AI in contributions must follow our [AI Policy](./AI_POLICY.md). Contributions that do not comply will be closed.
---
+49
View File
@@ -0,0 +1,49 @@
# Summary
<!--- Provide a general summary of your changes -->
## What type of PR is this? (check all that apply)
<!--- Put an `x` in the boxes that apply, e.g. - [x] Bug Fix -->
- [ ] Bug Fix
- [ ] New Feature
- [ ] Refactor / Optimization
- [ ] Documentation Update
- [ ] Other
## Description
<!---
Describe your changes in detail. What did you change and why?
Be specific enough that a reviewer can understand without running the code.
-->
## Related issue or discussion
<!---
Link any related issue, suggestion, or discussion below.
If this was discussed or suggested on Discord, include a link or brief description of the relevant message or thread.
-->
## Screenshots / Videos
<!---
If your change affects anything visual or gameplay-related, attach screenshots or a short video.
Not required for pure refactors or translation updates.
-->
## Checklist
<!--- Put an `x` in the boxes that apply, e.g. - [x] I have read CONTRIBUTING.md -->
- [ ] I have read [CONTRIBUTING.md](./CONTRIBUTING.md) and my changes follow its guidelines
- [ ] I have read the [AI Policy](./AI_POLICY.md) and I am complying with it
- [ ] I have performed a self-review of my own code and it follows the code style of this project
- [ ] I understand every part of the code I am submitting and can explain it if asked
- [ ] I have commented my code where the logic is not immediately obvious
- [ ] I have tested my changes in-game and they work as expected
- [ ] My changes do not break any existing functionality I am aware of
- [ ] I have not left behind debug code, commented-out blocks, or unnecessary logging
- [ ] I added or updated translation keys if applicable
- [ ] If this adds a new role, add-on, game mode, or option, it is properly registered
## AI usage declaration
<!---
Write "None" if you did not use AI. If you did, declare what you used it for.
The AI Policy you agreed to above covers the rest.
-->
View File
File renamed without changes.
View File
File renamed without changes.
+1 -1
View File
@@ -412,7 +412,7 @@ internal static class CustomRolesHelper
// Hide And Seek
CustomRoles.Hider => CustomRoles.Crewmate,
CustomRoles.Seeker => CustomRoles.Impostor,
CustomRoles.Fox => CustomRoles.Crewmate,
CustomRoles.Fox => Fox.HasVitals.GetBool() ? CustomRoles.Scientist : CustomRoles.Crewmate,
CustomRoles.Troll => CustomRoles.Crewmate,
CustomRoles.Jumper => CustomRoles.Engineer,
CustomRoles.Detector => CustomRoles.Crewmate,
+1
View File
@@ -4494,6 +4494,7 @@
"FoxInfoLong": "Survive until the end to win",
"FoxSpeed": "Fox Speed",
"FoxVision": "Fox Vision",
"FoxHasVitals": "Fox has Vitals",
"Hider": "Hider",
"HiderInfo": "Complete tasks and survive until the end",
"HiderInfoLong": "Complete tasks and survive until the end",
+7 -1
View File
@@ -6,6 +6,7 @@ internal class Fox : RoleBase, IHideAndSeekRole
public static OptionItem Vision;
public static OptionItem Speed;
public static OptionItem HasVitals;
public override bool IsEnable => On;
public Team Team => Team.Neutral;
@@ -21,7 +22,7 @@ internal class Fox : RoleBase, IHideAndSeekRole
.SetGameMode(CustomGameMode.HideAndSeek);
Options.SetupRoleOptions(69_211_301, TabGroup.NeutralRoles, CustomRoles.Fox, CustomGameMode.HideAndSeek);
Vision = new FloatOptionItem(69_211_303, "FoxVision", new(0.05f, 5f, 0.05f), 1.25f, TabGroup.NeutralRoles)
.SetGameMode(CustomGameMode.HideAndSeek)
.SetValueFormat(OptionFormat.Multiplier)
@@ -33,6 +34,11 @@ internal class Fox : RoleBase, IHideAndSeekRole
.SetValueFormat(OptionFormat.Multiplier)
.SetColor(new(0, 255, 0, byte.MaxValue))
.SetParent(Options.CustomRoleSpawnChances[CustomRoles.Fox]);
HasVitals = new BooleanOptionItem(69_213_305, "FoxHasVitals", true, TabGroup.NeutralRoles)
.SetGameMode(CustomGameMode.HideAndSeek)
.SetColor(new(0, 255, 0, byte.MaxValue))
.SetParent(Options.CustomRoleSpawnChances[CustomRoles.Fox]);
}
public override void Add(byte playerId)