Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow the type of an altar to be changed #35110

Draft
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

Booblesnoot42
Copy link
Contributor

@Booblesnoot42 Booblesnoot42 commented Feb 12, 2025

About the PR

Allows Chaplain to change their altar using a new item: Devoters.

All Features:

  • The "type" of an altar is now based on what devoter it contains.
  • Using a bible or prying tool on an altar will remove its devoter, turning it into an undevoted altar.
  • Using a devoter on an undevoted altar will converter it into the correlating type of altar.
  • Chaplains have a new loadout option to select a devoter to start with, or can choose not to have one if they want to keep their altar random.
  • A few items other than devoters can also be used to devote an altar:
    • A blue toolbox will turn it into a toolbox altar.
    • A potted plant will turn it into a druid altar.
    • (I'm planning on adding more, but wanted to get approval on the containers before anything else)

Why / Balance

This allows chaplains who want to have a specific altar (for roleplay reasons) to do so. It also leaves the option not to, for those who want to keep it random.

Technical details

  • Creates seven new devoter tags, one for each main altar type.
  • Creates a new tool type, undevoting, and adds it to the bible.
  • Creates a new construction graph for altars.
    • When an undevoted altar is clicked while holding an item with a devoter tag, the altar will be changed to the related type and the item used will be stored in the altar.
    • When a devoted altar is interacted with using a tool with the Undevoting or Prying aspects, the devoter in the altar will be removed and the altar will become an undevoted altar.
  • Creates seven new devoter items.
  • Creates a new loadout section for the chaplain, allowing them to select a devoter to start with.
  • Adds new sprites for all the new items, and messes with the meta.json file.
  • No C#, somehow

Testing

Loadout

  1. Go to the lobby screen, edit a character, and go to the loadout screen for Chaplain.
  2. Observe the new loadout section, "Chaplain Devoter". You should be able to select one devoter or no devoter.

Undevoting

  1. Spawn any altar except the undevoted altar.
  2. Spawn a bible/crowbar.
  3. Use the bible/crowbar on the altar. After a delay, the altar's devoter will appear on top of it, and the altar will become an undevoted altar.

Devoting

  1. Get an undevoted altar and a devoter; if continuing from Undevoting test, just pick up the devoter that the altar dropped.
  2. While holding the devoter, click on the undevoted altar. After a delay, the devoter will be removed from your hand and the altar will change to match the altar corresponding to the devoter.

Special Devoting

  1. Get an undevoted altar and a blue toolbox.
  2. Click on the altar while holding the toolbox. The altar will change to a Toolbox altar, the same way it would've if you'd clicked with the toolbox devoter.

Media

image

image

Altar.Devoter.mp4

Requirements

Breaking changes

Changelog

🆑

  • add: Altars can now change type. Chaplains have a new loadout slot to select an altar devoter they will start with. By using a bible on an altar, it will become undevoted, and the chosen altar devoter can then be inserted into it. Some other objects can also be used to devote an altar. Experiment!

Blockers til Publish

  • Fix issue where mice placed in toolboxes used to create an altar can struggle out of the toolbox, but then get stuck in the altar container.
  • Figure out attribution stuff

@github-actions github-actions bot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/M Denotes a PR that changes 100-999 lines. Changes: No C# Changes: Requires no C# knowledge to review or fix this item. Changes: Sprites Changes: Might require knowledge of spriting or visual design. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/M Denotes a PR that changes 100-999 lines. labels Feb 12, 2025
Copy link
Contributor

github-actions bot commented Feb 12, 2025

RSI Diff Bot; head commit 831869d merging into 47cb8a0
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Objects/Specific/Chapel/devoter.rsi

State Old New Status
chaos Added
druid Added
nanotrasen Added
satana Added
space_christian Added
technology Added
toolbox Added

Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi

State Old New Status
undevoted Added

Edit: diff updated after 831869d

@github-actions github-actions bot added the size/M Denotes a PR that changes 100-999 lines. label Feb 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: No C# Changes: Requires no C# knowledge to review or fix this item. Changes: Sprites Changes: Might require knowledge of spriting or visual design. size/M Denotes a PR that changes 100-999 lines.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant