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

Add element PAPR #939

Open
wants to merge 20 commits into
base: master
Choose a base branch
from
Open

Add element PAPR #939

wants to merge 20 commits into from

Conversation

Rebmiami
Copy link
Contributor

PAPR is a new element implementing my take on the common suggestion.

Beyond just being another flammable element, PAPR can exist in two states: "marked" and "unmarked." When unmarked, it allows most non-solid particles to pass through, but when marked, it becomes solid. A simple way to mark and unmark PAPR is using BCOL and SOAP, respectively.
Ed9yFCBjlM

Additionally, the element has a few features meant to facilitate more advanced creations. For example, it can be read/written using ARAY:

  • Hit it with two normal ARAY beams in quick succession to mark it.
  • Hit it with a normal ARAY beam followed by a PSCN ARAY beam to unmark it.
  • Hit it with a PSCN ARAY beam and, if marked, it will block the next ARAY beam (of either type) that hits it in quick succession.
    The ideas for these reactions aren't totally finalized. I designed them to try and be consistent with the properties of ARAY and how either beam type tends to work, but this set of reactions feels slightly difficult to work with in the way I intended.
    powder_LpLsAyA8O3
    I could see this being used to create devices such as plotters, printers, and photocopiers (fittingly), as well as "filters" that use the physical properties of marked/unmarked paper.

Finally, LDTC can be used to read/write FILT wavelengths to or from PAPR, with each particle representing a single bit from the wavelength.
vsoLj9nrRC

As a small extra touch, each method of marking PAPR produces a slightly different color. Marked PAPR can technically be any color because the property used to store whether or not it's marked stores RGB values as well.

Note that I'm not very familiar with the conventions of C++ or this repository. If I've done anything here that violates best practice, please let me know. I'm also open to feedback on any ways I can improve the element, such as changing features to be more practical or intuitive as well as bugs or any other tweaks.

@Rebmiami
Copy link
Contributor Author

An example save using some of the element's features to create a printer: id:3062418

@Rebmiami
Copy link
Contributor Author

Rebmiami commented Mar 1, 2024

Here's some features and adjustments I'm going to try and add to this element over the next week-ish

  • Add a reaction with ACID (turns into BCOL and WTRV)
  • PAPR + NEUT = LCRY, preserving mark color as deco
  • Add a reaction to create PAPR (SAWD+MWAX)
  • PAPR + GUN = IGNC w/ pressure
  • Gather some feedback on the current interactions (especially LDTC) to learn what works and what doesn't

Other ideas or adjustments I haven't fully decided on

  • A way to print a wider set of colors onto PAPR? (using the ARAY interaction? repurposing the LDTC interaction? something new? not sure)
  • Allow PAPR to act as an air filter, absorbing SMKE or other harmful gases? (Filtration wouldn't work for solids or liquids for several reasons, so filtering gases seems like the best way to implement something like this. Would it interfere too much with PAPR's core functionality?)
  • Other interactions with radiation? e.g. photons

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant