mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Merge pull request #8536 from VOREStation/upstream-merge-7344
[MIRROR] Aurora Cooking Port
This commit is contained in:
@@ -281,3 +281,103 @@
|
|||||||
return strtype
|
return strtype
|
||||||
return copytext(strtype, delim_pos)
|
return copytext(strtype, delim_pos)
|
||||||
|
|
||||||
|
// Concatenates a list of strings into a single string. A seperator may optionally be provided.
|
||||||
|
/proc/list2text(list/ls, sep)
|
||||||
|
if (ls.len <= 1) // Early-out code for empty or singleton lists.
|
||||||
|
return ls.len ? ls[1] : ""
|
||||||
|
|
||||||
|
var/l = ls.len // Made local for sanic speed.
|
||||||
|
var/i = 0 // Incremented every time a list index is accessed.
|
||||||
|
|
||||||
|
if (sep != null)
|
||||||
|
// Macros expand to long argument lists like so: sep, ls[++i], sep, ls[++i], sep, ls[++i], etc...
|
||||||
|
#define S1 sep, ls[++i]
|
||||||
|
#define S4 S1, S1, S1, S1
|
||||||
|
#define S16 S4, S4, S4, S4
|
||||||
|
#define S64 S16, S16, S16, S16
|
||||||
|
|
||||||
|
. = "[ls[++i]]" // Make sure the initial element is converted to text.
|
||||||
|
|
||||||
|
// Having the small concatenations come before the large ones boosted speed by an average of at least 5%.
|
||||||
|
if (l-1 & 0x01) // 'i' will always be 1 here.
|
||||||
|
. = text("[][][]", ., S1) // Append 1 element if the remaining elements are not a multiple of 2.
|
||||||
|
if (l-i & 0x02)
|
||||||
|
. = text("[][][][][]", ., S1, S1) // Append 2 elements if the remaining elements are not a multiple of 4.
|
||||||
|
if (l-i & 0x04)
|
||||||
|
. = text("[][][][][][][][][]", ., S4) // And so on....
|
||||||
|
if (l-i & 0x08)
|
||||||
|
. = text("[][][][][][][][][][][][][][][][][]", ., S4, S4)
|
||||||
|
if (l-i & 0x10)
|
||||||
|
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S16)
|
||||||
|
if (l-i & 0x20)
|
||||||
|
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S16, S16)
|
||||||
|
if (l-i & 0x40)
|
||||||
|
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64)
|
||||||
|
while (l > i) // Chomp through the rest of the list, 128 elements at a time.
|
||||||
|
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64, S64)
|
||||||
|
|
||||||
|
#undef S64
|
||||||
|
#undef S16
|
||||||
|
#undef S4
|
||||||
|
#undef S1
|
||||||
|
else
|
||||||
|
// Macros expand to long argument lists like so: ls[++i], ls[++i], ls[++i], etc...
|
||||||
|
#define S1 ls[++i]
|
||||||
|
#define S4 S1, S1, S1, S1
|
||||||
|
#define S16 S4, S4, S4, S4
|
||||||
|
#define S64 S16, S16, S16, S16
|
||||||
|
|
||||||
|
. = "[ls[++i]]" // Make sure the initial element is converted to text.
|
||||||
|
|
||||||
|
if (l-1 & 0x01) // 'i' will always be 1 here.
|
||||||
|
. += S1 // Append 1 element if the remaining elements are not a multiple of 2.
|
||||||
|
if (l-i & 0x02)
|
||||||
|
. = text("[][][]", ., S1, S1) // Append 2 elements if the remaining elements are not a multiple of 4.
|
||||||
|
if (l-i & 0x04)
|
||||||
|
. = text("[][][][][]", ., S4) // And so on...
|
||||||
|
if (l-i & 0x08)
|
||||||
|
. = text("[][][][][][][][][]", ., S4, S4)
|
||||||
|
if (l-i & 0x10)
|
||||||
|
. = text("[][][][][][][][][][][][][][][][][]", ., S16)
|
||||||
|
if (l-i & 0x20)
|
||||||
|
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S16, S16)
|
||||||
|
if (l-i & 0x40)
|
||||||
|
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64)
|
||||||
|
while (l > i) // Chomp through the rest of the list, 128 elements at a time.
|
||||||
|
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
||||||
|
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64, S64)
|
||||||
|
|
||||||
|
#undef S64
|
||||||
|
#undef S16
|
||||||
|
#undef S4
|
||||||
|
#undef S1
|
||||||
|
|
||||||
|
// Converts a string into a list by splitting the string at each delimiter found. (discarding the seperator)
|
||||||
|
/proc/text2list(text, delimiter="\n")
|
||||||
|
var/delim_len = length(delimiter)
|
||||||
|
if (delim_len < 1)
|
||||||
|
return list(text)
|
||||||
|
|
||||||
|
. = list()
|
||||||
|
var/last_found = 1
|
||||||
|
var/found
|
||||||
|
|
||||||
|
do
|
||||||
|
found = findtext(text, delimiter, last_found, 0)
|
||||||
|
. += copytext(text, last_found, found)
|
||||||
|
last_found = found + delim_len
|
||||||
|
while (found)
|
||||||
|
|||||||
@@ -1,107 +0,0 @@
|
|||||||
/*
|
|
||||||
// Contains VOREStation type2type functions
|
|
||||||
// list2text - takes delimiter and returns text
|
|
||||||
// text2list - takes delimiter, and creates list
|
|
||||||
//
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Concatenates a list of strings into a single string. A seperator may optionally be provided.
|
|
||||||
/proc/list2text(list/ls, sep)
|
|
||||||
if (ls.len <= 1) // Early-out code for empty or singleton lists.
|
|
||||||
return ls.len ? ls[1] : ""
|
|
||||||
|
|
||||||
var/l = ls.len // Made local for sanic speed.
|
|
||||||
var/i = 0 // Incremented every time a list index is accessed.
|
|
||||||
|
|
||||||
if (sep <> null)
|
|
||||||
// Macros expand to long argument lists like so: sep, ls[++i], sep, ls[++i], sep, ls[++i], etc...
|
|
||||||
#define S1 sep, ls[++i]
|
|
||||||
#define S4 S1, S1, S1, S1
|
|
||||||
#define S16 S4, S4, S4, S4
|
|
||||||
#define S64 S16, S16, S16, S16
|
|
||||||
|
|
||||||
. = "[ls[++i]]" // Make sure the initial element is converted to text.
|
|
||||||
|
|
||||||
// Having the small concatenations come before the large ones boosted speed by an average of at least 5%.
|
|
||||||
if (l-1 & 0x01) // 'i' will always be 1 here.
|
|
||||||
. = text("[][][]", ., S1) // Append 1 element if the remaining elements are not a multiple of 2.
|
|
||||||
if (l-i & 0x02)
|
|
||||||
. = text("[][][][][]", ., S1, S1) // Append 2 elements if the remaining elements are not a multiple of 4.
|
|
||||||
if (l-i & 0x04)
|
|
||||||
. = text("[][][][][][][][][]", ., S4) // And so on....
|
|
||||||
if (l-i & 0x08)
|
|
||||||
. = text("[][][][][][][][][][][][][][][][][]", ., S4, S4)
|
|
||||||
if (l-i & 0x10)
|
|
||||||
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S16)
|
|
||||||
if (l-i & 0x20)
|
|
||||||
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S16, S16)
|
|
||||||
if (l-i & 0x40)
|
|
||||||
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64)
|
|
||||||
while (l > i) // Chomp through the rest of the list, 128 elements at a time.
|
|
||||||
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64, S64)
|
|
||||||
|
|
||||||
#undef S64
|
|
||||||
#undef S16
|
|
||||||
#undef S4
|
|
||||||
#undef S1
|
|
||||||
else
|
|
||||||
// Macros expand to long argument lists like so: ls[++i], ls[++i], ls[++i], etc...
|
|
||||||
#define S1 ls[++i]
|
|
||||||
#define S4 S1, S1, S1, S1
|
|
||||||
#define S16 S4, S4, S4, S4
|
|
||||||
#define S64 S16, S16, S16, S16
|
|
||||||
|
|
||||||
. = "[ls[++i]]" // Make sure the initial element is converted to text.
|
|
||||||
|
|
||||||
if (l-1 & 0x01) // 'i' will always be 1 here.
|
|
||||||
. += S1 // Append 1 element if the remaining elements are not a multiple of 2.
|
|
||||||
if (l-i & 0x02)
|
|
||||||
. = text("[][][]", ., S1, S1) // Append 2 elements if the remaining elements are not a multiple of 4.
|
|
||||||
if (l-i & 0x04)
|
|
||||||
. = text("[][][][][]", ., S4) // And so on...
|
|
||||||
if (l-i & 0x08)
|
|
||||||
. = text("[][][][][][][][][]", ., S4, S4)
|
|
||||||
if (l-i & 0x10)
|
|
||||||
. = text("[][][][][][][][][][][][][][][][][]", ., S16)
|
|
||||||
if (l-i & 0x20)
|
|
||||||
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S16, S16)
|
|
||||||
if (l-i & 0x40)
|
|
||||||
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64)
|
|
||||||
while (l > i) // Chomp through the rest of the list, 128 elements at a time.
|
|
||||||
. = text("[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]\
|
|
||||||
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]", ., S64, S64)
|
|
||||||
|
|
||||||
#undef S64
|
|
||||||
#undef S16
|
|
||||||
#undef S4
|
|
||||||
#undef S1
|
|
||||||
|
|
||||||
// Converts a string into a list by splitting the string at each delimiter found. (discarding the seperator)
|
|
||||||
/proc/text2list(text, delimiter="\n")
|
|
||||||
var/delim_len = length(delimiter)
|
|
||||||
if (delim_len < 1)
|
|
||||||
return list(text)
|
|
||||||
|
|
||||||
. = list()
|
|
||||||
var/last_found = 1
|
|
||||||
var/found
|
|
||||||
|
|
||||||
do
|
|
||||||
found = findtext(text, delimiter, last_found, 0)
|
|
||||||
. += copytext(text, last_found, found)
|
|
||||||
last_found = found + delim_len
|
|
||||||
while (found)
|
|
||||||
@@ -157,7 +157,7 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
if(Adjacent(user))
|
if(Adjacent(user))
|
||||||
if(coating)
|
if(coating)
|
||||||
to_chat(user, "<span class='notice'>It's coated in [coating.name]!</span>")
|
. += "<span class='notice'>It's coated in [coating.name]!</span>"
|
||||||
if(bitecount==0)
|
if(bitecount==0)
|
||||||
return .
|
return .
|
||||||
else if (bitecount==1)
|
else if (bitecount==1)
|
||||||
@@ -4528,12 +4528,14 @@
|
|||||||
filling_color = "#DB0000"
|
filling_color = "#DB0000"
|
||||||
center_of_mass = list("x"=16, "y"=16)
|
center_of_mass = list("x"=16, "y"=16)
|
||||||
do_coating_prefix = 0
|
do_coating_prefix = 0
|
||||||
New()
|
bitesize = 2
|
||||||
. = ..()
|
|
||||||
reagents.add_reagent("protein", 6)
|
|
||||||
reagents.add_reagent("batter", 1.7)
|
/obj/item/weapon/reagent_containers/food/snacks/sausage/battered/Initialize()
|
||||||
reagents.add_reagent("oil", 1.5)
|
. = ..()
|
||||||
bitesize = 2
|
reagents.add_reagent("protein", 6)
|
||||||
|
reagents.add_reagent("batter", 1.7)
|
||||||
|
reagents.add_reagent("oil", 1.5)
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/jalapeno_poppers
|
/obj/item/weapon/reagent_containers/food/snacks/jalapeno_poppers
|
||||||
name = "jalapeno popper"
|
name = "jalapeno popper"
|
||||||
@@ -4558,10 +4560,11 @@
|
|||||||
icon = 'icons/obj/food_syn.dmi'
|
icon = 'icons/obj/food_syn.dmi'
|
||||||
icon_state = "ratburger"
|
icon_state = "ratburger"
|
||||||
center_of_mass = list("x"=16, "y"=11)
|
center_of_mass = list("x"=16, "y"=11)
|
||||||
New()
|
bitesize = 2
|
||||||
. = ..()
|
|
||||||
reagents.add_reagent("protein", 4)
|
/obj/item/weapon/reagent_containers/food/snacks/mouseburger/Initialize()
|
||||||
bitesize = 2
|
. = ..()
|
||||||
|
reagents.add_reagent("protein", 4)
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/chickenkatsu
|
/obj/item/weapon/reagent_containers/food/snacks/chickenkatsu
|
||||||
name = "chicken katsu"
|
name = "chicken katsu"
|
||||||
@@ -4637,13 +4640,13 @@
|
|||||||
nutriment_amt = 25
|
nutriment_amt = 25
|
||||||
nutriment_desc = list("fried pizza" = 25)
|
nutriment_desc = list("fried pizza" = 25)
|
||||||
center_of_mass = list("x"=16, "y"=11)
|
center_of_mass = list("x"=16, "y"=11)
|
||||||
|
bitesize = 2
|
||||||
|
|
||||||
New()
|
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/crunch/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
reagents.add_reagent("batter", 6.5)
|
reagents.add_reagent("batter", 6.5)
|
||||||
coating = reagents.get_reagent("batter")
|
coating = reagents.get_reagent("batter")
|
||||||
reagents.add_reagent("oil", 4)
|
reagents.add_reagent("oil", 4)
|
||||||
bitesize = 2
|
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/pizzacrunchslice
|
/obj/item/weapon/reagent_containers/food/snacks/pizzacrunchslice
|
||||||
name = "pizza crunch"
|
name = "pizza crunch"
|
||||||
@@ -6032,4 +6035,16 @@
|
|||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice/filled/Initialize()
|
/obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice/filled/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
reagents.add_reagent("protein", 1)
|
reagents.add_reagent("protein", 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/lasagna
|
||||||
|
name = "lasagna"
|
||||||
|
desc = "Meaty, tomato-y, and ready to eat-y. Favorite of cats."
|
||||||
|
icon = 'icons/obj/food.dmi'
|
||||||
|
icon_state = "lasagna"
|
||||||
|
nutriment_amt = 5
|
||||||
|
nutriment_desc = list("tomato" = 4, "meat" = 2)
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/lasagna/Initialize()
|
||||||
|
..()
|
||||||
|
reagents.add_reagent("protein", 2) //For meaty things.
|
||||||
|
|||||||
@@ -42,20 +42,6 @@
|
|||||||
/obj/item/weapon/reagent_containers/food/snacks/slice/sushi/filled/filled
|
/obj/item/weapon/reagent_containers/food/snacks/slice/sushi/filled/filled
|
||||||
filled = TRUE
|
filled = TRUE
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/lasagna
|
|
||||||
name = "lasagna"
|
|
||||||
desc = "Meaty, tomato-y, and ready to eat-y. Favorite of cats."
|
|
||||||
icon = 'icons/obj/food_vr.dmi'
|
|
||||||
icon_state = "lasagna"
|
|
||||||
nutriment_amt = 5
|
|
||||||
nutriment_desc = list("tomato" = 4, "meat" = 2)
|
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/lasagna/Initialize()
|
|
||||||
..()
|
|
||||||
reagents.add_reagent("protein", 2) //For meaty things.
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/goulash
|
/obj/item/weapon/reagent_containers/food/snacks/goulash
|
||||||
name = "goulash"
|
name = "goulash"
|
||||||
desc = "Paprika put to good use, finally, in a soup of meat and vegetables."
|
desc = "Paprika put to good use, finally, in a soup of meat and vegetables."
|
||||||
|
|||||||
@@ -53,12 +53,10 @@
|
|||||||
if (!available_recipes)
|
if (!available_recipes)
|
||||||
available_recipes = new
|
available_recipes = new
|
||||||
|
|
||||||
for (var/type in subtypesof(/datum/recipe))
|
for(var/type in subtypesof(/datum/recipe))
|
||||||
var/datum/recipe/test = new type
|
var/datum/recipe/test = type
|
||||||
if ((appliancetype & test.appliance))
|
if((appliancetype & initial(test.appliance)))
|
||||||
available_recipes += test
|
available_recipes += new test
|
||||||
else
|
|
||||||
qdel(test)
|
|
||||||
|
|
||||||
/obj/machinery/appliance/Destroy()
|
/obj/machinery/appliance/Destroy()
|
||||||
for (var/a in cooking_objs)
|
for (var/a in cooking_objs)
|
||||||
@@ -79,7 +77,7 @@
|
|||||||
for (var/a in cooking_objs)
|
for (var/a in cooking_objs)
|
||||||
var/datum/cooking_item/CI = a
|
var/datum/cooking_item/CI = a
|
||||||
string += "-\a [CI.container.label(null, CI.combine_target)], [report_progress(CI)]</br>"
|
string += "-\a [CI.container.label(null, CI.combine_target)], [report_progress(CI)]</br>"
|
||||||
to_chat(user, string)
|
return string
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='notice>'It is empty.</span>")
|
to_chat(user, "<span class='notice>'It is empty.</span>")
|
||||||
|
|
||||||
@@ -125,14 +123,14 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
if (!user.IsAdvancedToolUser())
|
if (!user.IsAdvancedToolUser())
|
||||||
to_chat(user, "You lack the dexterity to do that!")
|
to_chat(user, "<span class='warning'>You lack the dexterity to do that!</span>")
|
||||||
return
|
return
|
||||||
|
|
||||||
if (user.stat || user.restrained() || user.incapacitated())
|
if (user.stat || user.restrained() || user.incapacitated())
|
||||||
return
|
return
|
||||||
|
|
||||||
if (!Adjacent(user) && !issilicon(user))
|
if (!Adjacent(user) && !issilicon(user))
|
||||||
to_chat(user, "You can't reach [src] from here.")
|
to_chat(user, "<span class='warning'>You can't reach [src] from here!</span>")
|
||||||
return
|
return
|
||||||
|
|
||||||
if (stat & POWEROFF)//Its turned off
|
if (stat & POWEROFF)//Its turned off
|
||||||
@@ -234,10 +232,10 @@
|
|||||||
|
|
||||||
//This function is overridden by cookers that do stuff with containers
|
//This function is overridden by cookers that do stuff with containers
|
||||||
/obj/machinery/appliance/proc/has_space(var/obj/item/I)
|
/obj/machinery/appliance/proc/has_space(var/obj/item/I)
|
||||||
if (cooking_objs.len >= max_contents)
|
if(cooking_objs.len >= max_contents)
|
||||||
return FALSE
|
return FALSE
|
||||||
|
|
||||||
else return TRUE
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/appliance/attackby(var/obj/item/I, var/mob/user)
|
/obj/machinery/appliance/attackby(var/obj/item/I, var/mob/user)
|
||||||
if(!cook_type || (stat & (BROKEN)))
|
if(!cook_type || (stat & (BROKEN)))
|
||||||
@@ -246,12 +244,9 @@
|
|||||||
|
|
||||||
var/result = can_insert(I, user)
|
var/result = can_insert(I, user)
|
||||||
if(!result)
|
if(!result)
|
||||||
if(default_deconstruction_screwdriver(user, I))
|
if(!(default_deconstruction_screwdriver(user, I)))
|
||||||
return
|
default_part_replacement(user, I)
|
||||||
else if(default_part_replacement(user, I))
|
return
|
||||||
return
|
|
||||||
else
|
|
||||||
return
|
|
||||||
|
|
||||||
if(result == 2)
|
if(result == 2)
|
||||||
var/obj/item/weapon/grab/G = I
|
var/obj/item/weapon/grab/G = I
|
||||||
@@ -572,17 +567,17 @@
|
|||||||
var/datum/cooking_item/CI = menuoptions[selection]
|
var/datum/cooking_item/CI = menuoptions[selection]
|
||||||
eject(CI, user)
|
eject(CI, user)
|
||||||
update_icon()
|
update_icon()
|
||||||
return 1
|
return TRUE
|
||||||
return 0
|
return FALSE
|
||||||
|
|
||||||
/obj/machinery/appliance/proc/can_remove_items(var/mob/user)
|
/obj/machinery/appliance/proc/can_remove_items(var/mob/user)
|
||||||
if (!Adjacent(user))
|
if (!Adjacent(user))
|
||||||
return 0
|
return FALSE
|
||||||
|
|
||||||
if (isanimal(user))
|
if (isanimal(user))
|
||||||
return 0
|
return FALSE
|
||||||
|
|
||||||
return 1
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/appliance/proc/eject(var/datum/cooking_item/CI, var/mob/user = null)
|
/obj/machinery/appliance/proc/eject(var/datum/cooking_item/CI, var/mob/user = null)
|
||||||
var/obj/item/thing
|
var/obj/item/thing
|
||||||
|
|||||||
@@ -19,12 +19,12 @@
|
|||||||
if(.) //no need to duplicate adjacency check
|
if(.) //no need to duplicate adjacency check
|
||||||
if(!stat)
|
if(!stat)
|
||||||
if (temperature < min_temp)
|
if (temperature < min_temp)
|
||||||
to_chat(user, "<span class='warning'>\The [src] is still heating up and is too cold to cook anything yet.</span>")
|
. += "<span class='warning'>\The [src] is still heating up and is too cold to cook anything yet.</span>"
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='notice'>It is running at [round(get_efficiency(), 0.1)]% efficiency!</span>")
|
. += "<span class='notice'>It is running at [round(get_efficiency(), 0.1)]% efficiency!</span>"
|
||||||
to_chat(user, "Temperature: [round(temperature - T0C, 0.1)]C / [round(optimal_temp - T0C, 0.1)]C")
|
. += "Temperature: [round(temperature - T0C, 0.1)]C / [round(optimal_temp - T0C, 0.1)]C"
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='warning'>It is switched off.</span>")
|
. += "<span class='warning'>It is switched off.</span>"
|
||||||
|
|
||||||
/obj/machinery/appliance/cooker/list_contents(var/mob/user)
|
/obj/machinery/appliance/cooker/list_contents(var/mob/user)
|
||||||
if (cooking_objs.len)
|
if (cooking_objs.len)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ fundamental differences
|
|||||||
/obj/machinery/appliance/mixer/examine(var/mob/user)
|
/obj/machinery/appliance/mixer/examine(var/mob/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
if(Adjacent(user))
|
if(Adjacent(user))
|
||||||
to_chat(user, "<span class='notice'>It is currently set to make a [selected_option]</span>")
|
. += "<span class='notice'>It is currently set to make a [selected_option]</span>"
|
||||||
|
|
||||||
/obj/machinery/appliance/mixer/Initialize()
|
/obj/machinery/appliance/mixer/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
@@ -27,7 +27,7 @@ fundamental differences
|
|||||||
|
|
||||||
//Mixers cannot-not do combining mode. So the default option is removed from this. A combine target must be chosen
|
//Mixers cannot-not do combining mode. So the default option is removed from this. A combine target must be chosen
|
||||||
/obj/machinery/appliance/mixer/choose_output()
|
/obj/machinery/appliance/mixer/choose_output()
|
||||||
set src in oview(1)
|
set src in view(1)
|
||||||
set name = "Choose output"
|
set name = "Choose output"
|
||||||
set category = "Object"
|
set category = "Object"
|
||||||
|
|
||||||
@@ -91,7 +91,7 @@ fundamental differences
|
|||||||
|
|
||||||
|
|
||||||
/obj/machinery/appliance/mixer/toggle_power()
|
/obj/machinery/appliance/mixer/toggle_power()
|
||||||
set src in view()
|
set src in view(1)
|
||||||
set name = "Toggle Power"
|
set name = "Toggle Power"
|
||||||
set category = "Object"
|
set category = "Object"
|
||||||
|
|
||||||
|
|||||||
@@ -71,31 +71,31 @@
|
|||||||
// This is a bitfield, more than one type can be used
|
// This is a bitfield, more than one type can be used
|
||||||
// Grill is presently unused and not listed
|
// Grill is presently unused and not listed
|
||||||
|
|
||||||
/datum/recipe/proc/check_reagents(var/datum/reagents/avail_reagents)
|
/datum/recipe/proc/check_reagents(var/datum/reagents/avail_reagents, var/exact = FALSE)
|
||||||
if(!reagents || !reagents.len)
|
if(!reagents || !reagents.len)
|
||||||
return 1
|
return TRUE
|
||||||
|
|
||||||
if(!avail_reagents)
|
if(!avail_reagents)
|
||||||
return 0
|
return FALSE
|
||||||
|
|
||||||
. = 1
|
. = TRUE
|
||||||
for(var/r_r in reagents)
|
for(var/r_r in reagents)
|
||||||
var/aval_r_amnt = avail_reagents.get_reagent_amount(r_r)
|
var/aval_r_amnt = avail_reagents.get_reagent_amount(r_r)
|
||||||
if(aval_r_amnt - reagents[r_r] >= 0)
|
if(aval_r_amnt - reagents[r_r] >= 0)
|
||||||
if(aval_r_amnt>reagents[r_r])
|
if(aval_r_amnt>(reagents[r_r] && exact))
|
||||||
. = 0
|
. = FALSE
|
||||||
else
|
else
|
||||||
return -1
|
return FALSE
|
||||||
|
|
||||||
if((reagents?(reagents.len):(0)) < avail_reagents.reagent_list.len)
|
if((reagents?(reagents.len):(0)) < avail_reagents.reagent_list.len)
|
||||||
return 0
|
return FALSE
|
||||||
return .
|
return .
|
||||||
|
|
||||||
/datum/recipe/proc/check_fruit(var/obj/container)
|
/datum/recipe/proc/check_fruit(var/obj/container, var/exact = FALSE)
|
||||||
if (!fruit || !fruit.len)
|
if (!fruit || !fruit.len)
|
||||||
return 1
|
return TRUE
|
||||||
|
|
||||||
. = 1
|
. = TRUE
|
||||||
if(fruit && fruit.len)
|
if(fruit && fruit.len)
|
||||||
var/list/checklist = list()
|
var/list/checklist = list()
|
||||||
// You should trust Copy().
|
// You should trust Copy().
|
||||||
@@ -107,18 +107,18 @@
|
|||||||
checklist[G.seed.kitchen_tag]--
|
checklist[G.seed.kitchen_tag]--
|
||||||
for(var/ktag in checklist)
|
for(var/ktag in checklist)
|
||||||
if(!isnull(checklist[ktag]))
|
if(!isnull(checklist[ktag]))
|
||||||
if(checklist[ktag] < 0)
|
if(checklist[ktag] < 0 && exact)
|
||||||
. = 0
|
. = FALSE
|
||||||
else if(checklist[ktag] > 0)
|
else if(checklist[ktag] > 0)
|
||||||
. = -1
|
. = FALSE
|
||||||
break
|
break
|
||||||
return .
|
return .
|
||||||
|
|
||||||
/datum/recipe/proc/check_items(var/obj/container as obj)
|
/datum/recipe/proc/check_items(var/obj/container as obj, var/exact = FALSE)
|
||||||
if(!items || !items.len)
|
if(!items || !items.len)
|
||||||
return 1
|
return TRUE
|
||||||
|
|
||||||
. = 1
|
. = TRUE
|
||||||
if(items && items.len)
|
if(items && items.len)
|
||||||
var/list/checklist = list()
|
var/list/checklist = list()
|
||||||
checklist = items.Copy() // You should really trust Copy
|
checklist = items.Copy() // You should really trust Copy
|
||||||
@@ -127,50 +127,50 @@
|
|||||||
for(var/obj/O in ((machine.contents - machine.component_parts) - machine.circuit))
|
for(var/obj/O in ((machine.contents - machine.component_parts) - machine.circuit))
|
||||||
if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/grown))
|
if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/grown))
|
||||||
continue // Fruit is handled in check_fruit().
|
continue // Fruit is handled in check_fruit().
|
||||||
var/found = 0
|
var/found = FALSE
|
||||||
for(var/i = 1; i < checklist.len+1; i++)
|
for(var/i = 1; i < checklist.len+1; i++)
|
||||||
var/item_type = checklist[i]
|
var/item_type = checklist[i]
|
||||||
if (istype(O,item_type))
|
if (istype(O,item_type))
|
||||||
checklist.Cut(i, i+1)
|
checklist.Cut(i, i+1)
|
||||||
found = 1
|
found = TRUE
|
||||||
break
|
break
|
||||||
if(!found)
|
if(!found && exact)
|
||||||
. = 0
|
return FALSE
|
||||||
else
|
else
|
||||||
for(var/obj/O in container.contents)
|
for(var/obj/O in container.contents)
|
||||||
if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/grown))
|
if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/grown))
|
||||||
continue // Fruit is handled in check_fruit().
|
continue // Fruit is handled in check_fruit().
|
||||||
var/found = 0
|
var/found = FALSE
|
||||||
for(var/i = 1; i < checklist.len+1; i++)
|
for(var/i = 1; i < checklist.len+1; i++)
|
||||||
var/item_type = checklist[i]
|
var/item_type = checklist[i]
|
||||||
if (istype(O,item_type))
|
if (istype(O,item_type))
|
||||||
if(check_coating(O))
|
if(check_coating(O))
|
||||||
checklist.Cut(i, i+1)
|
checklist.Cut(i, i+1)
|
||||||
found = 1
|
found = TRUE
|
||||||
break
|
break
|
||||||
if (!found)
|
if (!found && exact)
|
||||||
. = 0
|
return FALSE
|
||||||
if(checklist.len)
|
if(checklist.len)
|
||||||
. = -1
|
return FALSE
|
||||||
return .
|
return .
|
||||||
|
|
||||||
//This is called on individual items within the container.
|
//This is called on individual items within the container.
|
||||||
/datum/recipe/proc/check_coating(var/obj/O)
|
/datum/recipe/proc/check_coating(var/obj/O, var/exact = FALSE)
|
||||||
if(!istype(O,/obj/item/weapon/reagent_containers/food/snacks))
|
if(!istype(O,/obj/item/weapon/reagent_containers/food/snacks))
|
||||||
return 1//Only snacks can be battered
|
return TRUE //Only snacks can be battered
|
||||||
|
|
||||||
if (coating == -1)
|
if (coating == -1)
|
||||||
return 1 //-1 value doesnt care
|
return TRUE //-1 value doesnt care
|
||||||
|
|
||||||
var/obj/item/weapon/reagent_containers/food/snacks/S = O
|
var/obj/item/weapon/reagent_containers/food/snacks/S = O
|
||||||
if (!S.coating)
|
if (!S.coating)
|
||||||
if (!coating)
|
if (!coating)
|
||||||
return 1
|
return TRUE
|
||||||
return 0
|
return FALSE
|
||||||
else if (S.coating.type == coating)
|
else if (S.coating.type == coating)
|
||||||
return 1
|
return TRUE
|
||||||
|
|
||||||
return 0
|
return FALSE
|
||||||
|
|
||||||
//general version
|
//general version
|
||||||
/datum/recipe/proc/make(var/obj/container as obj)
|
/datum/recipe/proc/make(var/obj/container as obj)
|
||||||
@@ -308,7 +308,7 @@
|
|||||||
/proc/select_recipe(var/list/datum/recipe/available_recipes, var/obj/obj as obj, var/exact)
|
/proc/select_recipe(var/list/datum/recipe/available_recipes, var/obj/obj as obj, var/exact)
|
||||||
var/list/datum/recipe/possible_recipes = list()
|
var/list/datum/recipe/possible_recipes = list()
|
||||||
for (var/datum/recipe/recipe in available_recipes)
|
for (var/datum/recipe/recipe in available_recipes)
|
||||||
if((recipe.check_reagents(obj.reagents) < exact) || (recipe.check_items(obj) < exact) || (recipe.check_fruit(obj) < exact))
|
if(!recipe.check_reagents(obj.reagents, exact) || !recipe.check_items(obj, exact) || !recipe.check_fruit(obj, exact))
|
||||||
continue
|
continue
|
||||||
possible_recipes |= recipe
|
possible_recipes |= recipe
|
||||||
if (!possible_recipes.len)
|
if (!possible_recipes.len)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
result = /obj/item/weapon/reagent_containers/food/snacks/fries
|
result = /obj/item/weapon/reagent_containers/food/snacks/fries
|
||||||
|
|
||||||
/datum/recipe/cheesyfries
|
/datum/recipe/cheesyfries
|
||||||
|
appliance = FRYER
|
||||||
items = list(
|
items = list(
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/fries,
|
/obj/item/weapon/reagent_containers/food/snacks/fries,
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||||
@@ -100,13 +101,11 @@
|
|||||||
)
|
)
|
||||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/poisonberry
|
result = /obj/item/weapon/reagent_containers/food/snacks/donut/poisonberry
|
||||||
|
|
||||||
/datum/recipe/jellydonut/slime
|
/datum/recipe/jellydonut/slime // Subtypes of jellydonut, appliance inheritance applies.
|
||||||
appliance = FRYER
|
|
||||||
reagents = list("slimejelly" = 5, "sugar" = 5)
|
reagents = list("slimejelly" = 5, "sugar" = 5)
|
||||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly
|
result = /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly
|
||||||
|
|
||||||
/datum/recipe/jellydonut/cherry
|
/datum/recipe/jellydonut/cherry // Subtypes of jellydonut, appliance inheritance applies.
|
||||||
appliance = FRYER
|
|
||||||
reagents = list("cherryjelly" = 5, "sugar" = 5)
|
reagents = list("cherryjelly" = 5, "sugar" = 5)
|
||||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly
|
result = /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly
|
||||||
|
|
||||||
@@ -177,4 +176,4 @@
|
|||||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/meat
|
/obj/item/weapon/reagent_containers/food/snacks/meat
|
||||||
)
|
)
|
||||||
result = /obj/item/weapon/storage/box/wings //This is kinda like the donut box.
|
result = /obj/item/weapon/storage/box/wings //This is kinda like the donut box.
|
||||||
|
|||||||
@@ -208,10 +208,11 @@ I said no!
|
|||||||
/datum/recipe/amanitajelly
|
/datum/recipe/amanitajelly
|
||||||
reagents = list("water" = 5, "vodka" = 5, "amatoxin" = 5)
|
reagents = list("water" = 5, "vodka" = 5, "amatoxin" = 5)
|
||||||
result = /obj/item/weapon/reagent_containers/food/snacks/amanitajelly
|
result = /obj/item/weapon/reagent_containers/food/snacks/amanitajelly
|
||||||
make_food(var/obj/container as obj)
|
|
||||||
. = ..(container)
|
/datum/recipe/amanitajelly/make_food(var/obj/container as obj)
|
||||||
for(var/obj/item/weapon/reagent_containers/food/snacks/amanitajelly/being_cooked in .)
|
. = ..(container)
|
||||||
being_cooked.reagents.del_reagent("amatoxin")
|
for(var/obj/item/weapon/reagent_containers/food/snacks/amanitajelly/being_cooked in .)
|
||||||
|
being_cooked.reagents.del_reagent("amatoxin")
|
||||||
|
|
||||||
/datum/recipe/meatballsoup
|
/datum/recipe/meatballsoup
|
||||||
fruit = list("carrot" = 1, "potato" = 1)
|
fruit = list("carrot" = 1, "potato" = 1)
|
||||||
@@ -531,11 +532,11 @@ I said no!
|
|||||||
fruit = list("potato" = 1, "ambrosia" = 3)
|
fruit = list("potato" = 1, "ambrosia" = 3)
|
||||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/meatball)
|
items = list(/obj/item/weapon/reagent_containers/food/snacks/meatball)
|
||||||
result = /obj/item/weapon/reagent_containers/food/snacks/validsalad
|
result = /obj/item/weapon/reagent_containers/food/snacks/validsalad
|
||||||
make_food(var/obj/container as obj)
|
|
||||||
|
/datum/recipe/validsalad/make_food(var/obj/container as obj)
|
||||||
. = ..(container)
|
. = ..(container)
|
||||||
for (var/obj/item/weapon/reagent_containers/food/snacks/validsalad/being_cooked in .)
|
for (var/obj/item/weapon/reagent_containers/food/snacks/validsalad/being_cooked in .)
|
||||||
being_cooked.reagents.del_reagent("toxin")
|
being_cooked.reagents.del_reagent("toxin")
|
||||||
|
|
||||||
/datum/recipe/stuffing
|
/datum/recipe/stuffing
|
||||||
reagents = list("water" = 5, "sodiumchloride" = 1, "blackpepper" = 1)
|
reagents = list("water" = 5, "sodiumchloride" = 1, "blackpepper" = 1)
|
||||||
@@ -1028,7 +1029,6 @@ I said no!
|
|||||||
)
|
)
|
||||||
result = /obj/item/weapon/reagent_containers/food/snacks/sashimi
|
result = /obj/item/weapon/reagent_containers/food/snacks/sashimi
|
||||||
|
|
||||||
|
|
||||||
/datum/recipe/nugget
|
/datum/recipe/nugget
|
||||||
reagents = list("flour" = 5)
|
reagents = list("flour" = 5)
|
||||||
items = list(
|
items = list(
|
||||||
|
|||||||
@@ -83,6 +83,7 @@
|
|||||||
result = /obj/item/weapon/reagent_containers/food/snacks/flatbread
|
result = /obj/item/weapon/reagent_containers/food/snacks/flatbread
|
||||||
|
|
||||||
/datum/recipe/tortilla
|
/datum/recipe/tortilla
|
||||||
|
appliance = OVEN
|
||||||
reagents = list("flour" = 5)
|
reagents = list("flour" = 5)
|
||||||
items = list(
|
items = list(
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough
|
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough
|
||||||
|
|||||||
@@ -69,14 +69,14 @@
|
|||||||
/datum/reagent/nutriment/coating/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
/datum/reagent/nutriment/coating/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||||
|
|
||||||
//We'll assume that the batter isnt going to be regurgitated and eaten by someone else. Only show this once
|
//We'll assume that the batter isnt going to be regurgitated and eaten by someone else. Only show this once
|
||||||
if (data["cooked"] != 1)
|
if(data["cooked"] != 1)
|
||||||
if (!messaged)
|
if (!messaged)
|
||||||
to_chat(M, "Ugh, this raw [name] tastes disgusting.")
|
to_chat(M, "<span class='warning'>Ugh, this raw [name] tastes disgusting.</span>")
|
||||||
nutriment_factor *= 0.5
|
nutriment_factor *= 0.5
|
||||||
messaged = 1
|
messaged = 1
|
||||||
|
|
||||||
//Raw coatings will sometimes cause vomiting
|
//Raw coatings will sometimes cause vomiting. 75% chance of this happening.
|
||||||
if (prob(1))
|
if(prob(75))
|
||||||
M.vomit()
|
M.vomit()
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
|||||||
@@ -626,6 +626,7 @@ CIRCUITS BELOW
|
|||||||
build_path = /obj/item/weapon/circuitboard/microwave/advanced
|
build_path = /obj/item/weapon/circuitboard/microwave/advanced
|
||||||
sort_string = "HACAA"
|
sort_string = "HACAA"
|
||||||
|
|
||||||
|
|
||||||
/datum/design/circuit/shield_generator
|
/datum/design/circuit/shield_generator
|
||||||
name = "shield generator"
|
name = "shield generator"
|
||||||
id = "shield_generator"
|
id = "shield_generator"
|
||||||
|
|||||||
43
html/changelogs/rykka-stormheart-pr-7344.yml
Normal file
43
html/changelogs/rykka-stormheart-pr-7344.yml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
################################
|
||||||
|
# Example Changelog File
|
||||||
|
#
|
||||||
|
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||||
|
#
|
||||||
|
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||||
|
# When it is, any changes listed below will disappear.
|
||||||
|
#
|
||||||
|
# Valid Prefixes:
|
||||||
|
# bugfix
|
||||||
|
# wip (For works in progress)
|
||||||
|
# tweak
|
||||||
|
# soundadd
|
||||||
|
# sounddel
|
||||||
|
# rscadd (general adding of nice things)
|
||||||
|
# rscdel (general deleting of nice things)
|
||||||
|
# imageadd
|
||||||
|
# imagedel
|
||||||
|
# maptweak
|
||||||
|
# spellcheck (typo fixes)
|
||||||
|
# experiment
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Your name.
|
||||||
|
author: Rykka Stormheart
|
||||||
|
|
||||||
|
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||||
|
delete-after: True
|
||||||
|
|
||||||
|
# Any changes you've made. See valid prefix list above.
|
||||||
|
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||||
|
# SCREW THIS UP AND IT WON'T WORK.
|
||||||
|
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
|
||||||
|
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
|
||||||
|
changes:
|
||||||
|
- rscadd: "Ported over Aurora Cooking from AuroraStation and Citadel-RP!"
|
||||||
|
- rscadd: "Refactored Recipes to be separated per-appliance, and all appliances have a use!"
|
||||||
|
- rscadd: "Please take note, Chefs, to pre-heat you appliances at the start of your shift."
|
||||||
|
- rscadd: "Fryer Recipes require batter before they can be made!"
|
||||||
|
- rscadd: "Fire alarms will go off if you burn food!"
|
||||||
|
- rscadd: "The largest change - Cooking takes TIME. Around 6 minutes for the largest recipes in the game."
|
||||||
|
- rscadd: "Too many other changes to list - refer to PR #7344 https://github.com/PolarisSS13/Polaris/pull/7344"
|
||||||
|
- rscdel: "Removed fun, and any sense of joy in the game."
|
||||||
@@ -185,4 +185,4 @@ cNaaaaaaaaaaaaaaaaababcwcFcGabcwcJabcKcLabaaaaaaaaaaaaaaaaaaaaaaaaabcMalalagagag
|
|||||||
cNaaaaaacOaaaaaaaaaaabababababababababababaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababaaaaaaaaaaaaaacN
|
cNaaaaaacOaaaaaaaaaaabababababababababababaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababaaaaaaaaaaaaaacN
|
||||||
cNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacN
|
cNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacN
|
||||||
cNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcN
|
cNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcN
|
||||||
"}
|
"}
|
||||||
|
|||||||
@@ -127,7 +127,6 @@
|
|||||||
#include "code\_helpers\time.dm"
|
#include "code\_helpers\time.dm"
|
||||||
#include "code\_helpers\turfs.dm"
|
#include "code\_helpers\turfs.dm"
|
||||||
#include "code\_helpers\type2type.dm"
|
#include "code\_helpers\type2type.dm"
|
||||||
#include "code\_helpers\type2type_vr.dm"
|
|
||||||
#include "code\_helpers\unsorted.dm"
|
#include "code\_helpers\unsorted.dm"
|
||||||
#include "code\_helpers\unsorted_vr.dm"
|
#include "code\_helpers\unsorted_vr.dm"
|
||||||
#include "code\_helpers\view.dm"
|
#include "code\_helpers\view.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user