Skip to content

Commit

Permalink
Extra ration icons (#3290)
Browse files Browse the repository at this point in the history
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
Adds a unique emblem for each ration box, providing a visual cue for
what kind of food can be found inside, adds coloring to the condiment
sprites, and creates new sprites for the ration heater side-size
rations, drink mixes, and vodka!
Ration boxes
![Screenshot
(2932)](https://github.com/user-attachments/assets/5e88056f-4428-4dcc-b20a-eba7d0f54a78)
Side ration, heater, and vodka
![Screenshot
(2933)](https://github.com/user-attachments/assets/94185737-83c6-4722-975d-a8055408c67c)
Drink mixes
![Screenshot
(2927)](https://github.com/user-attachments/assets/8f47233c-e339-4c15-98a9-eea9ee5f50df)
Condiments
![Screenshot
(2926)](https://github.com/user-attachments/assets/db9b791e-912a-459a-b6d2-0c44c8d618da)

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
Currently, the ration heater and vodka use the same icon as the ration
box, all ration boxes look the same, "snack" and "side" rations look
identical, condiments and drink packs use the same model, and filling
color doesn't work for either one. This PR gives each ration a unique
icon to be recognized by.
<!-- Please add a short description of why you think these changes would
benefit the game. If you can't justify it in words, it might not be
worth adding. -->

Maintainer edit: cleaned up changelog
## Changelog

:cl:Aquidu
add: Rations now have icons that help show the contents.
add: Condiments and drink mixes now have colors when full to help show
the contents.
add: Unique sprites for the ration heater, drink packs ration drinks,
and "side" category rations.
code: Changes the sound effect for opening the drink ration to the
bottle cap sound to line up with the icon.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
  • Loading branch information
Aquidu authored Aug 25, 2024
1 parent 9782af1 commit 6fb816a
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 27 deletions.
52 changes: 31 additions & 21 deletions code/game/objects/items/storage/ration.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,20 @@
resistance_flags = FLAMMABLE
drop_sound = 'sound/items/handling/cardboardbox_drop.ogg'
pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg'
var/emblem_icon_state = "null"
var/ration_overlay = "null"

/obj/item/storage/ration/Initialize(mapload)
. = ..()
update_icon()
update_overlays()

/obj/item/storage/ration/update_overlays()
. = ..()
var/mutable_appearance/ration_overlay
if(emblem_icon_state)
ration_overlay = mutable_appearance(icon, emblem_icon_state)
add_overlay(ration_overlay)

/obj/item/storage/ration/ComponentInitialize()
. = ..()
Expand All @@ -38,7 +48,7 @@
/obj/item/storage/ration/vegan_chili
name = "vegan chili with beans ration"
desc = "A complete meal package containing a hearty vegan chili with beans, complemented by vegetable crackers, savory cornbread, flavorful pizza crackers, and more. A perfect choice for plant-based nourishment."

emblem_icon_state = "emblem_vegan_chili"
/obj/item/storage/ration/vegan_chili/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/vegan_chili = 1,
Expand All @@ -54,7 +64,7 @@
/obj/item/storage/ration/shredded_beef
name = "shredded beef in barbecue sauce ration"
desc = "Enjoy the rich and savory flavors of shredded beef in smoky barbecue sauce with this satisfying ration. Accompanied by a fruit puree, jerky wrap, cinnamon bun, and additional condiments, this ration is perfect for meat lovers."

emblem_icon_state = "emblem_shredded_beef"
/obj/item/storage/ration/shredded_beef/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/shredded_beef = 1,
Expand All @@ -70,7 +80,7 @@
/obj/item/storage/ration/pork_spaghetti
name = "spaghetti with pork and sauce ration"
desc = "Indulge in a comforting meal of spaghetti with tender pork and savory sauce with this ration. Complemented by a toaster pastry, seasoned bread sticks, dried raisins, and other accompaniments, this ration offers a flavorful experience."

emblem_icon_state = "emblem_pork_spaghetti"
/obj/item/storage/ration/pork_spaghetti/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/pork_spaghetti = 1,
Expand All @@ -86,7 +96,7 @@
/obj/item/storage/ration/fried_fish
name = "fried fish chunks ration"
desc = "Experience the crispy delight of fried fish chunks with this ration. Accompanied by an energy bar, tortillas, toasted corn kernels, and more, this ration provides a satisfying combination of flavors and textures."

emblem_icon_state = "emblem_fried_fish"
/obj/item/storage/ration/fried_fish/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/fried_fish = 1,
Expand All @@ -103,7 +113,7 @@
/obj/item/storage/ration/beef_strips
name = "beef strips in tomato sauce ration"
desc = "Savor the deliciousness of tender beef strips in a flavorful tomato sauce with this ration. Enjoy a chocolate pudding, white wheat snack bread, blackberry preserves, and peppermint candy rings as delightful accompaniments."

emblem_icon_state = "emblem_beef_strips"
/obj/item/storage/ration/beef_strips/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/beef_strips = 1,
Expand All @@ -120,7 +130,7 @@
/obj/item/storage/ration/chili_macaroni
name = "chili and macaroni ration"
desc = "Indulge in the comforting combination of chili and macaroni in this flavorful ration. Satisfy your taste buds with a mix of sweet and savory treats."

emblem_icon_state = "emblem_chili_macaroni"
/obj/item/storage/ration/chili_macaroni/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/chili_macaroni = 1,
Expand All @@ -137,7 +147,7 @@
/obj/item/storage/ration/chicken_wings_hot_sauce
name = "chicken wings in hot sauce ration"
desc = "Experience the bold and spicy flavors of chicken wings drenched in hot sauce. This ration also includes a mix of delightful snacks for a well-rounded meal."

emblem_icon_state = "emblem_chicken_wings_hot_sauce"
/obj/item/storage/ration/chicken_wings_hot_sauce/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/chicken_wings_hot_sauce = 1,
Expand All @@ -153,7 +163,7 @@
/obj/item/storage/ration/fish_stew
name = "fish stew ration"
desc = "Dive into the depths of flavor with this fish stew ration. Enjoy a hearty blend of seafood and vegetables, complemented by a selection of tasty accompaniments."

emblem_icon_state = "emblem_fish_stew"
/obj/item/storage/ration/fish_stew/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/fish_stew = 1,
Expand All @@ -170,7 +180,7 @@
/obj/item/storage/ration/lemon_pepper_chicken
name = "lemon pepper chicken ration"
desc = "A tasty Lemon Pepper Chicken ration that combines the flavors of fruit and meat. Perfect for a satisfying meal."

emblem_icon_state = "emblem_lemon_pepper_chicken"
/obj/item/storage/ration/lemon_pepper_chicken/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/lemon_pepper_chicken = 1,
Expand All @@ -186,7 +196,7 @@
/obj/item/storage/ration/sausage_peppers_onions
name = "sausage, peppers and onions ration"
desc = "Indulge in the delightful combination of juicy sausage, peppers, and onions in this hearty ration."

emblem_icon_state = "emblem_sausage_peppers_onions"
/obj/item/storage/ration/sausage_peppers_onions/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/sausage_peppers_onions = 1,
Expand All @@ -202,7 +212,7 @@
/obj/item/storage/ration/pork_dumplings_chili_sauce
name = "pork dumplings in chili sauce ration"
desc = "Savor the rich flavors of pork dumplings in a spicy chili sauce, accompanied by a variety of complementary snacks."

emblem_icon_state = "emblem_pork_dumplings_chili_sauce"
/obj/item/storage/ration/pork_dumplings_chili_sauce/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/dumplings_chili_sauce = 1,
Expand All @@ -218,7 +228,7 @@
/obj/item/storage/ration/battered_fish_sticks
name = "battered fish sticks ration"
desc = "Enjoy the crispy goodness of battered fish sticks, along with a selection of sides and a delectable dessert."

emblem_icon_state = "emblem_battered_fish_sticks"
/obj/item/storage/ration/battered_fish_sticks/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/battered_fish_sticks = 1,
Expand All @@ -234,7 +244,7 @@
/obj/item/storage/ration/assorted_salted_offal
name = "assorted salted offal ration"
desc = "An adventurous choice, this ration offers an assortment of salted offal, providing a unique culinary experience."

emblem_icon_state = "emblem_assorted_salted_offal"
/obj/item/storage/ration/assorted_salted_offal/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/assorted_salted_offal = 1,
Expand All @@ -250,7 +260,7 @@
/obj/item/storage/ration/maple_pork_sausage_patty
name = "maple pork sausage patty ration"
desc = "Start your day with a satisfying breakfast featuring a maple-infused pork sausage patty and a variety of treats."

emblem_icon_state = "emblem_maple_pork_sausage_patty"
/obj/item/storage/ration/maple_pork_sausage_patty/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/maple_pork_sausage_patty = 1,
Expand All @@ -267,7 +277,7 @@
/obj/item/storage/ration/pepper_jack_beef_patty
name = "jalapeno pepper jack beef patty ration"
desc = "Experience a flavorful fusion of jalapeno, pepper jack cheese, and beef in this grilled beef patty ration."

emblem_icon_state = "emblem_pepper_jack_beef_patty"
/obj/item/storage/ration/pepper_jack_beef_patty/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/pepper_jack_beef_patty = 1,
Expand All @@ -284,7 +294,7 @@
/obj/item/storage/ration/beef_goulash
name = "beef goulash ration"
desc = "Delight in the rich flavors of beef goulash, accompanied by a selection of sides and a sweet treat."

emblem_icon_state = "emblem_beef_goulash"
/obj/item/storage/ration/beef_goulash/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/beef_goulash = 1,
Expand All @@ -301,7 +311,7 @@
/obj/item/storage/ration/pepperoni_pizza_slice
name = "pepperoni pizza slice ration"
desc = "Indulge in the classic taste of pepperoni pizza with this ration, complete with sides and a refreshing beverage."

emblem_icon_state = "emblem_pepperoni_pizza_slice"
/obj/item/storage/ration/pepperoni_pizza_slice/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/pepperoni_pizza_slice = 1,
Expand All @@ -317,7 +327,7 @@
/obj/item/storage/ration/blackened_calamari
name = "blackened calamari in red sauce ration"
desc = "Enjoy the savory delight of blackened calamari served in a rich red sauce."

emblem_icon_state = "emblem_blackened_calamari"
/obj/item/storage/ration/blackened_calamari/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/blackened_calamari = 1,
Expand All @@ -334,7 +344,7 @@
/obj/item/storage/ration/elbow_macaroni
name = "elbow macaroni in tomato sauce ration"
desc = "Savor the comforting taste of elbow macaroni in a delicious tomato sauce."

emblem_icon_state = "emblem_elbow_macaroni"
/obj/item/storage/ration/elbow_macaroni/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/elbow_macaroni = 1,
Expand All @@ -351,7 +361,7 @@
/obj/item/storage/ration/cheese_pizza_slice
name = "cheese pizza slice ration"
desc = "Experience the timeless flavor of a classic cheese pizza slice."

emblem_icon_state = "emblem_cheese_pizza_slice"
/obj/item/storage/ration/cheese_pizza_slice/PopulateContents()
var/static/items_inside = list(
/obj/item/reagent_containers/food/snacks/ration/entree/cheese_pizza_slice = 1,
Expand All @@ -368,7 +378,7 @@
/obj/item/storage/ration/crayons
name = "military grade crayon ration"
desc = "Proven to increase kill count by atleast 1."

emblem_icon_state = "emblem_crayons"
/obj/item/storage/ration/crayons/PopulateContents()
var/static/items_inside = list(
/obj/item/toy/crayon/red = 1,
Expand Down
4 changes: 2 additions & 2 deletions code/modules/food_and_drinks/drinks/drinks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -762,7 +762,7 @@
desc = "If you ever wondered where air came from..."
list_reagents = list(/datum/reagent/oxygen = 6, /datum/reagent/nitrogen = 24)
icon = 'icons/obj/food/ration.dmi'
icon_state = "ration_package"
icon_state = "ration_drink"
drop_sound = 'sound/items/handling/cardboardbox_drop.ogg'
pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg'
in_container = TRUE
Expand All @@ -773,7 +773,7 @@

/obj/item/reagent_containers/food/drinks/ration/proc/open_ration(mob/user)
to_chat(user, "<span class='notice'>You tear open \the [src].</span>")
playsound(user.loc, 'sound/effects/rip3.ogg', 50)
playsound(user.loc, 'sound/items/glass_cap.ogg', 50)
reagents.flags |= OPENCONTAINER
spillable = TRUE

Expand Down
27 changes: 24 additions & 3 deletions code/modules/food_and_drinks/food/ration.dm
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
list_reagents = list(/datum/reagent/consumable/nutriment = 4)

/obj/item/reagent_containers/food/snacks/ration/snack
icon_state = "ration_side"
icon_state = "ration_snack"
list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/sugar = 3)

/obj/item/reagent_containers/food/snacks/ration/bar
Expand All @@ -92,7 +92,7 @@

/obj/item/reagent_containers/food/snacks/ration/condiment
name = "condiment pack"
desc = "Just your average condiment pacl."
desc = "Just your average condiment pack."
icon_state = "ration_condi"
volume = 10
amount_per_transfer_from_this = 10
Expand Down Expand Up @@ -126,7 +126,7 @@
/obj/item/reagent_containers/food/snacks/ration/pack
name = "powder pack"
desc = "Mix into a bottle of water and shake."
icon_state = "ration_condi"
icon_state = "ration_pack"
volume = 10
amount_per_transfer_from_this = 10
possible_transfer_amounts = list()
Expand Down Expand Up @@ -742,84 +742,105 @@

/obj/item/reagent_containers/food/snacks/ration/condiment/cheese_spread
name = "cheese spread pack"
filling_color = "#ffcc00"
list_reagents = list(/datum/reagent/consumable/cheese_spread = 8)

/obj/item/reagent_containers/food/snacks/ration/condiment/hot_cheese_spread
name = "jalapeno cheddar cheese spread pack"
filling_color = "#ffaa00"
list_reagents = list(/datum/reagent/consumable/cheese_spread = 5 , /datum/reagent/consumable/capsaicin = 3)

/obj/item/reagent_containers/food/snacks/ration/condiment/garlic_cheese_spread
name = "garlic parmesan cheese spread pack"
filling_color = "#ffff00"
list_reagents = list(/datum/reagent/consumable/cheese_spread = 8)

/obj/item/reagent_containers/food/snacks/ration/condiment/bacon_cheddar_cheese_spread
name = "bacon cheddar cheese spread pack"
filling_color = "#ff9900"
list_reagents = list(/datum/reagent/consumable/cheese_spread = 8)

/obj/item/reagent_containers/food/snacks/ration/condiment/peanut_butter
name = "peanut butter pack"
filling_color = "#664400"
list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/peanut_butter = 5)

/obj/item/reagent_containers/food/snacks/ration/condiment/chunky_peanut_butter
name = "chunky peanut butter pack"
filling_color = "#663300"
list_reagents = list(/datum/reagent/consumable/peanut_butter = 10)

/obj/item/reagent_containers/food/snacks/ration/condiment/maple_syrup
name = "maple syrup pack"
filling_color = "#661100"
list_reagents = list(/datum/reagent/consumable/sugar = 10)

/obj/item/reagent_containers/food/snacks/ration/pack/chocolate_protein_beverage
name = "chocolate hazelnut protein drink powder pack"
filling_color = "#664400"
list_reagents = list(/datum/reagent/consumable/coco = 5, /datum/reagent/consumable/eggyolk = 5)

/obj/item/reagent_containers/food/snacks/ration/pack/fruit_beverage
name = "fruit punch beverage powder, carb-electrolyte pack"
filling_color = "#ff4400"
list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/applejuice = 2, /datum/reagent/consumable/orangejuice = 2)

/obj/item/reagent_containers/food/snacks/ration/pack/fruit_smoothie_beverage
name = "tropical blend fruit and vegetable smoothie powder pack"
filling_color = "#ffaa00"
list_reagents = list(/datum/reagent/consumable/pineapplejuice = 3, /datum/reagent/consumable/orangejuice = 3, /datum/reagent/consumable/eggyolk = 3)

/obj/item/reagent_containers/food/snacks/ration/pack/grape_beverage
name = "grape beverage powder, carb-fortified pack"
filling_color = "#9900ff"
list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/grapejuice = 5)

/obj/item/reagent_containers/food/snacks/ration/pack/grape_beverage_sugar_free
name = "sugar-free grape beverage base powder"
filling_color = "#9900ff"
list_reagents = list(/datum/reagent/consumable/grapejuice = 10)

/obj/item/reagent_containers/food/snacks/ration/pack/lemonade_beverage
name = "lemonade drink powder pack"
filling_color = "#ffff80"
list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/lemonjuice = 5)

/obj/item/reagent_containers/food/snacks/ration/pack/lemonade_beverage_suger_free
name = "lemonade sugar-free beverage base pack"
filling_color = "#ffff00"
list_reagents = list(/datum/reagent/consumable/lemonjuice = 10)

/obj/item/reagent_containers/food/snacks/ration/pack/orange_beverage
name = "orange beverage powder, carb-fortified pack"
filling_color = "#ffbb00"
list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/orangejuice = 5)

/obj/item/reagent_containers/food/snacks/ration/pack/orange_beverage_sugar_free
name = "orange beverage base, sugar-free pack"
filling_color = "#ff9900"
list_reagents = list(/datum/reagent/consumable/orangejuice = 10)

/obj/item/reagent_containers/food/snacks/ration/pack/cherry_beverage
name = "cherry high-energy beverage powder pack"
filling_color = "#ff5555"
list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/cherryjelly = 5)

/obj/item/reagent_containers/food/snacks/ration/pack/pineapple_beverage
name = "pinapple fruit beverage base pack"
filling_color = "#fff111"
list_reagents = list(/datum/reagent/consumable/pineapplejuice = 10)

/obj/item/reagent_containers/food/snacks/ration/pack/freeze_dried_coffee_orange
name = "freeze-dried coffee flavored with orange pack"
filling_color = "#cc7400"
list_reagents = list(/datum/reagent/consumable/coffee = 5, /datum/reagent/consumable/orangejuice = 3)

/obj/item/reagent_containers/food/snacks/ration/pack/freeze_dried_coffee_chocolate
name = "freeze-dried coffee flavored with chocolate pack"
filling_color = "#803300"
list_reagents = list(/datum/reagent/consumable/coffee = 5, /datum/reagent/consumable/coco = 3)

/obj/item/reagent_containers/food/snacks/ration/pack/freeze_dried_coffee_hazelnut
name = "freeze-dried coffee flavored with hazelnut pack"
filling_color = "#553300"
list_reagents = list(/datum/reagent/consumable/coffee = 5, /datum/reagent/consumable/coco = 3)
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,7 @@
name = "flameless ration heater"
desc = "A magnisium based ration heater. It can be used to heat up entrees and other food items. reaches the same temperature as a microwave with half the volume."
icon = 'icons/obj/food/ration.dmi'
icon_state = "ration_package"
icon_state = "ration_heater"
grind_results = list(/datum/reagent/iron = 10, /datum/reagent/water = 10, /datum/reagent/consumable/sodiumchloride = 5)
heat = 3800
var/obj/item/tocook = null
Expand Down
Binary file modified icons/obj/food/ration.dmi
Binary file not shown.

0 comments on commit 6fb816a

Please sign in to comment.