diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index b4627dab..f9b5d22e 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1,2 +1,2 @@
-patreon: ownh
-custom: ["https://paypal.me/xen42"]
+patreon: ownh
+custom: ["https://paypal.me/xen42"]
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 249ac6bb..7a6c635f 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -1,45 +1,45 @@
-name: Bug Report
-description: File a bug report
-labels: ["bug"]
-body:
- - type: textarea
- id: what-happened
- attributes:
- label: What Happened?
- description: Please describe what happened
- validations:
- required: true
- - type: textarea
- id: expected
- attributes:
- label: What was supposed to happen?
- description: If applicable, describe what should have happened instead.
- validations:
- required: false
- - type: dropdown
- id: platform
- attributes:
- label: Platform
- description: Please provide which platform you were playing on when you encountered this bug.
- options:
- - Steam
- - Epic Games
- - Xbox Game Pass
- validations:
- required: false
- - type: textarea
- id: mods
- attributes:
- label: Mods
- description: Please define which mods you had enabled when the problem occurred.
- render: Markdown
- validations:
- required: false
- - type: textarea
- id: logs
- attributes:
- label: Logs
- description: If you can, try to locate the point in the logs where the error occurred and paste the message displayed here.
- render: Shell
- validations:
- required: false
+name: Bug Report
+description: File a bug report
+labels: ["bug"]
+body:
+ - type: textarea
+ id: what-happened
+ attributes:
+ label: What Happened?
+ description: Please describe what happened
+ validations:
+ required: true
+ - type: textarea
+ id: expected
+ attributes:
+ label: What was supposed to happen?
+ description: If applicable, describe what should have happened instead.
+ validations:
+ required: false
+ - type: dropdown
+ id: platform
+ attributes:
+ label: Platform
+ description: Please provide which platform you were playing on when you encountered this bug.
+ options:
+ - Steam
+ - Epic Games
+ - Xbox Game Pass
+ validations:
+ required: false
+ - type: textarea
+ id: mods
+ attributes:
+ label: Mods
+ description: Please define which mods you had enabled when the problem occurred.
+ render: Markdown
+ validations:
+ required: false
+ - type: textarea
+ id: logs
+ attributes:
+ label: Logs
+ description: If you can, try to locate the point in the logs where the error occurred and paste the message displayed here.
+ render: Shell
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index bba1726a..793cb1f2 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,5 +1,5 @@
-blank_issues_enabled: true
-contact_links:
- - name: "Need Help with Creating an Addon?"
- url: "https://discord.gg/wusTQYbYTc"
- about: "Join our discord and look for #nh-addon-discussion"
+blank_issues_enabled: true
+contact_links:
+ - name: "Need Help with Creating an Addon?"
+ url: "https://discord.gg/wusTQYbYTc"
+ about: "Join our discord and look for #nh-addon-discussion"
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
index c0639498..76411026 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.yml
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -1,14 +1,14 @@
-name: Feature Request
-description: Request a feature you'd like to see in a later release
-labels: ["feature"]
-body:
- - type: textarea
- id: feature
- attributes:
- label: Feature
- description: Describe the feature you'd like to see in New Horizons.
- - type: textarea
- id: context
- attributes:
- label: Context
- description: Provide any additional context such as screenshots or diagrams here.
+name: Feature Request
+description: Request a feature you'd like to see in a later release
+labels: ["feature"]
+body:
+ - type: textarea
+ id: feature
+ attributes:
+ label: Feature
+ description: Describe the feature you'd like to see in New Horizons.
+ - type: textarea
+ id: context
+ attributes:
+ label: Context
+ description: Provide any additional context such as screenshots or diagrams here.
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 6daf72c8..c1d8e92a 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,15 +1,23 @@
-
-## Major features
--
-
-
-## Minor features
--
-
-
-## Improvements
--
-
-
-## Bug fixes
--
+
+
+## Major features
+
+-
+
+
+
+## Minor features
+
+-
+
+
+
+## Improvements
+
+-
+
+
+
+## Bug fixes
+
+-
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 0b6d13a3..24435184 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -1,73 +1,69 @@
-# Usage:
-#
-# Build:
-# uses: "./.github/workflows/build"
-# with:
-# build_type: Debug
-#
-#
-
-name: Build
-
-on:
- workflow_call:
- inputs:
- build_type:
- description: 'Build type to pass to `dotnet`, should be either "Debug" or "Release"'
- required: false
- default: "Debug"
- type: string
- outputs:
- schemas_changed:
- description: 'Have the schemas been updated?'
- value: ${{ jobs.Build.outputs.schemas_changed }}
-
-
-
-jobs:
- Build:
- runs-on: windows-latest
- outputs:
- schemas_changed: ${{ steps.changed_files.outputs.files_changed }}
- steps:
-
- - name: Checkout Repo
- uses: actions/checkout@v3
-
- - name: Setup .NET
- uses: actions/setup-dotnet@v3
-
- # Disable Strong Name Verification to let us pull a switch-a-roo
- - name: Disable strong name validation
- run: "C:\\\"Program Files (x86)\"\\\"Microsoft SDKs\"\\Windows\\v10.0A\\bin\\\"NETFX 4.8 Tools\"\\x64\\sn.exe -Vr *"
-
- - name: Remove .csproj.user
- run: "rm .\\NewHorizons\\NewHorizons.csproj.user"
-
- - name: Build Project
- run: dotnet build -c ${{ inputs.build_type }}
-
- - name: Generate Schemas
- run: .\SchemaExporter\bin\${{ inputs.build_type }}\SchemaExporter.exe
-
- - name: Delete XML documentation
- run: rm .\NewHorizons\bin\${{ inputs.build_type }}\NewHorizons.xml
-
- - name: Upload Mod Artifact
- uses: actions/upload-artifact@v3
- with:
- name: xen.NewHorizons.${{ inputs.build_type }}
- path: .\NewHorizons\bin\${{ inputs.build_type }}
-
- - name: Upload Schemas Artifact
- uses: actions/upload-artifact@v3
- with:
- name: NewHorizons-Schemas-${{ inputs.build_type }}
- path: .\NewHorizons\Schemas
-
- - name: Verify Changed Schemas
- uses: tj-actions/verify-changed-files@v12
- id: changed_files
- with:
- files: NewHorizons/Schemas/**
-
+# Usage:
+#
+# Build:
+# uses: "./.github/workflows/build"
+# with:
+# build_type: Debug
+#
+#
+
+name: Build
+
+on:
+ workflow_call:
+ inputs:
+ build_type:
+ description: 'Build type to pass to `dotnet`, should be either "Debug" or "Release"'
+ required: false
+ default: "Debug"
+ type: string
+ outputs:
+ schemas_changed:
+ description: "Have the schemas been updated?"
+ value: ${{ jobs.Build.outputs.schemas_changed }}
+
+jobs:
+ Build:
+ runs-on: windows-latest
+ outputs:
+ schemas_changed: ${{ steps.changed_files.outputs.files_changed }}
+ steps:
+ - name: Checkout Repo
+ uses: actions/checkout@v3
+
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v3
+
+ # Disable Strong Name Verification to let us pull a switch-a-roo
+ - name: Disable strong name validation
+ run: "C:\\\"Program Files (x86)\"\\\"Microsoft SDKs\"\\Windows\\v10.0A\\bin\\\"NETFX 4.8 Tools\"\\x64\\sn.exe -Vr *"
+
+ - name: Remove .csproj.user
+ run: "rm .\\NewHorizons\\NewHorizons.csproj.user"
+
+ - name: Build Project
+ run: dotnet build -c ${{ inputs.build_type }}
+
+ - name: Generate Schemas
+ run: .\SchemaExporter\bin\${{ inputs.build_type }}\SchemaExporter.exe
+
+ - name: Delete XML documentation
+ run: rm .\NewHorizons\bin\${{ inputs.build_type }}\NewHorizons.xml
+
+ - name: Upload Mod Artifact
+ uses: actions/upload-artifact@v3
+ with:
+ name: xen.NewHorizons.${{ inputs.build_type }}
+ path: .\NewHorizons\bin\${{ inputs.build_type }}
+
+ - name: Upload Schemas Artifact
+ uses: actions/upload-artifact@v3
+ with:
+ name: NewHorizons-Schemas-${{ inputs.build_type }}
+ path: .\NewHorizons\Schemas
+
+ - name: Verify Changed Schemas
+ uses: tj-actions/verify-changed-files@v12
+ id: changed_files
+ with:
+ files: NewHorizons/Schemas/**
diff --git a/.github/workflows/debug_build.yml b/.github/workflows/debug_build.yml
index e69d65c4..7638a694 100644
--- a/.github/workflows/debug_build.yml
+++ b/.github/workflows/debug_build.yml
@@ -13,14 +13,14 @@ on:
jobs:
Build:
- uses: './.github/workflows/build.yaml'
+ uses: "./.github/workflows/build.yaml"
with:
build_type: Debug
Update_Schemas:
- name: 'Update Schemas'
+ name: "Update Schemas"
needs: Build
if: ${{ needs.Build.outputs.schemas_changed == 'true' }}
- uses: './.github/workflows/update_schemas.yml'
+ uses: "./.github/workflows/update_schemas.yml"
with:
artifact_name: NewHorizons-Schemas-Debug
secrets: inherit
diff --git a/.github/workflows/docs_build.yml b/.github/workflows/docs_build.yml
index 4614f088..474d9b49 100644
--- a/.github/workflows/docs_build.yml
+++ b/.github/workflows/docs_build.yml
@@ -1,53 +1,52 @@
-name: Build Docs
-
-on:
- workflow_call:
- inputs:
- schemas_artifact:
- description: "Name of the artifact that has updated schemas, set to `null` to not update"
- default: "null"
- required: false
- type: string
- push:
- branches: [main]
- paths:
- - docs/**
- - NewHorizons/Schemas/*
-
-permissions:
- contents: read
- pages: write
- id-token: write
-
-concurrency:
- group: "pages"
- cancel-in-progress: true
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- - name: Download Schemas
- if: ${{ inputs.schemas_artifact != 'null' }}
- uses: actions/download-artifact@v3
- with:
- name: ${{ inputs.schemas_artifact }}
- path: NewHorizons/Schemas
- - name: Build Site
- uses: withastro/action@v0
- with:
- path: ./docs
-
- deploy:
- needs: build
- runs-on: ubuntu-latest
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
- steps:
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v1
-
+name: Build Docs
+
+on:
+ workflow_call:
+ inputs:
+ schemas_artifact:
+ description: "Name of the artifact that has updated schemas, set to `null` to not update"
+ default: "null"
+ required: false
+ type: string
+ push:
+ branches: [main]
+ paths:
+ - docs/**
+ - NewHorizons/Schemas/*
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Download Schemas
+ if: ${{ inputs.schemas_artifact != 'null' }}
+ uses: actions/download-artifact@v3
+ with:
+ name: ${{ inputs.schemas_artifact }}
+ path: NewHorizons/Schemas
+ - name: Build Site
+ uses: withastro/action@v1
+ with:
+ path: ./docs
+
+ deploy:
+ needs: build
+ runs-on: ubuntu-latest
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v1
diff --git a/.github/workflows/release_build.yml b/.github/workflows/release_build.yml
index e2fd7b20..d27381cc 100644
--- a/.github/workflows/release_build.yml
+++ b/.github/workflows/release_build.yml
@@ -32,9 +32,9 @@ jobs:
- name: Read Manifest
id: read-manifest
uses: notiz-dev/github-action-json-property@release
- with:
- path: './NewHorizons/manifest.json'
- prop_path: 'version'
+ with:
+ path: "./NewHorizons/manifest.json"
+ prop_path: "version"
- name: Print version numbers
run: |
echo "Manifest version: $MANIFEST_VERSION"
diff --git a/.github/workflows/update_release.yml b/.github/workflows/update_release.yml
index 1bad2aae..171f6349 100644
--- a/.github/workflows/update_release.yml
+++ b/.github/workflows/update_release.yml
@@ -1,29 +1,29 @@
name: Create/Update Release
on:
- pull_request:
- branches: [main]
- types:
- - ready_for_review
- - edited
- - labeled
+ pull_request:
+ branches: [main]
+ types:
+ - ready_for_review
+ - edited
+ - labeled
jobs:
- Update_Release:
- name: Create/Update Release
- if: contains(github.event.pull_request.labels.*.name, 'update-pr')
- runs-on: ubuntu-latest
- steps:
- - name: Create/Update Release
- uses: ncipollo/release-action@v1
- with:
- allowUpdates: true
- name: Version ${{ github.event.pull_request.title }}
- tag: v${{ github.event.pull_request.title }}
- commit: main
- body: |
- ${{ github.event.pull_request.body }}
+ Update_Release:
+ name: Create/Update Release
+ if: contains(github.event.pull_request.labels.*.name, 'update-pr')
+ runs-on: ubuntu-latest
+ steps:
+ - name: Create/Update Release
+ uses: ncipollo/release-action@v1
+ with:
+ allowUpdates: true
+ name: Version ${{ github.event.pull_request.title }}
+ tag: v${{ github.event.pull_request.title }}
+ commit: main
+ body: |
+ ${{ github.event.pull_request.body }}
- **Generated From PR: ${{ github.event.pull_request.html_url }}**
- draft: true
- prerelease: false
+ **Generated From PR: ${{ github.event.pull_request.html_url }}**
+ draft: true
+ prerelease: false
diff --git a/.github/workflows/update_schemas.yml b/.github/workflows/update_schemas.yml
index 6bbf8da7..9f9a4194 100644
--- a/.github/workflows/update_schemas.yml
+++ b/.github/workflows/update_schemas.yml
@@ -5,10 +5,10 @@ on:
inputs:
artifact_name:
required: true
- description: 'Name of the artifact to download and check against'
+ description: "Name of the artifact to download and check against"
type: string
-# Prevents schemas from trying to update on old commits
+# Prevents schemas from trying to update on old commits
concurrency:
group: "schemas-${{ github.ref }}"
cancel-in-progress: true
@@ -27,14 +27,14 @@ jobs:
with:
name: ${{ inputs.artifact_name }}
path: NewHorizons/Schemas/
-
+
- name: Commit Schemas
run: |
git config --local user.email "bwc9876@gmail.com"
git config --local user.name "Ben C"
git add NewHorizons/Schemas/**
git commit -m "Updated Schemas"
-
+
- name: Push Schemas
uses: ad-m/github-push-action@master
with:
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 9120e2b5..68b97ead 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,5 +1,5 @@
{
- "yaml.schemas": {
- "https://json.schemastore.org/github-workflow.json": "vscode-vfs://github%2B7b2276223a312c22726566223a7b2274797065223a342c226964223a226465766f70732f6e65772d776f726b666c6f7773227d7d/xen-42/outer-wilds-new-horizons/.github/workflows/build.yaml"
- }
-}
\ No newline at end of file
+ "yaml.schemas": {
+ "https://json.schemastore.org/github-workflow.json": "vscode-vfs://github%2B7b2276223a312c22726566223a7b2274797065223a342c226964223a226465766f70732f6e65772d776f726b666c6f7773227d7d/xen-42/outer-wilds-new-horizons/.github/workflows/build.yaml"
+ }
+}
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index b24939ed..240a8b08 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,128 +1,128 @@
-# Contributor Covenant Code of Conduct
-
-## Our Pledge
-
-We as members, contributors, and leaders pledge to make participation in our
-community a harassment-free experience for everyone, regardless of age, body
-size, visible or invisible disability, ethnicity, sex characteristics, gender
-identity and expression, level of experience, education, socio-economic status,
-nationality, personal appearance, race, religion, or sexual identity
-and orientation.
-
-We pledge to act and interact in ways that contribute to an open, welcoming,
-diverse, inclusive, and healthy community.
-
-## Our Standards
-
-Examples of behavior that contributes to a positive environment for our
-community include:
-
-* Demonstrating empathy and kindness toward other people
-* Being respectful of differing opinions, viewpoints, and experiences
-* Giving and gracefully accepting constructive feedback
-* Accepting responsibility and apologizing to those affected by our mistakes,
- and learning from the experience
-* Focusing on what is best not just for us as individuals, but for the
- overall community
-
-Examples of unacceptable behavior include:
-
-* The use of sexualized language or imagery, and sexual attention or
- advances of any kind
-* Trolling, insulting or derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or email
- address, without their explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
- professional setting
-
-## Enforcement Responsibilities
-
-Community leaders are responsible for clarifying and enforcing our standards of
-acceptable behavior and will take appropriate and fair corrective action in
-response to any behavior that they deem inappropriate, threatening, offensive,
-or harmful.
-
-Community leaders have the right and responsibility to remove, edit, or reject
-comments, commits, code, wiki edits, issues, and other contributions that are
-not aligned to this Code of Conduct, and will communicate reasons for moderation
-decisions when appropriate.
-
-## Scope
-
-This Code of Conduct applies within all community spaces, and also applies when
-an individual is officially representing the community in public spaces.
-Examples of representing our community include using an official e-mail address,
-posting via an official social media account, or acting as an appointed
-representative at an online or offline event.
-
-## Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported to the community leaders responsible for enforcement at
-xen#5498.
-All complaints will be reviewed and investigated promptly and fairly.
-
-All community leaders are obligated to respect the privacy and security of the
-reporter of any incident.
-
-## Enforcement Guidelines
-
-Community leaders will follow these Community Impact Guidelines in determining
-the consequences for any action they deem in violation of this Code of Conduct:
-
-### 1. Correction
-
-**Community Impact**: Use of inappropriate language or other behavior deemed
-unprofessional or unwelcome in the community.
-
-**Consequence**: A private, written warning from community leaders, providing
-clarity around the nature of the violation and an explanation of why the
-behavior was inappropriate. A public apology may be requested.
-
-### 2. Warning
-
-**Community Impact**: A violation through a single incident or series
-of actions.
-
-**Consequence**: A warning with consequences for continued behavior. No
-interaction with the people involved, including unsolicited interaction with
-those enforcing the Code of Conduct, for a specified period of time. This
-includes avoiding interactions in community spaces as well as external channels
-like social media. Violating these terms may lead to a temporary or
-permanent ban.
-
-### 3. Temporary Ban
-
-**Community Impact**: A serious violation of community standards, including
-sustained inappropriate behavior.
-
-**Consequence**: A temporary ban from any sort of interaction or public
-communication with the community for a specified period of time. No public or
-private interaction with the people involved, including unsolicited interaction
-with those enforcing the Code of Conduct, is allowed during this period.
-Violating these terms may lead to a permanent ban.
-
-### 4. Permanent Ban
-
-**Community Impact**: Demonstrating a pattern of violation of community
-standards, including sustained inappropriate behavior, harassment of an
-individual, or aggression toward or disparagement of classes of individuals.
-
-**Consequence**: A permanent ban from any sort of public interaction within
-the community.
-
-## Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage],
-version 2.0, available at
-https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
-
-Community Impact Guidelines were inspired by [Mozilla's code of conduct
-enforcement ladder](https://github.com/mozilla/diversity).
-
-[homepage]: https://www.contributor-covenant.org
-
-For answers to common questions about this code of conduct, see the FAQ at
-https://www.contributor-covenant.org/faq. Translations are available at
-https://www.contributor-covenant.org/translations.
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, religion, or sexual identity
+and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming,
+diverse, inclusive, and healthy community.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment for our
+community include:
+
+- Demonstrating empathy and kindness toward other people
+- Being respectful of differing opinions, viewpoints, and experiences
+- Giving and gracefully accepting constructive feedback
+- Accepting responsibility and apologizing to those affected by our mistakes,
+ and learning from the experience
+- Focusing on what is best not just for us as individuals, but for the
+ overall community
+
+Examples of unacceptable behavior include:
+
+- The use of sexualized language or imagery, and sexual attention or
+ advances of any kind
+- Trolling, insulting or derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or email
+ address, without their explicit permission
+- Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Enforcement Responsibilities
+
+Community leaders are responsible for clarifying and enforcing our standards of
+acceptable behavior and will take appropriate and fair corrective action in
+response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Community leaders have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, and will communicate reasons for moderation
+decisions when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when
+an individual is officially representing the community in public spaces.
+Examples of representing our community include using an official e-mail address,
+posting via an official social media account, or acting as an appointed
+representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the community leaders responsible for enforcement at
+xen#5498.
+All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the
+reporter of any incident.
+
+## Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining
+the consequences for any action they deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed
+unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing
+clarity around the nature of the violation and an explanation of why the
+behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series
+of actions.
+
+**Consequence**: A warning with consequences for continued behavior. No
+interaction with the people involved, including unsolicited interaction with
+those enforcing the Code of Conduct, for a specified period of time. This
+includes avoiding interactions in community spaces as well as external channels
+like social media. Violating these terms may lead to a temporary or
+permanent ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including
+sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public
+communication with the community for a specified period of time. No public or
+private interaction with the people involved, including unsolicited interaction
+with those enforcing the Code of Conduct, is allowed during this period.
+Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community
+standards, including sustained inappropriate behavior, harassment of an
+individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within
+the community.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage],
+version 2.0, available at
+https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
+
+Community Impact Guidelines were inspired by [Mozilla's code of conduct
+enforcement ladder](https://github.com/mozilla/diversity).
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see the FAQ at
+https://www.contributor-covenant.org/faq. Translations are available at
+https://www.contributor-covenant.org/translations.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index a8477288..2adf6cc7 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,69 +1,70 @@
-# Contributing
-
-Thank you for choosing to contribute to New Horizons!
-
-## Getting Started
-
-To get started, [fork this repository](https://github.com/xen-42/outer-wilds-new-horizons/fork).
-Once you have a fork created, create a new branch off of `dev` where you will make your changes.
-Then, clone your fork and checkout your new branch.
-
-## Building
-
-To build a development release of New Horizons, use the `Debug` build target.
-This will automatically build to your mods directory in OWML (so long as it's in `%APPDATA%/OuterWildsModManager/OWML`).
-
-### Getting Line Numbers
-
-To save yourself the pain of decoding where in a function an error occured, you can [download this dll file](https://cdn.discordapp.com/attachments/929787137895854100/936860223983976448/mono-2.0-bdwgc.dll) and place it in `MonoBleedingEdge/EmbedRuntime` of the game's folder.
-Then (so long as you build targeting `Debug`), line numbers will be shown in any error that comes from New Horizons
-
-## Provide examples
-When adding a new feature, include a complete set of planet config files that will sufficiently demonstrate the functionality of the feature/bug fix/improvement. This way reviewers can just copy paste these files into the New Horizons planets folder.
-
-## Updating The Schema
-
-When you add fields to config classes, please document them using XML documentation so that our action can generate a proper schema.
-
-```cs
-///
-/// This is my new field!
-///
-public string myField;
-```
-
-You can also use `Range` (from `System.ComponentModel.DataAnnotations` NOT Unity), and `DefaultValue`:
-
-```cs
-///
-/// This is my new field!
-///
-[Range(0, 100)]
-[DefaultValue(50)]
-public int myField;
-```
-
-### Enums
-
-You can also setup enums in the config classes:
-
-```cs
-[JsonConverter(typeof(StringEnumConverter))]
-public enum MyCoolEnum {
- [EnumMember(Value = @"value1")]
- Value1 = 0,
- [EnumMember(Value = @"value2")]
- Value2 = 1,
-}
-
-///
-/// My enum field
-///
-public MyCoolEnum enumField;
-```
-
-These will automatically be converted from strings to the proper enum type.
-
-## Contributing to Documentation
-
-If you wish to contribute to the documentation, take a look at [Setup.md](docs/Setup.md) in the docs folder.
+# Contributing
+
+Thank you for choosing to contribute to New Horizons!
+
+## Getting Started
+
+To get started, [fork this repository](https://github.com/xen-42/outer-wilds-new-horizons/fork).
+Once you have a fork created, create a new branch off of `dev` where you will make your changes.
+Then, clone your fork and checkout your new branch.
+
+## Building
+
+To build a development release of New Horizons, use the `Debug` build target.
+This will automatically build to your mods directory in OWML (so long as it's in `%APPDATA%/OuterWildsModManager/OWML`).
+
+### Getting Line Numbers
+
+To save yourself the pain of decoding where in a function an error occured, you can [download this dll file](https://cdn.discordapp.com/attachments/929787137895854100/936860223983976448/mono-2.0-bdwgc.dll) and place it in `MonoBleedingEdge/EmbedRuntime` of the game's folder.
+Then (so long as you build targeting `Debug`), line numbers will be shown in any error that comes from New Horizons
+
+## Provide examples
+
+When adding a new feature, include a complete set of planet config files that will sufficiently demonstrate the functionality of the feature/bug fix/improvement. This way reviewers can just copy paste these files into the New Horizons planets folder.
+
+## Updating The Schema
+
+When you add fields to config classes, please document them using XML documentation so that our action can generate a proper schema.
+
+```cs
+///
+/// This is my new field!
+///
+public string myField;
+```
+
+You can also use `Range` (from `System.ComponentModel.DataAnnotations` NOT Unity), and `DefaultValue`:
+
+```cs
+///
+/// This is my new field!
+///
+[Range(0, 100)]
+[DefaultValue(50)]
+public int myField;
+```
+
+### Enums
+
+You can also setup enums in the config classes:
+
+```cs
+[JsonConverter(typeof(StringEnumConverter))]
+public enum MyCoolEnum {
+ [EnumMember(Value = @"value1")]
+ Value1 = 0,
+ [EnumMember(Value = @"value2")]
+ Value2 = 1,
+}
+
+///
+/// My enum field
+///
+public MyCoolEnum enumField;
+```
+
+These will automatically be converted from strings to the proper enum type.
+
+## Contributing to Documentation
+
+If you wish to contribute to the documentation, take a look at [Setup.md](docs/Setup.md) in the docs folder.
diff --git a/README.md b/README.md
index a8960beb..49cfb2ff 100644
--- a/README.md
+++ b/README.md
@@ -1,88 +1,99 @@
-
-
-
-[](https://patreon.com/ownh)
-[](https://www.paypal.com/paypalme/xen42)
-
-
-
-
-[](https://github.com/xen-42/outer-wilds-new-horizons/actions/workflows/build.yaml)
-
-*Do you want to create planets using New Horizons?* Then check out our [website](https://nh.outerwildsmods.com/) for all our documentation!
-
-If you want to see examples of what NH can do check out the [examples add-on](https://github.com/xen-42/ow-new-horizons-examples) or [real solar system add-on](https://github.com/xen-42/outer-wilds-real-solar-system).
-
-Check the ship's log for how to use your warp drive to travel between star systems!
-
-
-
-- [Incompatible mods](#incompatible-mods)
-- [Supported mods](#supported-mods)
-- [Development](#development)
-- [Contact](#contact)
-- [Credits](#credits)
-
-
-
-## Incompatible mods
-- Quantum Space Buddies.
-- OW Randomizer.
-
-## Supported Mods
-New Horizons has optional support for a few other mods:
-- [Discord Rich Presence](https://outerwildsmods.com/mods/discordrichpresence/): Showcase what New Horizons worlds you're exploring in your Discord status!
-- [Voice Acting Mod](https://outerwildsmods.com/mods/voiceactingmod/): Characters in NH can be given voice lines which will work with this mod installed. Try it out by downloading NH Examples and talking to Ernesto!
-- [Achievements+](https://outerwildsmods.com/mods/achievements/): New Horizons and its addons have achievements you can unlock with this mod installed!
-
-## Features
-- Load planet meshes or details from asset bundles
-- Use our [template Unity project](https://github.com/xen-42/outer-wilds-unity-template) to create assets for use in NH, including all game scripts recovered using UtinyRipper
-- Separate solar system scenes accessible via wormhole OR via the ship's new warp drive feature accessible via the ship's log
-- Remove or edit existing planets, including what they orbit around
-- Create custom planets from heightmaps/texturemaps
-- Create stars (and supernovae), comets, asteroid belts, satellites, quantum planets/moons, and custom Dark Bramble dimensions.
-- Add stock planet features to custom ones, such as geysers, cloak fields, meteor-launching volcanoes, rafts, tornados, and Dark Bramble seeds/nodes.
-- Binary orbits
-- Signalscope signals and custom frequencies
-- Surface scatter: rocks, trees, etc, using in-game models, or custom ones
-- Black hole / white hole pairs
-- Custom dialogue, slide-reel projections, translatable text, and custom ship log entries for rumour mode and map mode
-- Funnels and variable surface height (can be made of sand/water/lava/star)
-
-## Development
-If you want to help (please dear god help us) then check out the [contact](#contact) info below or the [contributing](https://github.com/xen-42/outer-wilds-new-horizons/blob/master/CONTRIBUTING.md) page.
-
-The Unity project we use to make asset bundles for this mod is [here](https://github.com/xen-42/new-horizons-unity).
-
-## Contact
-Join the [Outer Wilds Modding Discord](https://discord.gg/MvbCbBz6Q6) if you have any questions or just want to chat about modding! Theres a New Horizons category there dedicated to discussion of this mod.
-
-## Credits
-Main authors:
-- [xen](https://github.com/xen-42)
-- [Bwc9876](https://github.com/Bwc9876) (New Horizons v0.9.0 onwards)
-
-New Horizons was made with help from:
-- [JohnCorby](https://github.com/JohnCorby)
-- [MegaPiggy](https://github.com/MegaPiggy)
-- [FreezeDriedMangos](https://github.com/FreezeDriedMangos)
-- [Trifid](https://github.com/TerrificTrifid)
-- [Hawkbar](https://github.com/Hawkbat)
-- And many others, see the [contributors](https://github.com/Outer-Wilds-New-Horizons/new-horizons/graphs/contributors) page.
-
-Translation credits:
-- Russian: Tlya
-- German: Nolram
-- Spanish: Ciborgm9, Ink, GayCoffee
-- French: xen
-- Japanese: TRSasasusu
-
-New Horizons was based off [Marshmallow](https://github.com/misternebula/Marshmallow) was made by:
-- [_nebula](https://github.com/misternebula)
-
-with help from:
-- TAImatem
-- AmazingAlek
-- Raicuparta
-- and the Outer Wilds discord server.
+
+
+[](https://patreon.com/ownh)
+[](https://www.paypal.com/paypalme/xen42)
+
+
+
+
+[](https://github.com/xen-42/outer-wilds-new-horizons/actions/workflows/build.yaml)
+
+_Do you want to create planets using New Horizons?_ Then check out our [website](https://nh.outerwildsmods.com/) for all our documentation!
+
+If you want to see examples of what NH can do check out the [examples add-on](https://github.com/xen-42/ow-new-horizons-examples) or [real solar system add-on](https://github.com/xen-42/outer-wilds-real-solar-system).
+
+Check the ship's log for how to use your warp drive to travel between star systems!
+
+
+
+- [Incompatible mods](#incompatible-mods)
+- [Supported mods](#supported-mods)
+- [Development](#development)
+- [Contact](#contact)
+- [Credits](#credits)
+
+
+
+## Incompatible mods
+
+- Quantum Space Buddies.
+- OW Randomizer.
+
+## Supported Mods
+
+New Horizons has optional support for a few other mods:
+
+- [Discord Rich Presence](https://outerwildsmods.com/mods/discordrichpresence/): Showcase what New Horizons worlds you're exploring in your Discord status!
+- [Voice Acting Mod](https://outerwildsmods.com/mods/voiceactingmod/): Characters in NH can be given voice lines which will work with this mod installed. Try it out by downloading NH Examples and talking to Ernesto!
+- [Achievements+](https://outerwildsmods.com/mods/achievements/): New Horizons and its addons have achievements you can unlock with this mod installed!
+
+## Features
+
+- Load planet meshes or details from asset bundles
+- Use our [template Unity project](https://github.com/xen-42/outer-wilds-unity-template) to create assets for use in NH, including all game scripts recovered using UtinyRipper
+- Separate solar system scenes accessible via wormhole OR via the ship's new warp drive feature accessible via the ship's log
+- Remove or edit existing planets, including what they orbit around
+- Create custom planets from heightmaps/texturemaps
+- Create stars (and supernovae), comets, asteroid belts, satellites, quantum planets/moons, and custom Dark Bramble dimensions.
+- Add stock planet features to custom ones, such as geysers, cloak fields, meteor-launching volcanoes, rafts, tornados, and Dark Bramble seeds/nodes.
+- Binary orbits
+- Signalscope signals and custom frequencies
+- Surface scatter: rocks, trees, etc, using in-game models, or custom ones
+- Black hole / white hole pairs
+- Custom dialogue, slide-reel projections, translatable text, and custom ship log entries for rumour mode and map mode
+- Funnels and variable surface height (can be made of sand/water/lava/star)
+
+## Development
+
+If you want to help (please dear god help us) then check out the [contact](#contact) info below or the [contributing](https://github.com/xen-42/outer-wilds-new-horizons/blob/master/CONTRIBUTING.md) page.
+
+The Unity project we use to make asset bundles for this mod is [here](https://github.com/xen-42/new-horizons-unity).
+
+## Contact
+
+Join the [Outer Wilds Modding Discord](https://discord.gg/MvbCbBz6Q6) if you have any questions or just want to chat about modding! Theres a New Horizons category there dedicated to discussion of this mod.
+
+## Credits
+
+Main authors:
+
+- [xen](https://github.com/xen-42)
+- [Bwc9876](https://github.com/Bwc9876) (New Horizons v0.9.0 onwards)
+
+New Horizons was made with help from:
+
+- [JohnCorby](https://github.com/JohnCorby)
+- [MegaPiggy](https://github.com/MegaPiggy)
+- [FreezeDriedMangos](https://github.com/FreezeDriedMangos)
+- [Trifid](https://github.com/TerrificTrifid)
+- [Hawkbar](https://github.com/Hawkbat)
+- And many others, see the [contributors](https://github.com/Outer-Wilds-New-Horizons/new-horizons/graphs/contributors) page.
+
+Translation credits:
+
+- Russian: Tlya
+- German: Nolram
+- Spanish: Ciborgm9, Ink, GayCoffee
+- French: xen
+- Japanese: TRSasasusu
+
+New Horizons was based off [Marshmallow](https://github.com/misternebula/Marshmallow) was made by:
+
+- [\_nebula](https://github.com/misternebula)
+
+with help from:
+
+- TAImatem
+- AmazingAlek
+- Raicuparta
+- and the Outer Wilds discord server.