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

Adding species-level flavours and refactoring how reagent flavour is handled. #9107

Merged
merged 4 commits into from
Aug 30, 2023

Conversation

MistakeNot4892
Copy link
Contributor

@MistakeNot4892 MistakeNot4892 commented May 27, 2023

  • Makes nutriment_desc and taste_description both write to a field of reagent data, and then clear themselves.
  • Encodes mixed taste data to JSON and only decodes when necessary for mixing or displaying taste information to a user.
  • Allows taste strings to be set up as associative lists with species names for per-species taste information.
  • Updates many strings to have Teshari-specific lines, as the original goal of this monstrosity was just letting Tesh not taste sweet things.

@Atermonera Atermonera closed this May 28, 2023
@Atermonera
Copy link
Contributor

Wait that's the wrong button

@Atermonera Atermonera reopened this May 28, 2023
@MistakeNot4892 MistakeNot4892 force-pushed the birdflavours branch 5 times, most recently from 4bed0e8 to 76195fd Compare July 19, 2023 11:44
@MistakeNot4892 MistakeNot4892 marked this pull request as ready for review July 19, 2023 12:04
@MistakeNot4892
Copy link
Contributor Author

MistakeNot4892 commented Jul 19, 2023

Alright so I'm honestly a bit uncertain about this one.

  • This effectively guarantees that all /datum/reagent instances have a list for data. Previously it was lazylisted. Conversely it also strips the lists out of taste strings so it might come out the same roughly?
  • It involves a LOT of JSON encoding and decoding when reagents with taste are moving around or being processed. I think it should be profiled on live to check how it actually pans out before considering a final merge.
  • It might be slightly over-engineered for a system intended to just let you make something taste different for birds.
  • It also seems like the reagent grinder does not properly mix data when you grind multiple reagents - I don't think this is a bug I introduced. Data mixes properly if you grind them separately and pour them into the same beaker.

This is ready for review otherwise.

@Cerebulon
Copy link
Contributor

The taste strings you have changed seem fine, but it seems like for Drinks you made "spicy" things taste different while for Food you only changed sweet things and left spicy things spicy. I don't mind either way, but it should probably be consistent tasting/not tasting Spice unless it was meant to just be differing interpretations of "strong alcohol" in which case hot noodles (drink) is an outlier.

@MistakeNot4892
Copy link
Contributor Author

Per Discord, could you confirm you would like the spicy stuff rolled back or expanded? I'm not sure where it ended up sitting.

@Atermonera Atermonera added Lore This change affects the server's lore and setting. Quality of Life [PR] This improves user experience somehow. labels Jul 23, 2023
@Cerebulon
Copy link
Contributor

Proceed With The Spicelessness

Atermonera
Atermonera previously approved these changes Jul 23, 2023
@@ -191,7 +191,7 @@
var/obj/effect/vfx/water/splash = new(T)
splash.create_reagents(15)
splash.reagents.add_reagent("stomacid", 5)
splash.reagents.add_reagent("blood", 10,list("blood_colour" = "#ec4940"))
splash.reagents.add_reagent("blood", 10,TASTE_DATA(list("blood_colour" = "#ec4940")))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

taste data?

@@ -36,7 +36,7 @@
if(blood_type != null)
label_text = "[blood_type]"
update_iv_label()
reagents.add_reagent(reag_id, 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null))
reagents.add_reagent(reag_id, 200, TASTE_DATA(list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null)))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

taste data?

@@ -29,7 +29,7 @@
spawn()
var/obj/effect/vfx/water/splash = new(T)
splash.create_reagents(15)
splash.reagents.add_reagent("blood", 10, list("blood_colour" = effect_color))
splash.reagents.add_reagent("blood", 10, TASTE_DATA(list("blood_colour" = effect_color)))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

taste data?

Reworking how data is initialized and handled by reagents.

Post-rebase update for taste PR.

Further work on the taste system.

Updating taste strings. God help me.
@Spookerton Spookerton merged commit 138e7cd into PolarisSS13:master Aug 30, 2023
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Lore This change affects the server's lore and setting. Quality of Life [PR] This improves user experience somehow.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants