Food Synthesizers (#19569)

* Food Synthesizers

Initial port, need to figure out what madness you people have done to tgui... and sprite sheets.

At this moment, it compiles but I haven't tested it yet.  Too eepy

* iconforge spritesheet nonsense

* Cleaning up tgui menu

full disclosure, After six plus hours of trying to figure out how to do the spritesheets  and the tgui stuff I just gave up on this particular bit and threw it into Gemini for a looksie over.

As it's originally my code I figure it's worth at least a reasonable proof read. The side-by-side comparison is pretty wild.

* Passes tgu-lint building

* Appease Gripe err Grep checks

* Oh these for the grep as well whoops

* Sorts out the backend

also piss off linter check, it's COMMENTED OUT aaaaaaaaaa.

* changes from will

* changes from will and some UI splitting, needs proper testing and final adjustments

* passadata

* .

* can be combined

* .

* ml={1}

* id

* Crew category

* id handling

* .

* more cleanup

* smaller cleanup

* why not

* deps up, minor tgui core fix

* timer

* .

* .

* missed to put that back

* order

* this

* Change preference category for foodsynth cookies

* Enforce south facement for cookie image

* Maurice I am no longer asking

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
Poojawa
2026-07-09 13:50:35 -05:00
committed by GitHub
parent 9a8be3b591
commit ba0fd0be33
26 changed files with 2378 additions and 47 deletions
@@ -1,10 +1,10 @@
// Define a place to save in character setup
/datum/preferences
var/vantag_volunteer = 0 // What state I want to be in, in terms of being affected by antags.
var/vantag_volunteer = FALSE // What state I want to be in, in terms of being affected by antags.
var/vantag_preference = VANTAG_NONE // Whether I'd like to volunteer to be an antag at some point.
var/resleeve_lock = 0 // Whether movs should have OOC reslieving protection. Default false.
var/resleeve_scan = 1 // Whether mob should start with a pre-spawn body scan. Default true.
var/mind_scan = 1 // Whether mob should start with a pre-spawn mind scan. Default true.
var/resleeve_lock = FALSE // Whether movs should have OOC reslieving protection. Default false.
var/resleeve_scan = TRUE // Whether mob should start with a pre-spawn body scan. Default true.
var/mind_scan = TRUE // Whether mob should start with a pre-spawn mind scan. Default true.
var/custom_species // Custom species name, can't be changed due to it having been used in savefiles already.
@@ -95,7 +95,7 @@
var/want_body_save = pref.resleeve_scan
var/want_mind_save = pref.mind_scan
spawn(50)
spawn(5 SECONDS)
if(QDELETED(character) || QDELETED(pref))
return // They might have been deleted during the wait
if(!character.virtual_reality_mob && !(/mob/living/carbon/human/proc/perform_exit_vr in character.verbs)) //Janky fix to prevent resleeving VR avatars but beats refactoring transcore
@@ -155,6 +155,7 @@
data["borg_petting"] = pref.borg_petting
data["ignore_shoes"] = pref.read_preference(/datum/preference/toggle/human/ignore_shoes)
data["synth_cookie"] = pref.read_preference(/datum/preference/toggle/living/foodsynth_cookies)
data["resleeve_lock"] = pref.resleeve_lock
data["resleeve_scan"] = pref.resleeve_scan
@@ -236,6 +237,9 @@
if("toggle_resleeve_scan")
pref.resleeve_scan = pref.resleeve_scan ? 0 : 1;
return TOPIC_REFRESH
if("toggle_synth_cookie")
pref.update_preference_by_type(/datum/preference/toggle/living/foodsynth_cookies, !pref.read_preference(/datum/preference/toggle/living/foodsynth_cookies))
return TOPIC_REFRESH
if("toggle_mind_scan")
pref.mind_scan = pref.mind_scan ? 0 : 1;
return TOPIC_REFRESH