NRI/CIN Precursor Food Replicator (#22679)
* it was meant to be pushed two weeks ago * it's done woooo * oops * Update replicator.dm * it's done * hoping the commit appears * Update tgstation.dme * Adding replicator to the nri cops shuttle also fixes compile maps * This is better * Apply suggestions from code review Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * requested changes * Apply suggestions from code review Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * should be it * And now it works PROPERLY * Apply suggestions from code review Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Better formatting and convermol nerf * new medical stuff and sprites * minor buff * Update medical.dm * minor touches * too much effort * Update clothing.dm * i forgot * i forgot x2 * unused var cleanup * infinite opening fix * Update replicator_medical.dm * Update clothing.dm * Apply suggestions from code review Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update clothing.dm * Update modular_skyrat/modules/food_replicator/code/reagents.dm --------- Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
@@ -424,29 +424,13 @@
|
||||
/area/shuttle/pirate/nri)
|
||||
"qE" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/storage/box/nri_rations{
|
||||
pixel_x = -3
|
||||
/obj/item/storage/box/colonial_rations{
|
||||
pixel_y = 12
|
||||
},
|
||||
/obj/item/storage/box/nri_rations{
|
||||
pixel_x = 7;
|
||||
pixel_y = -5
|
||||
},
|
||||
/obj/item/storage/box/nri_rations{
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
/obj/item/storage/box/nri_rations{
|
||||
pixel_x = 7;
|
||||
pixel_y = -2
|
||||
},
|
||||
/obj/item/storage/box/nri_rations{
|
||||
pixel_x = -3;
|
||||
/obj/item/storage/box/colonial_rations{
|
||||
pixel_y = 6
|
||||
},
|
||||
/obj/item/storage/box/nri_rations{
|
||||
pixel_x = 7;
|
||||
pixel_y = 1
|
||||
},
|
||||
/obj/item/storage/box/colonial_rations,
|
||||
/turf/open/floor/pod/light,
|
||||
/area/shuttle/pirate/nri)
|
||||
"qJ" = (
|
||||
@@ -1345,7 +1329,7 @@
|
||||
/turf/open/floor/pod,
|
||||
/area/shuttle/pirate/nri)
|
||||
"Wa" = (
|
||||
/obj/machinery/vending/imported/mothic,
|
||||
/obj/machinery/biogenerator/food_replicator,
|
||||
/turf/open/floor/pod/light,
|
||||
/area/shuttle/pirate/nri)
|
||||
"Wr" = (
|
||||
@@ -1390,10 +1374,26 @@
|
||||
/turf/open/floor/engine/hull/reinforced,
|
||||
/area/shuttle/pirate/nri)
|
||||
"Yd" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/coffee_cartridge,
|
||||
/obj/item/coffee_cartridge,
|
||||
/obj/machinery/coffeemaker,
|
||||
/obj/structure/closet/crate/freezer,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/obj/item/food/meat/slab/meatproduct,
|
||||
/turf/open/floor/pod,
|
||||
/area/shuttle/pirate/nri)
|
||||
"Yy" = (
|
||||
|
||||
@@ -714,7 +714,7 @@
|
||||
contraband = TRUE
|
||||
cost = CARGO_CRATE_VALUE * 9
|
||||
contains = list(
|
||||
/obj/item/storage/box/nri_rations = 1,
|
||||
/obj/item/storage/box/colonial_rations = 1,
|
||||
/obj/item/storage/toolbox/ammobox/strilka310 = 1,
|
||||
/obj/item/storage/toolbox/ammobox/strilka310/surplus = 1,
|
||||
/obj/item/storage/toolbox/maint_kit = 1,
|
||||
|
||||
@@ -82,11 +82,15 @@
|
||||
lower_cost = CARGO_CRATE_VALUE * 0.5
|
||||
upper_cost = CARGO_CRATE_VALUE
|
||||
|
||||
/datum/armament_entry/company_import/nri_surplus/misc/rations
|
||||
item_type = /obj/item/storage/box/nri_rations
|
||||
lower_cost = CARGO_CRATE_VALUE * 0.75
|
||||
upper_cost = CARGO_CRATE_VALUE * 1.5
|
||||
/datum/armament_entry/company_import/nri_surplus/misc/food_replicator
|
||||
description = "Once widespread technology used by numerous fringe colonies of NRI origin and even in some SolFed territories, that ultimately went out of fashion due to \
|
||||
SolFed propaganda deeming it unprofitable and imposing severe trading fees on anyone trying to sell them. A small portion of government-backed manufacturers still produce \
|
||||
'food replicators' for private and government use; a few of them is selling this via us."
|
||||
item_type = /obj/item/circuitboard/machine/biogenerator/food_replicator
|
||||
lower_cost = CARGO_CRATE_VALUE * 7.5
|
||||
upper_cost = CARGO_CRATE_VALUE * 11
|
||||
interest_required = COMPANY_SOME_INTEREST
|
||||
interest_addition = COMPANY_INTEREST_GAIN_BIG
|
||||
|
||||
/datum/armament_entry/company_import/nri_surplus/misc/nri_flag
|
||||
item_type = /obj/item/sign/flag/nri
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
/obj/item/clothing/under/colonial
|
||||
name = "colonial outfit"
|
||||
desc = "Fancy white satin shirt and a pair of cotton-blend pants with a black synthleather belt."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/clothing.dmi'
|
||||
worn_icon = 'modular_skyrat/modules/food_replicator/icons/clothing_worn.dmi'
|
||||
worn_icon_digi = 'modular_skyrat/modules/food_replicator/icons/clothing_digi.dmi'
|
||||
icon_state = "under_colonial"
|
||||
|
||||
/obj/item/clothing/under/colonial/mob_can_equip(mob/living/equipper, slot, disable_warning, bypass_equip_delay_self, ignore_equipped, indirect_action)
|
||||
if(is_species(equipper, /datum/species/teshari))
|
||||
to_chat(equipper, span_warning("[src] is far too big for you!"))
|
||||
return FALSE
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/shoes/jackboots/colonial
|
||||
name = "colonial half-boots"
|
||||
desc = "Good old laceless boots, with a sturdy plastic toe to, theoretically, keep your toes uncrushed."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/clothing.dmi'
|
||||
worn_icon = 'modular_skyrat/modules/food_replicator/icons/clothing_worn.dmi'
|
||||
worn_icon_digi = 'modular_skyrat/modules/food_replicator/icons/clothing_digi.dmi'
|
||||
icon_state = "boots_colonial"
|
||||
|
||||
/obj/item/clothing/shoes/jackboots/colonial/mob_can_equip(mob/living/equipper, slot, disable_warning, bypass_equip_delay_self, ignore_equipped, indirect_action)
|
||||
if(is_species(equipper, /datum/species/teshari))
|
||||
to_chat(equipper, span_warning("[src] is far too big for you!"))
|
||||
return FALSE
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/neck/cloak/colonial
|
||||
name = "colonial cloak"
|
||||
desc = "A cloak made from heavy tarpaulin. Nigh wind- and waterproof thanks to its design."
|
||||
slot_flags = ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/clothing.dmi'
|
||||
worn_icon = 'modular_skyrat/modules/food_replicator/icons/clothing_worn.dmi'
|
||||
worn_icon_digi = 'modular_skyrat/modules/food_replicator/icons/clothing_digi.dmi'
|
||||
icon_state = "cloak_colonial"
|
||||
|
||||
/obj/item/clothing/neck/cloak/colonial/mob_can_equip(mob/living/equipper, slot, disable_warning, bypass_equip_delay_self, ignore_equipped, indirect_action)
|
||||
if(is_species(equipper, /datum/species/teshari))
|
||||
to_chat(equipper, span_warning("[src] is far too big for you!"))
|
||||
return FALSE
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/head/hats/colonial
|
||||
name = "colonial cap"
|
||||
desc = "A puffy cap made out of tarpaulin covered by some textile. It is sturdy and comfortable, and seems to retain its form very well."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/clothing.dmi'
|
||||
worn_icon = 'modular_skyrat/modules/food_replicator/icons/clothing_worn.dmi'
|
||||
worn_icon_digi = 'modular_skyrat/modules/food_replicator/icons/clothing_digi.dmi'
|
||||
icon_state = "cap_colonial"
|
||||
inhand_icon_state = null
|
||||
supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON
|
||||
|
||||
/obj/item/clothing/head/hats/colonial/mob_can_equip(mob/living/equipper, slot, disable_warning, bypass_equip_delay_self, ignore_equipped, indirect_action)
|
||||
if(is_species(equipper, /datum/species/teshari))
|
||||
to_chat(equipper, span_warning("[src] is far too big for you!"))
|
||||
return FALSE
|
||||
|
||||
return ..()
|
||||
@@ -0,0 +1,66 @@
|
||||
/obj/item/stack/medical/suture/bloody
|
||||
name = "hemostatic suture"
|
||||
desc = "Bloodclotting agent-infused sterile sutures used to seal up cuts and lacerations and reverse critical bleedings."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/medicine.dmi'
|
||||
icon_state = "hemo_suture"
|
||||
heal_brute = 7
|
||||
stop_bleeding = 1
|
||||
grind_results = list(/datum/reagent/medicine/coagulant = 2)
|
||||
merge_type = /obj/item/stack/medical/suture/bloody
|
||||
|
||||
/obj/item/stack/medical/suture/bloody/post_heal_effects(amount_healed, mob/living/carbon/healed_mob, mob/user)
|
||||
. = ..()
|
||||
if(healed_mob.blood_volume <= BLOOD_VOLUME_SAFE)
|
||||
healed_mob.reagents.add_reagent(/datum/reagent/medicine/salglu_solution, 2)
|
||||
healed_mob.adjustOxyLoss(-amount_healed)
|
||||
|
||||
/obj/item/stack/medical/mesh/bloody
|
||||
name = "hemostatic mesh"
|
||||
desc = "A hemostatic mesh used to dress burns and stimulate hemopoiesis. Due to its blood-related purpose, it is worse at sanitizing infections."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/medicine.dmi'
|
||||
icon_state = "hemo_mesh"
|
||||
heal_burn = 7
|
||||
sanitization = 0.5
|
||||
flesh_regeneration = 1.75
|
||||
stop_bleeding = 0.25
|
||||
grind_results = list(/datum/reagent/medicine/coagulant = 2)
|
||||
merge_type = /obj/item/stack/medical/mesh/bloody
|
||||
|
||||
/obj/item/stack/medical/mesh/bloody/update_icon_state()
|
||||
if(is_open)
|
||||
return ..()
|
||||
|
||||
icon_state = "hemo_mesh_closed"
|
||||
|
||||
/obj/item/stack/medical/mesh/bloody/post_heal_effects(amount_healed, mob/living/carbon/healed_mob, mob/user)
|
||||
. = ..()
|
||||
if(healed_mob.blood_volume <= BLOOD_VOLUME_SAFE)
|
||||
healed_mob.reagents.add_reagent(/datum/reagent/medicine/salglu_solution, 2)
|
||||
healed_mob.adjustOxyLoss(-amount_healed)
|
||||
|
||||
/obj/item/reagent_containers/hypospray/medipen/glucose
|
||||
name = "pressurised glucose medipen"
|
||||
desc = "A medipen for keeping yourself going during prolonged EVA shifts, injects a dose of glucose into your bloodstream. Recommended for use in low-pressure environments."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/medicine.dmi'
|
||||
icon_state = "glupen"
|
||||
inhand_icon_state = "stimpen"
|
||||
base_icon_state = "glupen"
|
||||
volume = 15
|
||||
amount_per_transfer_from_this = 15
|
||||
list_reagents = list(/datum/reagent/consumable/nutriment/glucose = 15)
|
||||
|
||||
/obj/item/reagent_containers/hypospray/medipen/glucose/inject(mob/living/affected_mob, mob/user)
|
||||
if(lavaland_equipment_pressure_check(get_turf(user)))
|
||||
amount_per_transfer_from_this = initial(amount_per_transfer_from_this)
|
||||
return ..()
|
||||
|
||||
if(DOING_INTERACTION(user, DOAFTER_SOURCE_SURVIVALPEN))
|
||||
to_chat(user,span_notice("You are too busy to use \the [src]!"))
|
||||
return
|
||||
|
||||
to_chat(user,span_notice("You start manually releasing the low-pressure gauge..."))
|
||||
if(!do_after(user, 10 SECONDS, affected_mob, interaction_key = DOAFTER_SOURCE_SURVIVALPEN))
|
||||
return
|
||||
|
||||
amount_per_transfer_from_this = initial(amount_per_transfer_from_this) * 0.5
|
||||
return ..()
|
||||
@@ -0,0 +1,188 @@
|
||||
/obj/item/food/colonial_course
|
||||
name = "undefined colonial course"
|
||||
desc = "Something you shouldn't see. But it's edible."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/rationpack.dmi'
|
||||
icon_state = "borgir"
|
||||
base_icon_state = "borgir"
|
||||
food_reagents = list(/datum/reagent/consumable/nutriment = 20)
|
||||
tastes = list("crayon powder" = 1)
|
||||
foodtypes = VEGETABLES | GRAIN
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
preserved_food = TRUE
|
||||
|
||||
/obj/item/food/colonial_course/attack_self(mob/user, modifiers)
|
||||
if(preserved_food)
|
||||
preserved_food = FALSE
|
||||
icon_state = "[base_icon_state]_unwrapped"
|
||||
to_chat(user, span_notice("You unpackage \the [src]."))
|
||||
playsound(user.loc, 'sound/items/foodcanopen.ogg', 50)
|
||||
|
||||
/obj/item/food/colonial_course/attack(mob/living/target, mob/user, def_zone)
|
||||
if(preserved_food)
|
||||
to_chat(user, span_warning("[src] is still packaged!"))
|
||||
return FALSE
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/food/colonial_course/pljeskavica
|
||||
name = "pljeskavica"
|
||||
desc = "Freshly-printed steaming hot burger consisting of a biogenerator-produced handcraft-imitating buns, with a minced meat patty inbetween, among various vegetables and sauces.\
|
||||
<br> Looks good <i>enough</i> for something as replicated as this. Its packaging is covered in copious amounts of information on its nutritional facts, contents and the expiry date. Sadly, it's all written in Pan-Slavic."
|
||||
trash_type = /obj/item/trash/pljeskavica
|
||||
food_reagents = list(
|
||||
/datum/reagent/consumable/nutriment = 3,
|
||||
/datum/reagent/consumable/nutriment/protein = 9,
|
||||
/datum/reagent/consumable/nutriment/vitamin = 4,
|
||||
)
|
||||
tastes = list("bun" = 2, "spiced meat" = 10, "death of veganism" = 3)
|
||||
foodtypes = VEGETABLES | GRAIN | MEAT
|
||||
|
||||
/obj/item/food/colonial_course/nachos
|
||||
name = "plain nachos tray"
|
||||
desc = "A vacuum-sealed package with what seems to be a generous serving of triangular corn chips, with three sections reserved for a salsa, cheese and guacamole sauces.\
|
||||
<br> Probably the best-looking food you can find in these rations, perhaps due to its simplicity."
|
||||
food_reagents = list(
|
||||
/datum/reagent/consumable/nutriment = 5,
|
||||
/datum/reagent/consumable/nutriment/vitamin = 2,
|
||||
)
|
||||
trash_type = /obj/item/trash/nachos
|
||||
icon_state = "nacho"
|
||||
base_icon_state = "nacho"
|
||||
tastes = list("corn chips" = 5, "'artificial' organic sauces" = 5)
|
||||
foodtypes = GRAIN | FRIED | DAIRY
|
||||
|
||||
/obj/item/food/colonial_course/blins
|
||||
name = "condensed milk crepes"
|
||||
desc = "A vacuum-sealed four-pack of stuffed crepes with a minimal amount of markings. There is nothing else to it, to be frank.\
|
||||
<br> Surprisingly tasty for its looks, as long as you're not lactose intolerant, on diet, or vegan. The back of the packaging is covered in a mass of information detailing the product."
|
||||
food_reagents = list(
|
||||
/datum/reagent/consumable/nutriment = 2,
|
||||
/datum/reagent/consumable/caramel = 3,
|
||||
/datum/reagent/consumable/milk = 4,
|
||||
)
|
||||
trash_type = /obj/item/trash/blins
|
||||
icon_state = "blin"
|
||||
base_icon_state = "blin"
|
||||
tastes = list("insane amount of sweetness" = 10, "crepes" = 3)
|
||||
foodtypes = SUGAR | GRAIN | DAIRY | BREAKFAST
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/coffee/colonial
|
||||
name = "colonial thermocup"
|
||||
desc = "Technically, used to drink hot beverages. But since it's the only cup design that was available, you gotta make do. It has an instruction written on its side. \
|
||||
<br> This particular one comes prefilled with a single serving of coffee powder."
|
||||
special_desc = "A small instruction on the side reads: <i>\"For use in food replicators; mix water and powdered solutions in one-to-one proportions. \
|
||||
<br> For cocoa, mix milk and powdered solution in one-to-one proportion.\"</i>"
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/rationpack.dmi'
|
||||
list_reagents = list(/datum/reagent/consumable/powdered_coffee = 25)
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/coffee/colonial/empty
|
||||
desc = "Technically, used to drink hot beverages. But since it's the only cup design that was available, you gotta make do. It has an instruction written on its side."
|
||||
list_reagents = null
|
||||
|
||||
/obj/item/trash/pljeskavica
|
||||
name = "pljeskavica wrapping paper"
|
||||
desc = "Covered in sauce smearings and smaller pieces of the dish on the inside, crumpled into a ball. It's probably best to dispose of it."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/rationpack.dmi'
|
||||
icon_state = "borgir_trash"
|
||||
|
||||
/obj/item/trash/nachos
|
||||
name = "empty nachos tray"
|
||||
desc = "Covered in sauce smearings and smaller pieces of the dish on the inside, a plastic food tray with not much use anymore. It's probably best to dispose of it or recycle it."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/rationpack.dmi'
|
||||
custom_materials = list(/datum/material/plastic = HALF_SHEET_MATERIAL_AMOUNT)
|
||||
icon_state = "nacho_trash"
|
||||
|
||||
/obj/item/trash/blins
|
||||
name = "empty crepes wrapper"
|
||||
desc = "Empty torn wrapper that used to hold something ridiculously sweet. It's probably best to recycle it."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/rationpack.dmi'
|
||||
custom_materials = list(/datum/material/plastic = HALF_SHEET_MATERIAL_AMOUNT * 0.5)
|
||||
icon_state = "blin_trash"
|
||||
|
||||
/obj/item/storage/box/gum/colonial
|
||||
name = "mixed bubblegum packet"
|
||||
desc = "The packaging is entirely written in Pan-Slavic, with a small blurb of Sol Common. You would need to take a better look to read it, though, as it is written quite small."
|
||||
special_desc = "Examining the small text reveals the following: <i>\"Foreign colonization ration, model J: mixed origin, adult. Bubblegum package, medicinal, recreational. <br>\
|
||||
Do not overconsume. Certain strips contain nicotine.\"</i>"
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/rationpack.dmi'
|
||||
icon_state = "bubblegum"
|
||||
|
||||
/obj/item/storage/box/gum/colonial/PopulateContents()
|
||||
new /obj/item/food/bubblegum(src)
|
||||
new /obj/item/food/bubblegum(src)
|
||||
new /obj/item/food/bubblegum/nicotine(src)
|
||||
new /obj/item/food/bubblegum/nicotine(src)
|
||||
|
||||
/obj/item/storage/box/utensils
|
||||
name = "utensils package"
|
||||
desc = "A small package containing various utensils required for <i>human</i> consumption of various foods. \
|
||||
In a normal situation contains a plastic fork, a plastic spoon, and two serviettes."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/rationpack.dmi'
|
||||
icon_state = "utensil_box"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
illustration = null
|
||||
foldable_result = null
|
||||
|
||||
/obj/item/storage/box/utensils/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.set_holdable(list(
|
||||
/obj/item/kitchen/spoon/plastic,
|
||||
/obj/item/kitchen/fork/plastic,
|
||||
/obj/item/serviette,
|
||||
))
|
||||
atom_storage.max_slots = 4
|
||||
|
||||
/obj/item/storage/box/utensils/PopulateContents()
|
||||
new /obj/item/kitchen/spoon/plastic(src)
|
||||
new /obj/item/kitchen/fork/plastic(src)
|
||||
new /obj/item/serviette/colonial(src)
|
||||
new /obj/item/serviette/colonial(src)
|
||||
|
||||
/obj/item/serviette/colonial
|
||||
name = "colonial napkin"
|
||||
desc = "To clean all the mess. Comes with a custom <i>combined</i> design of red and blue."
|
||||
icon_state = "napkin_unused"
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/rationpack.dmi'
|
||||
used_serviette = /obj/item/serviette_used/colonial
|
||||
|
||||
/obj/item/serviette_used/colonial
|
||||
name = "dirty colonial napkin"
|
||||
desc = "No longer useful, super dirty, or soaked, or otherwise unrecognisable."
|
||||
icon_state = "napkin_used"
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/rationpack.dmi'
|
||||
|
||||
/obj/item/storage/box/colonial_rations
|
||||
name = "foreign colonization ration"
|
||||
desc = "A freshly printed civilian MRE, or more specifically a lunchtime food package, for use in the early colonization times by the first settlers of what is now known as the NRI. <br>\
|
||||
The lack of any imprinted dates, as well as its origin, <i>the food replicator</i>, should probably give you a good enough hint at its short, if reasonable, expiry time."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/rationpack.dmi'
|
||||
icon_state = "mre_package"
|
||||
foldable_result = null
|
||||
illustration = null
|
||||
|
||||
/obj/item/storage/box/colonial_rations/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_slots = 6
|
||||
atom_storage.locked = TRUE
|
||||
|
||||
/obj/item/storage/box/colonial_rations/attack_self(mob/user, modifiers)
|
||||
if(user)
|
||||
if(atom_storage.locked == TRUE)
|
||||
atom_storage.locked = FALSE
|
||||
icon_state = "mre_package_open"
|
||||
balloon_alert(user, "unsealed!")
|
||||
return ..()
|
||||
else
|
||||
atom_storage.locked = TRUE
|
||||
atom_storage.close_all()
|
||||
icon_state = "mre_package"
|
||||
balloon_alert(user, "resealed!")
|
||||
return
|
||||
|
||||
/obj/item/storage/box/colonial_rations/PopulateContents()
|
||||
new /obj/item/food/colonial_course/pljeskavica(src)
|
||||
new /obj/item/food/colonial_course/nachos(src)
|
||||
new /obj/item/food/colonial_course/blins(src)
|
||||
new /obj/item/reagent_containers/cup/glass/coffee/colonial(src)
|
||||
new /obj/item/storage/box/gum/colonial(src)
|
||||
new /obj/item/storage/box/utensils(src)
|
||||
@@ -0,0 +1,116 @@
|
||||
/datum/reagent/consumable/powdered_tea
|
||||
name = "Powdered Tea"
|
||||
description = "Tea in its powdered form. Tastes horribly."
|
||||
color = "#3a3a03"
|
||||
nutriment_factor = 0
|
||||
taste_description = "bitter powder"
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
default_container = /obj/item/reagent_containers/cup/glass/mug/tea
|
||||
|
||||
/datum/chemical_reaction/food/unpowdered_tea
|
||||
required_reagents = list(
|
||||
/datum/reagent/water = 1,
|
||||
/datum/reagent/consumable/powdered_tea = 1,
|
||||
)
|
||||
results = list(/datum/reagent/consumable/tea = 2)
|
||||
mix_message = "The mixture instantly heats up."
|
||||
reaction_flags = REACTION_INSTANT
|
||||
|
||||
/datum/reagent/consumable/powdered_coffee
|
||||
name = "Powdered Coffee"
|
||||
description = "Americano in its powdered form. Quite an ordinary thing to be honest."
|
||||
color = "#101000"
|
||||
nutriment_factor = 0
|
||||
taste_description = "very bitter powder"
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
default_container = /obj/item/reagent_containers/cup/glass/coffee
|
||||
|
||||
/datum/chemical_reaction/food/unpowdered_coffee
|
||||
required_reagents = list(
|
||||
/datum/reagent/water = 1,
|
||||
/datum/reagent/consumable/powdered_coffee = 1,
|
||||
)
|
||||
results = list(/datum/reagent/consumable/coffee = 2)
|
||||
mix_message = "The mixture instantly heats up."
|
||||
reaction_flags = REACTION_INSTANT
|
||||
|
||||
/datum/reagent/consumable/powdered_coco
|
||||
name = "Powdered Coco"
|
||||
description = "Made with love (citation needed), and reclaimed biomass."
|
||||
nutriment_factor = 0
|
||||
color = "#403010"
|
||||
taste_description = "dry chocolate"
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
default_container = /obj/item/reagent_containers/cup/glass/mug/coco
|
||||
|
||||
/datum/chemical_reaction/food/unpowdered_coco
|
||||
required_reagents = list(
|
||||
/datum/reagent/consumable/milk = 1,
|
||||
/datum/reagent/consumable/powdered_coco = 1,
|
||||
)
|
||||
results = list(/datum/reagent/consumable/hot_coco = 2)
|
||||
mix_message = "The mixture instantly heats up."
|
||||
reaction_flags = REACTION_INSTANT
|
||||
|
||||
/datum/reagent/consumable/powdered_lemonade
|
||||
name = "Powdered Lemonade"
|
||||
description = "Sweet, tangy base of a lemonade. Would be good if you'd mix it with water."
|
||||
nutriment_factor = 0
|
||||
color = "#FFE978"
|
||||
taste_description = "intensely sour and sweet lemon powder"
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
default_container = /obj/item/reagent_containers/cup/soda_cans/lemon_lime
|
||||
|
||||
/datum/chemical_reaction/food/unpowdered_lemonade
|
||||
required_reagents = list(
|
||||
/datum/reagent/water = 1,
|
||||
/datum/reagent/consumable/powdered_lemonade = 1,
|
||||
)
|
||||
results = list(/datum/reagent/consumable/lemonade = 2)
|
||||
mix_message = "The mixture instantly cools down."
|
||||
reaction_flags = REACTION_INSTANT
|
||||
|
||||
/datum/reagent/consumable/powdered_milk
|
||||
name = "Powdered Milk"
|
||||
description = "An opaque white powder produced by the biomass restructurizers of certain machines."
|
||||
nutriment_factor = 0
|
||||
color = "#DFDFDF"
|
||||
taste_description = "sweet dry milk"
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
default_container = /obj/item/reagent_containers/condiment/milk
|
||||
|
||||
/datum/chemical_reaction/food/unpowdered_milk
|
||||
required_reagents = list(
|
||||
/datum/reagent/water = 1,
|
||||
/datum/reagent/consumable/powdered_milk = 1,
|
||||
)
|
||||
results = list(/datum/reagent/consumable/milk = 2)
|
||||
mix_message = "The mixture cools down."
|
||||
reaction_flags = REACTION_INSTANT
|
||||
|
||||
/obj/item/reagent_containers/pill/convermol
|
||||
name = "convermol pill"
|
||||
desc = "Used to treat oxygen deprivation. Intoxicates the body."
|
||||
icon_state = "pill16"
|
||||
list_reagents = list(/datum/reagent/medicine/c2/convermol = 15)
|
||||
rename_with_volume = TRUE
|
||||
|
||||
/datum/reagent/consumable/nutriment/glucose
|
||||
name = "Synthetic Glucose"
|
||||
description = "A sticky yellow liquid, simple carbohydrate, allotrope of organic glucose. Gives your body a short-term energy boost."
|
||||
nutriment_factor = 1
|
||||
color = "#f3d00d"
|
||||
taste_description = "strong sweetness"
|
||||
chemical_flags = REAGENT_CAN_BE_SYNTHESIZED
|
||||
var/delayed_satiety_drain = 30
|
||||
|
||||
/datum/reagent/consumable/nutriment/glucose/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired)
|
||||
if(affected_mob.satiety < MAX_SATIETY)
|
||||
affected_mob.adjust_nutrition(15)
|
||||
delayed_satiety_drain += 15
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/nutriment/glucose/on_mob_delete(mob/living/carbon/detoxed_mob)
|
||||
detoxed_mob.adjust_nutrition(-delayed_satiety_drain)
|
||||
return ..()
|
||||
@@ -0,0 +1,23 @@
|
||||
#define RND_CATEGORY_NRI_FOOD "Provision"
|
||||
#define RND_CATEGORY_NRI_MEDICAL "Medicine"
|
||||
#define RND_CATEGORY_NRI_CLOTHING "Apparel"
|
||||
|
||||
/obj/machinery/biogenerator/food_replicator
|
||||
name = "\improper Type 34 'Colonial Supply Core'"
|
||||
desc = "The Type 34 'Colonial Supply Core,' colloquially known as the 'Gencrate/CSC' is an ancient, boxy design first put in use by the pioneer colonists of what's now known \
|
||||
as the NRI. The Gencrate is at its core a matter resequencer, a highly specialized subtype of biogenerator which performs a sort of transmutation using organic \
|
||||
compounds; normally from large-scale crops or waste product. With sufficient supply, the machine is capable of making a wide variety of provisions, \
|
||||
from clothes to food to first-aid medical supplies."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/biogenerator.dmi'
|
||||
circuit = /obj/item/circuitboard/machine/biogenerator/food_replicator
|
||||
efficiency = 0.75
|
||||
productivity = 0.75
|
||||
show_categories = list(
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
RND_CATEGORY_NRI_MEDICAL,
|
||||
RND_CATEGORY_NRI_CLOTHING,
|
||||
)
|
||||
|
||||
/obj/item/circuitboard/machine/biogenerator/food_replicator
|
||||
name = "Colonial Supply Core"
|
||||
build_path = /obj/machinery/biogenerator/food_replicator
|
||||
@@ -0,0 +1,54 @@
|
||||
/datum/design/colonial_under
|
||||
name = "Colonial Uniform"
|
||||
id = "slavic_under"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 200)
|
||||
build_path = /obj/item/clothing/under/colonial
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_CLOTHING,
|
||||
)
|
||||
|
||||
/datum/design/colonial_boots
|
||||
name = "Colonial Half-Boots"
|
||||
id = "slavic_boots"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 150)
|
||||
build_path = /obj/item/clothing/shoes/jackboots/colonial
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_CLOTHING,
|
||||
)
|
||||
|
||||
/datum/design/colonial_cloak
|
||||
name = "Colonial Cloak"
|
||||
id = "slavic_cloak"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 250)
|
||||
build_path = /obj/item/clothing/neck/cloak/colonial
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_CLOTHING,
|
||||
)
|
||||
|
||||
/datum/design/cool_hat
|
||||
name = "Colonial Cap"
|
||||
id = "slavic_cap"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 150)
|
||||
build_path = /obj/item/clothing/head/hats/colonial
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_CLOTHING,
|
||||
)
|
||||
|
||||
/datum/design/cool_gloves
|
||||
name = "Black Gloves"
|
||||
id = "slavic_gloves"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 100)
|
||||
build_path = /obj/item/clothing/gloves/color/black
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_CLOTHING,
|
||||
)
|
||||
@@ -0,0 +1,165 @@
|
||||
/datum/design/ration
|
||||
name = "Foreign Colonization Ration"
|
||||
id = "slavic_mre"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 550)
|
||||
build_path = /obj/item/storage/box/colonial_rations
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/pljeskavica
|
||||
name = "Foreign Colonization Ration, Main Course"
|
||||
id = "slavic_burger"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 200)
|
||||
build_path = /obj/item/food/colonial_course/pljeskavica
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/nachos
|
||||
name = "Foreign Colonization Ration, Side Dish"
|
||||
id = "mexican_chips"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 150)
|
||||
build_path = /obj/item/food/colonial_course/nachos
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/blins
|
||||
name = "Foreign Colonization Ration, Dessert"
|
||||
id = "slavic_crepes"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 100)
|
||||
build_path = /obj/item/food/colonial_course/blins
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
///Despite being in the medical.dm file, it's still used to fill your hunger up, as such, technically, is food.
|
||||
/datum/design/glucose
|
||||
name = "EVA Glucose Injector"
|
||||
id = "slavic_glupen"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 150)
|
||||
build_path = /obj/item/reagent_containers/hypospray/medipen/glucose
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/spork
|
||||
name = "Foreign Colonization Ration, Utensils"
|
||||
id = "slavic_utens"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 75)
|
||||
build_path = /obj/item/storage/box/utensils
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/bubblegum
|
||||
name = "Foreign Colonization Ration, Bubblegum Pack"
|
||||
id = "slavic_gum"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 100)
|
||||
build_path = /obj/item/storage/box/gum/colonial
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/cup
|
||||
name = "Empty Paper Cup"
|
||||
id = "slavic_cup"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 10)
|
||||
build_path = /obj/item/reagent_containers/cup/glass/coffee/colonial/empty
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/tea
|
||||
name = "Powdered Black Tea"
|
||||
id = "slavic_tea"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 4)
|
||||
make_reagent = /datum/reagent/consumable/powdered_tea
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/coffee
|
||||
name = "Powdered Coffee"
|
||||
id = "slavic_coffee"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 4)
|
||||
make_reagent = /datum/reagent/consumable/powdered_coffee
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/cocoa
|
||||
name = "Powdered Hot Chocolate"
|
||||
id = "slavic_coco"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 4)
|
||||
make_reagent = /datum/reagent/consumable/powdered_coco
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/lemonade
|
||||
name = "Powdered Lemonade"
|
||||
id = "slavic_lemon"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 4)
|
||||
make_reagent = /datum/reagent/consumable/powdered_lemonade
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/replicator_sugar
|
||||
name = "Sugar"
|
||||
id = "slavic_sugar"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 5)
|
||||
make_reagent = /datum/reagent/consumable/sugar
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/powdered_milk
|
||||
name = "Powdered Milk"
|
||||
id = "slavic_milk"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 4)
|
||||
make_reagent = /datum/reagent/consumable/powdered_milk
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
|
||||
/datum/design/water
|
||||
name = "Water"
|
||||
id = "slavic_water"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 1)
|
||||
make_reagent = /datum/reagent/water
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_FOOD,
|
||||
)
|
||||
@@ -0,0 +1,113 @@
|
||||
/datum/design/pocket_medkit
|
||||
name = "Empty Pocket First Aid Kit"
|
||||
id = "slavic_cfap"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 250)
|
||||
build_path = /obj/item/storage/bag/pocket_medkit
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_MEDICAL,
|
||||
)
|
||||
|
||||
/datum/design/medipouch
|
||||
name = "Empty Medipen Pouch"
|
||||
id = "slavic_medipouch"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 250)
|
||||
build_path = /obj/item/storage/bag/medipen
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_MEDICAL,
|
||||
)
|
||||
|
||||
/datum/design/sutures
|
||||
name = "Hemostatic Sutures"
|
||||
id = "slavic_suture"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 150)
|
||||
build_path = /obj/item/stack/medical/suture/bloody
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_MEDICAL,
|
||||
)
|
||||
|
||||
/datum/design/mesh
|
||||
name = "Hemostatic Mesh"
|
||||
id = "slavic_mesh"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 150)
|
||||
build_path = /obj/item/stack/medical/mesh/bloody
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_MEDICAL,
|
||||
)
|
||||
|
||||
/datum/design/bruise_patch
|
||||
name = "Bruise Patch"
|
||||
id = "slavic_bruise"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 250)
|
||||
build_path = /obj/item/reagent_containers/pill/patch/libital
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_MEDICAL,
|
||||
)
|
||||
|
||||
/datum/design/burn_patch
|
||||
name = "Burn Patch"
|
||||
id = "slavic_burn"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 250)
|
||||
build_path = /obj/item/reagent_containers/pill/patch/aiuri
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_MEDICAL,
|
||||
)
|
||||
|
||||
/datum/design/gauze
|
||||
name = "Medical Gauze"
|
||||
id = "slavic_gauze"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 100)
|
||||
build_path = /obj/item/stack/medical/gauze
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_MEDICAL,
|
||||
)
|
||||
|
||||
/datum/design/epi_pill
|
||||
name = "Epinephrine Pill"
|
||||
id = "slavic_epi"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 75)
|
||||
build_path = /obj/item/reagent_containers/pill/epinephrine
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_MEDICAL,
|
||||
)
|
||||
|
||||
/datum/design/conv_pill
|
||||
name = "Convermol Pill"
|
||||
id = "slavic_conv"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 75)
|
||||
build_path = /obj/item/reagent_containers/pill/convermol
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_MEDICAL,
|
||||
)
|
||||
|
||||
/datum/design/multiver_pill
|
||||
name = "Multiver Pill"
|
||||
id = "slavic_multiver"
|
||||
build_type = BIOGENERATOR
|
||||
materials = list(/datum/material/biomass = 75)
|
||||
build_path = /obj/item/reagent_containers/pill/multiver
|
||||
category = list(
|
||||
RND_CATEGORY_INITIAL,
|
||||
RND_CATEGORY_NRI_MEDICAL,
|
||||
)
|
||||
|
||||
#undef RND_CATEGORY_NRI_FOOD
|
||||
#undef RND_CATEGORY_NRI_MEDICAL
|
||||
#undef RND_CATEGORY_NRI_CLOTHING
|
||||
@@ -0,0 +1,40 @@
|
||||
/obj/item/storage/bag/medipen
|
||||
name = "colonial medipen pouch"
|
||||
desc = "A pouch for your (medi-)pens that goes in your pocket."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/pouch.dmi'
|
||||
icon_state = "medipen_pouch"
|
||||
slot_flags = ITEM_SLOT_POCKETS
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
resistance_flags = FLAMMABLE
|
||||
|
||||
/obj/item/storage/bag/medipen/update_icon_state()
|
||||
icon_state = "[initial(icon_state)]_[contents.len]"
|
||||
return ..()
|
||||
|
||||
/obj/item/storage/bag/medipen/Initialize(mapload)
|
||||
. = ..()
|
||||
update_appearance()
|
||||
|
||||
/obj/item/storage/bag/medipen/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_specific_storage = WEIGHT_CLASS_TINY
|
||||
atom_storage.max_total_storage = 4
|
||||
atom_storage.max_slots = 4
|
||||
atom_storage.numerical_stacking = FALSE
|
||||
atom_storage.can_hold = typecacheof(list(/obj/item/reagent_containers/hypospray/medipen, /obj/item/pen, /obj/item/flashlight/pen))
|
||||
|
||||
/obj/item/storage/bag/pocket_medkit
|
||||
name = "colonial first aid kit"
|
||||
desc = "A medical pouch that goes in your pocket. Can be used to store things unrelated to medicine, except for guns, ammo and raw materials."
|
||||
icon = 'modular_skyrat/modules/food_replicator/icons/pouch.dmi'
|
||||
icon_state = "cfak"
|
||||
slot_flags = ITEM_SLOT_POCKETS
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
resistance_flags = FLAMMABLE
|
||||
|
||||
/obj/item/storage/bag/pocket_medkit/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL
|
||||
atom_storage.max_total_storage = 4
|
||||
atom_storage.max_slots = 4
|
||||
atom_storage.cant_hold = typecacheof(list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/stack/sheet))
|
||||
|
After Width: | Height: | Size: 758 B |
|
After Width: | Height: | Size: 965 B |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 968 B |
|
After Width: | Height: | Size: 6.3 KiB |
@@ -5,9 +5,10 @@
|
||||
icon = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_items/lewd_items.dmi'
|
||||
/// How much time it takes to clean something using it
|
||||
var/cleanspeed = 5 SECONDS
|
||||
/// Which item spawns after it's used
|
||||
var/used_serviette = /obj/item/serviette_used
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
item_flags = NOBLUDGEON
|
||||
gender = PLURAL
|
||||
|
||||
/obj/item/serviette_used
|
||||
name = "dirty serviette"
|
||||
@@ -35,9 +36,9 @@
|
||||
user.mind?.adjust_experience(/datum/skill/cleaning, max(round(cleanies.beauty/CLEAN_SKILL_BEAUTY_ADJUSTMENT), 0)) //again, intentional that this does NOT round but mops do.
|
||||
qdel(target)
|
||||
qdel(src)
|
||||
var/obj/item/serviette_used/used_serviette = new /obj/item/serviette_used
|
||||
var/obj/item/serviette_used/used_cloth = new used_serviette
|
||||
remove_item_from_storage(user)
|
||||
user.put_in_hands(used_serviette)
|
||||
user.put_in_hands(used_cloth)
|
||||
|
||||
else if(istype(target, /obj/structure/window))
|
||||
user.visible_message(span_notice("[user] begins to clean \the [target.name] with [src]..."), span_notice("You begin to clean \the [target.name] with [src]..."))
|
||||
@@ -47,9 +48,9 @@
|
||||
target.set_opacity(initial(target.opacity))
|
||||
user.mind?.adjust_experience(/datum/skill/cleaning, CLEAN_SKILL_GENERIC_WASH_XP)
|
||||
qdel(src)
|
||||
var/obj/item/serviette_used/used_serviette = new /obj/item/serviette_used
|
||||
var/obj/item/serviette_used/used_cloth = new used_serviette
|
||||
remove_item_from_storage(user)
|
||||
user.put_in_hands(used_serviette)
|
||||
user.put_in_hands(used_cloth)
|
||||
|
||||
else
|
||||
user.visible_message(span_notice("[user] begins to clean \the [target.name] with [src]..."), span_notice("You begin to clean \the [target.name] with [src]..."))
|
||||
@@ -62,9 +63,9 @@
|
||||
target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
|
||||
user.mind?.adjust_experience(/datum/skill/cleaning, CLEAN_SKILL_GENERIC_WASH_XP)
|
||||
qdel(src)
|
||||
var/obj/item/serviette_used/used_serviette = new /obj/item/serviette_used
|
||||
var/obj/item/serviette_used/used_cloth = new used_serviette
|
||||
remove_item_from_storage(user)
|
||||
user.put_in_hands(used_serviette)
|
||||
user.put_in_hands(used_cloth)
|
||||
|
||||
/*
|
||||
* SERVIETTE PACK
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
/obj/item/food/nri_course
|
||||
name = "undefined NRI course"
|
||||
desc = "Something you shouldn't see. But it's edible."
|
||||
icon = 'modular_skyrat/modules/novaya_ert/icons/rationpack.dmi'
|
||||
icon_state = "main_course"
|
||||
food_reagents = list(/datum/reagent/consumable/nutriment = 20)
|
||||
tastes = list("crayon powder" = 1)
|
||||
foodtypes = VEGETABLES | GRAIN
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/obj/item/food/nri_course/entree
|
||||
name = "combat ration entree"
|
||||
desc = "A vacuum-sealed weather-resistant spaceproof package written in Pan-Slavic, labelled 'завтрак'. It supposedly contains protein-enriched wholewheat biscuits, liver pate and blueberry jam."
|
||||
food_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 4)
|
||||
tastes = list("wholewheat biscuits" = 5, "liver pate" = 5, "blueberry jam" = 5)
|
||||
foodtypes = FRUIT | GRAIN | MEAT | BREAKFAST
|
||||
|
||||
/obj/item/food/nri_course/main
|
||||
name = "combat ration main course"
|
||||
desc = "A vacuum-sealed weather-resistant spaceproof package written in Pan-Slavic, labelled 'обед'. It supposedly contains snap-to-heat buckwheat porridge and tushonka and snap-to-heat borscht."
|
||||
food_reagents = list(/datum/reagent/consumable/nutriment = 17, /datum/reagent/consumable/nutriment/vitamin = 8)
|
||||
icon_state = "side_dish"
|
||||
tastes = list("hot buckwheat porridge with canned beef" = 5, "hot imperial borscht" = 5)
|
||||
foodtypes = VEGETABLES | GRAIN | MEAT
|
||||
|
||||
/obj/item/food/nri_course/side
|
||||
name = "combat ration side-dish"
|
||||
desc = "A vacuum-sealed weather-resistant spaceproof package written in Pan-Slavic, labelled 'закуска'. It supposedly contains a large carnitine-enriched pryanik, breadsticks and apple sauce."
|
||||
food_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 2)
|
||||
icon_state = "dessert"
|
||||
tastes = list("pryaniki" = 10, "breadsticks" = 5, "apple sauce" = 3)
|
||||
foodtypes = SUGAR | GRAIN | FRUIT
|
||||
|
||||
/obj/item/storage/box/nri_rations
|
||||
name = "NRI combat rations"
|
||||
desc = "A packaged military MRE for soldiers in extended deployments and people who can deal with the shits after finishing one. Everything on the back and front is written in Pan-Slavic, but you can make out 'Једите пре: Сентябрь 2603'."
|
||||
icon = 'modular_skyrat/modules/novaya_ert/icons/rationpack.dmi'
|
||||
icon_state = "mre_package"
|
||||
illustration = null
|
||||
|
||||
/obj/item/storage/box/nri_rations/Initialize(mapload)
|
||||
. = ..()
|
||||
atom_storage.max_slots = 7
|
||||
|
||||
/obj/item/storage/box/nri_rations/PopulateContents()
|
||||
new /obj/item/food/nri_course/entree(src)
|
||||
new /obj/item/food/nri_course/main(src)
|
||||
new /obj/item/food/nri_course/side(src)
|
||||
new /obj/item/storage/box/gum(src)
|
||||
new /obj/item/reagent_containers/cup/glass/waterbottle(src)
|
||||
new /obj/item/storage/fancy/cigarettes/cigpack_robust(src)
|
||||
new /obj/item/storage/box/matches(src)
|
||||
|
||||
/obj/item/storage/box/nri_rations/attack_self(mob/user, modifiers)
|
||||
icon_state = "mre_package_open"
|
||||
@@ -10,7 +10,7 @@
|
||||
new /obj/item/tank/internals/emergency_oxygen/double(src)
|
||||
new /obj/item/stack/spacecash/c1000(src)
|
||||
new /obj/item/storage/pill_bottle/iron(src)
|
||||
new /obj/item/storage/box/nri_rations(src)
|
||||
new /obj/item/storage/box/colonial_rations(src)
|
||||
new /obj/item/storage/box/nri_pens(src)
|
||||
new /obj/item/storage/box/nri_flares(src)
|
||||
new /obj/item/crowbar/red(src)
|
||||
|
||||
|
Before Width: | Height: | Size: 694 B |
@@ -6650,6 +6650,15 @@
|
||||
#include "modular_skyrat\modules\faction\code\mapping\mapping_helpers.dm"
|
||||
#include "modular_skyrat\modules\faction\code\mapping\ruins.dm"
|
||||
#include "modular_skyrat\modules\fauna_reagent\fauna_reagent.dm"
|
||||
#include "modular_skyrat\modules\food_replicator\code\clothing.dm"
|
||||
#include "modular_skyrat\modules\food_replicator\code\medical.dm"
|
||||
#include "modular_skyrat\modules\food_replicator\code\rationpacks.dm"
|
||||
#include "modular_skyrat\modules\food_replicator\code\reagents.dm"
|
||||
#include "modular_skyrat\modules\food_replicator\code\replicator.dm"
|
||||
#include "modular_skyrat\modules\food_replicator\code\storage.dm"
|
||||
#include "modular_skyrat\modules\food_replicator\code\replicator_designs\replicator_clothing.dm"
|
||||
#include "modular_skyrat\modules\food_replicator\code\replicator_designs\replicator_food.dm"
|
||||
#include "modular_skyrat\modules\food_replicator\code\replicator_designs\replicator_medical.dm"
|
||||
#include "modular_skyrat\modules\GAGS\greyscale_configs.dm"
|
||||
#include "modular_skyrat\modules\GAGS\nsfw\greyscale_configs.dm"
|
||||
#include "modular_skyrat\modules\ghostcafe\code\dusts_on_catatonia.dm"
|
||||
@@ -7158,7 +7167,6 @@
|
||||
#include "modular_skyrat\modules\novaya_ert\code\id.dm"
|
||||
#include "modular_skyrat\modules\novaya_ert\code\mod_suit.dm"
|
||||
#include "modular_skyrat\modules\novaya_ert\code\outfit.dm"
|
||||
#include "modular_skyrat\modules\novaya_ert\code\rationpacks.dm"
|
||||
#include "modular_skyrat\modules\novaya_ert\code\shield.dm"
|
||||
#include "modular_skyrat\modules\novaya_ert\code\suit.dm"
|
||||
#include "modular_skyrat\modules\novaya_ert\code\surplus_armor.dm"
|
||||
|
||||